§
    ¨MºfÈ  ã                   óâ   — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZddl	m
Z
mZmZ  ej        e¦  «        Z ej        dd¬¦  «          G d„ d¦  «        Z G d	„ d
e¦  «        Zd„ ZdS )é    Né   )Úrun_command_with_processÚcompute_md5Újobz3%(asctime)s,%(msecs)03d %(levelname)s - %(message)sz%H:%M:%S)ÚfmtÚdatefmtc                   ó:  — e Zd Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Z ed¦  «        d„ ¦   «         Z	 ed¦  «        d„ ¦   «         Z
 ed	¦  «        d
„ ¦   «         Z ed¦  «        dd„¦   «         Z ed¦  «        d„ ¦   «         Z ed¦  «        dd„¦   «         ZdS )ÚBuildProcessc                 ó–  — t           | _         || _        |                      | j        d¦  «        | _        || _        |                      | j        d¦  «        | _        |                      | j        d¦  «        | _        |                      | j        d¦  «        | _        |                      | j        ¬¦  «         | j	        | j        f| _
        d S )NÚbuildÚnode_moduleszpackage-lock.jsonzpackage.json©Úpath)ÚloggerÚmainÚ_concatÚbuild_folderÚ	deps_infoÚnpm_modulesÚpackage_lockÚpackageÚ_parse_packageÚdeps_folderÚasset_paths)Úselfr   r   s      ú]/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/dash/development/build_process.pyÚ__init__zBuildProcess.__init__   s©   € ÝˆŒØˆŒ	Ø ŸLšL¨¬°GÑ<Ô<ˆÔØ"ˆŒØŸ<š<¨¬	°>ÑBÔBˆÔØ ŸLšL¨¬Ð4GÑHÔHˆÔØ—|’| D¤I¨~Ñ>Ô>ˆŒØ×Ò ¤ÐÑ.Ô.Ð.Ø Ô,¨dÔ.>Ð?ˆÔÐÐó    c                 ó(  — t          |dd¬¦  «        5 }t          j        |¦  «        }|d         | _        |d         | _        |                      | j        t          j        d¦  «        | _	        |d         | _
        d d d ¦  «         d S # 1 swxY w Y   d S )NÚrúutf-8©ÚencodingÚversionÚnameÚdepsÚdependencies)ÚopenÚjsonÚloadr$   r%   r   r   ÚosÚpardirr   r&   )r   r   Úfpr   s       r   r   zBuildProcess._parse_package   sÄ   € Ý�$˜ gÐ.Ñ.Ô.ð 	0°"Ý”i ‘m”mˆGØ" 9Ô-ˆDŒLØ œˆDŒIØ#Ÿ|š|¨D¬Iµr´yÀ&ÑIÔIˆDÔØ Ô/ˆDŒIð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   “A'BÂBÂBc                  ó˜   — t           j                             t           j        j                             d„ | D ¦   «         ¦  «        ¦  «        S )Nc              3   ó   K  — | ]}|¯|V — Œ	d S ©N© )Ú.0r   s     r   ú	<genexpr>z'BuildProcess._concat.<locals>.<genexpr>)   s'   è è € Ð1QÐ1Q¸4ÈDÐ1Q°$Ð1QÐ1QÐ1QÐ1QÐ1QÐ1Qr   )r+   r   ÚrealpathÚsepÚjoin)Úpathss    r   r   zBuildProcess._concat'   s9   € åŒw×Ò¥¤¤× 0Ò 0Ð1QÐ1QÀ5Ð1QÑ1QÔ1QÑ RÔ RÑSÔSÐSr   c                 óÐ  — t           j                             | ¦  «        r«t                               d| ¦  «         	 t           j                             | ¦  «        rt          j        | ¦  «         t           j                             | ¦  «        rt          j	        | ¦  «         d S d S # t          $ r t          j        d¦  «         Y d S w xY wt                               d| ¦  «         d S )Nu"   ðŸš¨ %s already exists, remove it!é   u&   ðŸš¨ %s doesn't exist, no action taken)r+   r   Úexistsr   ÚwarningÚisfileÚremoveÚisdirÚshutilÚrmtreeÚOSErrorÚsysÚexitr   s    r   Ú_clean_pathzBuildProcess._clean_path+   s×   € åŒ7�>Š>˜$ÑÔð 
	KÝ�NŠNÐ?ÀÑFÔFÐFðÝ”7—>’> $Ñ'Ô'ð $Ý”I˜d‘O”O�OÝ”7—=’= Ñ&Ô&ð (Ý”M $Ñ'Ô'Ð'Ð'Ð'ð(ð (øåð ð ð Ý”˜‘”����ðøøøõ �NŠNÐCÀTÑJÔJÐJÐJÐJs   ¼A&B& Â&CÃCz5clean all the previous assets generated by build toolc                 óD   — | j         D ]}|                      |¦  «         Œd S r0   )r   rD   )r   r   s     r   ÚcleanzBuildProcess.clean9   s5   € àÔ$ð 	#ð 	#ˆDØ×Ò˜TÑ"Ô"Ð"Ð"ð	#ð 	#r   zrun `npm ci`c                 óV   — t          j        | j        ¦  «         t          d¦  «         dS )zJob to install npm packages.znpm ciN)r+   Úchdirr   r   ©r   s    r   ÚnpmzBuildProcess.npm>   s*   € õ 	Œ�”ÑÔÐÝ  Ñ*Ô*Ð*Ð*Ð*r   zbuild the renderer in dev modec                 ó`   — t          j        | j        ¦  «         t          j        d¦  «         d S )Nznpm run build:dev)r+   rH   r   ÚsystemrI   s    r   ÚwatchzBuildProcess.watchD   s+   € å
Œ�”ÑÔÐÝ
Œ	Ð%Ñ&Ô&Ð&Ð&Ð&r   z*run the whole building process in sequenceNc                 ó¨   — |                       ¦   «          |                      ¦   «          |                      |¦  «         |                      ¦   «          d S r0   )rF   rJ   ÚbundlesÚdigest)r   r   s     r   r   zBuildProcess.buildI   s?   € à�
Š
‰ŒˆØ�Š‰
Œ
ˆ
Ø�Š�UÑÔÐØ�Š‰Œˆˆˆr   z"compute the hash digest for assetsc                 óN  — t           j                             | j        ¦  «        s_	 t          j        | j        ¦  «         nD# t
          $ r7 t                               d| j        ¦  «         t          j	        d¦  «         Y nw xY w| j
        | j        i}| j        | j        fD ]x}t          d„ t          j        |¦  «        D ¦   «         ¦  «        }t                               d||¦  «         |D ],}t!          |                      ||¦  «        ¦  «        |d|› d�<   Œ-Œyt%          |                      | j        d¦  «        dd	¬
¦  «        5 }t)          j        ||ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t                               dt)          j        |dd¬¦  «        ¦  «         d S )Nõ"   ðŸš¨ having issues manipulating %sr9   c              3   óh   K  — | ]-}t           j                             |¦  «        d          dv ¯)|V — Œ.dS )éÿÿÿÿ>   ú.jsú.mapN)r+   r   Úsplitext)r2   Ú_s     r   r3   z&BuildProcess.digest.<locals>.<genexpr>\   sN   è è € ð ð àÝ”7×#Ò# AÑ&Ô& rÔ*¨oÐ=Ð=ð à=Ð=Ð=Ð=ðð r   zbundles in %s %szMD5 (ú)zdigest.jsonÚwr!   r"   Té   )ú,ú:)Ú	sort_keysÚindentÚ
separatorsz bundle digest in digest.json:
%s)r^   r_   )r+   r   r:   r   ÚmakedirsrA   r   Ú	exceptionrB   rC   r%   r$   r   ÚtupleÚlistdirÚinfor   r   r(   r   r)   ÚdumpÚdumps)r   ÚpayloadÚfolderÚcopiesÚcopyr-   s         r   rP   zBuildProcess.digestP   s  € åŒw�~Š~˜dÔ.Ñ/Ô/ð 	ðÝ”˜DÔ,Ñ-Ô-Ð-Ð-øÝð ð ð Ý× Ò Ð!EÀtÔGWÑXÔXÐXÝ”˜‘”���ðøøøð ”9˜dœlÐ+ˆàÔ'¨Ô):Ð;ð 		Sð 		SˆFÝð ð åœ FÑ+Ô+ðñ ô ñ ô ˆFõ
 �KŠKÐ*¨F°FÑ;Ô;Ð;àð Sð S�Ý+6°t·|²|ÀFÈDÑ7QÔ7QÑ+RÔ+R�˜ ˜˜˜Ñ(Ð(ðSõ �$—,’,˜tœy¨-Ñ8Ô8¸#ÈÐPÑPÔPð 	TÐTVÝŒI�g˜r¨T¸!È
ÐSÑSÔSÐSð	Tð 	Tð 	Tñ 	Tô 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tøøøð 	Tð 	Tð 	Tð 	Tå�ŠØ/ÝŒJ�w¨$°qÐ9Ñ9Ô9ñ	
ô 	
ð 	
ð 	
ð 	
s#   ¦A  Á >BÂ BÅE*Å*E.Å1E.zcopy and generate the bundlesc           
      óØ  — t           j                             | j        ¦  «        s_	 t          j        | j        ¦  «         nD# t
          $ r7 t                               d| j        ¦  «         t          j	        d¦  «         Y nw xY w|  
                    | j        ¦  «          t          | dd„ ¦  «        ¦   «          | j        | j                             dd¦  «                             dd¦  «        dœ}| j        D �]§\  }}}}}| j        d	                     t'          d ||g¦  «        ¦  «                 d
         }|                     dd¦  «                             dd¦  «        }	|||	<   t                               d|¦  «         d|                     d¦  «        v rdnd}
|› d|› d|
› �}t-          j        |                      | j        ||||¦  «        |                      | j        |¦  «        ¦  «         |r­d                     |¦  «        }d|› d�|d|	› d�<   |D ]ˆ}d|› d|› d|› �}t5          j        |¦  «        }|› d|› d|
› �}|                      | j        |¦  «        }t9          |d¦  «        5 }|                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ‰�Œ©|dk    rdnd}t                               d|¦  «         t          j        | j         ¦  «         tC          d|› �¦  «         t                               d¦  «         t9          |                      | j         d¦  «        d ¬!¦  «        5 }tE          j#        | $                    ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      | j        t           j%        d"¦  «        }t9          |d#d ¬!¦  «        5 }|                     | &                    |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )$NrR   r9   Ú_bundles_extrac                  ó   — d S r0   r1   r1   r   r   ú<lambda>z&BuildProcess.bundles.<locals>.<lambda>x   s   € °€ r   ú rX   ú-)r$   r   ú/r$   Ú ú.zcopy npm dependency => %sÚminzmin.jsÚjsú@z", "ú"Úextra_Ú	_versionszhttps://unpkg.com/z/umd/ÚwbÚlocalz	build:devzbuild:jszrun `npm run %s`znpm run z5generate the `__init__.py` from template and versionszinit.templater!   r"   z_dash_renderer.pyrZ   )'r+   r   r:   r   ra   rA   r   rb   rB   rC   r   r   Úgetattrr$   r%   Úreplacer   r&   r6   Úfilterre   Úsplitr?   Úcopyfiler   r   ÚrequestsÚgetr(   ÚwriteÚcontentrH   r   r   ÚstringÚTemplateÚreadr,   Úsafe_substitute)r   r   ÚversionsÚscoper%   Ú	subfolderÚfilenameÚextrasr$   Úname_squashedÚextÚtargetÚ
extras_strÚextra_versionÚurlÚresÚextra_targetÚ
extra_pathr-   Ú_scriptÚtÚrenderer_inits                         r   rO   zBuildProcess.bundlesm   s·  € åŒw�~Š~˜dÔ.Ñ/Ô/ð 	ðÝ”˜DÔ,Ñ-Ô-Ð-Ð-øÝð ð ð Ý× Ò Ð!EÀtÔGWÑXÔXÐXÝ”˜‘”���ðøøøð 	×Ò˜DÔ-Ñ.Ô.Ð.à5��Ð&¨¨Ñ5Ô5Ñ7Ô7Ð7ð ”|Ø”y×(Ò(¨¨cÑ2Ô2×:Ò:¸3ÀÑDÔDð
ð 
ˆð
 9=¼ð 	.ñ 	.Ñ4ˆE�4˜ H¨fØ”i §¢­°°u¸d°mÑ)DÔ)DÑ EÔ EÔFÀyÔQˆGØ ŸLšL¨¨bÑ1Ô1×9Ò9¸#¸rÑBÔBˆMØ&-ˆH�]Ñ#å�KŠKÐ3°XÑ>Ô>Ð>Ø# x§~¢~°cÑ':Ô':Ð:Ð:�(�(ÀˆCØÐ.Ð.˜wÐ.Ð.¨Ð.Ð.ˆFåŒOØ—’˜TÔ-¨u°d¸IÀxÑPÔPØ—’˜TÔ-¨vÑ6Ô6ñô ð ð
 ð 
.Ø#Ÿ[š[¨Ñ0Ô0�
Ø>OÀ*Ð>OÐ>OÐ>O�Ð: -Ð:Ð:Ð:Ñ;à%+ð .ð .�MØT¨tÐTÐT°mÐTÐTÈ(ÐTÐT�CÝ"œ, sÑ+Ô+�CØ&*Ð#BÐ#B¨]Ð#BÐ#B¸SÐ#BÐ#B�LØ!%§¢¨dÔ.>ÀÑ!MÔ!M�JÝ˜j¨$Ñ/Ô/ð .°2ØŸš ¤Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .øùð "'¨'Ò!1Ð!1�+�+°zˆÝ�ŠÐ&¨Ñ0Ô0Ð0Ý
Œ�”ÑÔÐÝ Ð!5¨GÐ!5Ð!5Ñ6Ô6Ð6å�ŠÐKÑLÔLÐLÝ�$—,’,˜tœy¨/Ñ:Ô:ÀWÐMÑMÔMð 	+ÐQSÝ” §¢¡	¤	Ñ*Ô*ˆAð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð Ÿš TÔ%5µr´yÐBUÑVÔVˆÝ�- ¨wÐ7Ñ7Ô7ð 	2¸2Ø�HŠH�Q×&Ò& xÑ0Ô0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2sG   ¦A  Á >BÂ BÉ*JÊJÊJÌ3'M&Í&M*Í-M*Î))OÏO#Ï&O#r0   )Ú__name__Ú
__module__Ú__qualname__r   r   Ústaticmethodr   rD   r   rF   rJ   rM   r   rP   rO   r1   r   r   r
   r
      se  € € € € € ð	@ð 	@ð 	@ð0ð 0ð 0ð ðTð Tñ „\ðTð ðKð Kñ „\ðKð 	€SÐ	@ÑAÔAð#ð #ñ BÔAð#ð 	€SˆÑÔð+ð +ñ Ôð+ð
 	€SÐ	)Ñ*Ô*ð'ð 'ñ +Ô*ð'ð 	€SÐ	5Ñ6Ô6ðð ð ñ 7Ô6ðð 	€SÐ	-Ñ.Ô.ð
ð 
ñ /Ô.ð
ð8 	€SÐ	(Ñ)Ô)ð62ð 62ð 62ñ *Ô)ð62ð 62ð 62r   r
   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚRendererc                 ó
  •— dg}t          ¦   «                              |                      t          j                             t          ¦  «        t          j        d¦  «        ddddd|fdddd|fdd	dd
|fdd	dd|fddf¦  «         dS )z?dash-renderer's path is binding with the dash folder hierarchy.z18.2.0zdash-renderer)z@babelÚpolyfillÚdistzpolyfill.min.jsNNÚreactÚumdzreact.production.min.jszreact.development.jsz	react-domzreact-dom.production.min.jszreact-dom.development.js)Nú
prop-typesNzprop-types.min.jsN)Nr¦   Nzprop-types.jsN)Úsuperr   r   r+   r   ÚdirnameÚ__file__r,   )r   rŽ   Ú	__class__s     €r   r   zRenderer.__init__¨   s�   ø€ à�ˆÝ‰Œ×ÒØ�LŠL�œŸš­Ñ2Ô2µB´I¸ÑOÔOàGØ�w Ð'@À&ÐIØ�w Ð'=¸vÐFØ�{ EÐ+HÈ&ÐQØ�{ EÐ+EÀvÐNØEØAðñ	
ô 	
ð 	
ð 	
ð 	
r   )r›   rœ   r�   r   Ú__classcell__)rª   s   @r   r    r    §   s8   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r    c                  ó8   — t          j        t          ¦  «         d S r0   )ÚfireÚFirer    r1   r   r   Úrendererr¯   ¹   s   € Ý„I�hÑÔÐÐÐr   )r+   rB   r)   r†   r?   ÚloggingÚcoloredlogsr­   r‚   Ú_utilsr   r   r   Ú	getLoggerr›   r   Úinstallr
   r    r¯   r1   r   r   ú<module>rµ      s  ðØ 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€à ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?à	ˆÔ	˜8Ñ	$Ô	$€Ø €Ô Ø=Àzðñ ô ð ð
Q2ð Q2ð Q2ð Q2ð Q2ñ Q2ô Q2ð Q2ðh
ð 
ð 
ð 
ð 
ˆ|ñ 
ô 
ð 
ð$ð ð ð ð r   