0i jddlmZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZdZe j8Zej<dddZddZ ejBddZ"ddZ# ddZ$y)) annotationsN) Generator)Sequence) lang_base) envcontext)PatchesT)UNSET)Var)bin_dir)Prefix) cmd_output) cmd_output_b)rmtreenode_env)maxsizectjdk(rtjSt ddDrytjS)Nwin32c3FK|]}tj|ywN)r exe_exists).0exes H/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/node.py z&get_default_version..!s B/3Y ! !# &/s!)nodenpmsystem)sysplatformCDEFAULTallrget_default_versionr&s7 ||wyy B/ B Byyr%c tjdk(r'tdd|\}}}|jd}d}n%tjdk(rt |}d}n|}d}d|fd |fd |fd t fd t fd t jj||dfdt |t jtdfffS)Ncygwincygpathz-wz\binlibrScriptsNODE_VIRTUAL_ENVNPM_CONFIG_PREFIXnpm_config_prefixNPM_CONFIG_USERCONFIGnpm_config_userconfig NODE_PATH node_modulesPATH) rr r stripr r ospathjoinpathsepr )venv_win_venvinstall_prefixlib_dirs r get_env_patchr>'s ||x#ItT:8Q%^^-.d3    T" n- n- %( %( bggll4.AB '$-S[9: r%c#Ktj|t|}tt |5ddddy#1swYyxYwwr)renvironment_dirENVIRONMENT_DIRrr>)prefixversionenvdirs rin_envrE=s5  & &v HF M&) *  + * *s0A A A A A ct||5tddd\}}}|dk7rd|cdddS dddy#1swYyxYw)Nrz --versionF)checkrz`node --version` returned )rEr)rBrCretcoder:s r health_checkrIDsJ  $V[F A a</y9 !  ! s ==Ac|jdsJtj|t|}tj dk(r"dt jj|}tjddd|g}|tjk7r|jd|gt|t||5d}tj||t!d d |j" \}}}|j|j%}d d d |g|}tj|||jdrt'|jdt j(|dddy#1swYyxYw)Nz package.jsonrz\\?\z -mnodeenvz --prebuiltz --clean-srcz-n)rinstallz --include=devz--include=prodz--ignore-prepublishz --no-progressz --no-saverpack)cwdrKz-gr2)existsrr@rArr r5r6normpath executabler!r"extendrrE setup_cmdr prefix_dirr4rremove) rBrCadditional_dependenciesrDcmdlocal_install_cmdr:pkgrKs rinstall_environmentrYMs9 == (( (  & &v HF ||w))&123 >>; mV LC!)) D'?##    F$56uf&2C2CD 3kk#))+&)T3I1HIFG, == ( 6;;~. / #' ! s 3B3E//E8)returnstr)r9r[rZr)rBr rCr[rZzGenerator[None])rBr rCr[rZz str | None)rBr rCr[rUz Sequence[str]rZNone)% __future__r contextlib functoolsr5rcollections.abcrrpre_commit.constants constantsr! pre_commitrpre_commit.envcontextrrr r pre_commit.languages.pythonr pre_commit.prefixr pre_commit.utilr rrrAbasic_run_hookrun_hook lru_cacher&r>contextmanagerrErIrYr$r%rrls" %$ ,*'%/$&("  # #Q   ,  !!!$!?L! !r%