renovate 44.69.7 → 44.69.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/options/index.js +1 -1
- package/dist/config/options/index.js.map +1 -1
- package/dist/global-config-option-defaults.generated.js +1 -1
- package/dist/global-config-option-defaults.generated.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/npm/npmrc-parser.js +114 -0
- package/dist/modules/manager/npm/npmrc-parser.js.map +1 -0
- package/dist/modules/manager/npm/npmrc.js +75 -25
- package/dist/modules/manager/npm/npmrc.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +25 -3
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -23,7 +23,7 @@ const globalConfigOptionDefaults = {
|
|
|
23
23
|
"detectHostRulesFromEnv": false,
|
|
24
24
|
"dockerChildPrefix": "renovate_",
|
|
25
25
|
"dockerMaxPages": 20,
|
|
26
|
-
"dockerSidecarImage": "ghcr.io/renovatebot/base-image:13.95.
|
|
26
|
+
"dockerSidecarImage": "ghcr.io/renovatebot/base-image:13.95.12",
|
|
27
27
|
"dockerUser": "12021",
|
|
28
28
|
"executionTimeout": 15,
|
|
29
29
|
"exposeAllEnv": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-config-option-defaults.generated.js","names":[],"sources":["../lib/global-config-option-defaults.generated.ts"],"sourcesContent":["\nexport const globalConfigOptionDefaults: Record<string, unknown> = {\n \"allowCustomCrateRegistries\": false,\n \"allowedCommands\": [],\n \"allowedEnv\": [],\n \"allowedHeaders\": [\n \"X-*\"\n ],\n \"allowedUnsafeExecutions\": [],\n \"allowPlugins\": false,\n \"allowScripts\": false,\n \"allowShellExecutorForPostUpgradeCommands\": false,\n \"autodiscover\": false,\n \"bbUseDevelopmentBranch\": false,\n \"binarySource\": \"install\",\n \"cacheHardTtlMinutes\": 10080,\n \"cachePrivatePackages\": false,\n \"cacheTtlOverride\": {},\n \"checkedBranches\": [],\n \"configValidationError\": false,\n \"customEnvVariables\": {},\n \"deleteAdditionalConfigFile\": false,\n \"deleteConfigFile\": false,\n \"detectGlobalManagerConfig\": false,\n \"detectHostRulesFromEnv\": false,\n \"dockerChildPrefix\": \"renovate_\",\n \"dockerMaxPages\": 20,\n \"dockerSidecarImage\": \"ghcr.io/renovatebot/base-image:13.95.
|
|
1
|
+
{"version":3,"file":"global-config-option-defaults.generated.js","names":[],"sources":["../lib/global-config-option-defaults.generated.ts"],"sourcesContent":["\nexport const globalConfigOptionDefaults: Record<string, unknown> = {\n \"allowCustomCrateRegistries\": false,\n \"allowedCommands\": [],\n \"allowedEnv\": [],\n \"allowedHeaders\": [\n \"X-*\"\n ],\n \"allowedUnsafeExecutions\": [],\n \"allowPlugins\": false,\n \"allowScripts\": false,\n \"allowShellExecutorForPostUpgradeCommands\": false,\n \"autodiscover\": false,\n \"bbUseDevelopmentBranch\": false,\n \"binarySource\": \"install\",\n \"cacheHardTtlMinutes\": 10080,\n \"cachePrivatePackages\": false,\n \"cacheTtlOverride\": {},\n \"checkedBranches\": [],\n \"configValidationError\": false,\n \"customEnvVariables\": {},\n \"deleteAdditionalConfigFile\": false,\n \"deleteConfigFile\": false,\n \"detectGlobalManagerConfig\": false,\n \"detectHostRulesFromEnv\": false,\n \"dockerChildPrefix\": \"renovate_\",\n \"dockerMaxPages\": 20,\n \"dockerSidecarImage\": \"ghcr.io/renovatebot/base-image:13.95.12\",\n \"dockerUser\": \"12021\",\n \"executionTimeout\": 15,\n \"exposeAllEnv\": false,\n \"forceCli\": true,\n \"forkCreation\": true,\n \"githubTokenWarn\": true,\n \"gitNoVerify\": [\n \"commit\",\n \"push\"\n ],\n \"gitTimeout\": 0,\n \"gitUrl\": \"default\",\n \"httpCacheTtlDays\": 90,\n \"ignorePrAuthor\": false,\n \"includeMirrors\": false,\n \"inheritConfig\": false,\n \"inheritConfigFileName\": \"org-inherited-config.json\",\n \"inheritConfigRepoName\": \"{{parentOrg}}/renovate-config\",\n \"inheritConfigStrict\": false,\n \"mergeConfidenceDatasources\": [\n \"go\",\n \"maven\",\n \"npm\",\n \"nuget\",\n \"packagist\",\n \"pypi\",\n \"rubygems\"\n ],\n \"mergeConfidenceEndpoint\": \"https://developer.mend.io/\",\n \"migratePresets\": {},\n \"onboardingBranch\": \"renovate/configure\",\n \"onboardingConfig\": {\n \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\"\n },\n \"onboardingConfigFileName\": \"renovate.json\",\n \"onboardingNoDeps\": \"auto\",\n \"onboardingPrTitle\": \"Configure Renovate\",\n \"onboardingRebaseCheckbox\": false,\n \"optimizeForDisabled\": false,\n \"persistRepoData\": false,\n \"platform\": \"github\",\n \"prCacheSyncMaxPages\": 100,\n \"prCommitsPerRunLimit\": 0,\n \"presetCachePersistence\": false,\n \"processEnv\": {},\n \"productLinks\": {\n \"documentation\": \"https://docs.renovatebot.com/\",\n \"help\": \"https://github.com/renovatebot/renovate/discussions\",\n \"homepage\": \"https://github.com/renovatebot/renovate\"\n },\n \"rebaseAllOpenBranches\": false,\n \"reportFormatting\": false,\n \"repositoryCache\": \"disabled\",\n \"repositoryCacheForceLocal\": false,\n \"repositoryCacheType\": \"local\",\n \"requireConfig\": \"required\",\n \"s3PathStyle\": false,\n \"secrets\": {},\n \"unicodeEmoji\": true,\n \"useCloudMetadataServices\": true,\n \"userAgent\": \"Renovate/{{renovateVersion}} (https://github.com/renovatebot/renovate)\",\n \"variables\": {}\n};\n"],"mappings":";AACA,MAAa,6BAAsD;CACjE,8BAA8B;CAC9B,mBAAmB,CAAC;CACpB,cAAc,CAAC;CACf,kBAAkB,CAChB,KACF;CACA,2BAA2B,CAAC;CAC5B,gBAAgB;CAChB,gBAAgB;CAChB,4CAA4C;CAC5C,gBAAgB;CAChB,0BAA0B;CAC1B,gBAAgB;CAChB,uBAAuB;CACvB,wBAAwB;CACxB,oBAAoB,CAAC;CACrB,mBAAmB,CAAC;CACpB,yBAAyB;CACzB,sBAAsB,CAAC;CACvB,8BAA8B;CAC9B,oBAAoB;CACpB,6BAA6B;CAC7B,0BAA0B;CAC1B,qBAAqB;CACrB,kBAAkB;CAClB,sBAAsB;CACtB,cAAc;CACd,oBAAoB;CACpB,gBAAgB;CAChB,YAAY;CACZ,gBAAgB;CAChB,mBAAmB;CACnB,eAAe,CACb,UACA,MACF;CACA,cAAc;CACd,UAAU;CACV,oBAAoB;CACpB,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,yBAAyB;CACzB,yBAAyB;CACzB,uBAAuB;CACvB,8BAA8B;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,2BAA2B;CAC3B,kBAAkB,CAAC;CACnB,oBAAoB;CACpB,oBAAoB,EAClB,WAAW,oDACb;CACA,4BAA4B;CAC5B,oBAAoB;CACpB,qBAAqB;CACrB,4BAA4B;CAC5B,uBAAuB;CACvB,mBAAmB;CACnB,YAAY;CACZ,uBAAuB;CACvB,wBAAwB;CACxB,0BAA0B;CAC1B,cAAc,CAAC;CACf,gBAAgB;EACd,iBAAiB;EACjB,QAAQ;EACR,YAAY;CACd;CACA,yBAAyB;CACzB,oBAAoB;CACpB,mBAAmB;CACnB,6BAA6B;CAC7B,uBAAuB;CACvB,iBAAiB;CACjB,eAAe;CACf,WAAW,CAAC;CACZ,gBAAgB;CAChB,4BAA4B;CAC5B,aAAa;CACb,aAAa,CAAC;AAChB"}
|
|
@@ -75,7 +75,7 @@ hashMap.set("mise", "bc13ff3b8b16a2e79f450017920e87da37fbfbf61fc8c95ddeaa7cfd451
|
|
|
75
75
|
hashMap.set("mix", "473bb870c00b270faae93c4614873f644ad516f762acf07f773b12a7b8e01d19");
|
|
76
76
|
hashMap.set("nix", "a9d4ae3f9f01abb71dc9ebc12a9cd8bec237ad9d2dabfbf4f5ffd59e56c9a612");
|
|
77
77
|
hashMap.set("nodenv", "ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8");
|
|
78
|
-
hashMap.set("npm", "
|
|
78
|
+
hashMap.set("npm", "26f264e7496db13a14384335b904f2a3ba8517fd5ac95ed8285248b95da46dda");
|
|
79
79
|
hashMap.set("nuget", "136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab137caee");
|
|
80
80
|
hashMap.set("nvm", "3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322");
|
|
81
81
|
hashMap.set("ocb", "032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','146e023bced69a0625adfac29148a5254d9457ad5a48931c7047299f6452cb43');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','6bf7782e8a02fc87dc5d84aab59e517c09df51fd23cf57805e62207dbd5efdb5');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','ef00591c6f09069550ef97ff7ff5e387b9dd3df51cdecc9ef941169b19315396');\nhashMap.set('bazel-module','65e6cb3d6c0d9b3b1fda22388b6c72148c518cd06e8c434b46e4645384381bad');\nhashMap.set('bazelisk','a83328e3c5b4c3f5af2e425f680b4852c08ef5c6d035a248e09577136cf3b14d');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','3d40239b69d462ab843562ff8ee5bfacbc46d4976d38d0af17d037973f174e3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','9c5b8a2e7b84a545bbd6cc74c1fd9422f167da67c41bcc9bfb4cc2098b41de0c');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','e8f43c68e874a9f3e684c2f3323b77a2799c49a1a538495ae75fb3a3bdd1f786');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3906e56e8decf5d5e51cccdb46d2ce4eb4ff8efc8b0596b859f0f7210e13ed45');\nhashMap.set('conan','1cfe3887dba15d974fbbad3c0f49b7b745a6bad194ff95f067976ce3ae47d2bf');\nhashMap.set('copier','d70688a4a74d7239229a69eb1e3c5af19da0a38d12b9324c92ff86776fa0dec7');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','bdb28fcfdc032e3ea75d2569213fef207fd18bcaa46a6e4ea933150e49df24bf');\nhashMap.set('deps-edn','7b6ac92be04b44fdf1da8755550a6417bb294908158119c8fff10adeb05048d2');\nhashMap.set('devbox','abca7468e2363c04b7e4b85bfdbc75e11ed38e9d3b84b9ccc6d1a4c34a8fc1fb');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','a9c27711356fbda8dd14f21e046936e1e43f18c5528325b468d89937f76fe1e7');\nhashMap.set('dockerfile','a83e9e93f31576697d45fd60a0b44f7d14a610752e695a62507624ab2dbb2162');\nhashMap.set('droneci','e2039bb37c2d63c53027b188d1f0faa7c8923dcbfe6cf3851fba8d4e9f43a358');\nhashMap.set('fleet','6b091fd5b8c2e9fc5d5b81ba34befec915d585d45cbc175c851ccc1555372925');\nhashMap.set('flux','70833dd068ea0a746a9392469e7904021562c7629428d0cd554603bad4eb6ce5');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','28532556bb676239d3af375c21af30cfe392ff029f8a695391e0fc1203fc0cab');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','a3bd05c4814eb57872d39979a40342a8ee23e61a85e2ab25e84346e8215dadc1');\nhashMap.set('gomod','1ed58f0af452a6776ae1899466851bab659f8287c90cff96619068d8184048d5');\nhashMap.set('gradle','ef9db616bf60e9a3623fff0e41df274a457333a37f37c24f3841a3ca3a531449');\nhashMap.set('gradle-wrapper','77f7e75be2597b847fc821ff8ff5bb4b3e37ab3cc4e780e22ce75e0342becac8');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','433d1d0fd4a81f191a0b553ab52419627b1d7aa0eb3099d53f7ae4a1d076c221');\nhashMap.set('helmsman','c4af380756eae8dc988d24c91e9749ce0a97b201daa55f59d2394c1c90d73779');\nhashMap.set('helmv3','cc9396b650a7226eeae1bed6b620cfb6d12e6a8ad52faf80b527ffaeb2b68066');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7bfb09418a132e052579196633bac78ac947cf93f1e70748ea1b3da929874b87');\nhashMap.set('jsonnet-bundler','06d163b939b258e1e2847a12a1249cb7d68d77c7bcf13c6d1a0a916744eba5cc');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','558fcfe5b20f1eb4aba0d3c755a060bb4561611e99db7000786ce4edcd3f7894');\nhashMap.set('leiningen','a7295160ce901e08e12be75cb3aaf6b9a199de811eb60b618feb773f7c552bba');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','db967206d960b12d7c58d78132808d3c412087ababf5c59444262782e4434c6a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','bc13ff3b8b16a2e79f450017920e87da37fbfbf61fc8c95ddeaa7cfd4517b5b6');\nhashMap.set('mix','473bb870c00b270faae93c4614873f644ad516f762acf07f773b12a7b8e01d19');\nhashMap.set('nix','a9d4ae3f9f01abb71dc9ebc12a9cd8bec237ad9d2dabfbf4f5ffd59e56c9a612');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','97e8f121c2f8cdbf86a46847f349d000551e393ddaf40b0ca23ff93a29ff623c');\nhashMap.set('nuget','136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab137caee');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','2908e3287941e0d111b492140b56863915f8ed8601a7728de39ff9f878400210');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f890f10faeb035f');\nhashMap.set('pip_requirements','953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','fc2fd2e06753fada34958eb190c6d9236271b81a8a4cf1a354937a209cef06a9');\nhashMap.set('pixi','eb3a49c742d7de368b631c0b4fc5ae1a011b5ce85752e6bdf870f24c3e548bc5');\nhashMap.set('poetry','33dfbd8bddcf2aca101be8c869cca7ba8d33a7224c7b86296718814fde8241cb');\nhashMap.set('pre-commit','a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','d0c11bb1076c7b84a3f30458d8747d5cdfd0126cc52a8d8218ab77c46287219b');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','2bb0c98d231bbd6c9043127bfc566a954e7e04fc8654b119c14438a63371e4a7');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','e0b799487e3331b91de1fec7dfb975378340b883dc0aeb95b950d289eb4737c5');\nhashMap.set('swift','5ebd875ee7a541b4725f6263789ea9a7c77a4b7c40b2119f894e67b588cfa672');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','369872bc79b8c0424d68345b2cec69d71534c0a4a42113af8ee7f04c32ad95a2');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','04c94f72622003195c8ea8147c8fbd93003f444ec807ce33f2ada2384282db83');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','f07c508ef8bf0c6d74b4e3ebdc7573ab606ab7f0671f4d1e5f6002adaed84c9c');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','146e023bced69a0625adfac29148a5254d9457ad5a48931c7047299f6452cb43');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','6bf7782e8a02fc87dc5d84aab59e517c09df51fd23cf57805e62207dbd5efdb5');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','ef00591c6f09069550ef97ff7ff5e387b9dd3df51cdecc9ef941169b19315396');\nhashMap.set('bazel-module','65e6cb3d6c0d9b3b1fda22388b6c72148c518cd06e8c434b46e4645384381bad');\nhashMap.set('bazelisk','a83328e3c5b4c3f5af2e425f680b4852c08ef5c6d035a248e09577136cf3b14d');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','3d40239b69d462ab843562ff8ee5bfacbc46d4976d38d0af17d037973f174e3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','9c5b8a2e7b84a545bbd6cc74c1fd9422f167da67c41bcc9bfb4cc2098b41de0c');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','e8f43c68e874a9f3e684c2f3323b77a2799c49a1a538495ae75fb3a3bdd1f786');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3906e56e8decf5d5e51cccdb46d2ce4eb4ff8efc8b0596b859f0f7210e13ed45');\nhashMap.set('conan','1cfe3887dba15d974fbbad3c0f49b7b745a6bad194ff95f067976ce3ae47d2bf');\nhashMap.set('copier','d70688a4a74d7239229a69eb1e3c5af19da0a38d12b9324c92ff86776fa0dec7');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','bdb28fcfdc032e3ea75d2569213fef207fd18bcaa46a6e4ea933150e49df24bf');\nhashMap.set('deps-edn','7b6ac92be04b44fdf1da8755550a6417bb294908158119c8fff10adeb05048d2');\nhashMap.set('devbox','abca7468e2363c04b7e4b85bfdbc75e11ed38e9d3b84b9ccc6d1a4c34a8fc1fb');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','a9c27711356fbda8dd14f21e046936e1e43f18c5528325b468d89937f76fe1e7');\nhashMap.set('dockerfile','a83e9e93f31576697d45fd60a0b44f7d14a610752e695a62507624ab2dbb2162');\nhashMap.set('droneci','e2039bb37c2d63c53027b188d1f0faa7c8923dcbfe6cf3851fba8d4e9f43a358');\nhashMap.set('fleet','6b091fd5b8c2e9fc5d5b81ba34befec915d585d45cbc175c851ccc1555372925');\nhashMap.set('flux','70833dd068ea0a746a9392469e7904021562c7629428d0cd554603bad4eb6ce5');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','28532556bb676239d3af375c21af30cfe392ff029f8a695391e0fc1203fc0cab');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','a3bd05c4814eb57872d39979a40342a8ee23e61a85e2ab25e84346e8215dadc1');\nhashMap.set('gomod','1ed58f0af452a6776ae1899466851bab659f8287c90cff96619068d8184048d5');\nhashMap.set('gradle','ef9db616bf60e9a3623fff0e41df274a457333a37f37c24f3841a3ca3a531449');\nhashMap.set('gradle-wrapper','77f7e75be2597b847fc821ff8ff5bb4b3e37ab3cc4e780e22ce75e0342becac8');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','433d1d0fd4a81f191a0b553ab52419627b1d7aa0eb3099d53f7ae4a1d076c221');\nhashMap.set('helmsman','c4af380756eae8dc988d24c91e9749ce0a97b201daa55f59d2394c1c90d73779');\nhashMap.set('helmv3','cc9396b650a7226eeae1bed6b620cfb6d12e6a8ad52faf80b527ffaeb2b68066');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7bfb09418a132e052579196633bac78ac947cf93f1e70748ea1b3da929874b87');\nhashMap.set('jsonnet-bundler','06d163b939b258e1e2847a12a1249cb7d68d77c7bcf13c6d1a0a916744eba5cc');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','558fcfe5b20f1eb4aba0d3c755a060bb4561611e99db7000786ce4edcd3f7894');\nhashMap.set('leiningen','a7295160ce901e08e12be75cb3aaf6b9a199de811eb60b618feb773f7c552bba');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','db967206d960b12d7c58d78132808d3c412087ababf5c59444262782e4434c6a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','bc13ff3b8b16a2e79f450017920e87da37fbfbf61fc8c95ddeaa7cfd4517b5b6');\nhashMap.set('mix','473bb870c00b270faae93c4614873f644ad516f762acf07f773b12a7b8e01d19');\nhashMap.set('nix','a9d4ae3f9f01abb71dc9ebc12a9cd8bec237ad9d2dabfbf4f5ffd59e56c9a612');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','26f264e7496db13a14384335b904f2a3ba8517fd5ac95ed8285248b95da46dda');\nhashMap.set('nuget','136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab137caee');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','2908e3287941e0d111b492140b56863915f8ed8601a7728de39ff9f878400210');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f890f10faeb035f');\nhashMap.set('pip_requirements','953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','fc2fd2e06753fada34958eb190c6d9236271b81a8a4cf1a354937a209cef06a9');\nhashMap.set('pixi','eb3a49c742d7de368b631c0b4fc5ae1a011b5ce85752e6bdf870f24c3e548bc5');\nhashMap.set('poetry','33dfbd8bddcf2aca101be8c869cca7ba8d33a7224c7b86296718814fde8241cb');\nhashMap.set('pre-commit','a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','d0c11bb1076c7b84a3f30458d8747d5cdfd0126cc52a8d8218ab77c46287219b');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','2bb0c98d231bbd6c9043127bfc566a954e7e04fc8654b119c14438a63371e4a7');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','e0b799487e3331b91de1fec7dfb975378340b883dc0aeb95b950d289eb4737c5');\nhashMap.set('swift','5ebd875ee7a541b4725f6263789ea9a7c77a4b7c40b2119f894e67b588cfa672');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','369872bc79b8c0424d68345b2cec69d71534c0a4a42113af8ee7f04c32ad95a2');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','04c94f72622003195c8ea8147c8fbd93003f444ec807ce33f2ada2384282db83');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','f07c508ef8bf0c6d74b4e3ebdc7573ab606ab7f0671f4d1e5f6002adaed84c9c');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { regEx } from "../../../util/regex.js";
|
|
2
|
+
import { isString } from "@sindresorhus/is";
|
|
3
|
+
import ini from "ini";
|
|
4
|
+
//#region lib/modules/manager/npm/npmrc-parser.ts
|
|
5
|
+
/**
|
|
6
|
+
* Follow `ini.parse`: indented section-like lines are settings, not sections.
|
|
7
|
+
*/
|
|
8
|
+
const npmrcSectionRegex = regEx(/^\[(?<section>[^\]]*)\]\s*$/);
|
|
9
|
+
const npmrcSettingRegex = regEx(/^(?<key>[^=]+)(?:=(?<value>.*))?$/);
|
|
10
|
+
/**
|
|
11
|
+
* Reuse `ini.parse`'s token decoder while retaining raw lines for lossless
|
|
12
|
+
* rendering.
|
|
13
|
+
*
|
|
14
|
+
* `@types/ini` declares a string result, but single-quoted JSON literals can
|
|
15
|
+
* decode to other types, so callers must narrow it.
|
|
16
|
+
*/
|
|
17
|
+
function decodeNpmrcText(raw) {
|
|
18
|
+
return ini.unsafe(raw);
|
|
19
|
+
}
|
|
20
|
+
function decodeNpmrcValue(raw) {
|
|
21
|
+
const value = decodeNpmrcText(raw);
|
|
22
|
+
if (value === "true") return true;
|
|
23
|
+
if (value === "false") return false;
|
|
24
|
+
if (value === "null") return null;
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
function parseNpmrcKey(decodedKey) {
|
|
28
|
+
if (!decodedKey.endsWith("[]")) return {
|
|
29
|
+
key: decodedKey,
|
|
30
|
+
isArray: false
|
|
31
|
+
};
|
|
32
|
+
if (decodedKey === "[]") return {
|
|
33
|
+
key: decodedKey,
|
|
34
|
+
isArray: false
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
key: decodedKey.slice(0, -2),
|
|
38
|
+
isArray: true
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function parseNpmrcLine(raw, lineEnding, section) {
|
|
42
|
+
const trimmed = raw.trim();
|
|
43
|
+
if (!trimmed || trimmed.startsWith("#") || trimmed.startsWith(";")) return {
|
|
44
|
+
type: "other",
|
|
45
|
+
raw,
|
|
46
|
+
lineEnding
|
|
47
|
+
};
|
|
48
|
+
const rawSectionName = npmrcSectionRegex.exec(raw)?.groups?.section;
|
|
49
|
+
if (rawSectionName !== void 0) {
|
|
50
|
+
const sectionName = decodeNpmrcText(rawSectionName);
|
|
51
|
+
if (!isString(sectionName)) return {
|
|
52
|
+
type: "other",
|
|
53
|
+
raw,
|
|
54
|
+
lineEnding
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
type: "section",
|
|
58
|
+
name: sectionName,
|
|
59
|
+
raw,
|
|
60
|
+
lineEnding
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const setting = npmrcSettingRegex.exec(raw)?.groups;
|
|
64
|
+
if (!setting) return {
|
|
65
|
+
type: "other",
|
|
66
|
+
raw,
|
|
67
|
+
lineEnding
|
|
68
|
+
};
|
|
69
|
+
const decodedKey = decodeNpmrcText(setting.key);
|
|
70
|
+
if (!isString(decodedKey)) return {
|
|
71
|
+
type: "other",
|
|
72
|
+
raw,
|
|
73
|
+
lineEnding
|
|
74
|
+
};
|
|
75
|
+
const { key, isArray } = parseNpmrcKey(decodedKey);
|
|
76
|
+
let value = true;
|
|
77
|
+
if (setting.value !== void 0) value = decodeNpmrcValue(setting.value);
|
|
78
|
+
return {
|
|
79
|
+
type: "setting",
|
|
80
|
+
section,
|
|
81
|
+
key,
|
|
82
|
+
isArray,
|
|
83
|
+
value,
|
|
84
|
+
raw,
|
|
85
|
+
lineEnding
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function parseNpmrc(content) {
|
|
89
|
+
const lines = [];
|
|
90
|
+
let detectedLineEnding = null;
|
|
91
|
+
let section = null;
|
|
92
|
+
const parts = content.split(regEx(/(\r\n|\r|\n)/));
|
|
93
|
+
for (let index = 0; index < parts.length; index += 2) {
|
|
94
|
+
const raw = parts[index];
|
|
95
|
+
const lineEnding = parts[index + 1] ?? "";
|
|
96
|
+
if (!raw && !lineEnding) continue;
|
|
97
|
+
if (lineEnding && !detectedLineEnding) detectedLineEnding = lineEnding;
|
|
98
|
+
const line = parseNpmrcLine(raw, lineEnding, section);
|
|
99
|
+
lines.push(line);
|
|
100
|
+
if (line.type === "section") section = line.name;
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
lines,
|
|
104
|
+
detectedLineEnding,
|
|
105
|
+
trailingLineEnding: lines.at(-1)?.lineEnding ?? ""
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function renderNpmrc(lines) {
|
|
109
|
+
return lines.map((line) => `${line.raw}${line.lineEnding}`).join("");
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
export { parseNpmrc, renderNpmrc };
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=npmrc-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npmrc-parser.js","names":[],"sources":["../../../../lib/modules/manager/npm/npmrc-parser.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport ini from 'ini';\nimport { regEx } from '../../../util/regex.ts';\nimport type {\n DetectedNpmrcLineEnding,\n NpmrcDocument,\n NpmrcLine,\n NpmrcLineEnding,\n} from './types.ts';\n\n/**\n * Follow `ini.parse`: indented section-like lines are settings, not sections.\n */\nconst npmrcSectionRegex = regEx(/^\\[(?<section>[^\\]]*)\\]\\s*$/);\nconst npmrcSettingRegex = regEx(/^(?<key>[^=]+)(?:=(?<value>.*))?$/);\n\n/**\n * Reuse `ini.parse`'s token decoder while retaining raw lines for lossless\n * rendering.\n *\n * `@types/ini` declares a string result, but single-quoted JSON literals can\n * decode to other types, so callers must narrow it.\n */\nfunction decodeNpmrcText(raw: string): unknown {\n return ini.unsafe(raw);\n}\n\nfunction decodeNpmrcValue(raw: string): unknown {\n const value = decodeNpmrcText(raw);\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === 'null') {\n return null;\n }\n return value;\n}\n\nfunction parseNpmrcKey(decodedKey: string): {\n key: string;\n isArray: boolean;\n} {\n if (!decodedKey.endsWith('[]')) {\n return { key: decodedKey, isArray: false };\n }\n\n if (decodedKey === '[]') {\n return { key: decodedKey, isArray: false };\n }\n\n return { key: decodedKey.slice(0, -2), isArray: true };\n}\n\nfunction parseNpmrcLine(\n raw: string,\n lineEnding: NpmrcLineEnding,\n section: string | null,\n): NpmrcLine {\n const trimmed = raw.trim();\n if (!trimmed || trimmed.startsWith('#') || trimmed.startsWith(';')) {\n return { type: 'other', raw, lineEnding };\n }\n\n const rawSectionName = npmrcSectionRegex.exec(raw)?.groups?.section;\n if (rawSectionName !== undefined) {\n const sectionName = decodeNpmrcText(rawSectionName);\n if (!isString(sectionName)) {\n return { type: 'other', raw, lineEnding };\n }\n\n return {\n type: 'section',\n name: sectionName,\n raw,\n lineEnding,\n };\n }\n\n const setting = npmrcSettingRegex.exec(raw)?.groups;\n if (!setting) {\n return { type: 'other', raw, lineEnding };\n }\n\n const decodedKey = decodeNpmrcText(setting.key);\n if (!isString(decodedKey)) {\n return { type: 'other', raw, lineEnding };\n }\n\n const { key, isArray } = parseNpmrcKey(decodedKey);\n\n let value: unknown = true;\n if (setting.value !== undefined) {\n value = decodeNpmrcValue(setting.value);\n }\n\n return {\n type: 'setting',\n section,\n key,\n isArray,\n value,\n raw,\n lineEnding,\n };\n}\n\nexport function parseNpmrc(content: string): NpmrcDocument {\n const lines: NpmrcLine[] = [];\n let detectedLineEnding: DetectedNpmrcLineEnding | null = null;\n let section: string | null = null;\n // oxlint-disable-next-line prefer-named-capture-group -- split needs captured separators, not named groups.\n const parts = content.split(regEx(/(\\r\\n|\\r|\\n)/));\n\n for (let index = 0; index < parts.length; index += 2) {\n const raw = parts[index];\n const lineEnding = (parts[index + 1] ?? '') as NpmrcLineEnding;\n if (!raw && !lineEnding) {\n continue;\n }\n\n if (lineEnding && !detectedLineEnding) {\n detectedLineEnding = lineEnding;\n }\n\n const line = parseNpmrcLine(raw, lineEnding, section);\n lines.push(line);\n if (line.type === 'section') {\n section = line.name;\n }\n }\n\n return {\n lines,\n detectedLineEnding,\n trailingLineEnding: lines.at(-1)?.lineEnding ?? '',\n };\n}\n\nexport function renderNpmrc(lines: NpmrcLine[]): string {\n return lines.map((line) => `${line.raw}${line.lineEnding}`).join('');\n}\n"],"mappings":";;;;;;;AAaA,MAAM,oBAAoB,MAAM,6BAA6B;AAC7D,MAAM,oBAAoB,MAAM,mCAAmC;;;;;;;;AASnE,SAAS,gBAAgB,KAAsB;CAC7C,OAAO,IAAI,OAAO,GAAG;AACvB;AAEA,SAAS,iBAAiB,KAAsB;CAC9C,MAAM,QAAQ,gBAAgB,GAAG;CACjC,IAAI,UAAU,QACZ,OAAO;CAET,IAAI,UAAU,SACZ,OAAO;CAET,IAAI,UAAU,QACZ,OAAO;CAET,OAAO;AACT;AAEA,SAAS,cAAc,YAGrB;CACA,IAAI,CAAC,WAAW,SAAS,IAAI,GAC3B,OAAO;EAAE,KAAK;EAAY,SAAS;CAAM;CAG3C,IAAI,eAAe,MACjB,OAAO;EAAE,KAAK;EAAY,SAAS;CAAM;CAG3C,OAAO;EAAE,KAAK,WAAW,MAAM,GAAG,EAAE;EAAG,SAAS;CAAK;AACvD;AAEA,SAAS,eACP,KACA,YACA,SACW;CACX,MAAM,UAAU,IAAI,KAAK;CACzB,IAAI,CAAC,WAAW,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,GAAG,GAC/D,OAAO;EAAE,MAAM;EAAS;EAAK;CAAW;CAG1C,MAAM,iBAAiB,kBAAkB,KAAK,GAAG,CAAC,EAAE,QAAQ;CAC5D,IAAI,mBAAmB,KAAA,GAAW;EAChC,MAAM,cAAc,gBAAgB,cAAc;EAClD,IAAI,CAAC,SAAS,WAAW,GACvB,OAAO;GAAE,MAAM;GAAS;GAAK;EAAW;EAG1C,OAAO;GACL,MAAM;GACN,MAAM;GACN;GACA;EACF;CACF;CAEA,MAAM,UAAU,kBAAkB,KAAK,GAAG,CAAC,EAAE;CAC7C,IAAI,CAAC,SACH,OAAO;EAAE,MAAM;EAAS;EAAK;CAAW;CAG1C,MAAM,aAAa,gBAAgB,QAAQ,GAAG;CAC9C,IAAI,CAAC,SAAS,UAAU,GACtB,OAAO;EAAE,MAAM;EAAS;EAAK;CAAW;CAG1C,MAAM,EAAE,KAAK,YAAY,cAAc,UAAU;CAEjD,IAAI,QAAiB;CACrB,IAAI,QAAQ,UAAU,KAAA,GACpB,QAAQ,iBAAiB,QAAQ,KAAK;CAGxC,OAAO;EACL,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;CACF;AACF;AAEA,SAAgB,WAAW,SAAgC;CACzD,MAAM,QAAqB,CAAC;CAC5B,IAAI,qBAAqD;CACzD,IAAI,UAAyB;CAE7B,MAAM,QAAQ,QAAQ,MAAM,MAAM,cAAc,CAAC;CAEjD,KAAK,IAAI,QAAQ,GAAG,QAAQ,MAAM,QAAQ,SAAS,GAAG;EACpD,MAAM,MAAM,MAAM;EAClB,MAAM,aAAc,MAAM,QAAQ,MAAM;EACxC,IAAI,CAAC,OAAO,CAAC,YACX;EAGF,IAAI,cAAc,CAAC,oBACjB,qBAAqB;EAGvB,MAAM,OAAO,eAAe,KAAK,YAAY,OAAO;EACpD,MAAM,KAAK,IAAI;EACf,IAAI,KAAK,SAAS,WAChB,UAAU,KAAK;CAEnB;CAEA,OAAO;EACL;EACA;EACA,oBAAoB,MAAM,GAAG,EAAE,CAAC,EAAE,cAAc;CAClD;AACF;AAEA,SAAgB,YAAY,OAA4B;CACtD,OAAO,MAAM,KAAK,SAAS,GAAG,KAAK,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK,EAAE;AACrE"}
|
|
@@ -1,36 +1,86 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { regEx } from "../../../util/regex.js";
|
|
2
2
|
import { GlobalConfig } from "../../../config/global.js";
|
|
3
3
|
import { logger } from "../../../logger/index.js";
|
|
4
4
|
import { findLocalSiblingOrParent, readLocalFile } from "../../../util/fs/index.js";
|
|
5
|
+
import { parseNpmrc, renderNpmrc } from "./npmrc-parser.js";
|
|
5
6
|
import { isString } from "@sindresorhus/is";
|
|
6
7
|
//#region lib/modules/manager/npm/npmrc.ts
|
|
8
|
+
/**
|
|
9
|
+
* Mirrors npm's environment-reference grammar. Escape handling remains
|
|
10
|
+
* procedural because RE2 does not support lookbehind.
|
|
11
|
+
*/
|
|
12
|
+
const environmentVariableReferenceRegex = regEx(/\$\{([^${}?]+)(\?)?\}/g);
|
|
13
|
+
function containsEnvironmentVariableReference(value) {
|
|
14
|
+
if (!isString(value)) return false;
|
|
15
|
+
for (const match of value.matchAll(environmentVariableReferenceRegex)) {
|
|
16
|
+
let escapeCount = 0;
|
|
17
|
+
let escapeIndex = match.index - 1;
|
|
18
|
+
while (value[escapeIndex] === "\\") {
|
|
19
|
+
escapeCount += 1;
|
|
20
|
+
escapeIndex -= 1;
|
|
21
|
+
}
|
|
22
|
+
if (escapeCount % 2 === 0) return true;
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
function hasEnvironmentVariableReference(line) {
|
|
27
|
+
return containsEnvironmentVariableReference(line.key) || containsEnvironmentVariableReference(line.value);
|
|
28
|
+
}
|
|
29
|
+
function sanitizeRepoNpmrc(repoNpmrc, npmrcFileName) {
|
|
30
|
+
const document = parseNpmrc(repoNpmrc);
|
|
31
|
+
const retainedLines = [];
|
|
32
|
+
const allowEnvironmentVariableReferences = GlobalConfig.get("exposeAllEnv");
|
|
33
|
+
let removedEnvironmentVariableReferenceLine = false;
|
|
34
|
+
let removedPackageLockSetting = false;
|
|
35
|
+
for (const line of document.lines) {
|
|
36
|
+
if (line.type !== "setting" || line.section !== null) {
|
|
37
|
+
retainedLines.push(line);
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (line.key === "package-lock") {
|
|
41
|
+
removedPackageLockSetting = true;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (!allowEnvironmentVariableReferences && hasEnvironmentVariableReference(line)) {
|
|
45
|
+
removedEnvironmentVariableReferenceLine = true;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
retainedLines.push(line);
|
|
49
|
+
}
|
|
50
|
+
if (removedPackageLockSetting) logger.debug("Stripping package-lock setting from .npmrc");
|
|
51
|
+
if (removedEnvironmentVariableReferenceLine) logger.debug({ npmrcFileName }, "Stripping .npmrc file of lines with variables");
|
|
52
|
+
return {
|
|
53
|
+
content: renderNpmrc(retainedLines),
|
|
54
|
+
detectedLineEnding: document.detectedLineEnding
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function mergeNpmrcDocuments(configNpmrc, sanitizedRepoNpmrc) {
|
|
58
|
+
if (!configNpmrc) return sanitizedRepoNpmrc.content;
|
|
59
|
+
const configDocument = parseNpmrc(configNpmrc);
|
|
60
|
+
if (configDocument.trailingLineEnding) return `${configNpmrc}${sanitizedRepoNpmrc.content}`;
|
|
61
|
+
return `${configNpmrc}${configDocument.detectedLineEnding ?? sanitizedRepoNpmrc.detectedLineEnding ?? "\n"}${sanitizedRepoNpmrc.content}`;
|
|
62
|
+
}
|
|
7
63
|
async function resolveNpmrc(packageFile, config) {
|
|
8
|
-
let npmrc;
|
|
9
64
|
const npmrcFileName = await findLocalSiblingOrParent(packageFile, ".npmrc");
|
|
10
|
-
if (npmrcFileName) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
npmrc += repoNpmrc;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
} else if (isString(config.npmrc)) npmrc = config.npmrc;
|
|
65
|
+
if (!npmrcFileName) return {
|
|
66
|
+
npmrc: isString(config.npmrc) ? config.npmrc : void 0,
|
|
67
|
+
npmrcFileName
|
|
68
|
+
};
|
|
69
|
+
const repoNpmrc = await readLocalFile(npmrcFileName, "utf8");
|
|
70
|
+
if (!isString(repoNpmrc)) return {
|
|
71
|
+
npmrc: void 0,
|
|
72
|
+
npmrcFileName
|
|
73
|
+
};
|
|
74
|
+
if (isString(config.npmrc) && !config.npmrcMerge) {
|
|
75
|
+
logger.info({ npmrcFileName }, "Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false");
|
|
76
|
+
return {
|
|
77
|
+
npmrc: config.npmrc,
|
|
78
|
+
npmrcFileName
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const sanitizedRepoNpmrc = sanitizeRepoNpmrc(repoNpmrc, npmrcFileName);
|
|
32
82
|
return {
|
|
33
|
-
npmrc,
|
|
83
|
+
npmrc: mergeNpmrcDocuments(config.npmrc, sanitizedRepoNpmrc),
|
|
34
84
|
npmrcFileName
|
|
35
85
|
};
|
|
36
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npmrc.js","names":[],"sources":["../../../../lib/modules/manager/npm/npmrc.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n} from '../../../util/fs/index.ts';\nimport {
|
|
1
|
+
{"version":3,"file":"npmrc.js","names":[],"sources":["../../../../lib/modules/manager/npm/npmrc.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n} from '../../../util/fs/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { parseNpmrc, renderNpmrc } from './npmrc-parser.ts';\nimport type {\n NpmrcDocument,\n NpmrcLine,\n NpmrcLineEnding,\n NpmrcResult,\n NpmrcSettingLine,\n} from './types.ts';\n\ninterface SanitizedRepoNpmrc {\n content: string;\n detectedLineEnding: NpmrcDocument['detectedLineEnding'];\n}\n\n/**\n * Mirrors npm's environment-reference grammar. Escape handling remains\n * procedural because RE2 does not support lookbehind.\n */\nconst environmentVariableReferenceRegex = regEx(\n // oxlint-disable-next-line prefer-named-capture-group -- Only the full match and its position are used.\n /\\$\\{([^${}?]+)(\\?)?\\}/g,\n);\n\nfunction containsEnvironmentVariableReference(value: unknown): boolean {\n if (!isString(value)) {\n return false;\n }\n\n for (const match of value.matchAll(environmentVariableReferenceRegex)) {\n let escapeCount = 0;\n let escapeIndex = match.index - 1;\n while (value[escapeIndex] === '\\\\') {\n escapeCount += 1;\n escapeIndex -= 1;\n }\n\n if (escapeCount % 2 === 0) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction hasEnvironmentVariableReference(line: NpmrcSettingLine): boolean {\n return (\n containsEnvironmentVariableReference(line.key) ||\n containsEnvironmentVariableReference(line.value)\n );\n}\n\nfunction sanitizeRepoNpmrc(\n repoNpmrc: string,\n npmrcFileName: string,\n): SanitizedRepoNpmrc {\n const document = parseNpmrc(repoNpmrc);\n const retainedLines: NpmrcLine[] = [];\n const allowEnvironmentVariableReferences = GlobalConfig.get('exposeAllEnv');\n let removedEnvironmentVariableReferenceLine = false;\n let removedPackageLockSetting = false;\n\n for (const line of document.lines) {\n if (line.type !== 'setting' || line.section !== null) {\n retainedLines.push(line);\n continue;\n }\n\n if (line.key === 'package-lock') {\n removedPackageLockSetting = true;\n continue;\n }\n\n if (\n !allowEnvironmentVariableReferences &&\n hasEnvironmentVariableReference(line)\n ) {\n removedEnvironmentVariableReferenceLine = true;\n continue;\n }\n\n retainedLines.push(line);\n }\n\n if (removedPackageLockSetting) {\n logger.debug('Stripping package-lock setting from .npmrc');\n }\n\n if (removedEnvironmentVariableReferenceLine) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n }\n\n return {\n content: renderNpmrc(retainedLines),\n detectedLineEnding: document.detectedLineEnding,\n };\n}\n\nfunction mergeNpmrcDocuments(\n configNpmrc: string | undefined,\n sanitizedRepoNpmrc: SanitizedRepoNpmrc,\n): string {\n if (!configNpmrc) {\n return sanitizedRepoNpmrc.content;\n }\n\n const configDocument = parseNpmrc(configNpmrc);\n if (configDocument.trailingLineEnding) {\n return `${configNpmrc}${sanitizedRepoNpmrc.content}`;\n }\n\n const separator: Exclude<NpmrcLineEnding, ''> =\n configDocument.detectedLineEnding ??\n sanitizedRepoNpmrc.detectedLineEnding ??\n '\\n';\n\n return `${configNpmrc}${separator}${sanitizedRepoNpmrc.content}`;\n}\n\nexport async function resolveNpmrc(\n packageFile: string,\n config: { npmrc?: string; npmrcMerge?: boolean },\n): Promise<NpmrcResult> {\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (!npmrcFileName) {\n return {\n npmrc: isString(config.npmrc) ? config.npmrc : undefined,\n npmrcFileName,\n };\n }\n\n const repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n\n if (!isString(repoNpmrc)) {\n return { npmrc: undefined, npmrcFileName };\n }\n\n if (isString(config.npmrc) && !config.npmrcMerge) {\n logger.info(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n\n return { npmrc: config.npmrc, npmrcFileName };\n }\n\n const sanitizedRepoNpmrc = sanitizeRepoNpmrc(repoNpmrc, npmrcFileName);\n const npmrc = mergeNpmrcDocuments(config.npmrc, sanitizedRepoNpmrc);\n return { npmrc, npmrcFileName };\n}\n"],"mappings":";;;;;;;;;;;AA0BA,MAAM,oCAAoC,MAExC,wBACF;AAEA,SAAS,qCAAqC,OAAyB;CACrE,IAAI,CAAC,SAAS,KAAK,GACjB,OAAO;CAGT,KAAK,MAAM,SAAS,MAAM,SAAS,iCAAiC,GAAG;EACrE,IAAI,cAAc;EAClB,IAAI,cAAc,MAAM,QAAQ;EAChC,OAAO,MAAM,iBAAiB,MAAM;GAClC,eAAe;GACf,eAAe;EACjB;EAEA,IAAI,cAAc,MAAM,GACtB,OAAO;CAEX;CAEA,OAAO;AACT;AAEA,SAAS,gCAAgC,MAAiC;CACxE,OACE,qCAAqC,KAAK,GAAG,KAC7C,qCAAqC,KAAK,KAAK;AAEnD;AAEA,SAAS,kBACP,WACA,eACoB;CACpB,MAAM,WAAW,WAAW,SAAS;CACrC,MAAM,gBAA6B,CAAC;CACpC,MAAM,qCAAqC,aAAa,IAAI,cAAc;CAC1E,IAAI,0CAA0C;CAC9C,IAAI,4BAA4B;CAEhC,KAAK,MAAM,QAAQ,SAAS,OAAO;EACjC,IAAI,KAAK,SAAS,aAAa,KAAK,YAAY,MAAM;GACpD,cAAc,KAAK,IAAI;GACvB;EACF;EAEA,IAAI,KAAK,QAAQ,gBAAgB;GAC/B,4BAA4B;GAC5B;EACF;EAEA,IACE,CAAC,sCACD,gCAAgC,IAAI,GACpC;GACA,0CAA0C;GAC1C;EACF;EAEA,cAAc,KAAK,IAAI;CACzB;CAEA,IAAI,2BACF,OAAO,MAAM,4CAA4C;CAG3D,IAAI,yCACF,OAAO,MACL,EAAE,cAAc,GAChB,+CACF;CAGF,OAAO;EACL,SAAS,YAAY,aAAa;EAClC,oBAAoB,SAAS;CAC/B;AACF;AAEA,SAAS,oBACP,aACA,oBACQ;CACR,IAAI,CAAC,aACH,OAAO,mBAAmB;CAG5B,MAAM,iBAAiB,WAAW,WAAW;CAC7C,IAAI,eAAe,oBACjB,OAAO,GAAG,cAAc,mBAAmB;CAQ7C,OAAO,GAAG,cAJR,eAAe,sBACf,mBAAmB,sBACnB,OAEkC,mBAAmB;AACzD;AAEA,eAAsB,aACpB,aACA,QACsB;CACtB,MAAM,gBAAgB,MAAM,yBAAyB,aAAa,QAAQ;CAC1E,IAAI,CAAC,eACH,OAAO;EACL,OAAO,SAAS,OAAO,KAAK,IAAI,OAAO,QAAQ,KAAA;EAC/C;CACF;CAGF,MAAM,YAAY,MAAM,cAAc,eAAe,MAAM;CAE3D,IAAI,CAAC,SAAS,SAAS,GACrB,OAAO;EAAE,OAAO,KAAA;EAAW;CAAc;CAG3C,IAAI,SAAS,OAAO,KAAK,KAAK,CAAC,OAAO,YAAY;EAChD,OAAO,KACL,EAAE,cAAc,GAChB,8EACF;EAEA,OAAO;GAAE,OAAO,OAAO;GAAO;EAAc;CAC9C;CAEA,MAAM,qBAAqB,kBAAkB,WAAW,aAAa;CAErE,OAAO;EAAE,OADK,oBAAoB,OAAO,OAAO,kBACnC;EAAG;CAAc;AAChC"}
|
|
@@ -66,7 +66,7 @@ function determineLockFileDirs(config, packageFiles) {
|
|
|
66
66
|
pnpmLockFileDirs: getDirs(pnpmLockFileDirs)
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
|
-
async function writeExistingFiles(config, packageFiles) {
|
|
69
|
+
async function writeExistingFiles(config, packageFiles, originalNpmrcFiles = /* @__PURE__ */ new Map()) {
|
|
70
70
|
if (!packageFiles.npm) return;
|
|
71
71
|
const npmFiles = packageFiles.npm;
|
|
72
72
|
logger.debug({ packageFiles: npmFiles.map((n) => n.packageFile) }, "Writing package.json files");
|
|
@@ -77,6 +77,10 @@ async function writeExistingFiles(config, packageFiles) {
|
|
|
77
77
|
const npmrc = packageFile.npmrc;
|
|
78
78
|
const npmrcFilename = upath.join(basedir, ".npmrc");
|
|
79
79
|
if (isString(npmrc) && (npmrcFilename === packageFile.managerData.npmrcFileName || !packageFile.managerData.npmrcFileName)) try {
|
|
80
|
+
if (!originalNpmrcFiles.has(npmrcFilename)) {
|
|
81
|
+
const originalNpmrc = await readLocalFile(npmrcFilename, "utf8");
|
|
82
|
+
if (isString(originalNpmrc)) originalNpmrcFiles.set(npmrcFilename, originalNpmrc);
|
|
83
|
+
}
|
|
80
84
|
await writeLocalFile(npmrcFilename, npmrc.replace(regEx(/\n?$/), "\n"));
|
|
81
85
|
} catch (err) /* v8 ignore next -- TODO: add test #40625 */ {
|
|
82
86
|
logger.warn({
|
|
@@ -148,6 +152,16 @@ async function writeExistingFiles(config, packageFiles) {
|
|
|
148
152
|
}
|
|
149
153
|
}
|
|
150
154
|
}
|
|
155
|
+
async function restoreNpmrcFiles(originalNpmrcFiles) {
|
|
156
|
+
for (const [npmrcFilename, originalNpmrc] of originalNpmrcFiles) try {
|
|
157
|
+
await writeLocalFile(npmrcFilename, originalNpmrc);
|
|
158
|
+
} catch (err) {
|
|
159
|
+
logger.warn({
|
|
160
|
+
npmrcFilename,
|
|
161
|
+
err
|
|
162
|
+
}, "Error restoring .npmrc");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
151
165
|
async function writeUpdatedPackageFiles(config) {
|
|
152
166
|
logger.trace({ config }, "writeUpdatedPackageFiles");
|
|
153
167
|
logger.debug("Writing any updated package files");
|
|
@@ -241,7 +255,7 @@ async function updateYarnBinary(lockFileDir, updatedArtifacts, existingYarnrcYml
|
|
|
241
255
|
}
|
|
242
256
|
return existingYarnrcYmlContent && yarnrcYml;
|
|
243
257
|
}
|
|
244
|
-
async function
|
|
258
|
+
async function getAdditionalFilesInner(config, packageFiles, originalNpmrcFiles) {
|
|
245
259
|
logger.trace({ config }, "getAdditionalFiles");
|
|
246
260
|
const artifactErrors = [];
|
|
247
261
|
const artifactNotices = [];
|
|
@@ -270,7 +284,7 @@ async function getAdditionalFiles(config, packageFiles) {
|
|
|
270
284
|
}
|
|
271
285
|
const dirs = determineLockFileDirs(config, packageFiles);
|
|
272
286
|
logger.trace({ dirs }, "lock file dirs");
|
|
273
|
-
await writeExistingFiles(config, packageFiles);
|
|
287
|
+
await writeExistingFiles(config, packageFiles, originalNpmrcFiles);
|
|
274
288
|
await writeUpdatedPackageFiles(config);
|
|
275
289
|
const { additionalNpmrcContent, additionalYarnRcYml } = processHostRules();
|
|
276
290
|
const env = {
|
|
@@ -437,6 +451,14 @@ async function getAdditionalFiles(config, packageFiles) {
|
|
|
437
451
|
updatedArtifacts
|
|
438
452
|
};
|
|
439
453
|
}
|
|
454
|
+
async function getAdditionalFiles(config, packageFiles) {
|
|
455
|
+
const originalNpmrcFiles = /* @__PURE__ */ new Map();
|
|
456
|
+
try {
|
|
457
|
+
return await getAdditionalFilesInner(config, packageFiles, originalNpmrcFiles);
|
|
458
|
+
} finally {
|
|
459
|
+
await restoreNpmrcFiles(originalNpmrcFiles);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
440
462
|
//#endregion
|
|
441
463
|
export { determineLockFileDirs, getAdditionalFiles, updateYarnBinary, writeExistingFiles, writeUpdatedPackageFiles };
|
|
442
464
|
|