pcu 0.5.5 → 0.5.7

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.
@@ -9,8 +9,8 @@ import pacote from 'pacote';
9
9
  import semver from 'semver';
10
10
  import { Version } from '../../domain/value-objects/Version.js';
11
11
  import { UserFriendlyErrorHandler } from '../../common/error-handling/UserFriendlyErrorHandler.js';
12
+ import { NpmrcParser } from '../utils/NpmrcParser.js';
12
13
  export class NpmRegistryService {
13
- registryUrl;
14
14
  cache = new Map();
15
15
  // Differentiated cache timeouts for different data types
16
16
  versionCacheTimeout;
@@ -21,8 +21,21 @@ export class NpmRegistryService {
21
21
  timeout;
22
22
  retries;
23
23
  cachingEnabled;
24
- constructor(registryUrl = 'https://registry.npmjs.org/', options = {}) {
25
- this.registryUrl = registryUrl;
24
+ // NPM configuration for handling multiple registries
25
+ npmrcConfig;
26
+ constructor(registryUrl = 'https://registry.npmjs.org/', options = {}, workingDirectory = process.cwd()) {
27
+ // Parse npmrc configuration for scoped registries
28
+ this.npmrcConfig = NpmrcParser.parse(workingDirectory);
29
+ // Override default registry if specified in npmrc
30
+ if (!registryUrl || registryUrl === 'https://registry.npmjs.org/') {
31
+ // Use npmrc registry as default if no specific registry is provided
32
+ const normalizedUrl = registryUrl.endsWith('/') ? registryUrl : registryUrl + '/';
33
+ this.npmrcConfig.registry = this.npmrcConfig.registry || normalizedUrl;
34
+ }
35
+ else {
36
+ // Use the provided registry URL as override
37
+ this.npmrcConfig.registry = registryUrl.endsWith('/') ? registryUrl : registryUrl + '/';
38
+ }
26
39
  this.concurrency = options.concurrency ?? 8; // Increased from 5 to match NCU performance
27
40
  this.timeout = options.timeout ?? 15000; // Reduced from 30s to 15s for faster failure detection
28
41
  this.retries = options.retries ?? 2; // Reduced from 3 to 2 for faster overall performance
@@ -59,11 +72,31 @@ export class NpmRegistryService {
59
72
  }
60
73
  throw lastError;
61
74
  }
75
+ /**
76
+ * Get the appropriate registry URL for a package
77
+ */
78
+ getRegistryForPackage(packageName) {
79
+ return NpmrcParser.getRegistryForPackage(packageName, this.npmrcConfig);
80
+ }
81
+ /**
82
+ * Get auth configuration for a registry
83
+ */
84
+ getAuthConfig(registryUrl) {
85
+ const authToken = NpmrcParser.getAuthToken(registryUrl, this.npmrcConfig);
86
+ if (authToken) {
87
+ return {
88
+ '//registry.npmjs.org/:_authToken': authToken,
89
+ token: authToken,
90
+ };
91
+ }
92
+ return {};
93
+ }
62
94
  /**
63
95
  * Get lightweight package version information (optimized for performance)
64
96
  */
65
97
  async getPackageVersions(packageName) {
66
- const cacheKey = `package-versions:${packageName}`;
98
+ const registryUrl = this.getRegistryForPackage(packageName);
99
+ const cacheKey = `package-versions:${registryUrl}:${packageName}`;
67
100
  // Check cache first if caching is enabled
68
101
  if (this.cachingEnabled) {
69
102
  const cached = this.getFromCache(cacheKey);
@@ -73,10 +106,12 @@ export class NpmRegistryService {
73
106
  }
74
107
  const packageVersions = await this.executeWithRetry(async () => {
75
108
  // Use lightweight packument call without fullMetadata
109
+ const authConfig = this.getAuthConfig(registryUrl);
76
110
  const packument = await pacote.packument(packageName, {
77
- registry: this.registryUrl,
111
+ registry: registryUrl,
78
112
  timeout: this.timeout,
79
113
  fullMetadata: false, // Key optimization: don't fetch full metadata
114
+ ...authConfig,
80
115
  });
81
116
  const versions = Object.keys(packument.versions || {}).sort(semver.rcompare);
82
117
  const latestVersion = packument['dist-tags']?.latest || versions[0];
@@ -99,7 +134,8 @@ export class NpmRegistryService {
99
134
  * @deprecated Use getPackageVersions() for better performance
100
135
  */
101
136
  async getPackageInfo(packageName) {
102
- const cacheKey = `package-info:${packageName}`;
137
+ const registryUrl = this.getRegistryForPackage(packageName);
138
+ const cacheKey = `package-info:${registryUrl}:${packageName}`;
103
139
  // Check cache first if caching is enabled
104
140
  if (this.cachingEnabled) {
105
141
  const cached = this.getFromCache(cacheKey);
@@ -111,10 +147,12 @@ export class NpmRegistryService {
111
147
  const versionInfo = await this.getPackageVersions(packageName);
112
148
  const packageInfo = await this.executeWithRetry(async () => {
113
149
  // Only fetch full metadata if we actually need the extended info
150
+ const authConfig = this.getAuthConfig(registryUrl);
114
151
  const packument = await pacote.packument(packageName, {
115
- registry: this.registryUrl,
152
+ registry: registryUrl,
116
153
  timeout: this.timeout,
117
154
  fullMetadata: true,
155
+ ...authConfig,
118
156
  });
119
157
  return {
120
158
  name: versionInfo.name,
@@ -205,7 +243,8 @@ export class NpmRegistryService {
205
243
  * Check for security vulnerabilities
206
244
  */
207
245
  async checkSecurityVulnerabilities(packageName, version) {
208
- const cacheKey = `security:${packageName}@${version}`;
246
+ const registryUrl = this.getRegistryForPackage(packageName);
247
+ const cacheKey = `security:${registryUrl}:${packageName}@${version}`;
209
248
  // Check cache first
210
249
  const cached = this.getFromCache(cacheKey);
211
250
  if (cached) {
@@ -219,14 +258,16 @@ export class NpmRegistryService {
219
258
  requires: {},
220
259
  dependencies: {},
221
260
  };
261
+ const authConfig = this.getAuthConfig(registryUrl);
222
262
  const response = await npmRegistryFetch('/-/npm/v1/security/audits', {
223
263
  method: 'POST',
224
264
  body: JSON.stringify(auditData),
225
265
  headers: {
226
266
  'Content-Type': 'application/json',
227
267
  },
228
- registry: this.registryUrl,
268
+ registry: registryUrl,
229
269
  timeout: this.timeout,
270
+ ...authConfig,
230
271
  });
231
272
  const auditResult = await response.json();
232
273
  const vulnerabilities = [];
@@ -306,13 +347,17 @@ export class NpmRegistryService {
306
347
  async hasPackageAuthorChanged(packageName, fromVersion, toVersion) {
307
348
  try {
308
349
  // const packageInfo = await this.getPackageInfo(packageName);
350
+ const registryUrl = this.getRegistryForPackage(packageName);
351
+ const authConfig = this.getAuthConfig(registryUrl);
309
352
  const fromVersionData = await pacote.manifest(`${packageName}@${fromVersion}`, {
310
- registry: this.registryUrl,
353
+ registry: registryUrl,
311
354
  timeout: this.timeout,
355
+ ...authConfig,
312
356
  });
313
357
  const toVersionData = await pacote.manifest(`${packageName}@${toVersion}`, {
314
- registry: this.registryUrl,
358
+ registry: registryUrl,
315
359
  timeout: this.timeout,
360
+ ...authConfig,
316
361
  });
317
362
  // Compare authors/maintainers
318
363
  const fromAuthor = this.normalizeAuthor(fromVersionData.author);
@@ -1 +1 @@
1
- {"version":3,"file":"NpmRegistryService.js","sourceRoot":"","sources":["../../../src/infrastructure/external-services/NpmRegistryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NpmRegistryService.js","sourceRoot":"","sources":["../../../src/infrastructure/external-services/NpmRegistryService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAgB,MAAM,uCAAuC,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AAsCnE,MAAM,OAAO,kBAAkB;IACZ,KAAK,GAAkD,IAAI,GAAG,EAAE,CAAC;IAElF,yDAAyD;IACxC,mBAAmB,CAAS;IAC5B,uBAAuB,CAAS;IAChC,oBAAoB,CAAS;IAE9C,uCAAuC;IACtB,WAAW,CAAS;IACpB,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,cAAc,CAAU;IAEzC,qDAAqD;IACpC,WAAW,CAAc;IAE1C,YACE,cAAsB,6BAA6B,EACnD,UAA0B,EAAE,EAC5B,mBAA2B,OAAO,CAAC,GAAG,EAAE;QAExC,kDAAkD;QAClD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEvD,kDAAkD;QAClD,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,6BAA6B,EAAE,CAAC;YAClE,oEAAoE;YACpE,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;YAClF,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,aAAa,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,4CAA4C;QACzF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,uDAAuD;QAChG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,qDAAqD;QAE1F,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,gCAAgC;QAC7F,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,gDAAgD;QACzG,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,2BAA2B;QAC5F,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sDAAsD;QAEpH,IAAI,CAAC,cAAc,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,8BAA8B;IAC5E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,EAAoB,EACpB,UAAkB,WAAW;QAE7B,IAAI,SAAgB,CAAC;QAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAc,CAAC;gBAE3B,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,iBAAiB,IAAI,CAAC,OAAO,cAAc,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5F,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAE3D,8DAA8D;gBAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAiB;oBAC/C,CAAC,CAAC,iBAAiB,CAAC;gBAEtB,wBAAwB,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,MAAM,SAAU,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,WAAmB;QAC/C,OAAO,WAAW,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,WAAmB;QACvC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,kCAAkC,EAAE,SAAS;gBAC7C,KAAK,EAAE,SAAS;aACjB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAO1C,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,oBAAoB,WAAW,IAAI,WAAW,EAAE,CAAC;QAElE,0CAA0C;QAC1C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YAC7D,sDAAsD;YACtD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;gBACpD,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,KAAK,EAAE,8CAA8C;gBACnE,GAAG,UAAU;aACd,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7E,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEpE,OAAO;gBACL,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,QAAQ;gBACR,aAAa;gBACb,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;gBAClC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,iDAAiD;aAC9E,CAAC;QACJ,CAAC,EAAE,iCAAiC,WAAW,EAAE,CAAC,CAAC;QAEnD,yCAAyC;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,gBAAgB,WAAW,IAAI,WAAW,EAAE,CAAC;QAE9D,0CAA0C;QAC1C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACzD,iEAAiE;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;gBACpD,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI;gBAClB,GAAG,UAAU;aACd,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC,EAAE,6BAA6B,WAAW,EAAE,CAAC,CAAC;QAE/C,yCAAyC;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC/D,OAAO,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAmB,EAAE,KAAoB;QAChE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACvD,CAAC;YAED,qDAAqD;YACrD,MAAM,kBAAkB,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3D,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACtC,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,sCAAsC;YACtC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,QAAgB,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE/D,oCAAoC;YACpC,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ;iBAC1C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;aACtF,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;iBACnD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAEnB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAChC,WAAmB,EACnB,OAAe;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,YAAY,WAAW,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAErE,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,SAAS,GAAG;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,EAAE;aACjB,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,2BAA2B,EAAE;gBACnE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC/B,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,UAAU;aACd,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,eAAe,GAA4B,EAAE,CAAC;YAEpD,sBAAsB;YACtB,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC3B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAU,EAAE,CAAC;oBACtE,eAAe,CAAC,IAAI,CAAC;wBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;wBAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,WAAW,EAAE,QAAQ,CAAC,QAAQ;wBAC9B,SAAS,EAAE,QAAQ,CAAC,GAAG;wBACvB,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;wBACjD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;wBAC3C,cAAc,EAAE,QAAQ,CAAC,cAAc;qBACxC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAmB;gBACrC,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,OAAO;gBAChB,eAAe;gBACf,kBAAkB,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;aAC/C,CAAC;YAEF,mBAAmB;YACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAExC,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+CAA+C;YAC/C,wBAAwB,CAAC,0BAA0B,CAAC,WAAW,EAAE,KAAc,CAAC,CAAC;YAEjF,MAAM,WAAW,GAAmB;gBAClC,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE,EAAE;gBACnB,kBAAkB,EAAE,KAAK;aAC1B,CAAC;YAEF,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,QAAkB,EAClB,gBAAqF;QAErF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE9B,6DAA6D;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBAC/C,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBAE/B,kBAAkB;oBAClB,SAAS,EAAE,CAAC;oBACZ,IAAI,gBAAgB,EAAE,CAAC;wBACrB,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,0CAA0C;oBAC1C,SAAS,EAAE,CAAC;oBACZ,IAAI,gBAAgB,EAAE,CAAC;wBACrB,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;oBAClD,CAAC;oBACD,wBAAwB,CAAC,yBAAyB,CAAC,WAAW,EAAE,KAAc,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAC3B,WAAmB,EACnB,WAAmB,EACnB,SAAiB;QAEjB,IAAI,CAAC;YACH,8DAA8D;YAE9D,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAEnD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,WAAW,EAAE,EAAE;gBAC7E,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,UAAU;aACd,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,EAAE;gBACzE,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,UAAU;aACd,CAAC,CAAC;YAEH,8BAA8B;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAE5D,OAAO,UAAU,KAAK,QAAQ,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;YAChE,wBAAwB,CAAC,yBAAyB,CAAC,WAAW,EAAE,KAAc,EAAE;gBAC9E,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,SAAkD,WAAW;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,yCAAyC,MAAM,IAAI,WAAW,EAAE,CACjE,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;YAC5C,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;YAChE,wBAAwB,CAAC,yBAAyB,CAAC,WAAW,EAAE,KAAc,EAAE;gBAC9E,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAyD,KAAK;QAC7E,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GACV,IAAI,KAAK,UAAU;YACjB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,IAAI,KAAK,cAAc;gBACvB,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,WAAW,CAAC;QAEpB,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,aAAa;QAOX,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,CAAC;gBACrC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAW;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4CAA4C;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAW;QACjC,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC;QACtC,CAAC;QAED,oDAAoD;QACpD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,GAAW,EAAE,IAAS;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU,CAAI,KAAU,EAAE,IAAY;QAC5C,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAW;QACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * NPM/PNPM Configuration Parser
3
+ *
4
+ * Reads and parses .npmrc and .pnpmrc configuration files to extract registry settings
5
+ * for different package scopes. Supports both npm and pnpm configuration formats.
6
+ */
7
+ export interface NpmrcConfig {
8
+ registry: string;
9
+ scopedRegistries: Map<string, string>;
10
+ authTokens: Map<string, string>;
11
+ config: Map<string, string>;
12
+ }
13
+ export declare class NpmrcParser {
14
+ private static readonly DEFAULT_REGISTRY;
15
+ /**
16
+ * Parse .npmrc/.pnpmrc configuration from multiple sources
17
+ */
18
+ static parse(workingDirectory?: string, includeGlobal?: boolean): NpmrcConfig;
19
+ /**
20
+ * Parse a single .npmrc file
21
+ */
22
+ private static parseFile;
23
+ /**
24
+ * Parse npm configuration from environment variables
25
+ */
26
+ private static parseEnvironment;
27
+ /**
28
+ * Get the appropriate registry URL for a package
29
+ */
30
+ static getRegistryForPackage(packageName: string, config: NpmrcConfig): string;
31
+ /**
32
+ * Normalize registry URL to ensure it has a trailing slash
33
+ */
34
+ private static normalizeRegistryUrl;
35
+ /**
36
+ * Get auth token for a registry
37
+ */
38
+ static getAuthToken(registryUrl: string, config: NpmrcConfig): string | undefined;
39
+ }
40
+ //# sourceMappingURL=NpmrcParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NpmrcParser.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/utils/NpmrcParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAiC;IAEzE;;OAEG;IACH,MAAM,CAAC,KAAK,CACV,gBAAgB,GAAE,MAAsB,EACxC,aAAa,GAAE,OAAc,GAC5B,WAAW;IAiCd;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAiDxB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAwB/B;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM;IAmB9E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAYnC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;CAQlF"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * NPM/PNPM Configuration Parser
3
+ *
4
+ * Reads and parses .npmrc and .pnpmrc configuration files to extract registry settings
5
+ * for different package scopes. Supports both npm and pnpm configuration formats.
6
+ */
7
+ import { existsSync, readFileSync } from 'fs';
8
+ import { join } from 'path';
9
+ import { homedir } from 'os';
10
+ export class NpmrcParser {
11
+ static DEFAULT_REGISTRY = 'https://registry.npmjs.org/';
12
+ /**
13
+ * Parse .npmrc/.pnpmrc configuration from multiple sources
14
+ */
15
+ static parse(workingDirectory = process.cwd(), includeGlobal = true) {
16
+ const config = {
17
+ registry: this.DEFAULT_REGISTRY,
18
+ scopedRegistries: new Map(),
19
+ authTokens: new Map(),
20
+ config: new Map(),
21
+ };
22
+ // Load config files in order of precedence (later files override earlier)
23
+ // Priority: project .pnpmrc > project .npmrc > global .pnpmrc > global .npmrc
24
+ const configPaths = [];
25
+ // Only include global configs if requested (for production use)
26
+ if (includeGlobal) {
27
+ configPaths.push(join(homedir(), '.npmrc')); // Global npmrc (lowest priority)
28
+ configPaths.push(join(homedir(), '.pnpmrc')); // Global pnpmrc
29
+ }
30
+ configPaths.push(join(workingDirectory, '.npmrc')); // Project npmrc
31
+ configPaths.push(join(workingDirectory, '.pnpmrc')); // Project pnpmrc (highest priority)
32
+ for (const configPath of configPaths) {
33
+ if (existsSync(configPath)) {
34
+ this.parseFile(configPath, config);
35
+ }
36
+ }
37
+ // Also check for environment variables (skip in tests if includeGlobal is false)
38
+ this.parseEnvironment(config, includeGlobal);
39
+ return config;
40
+ }
41
+ /**
42
+ * Parse a single .npmrc file
43
+ */
44
+ static parseFile(filepath, config) {
45
+ try {
46
+ const content = readFileSync(filepath, 'utf-8');
47
+ const lines = content.split('\n');
48
+ for (const line of lines) {
49
+ const trimmedLine = line.trim();
50
+ // Skip comments and empty lines
51
+ if (!trimmedLine || trimmedLine.startsWith('#') || trimmedLine.startsWith(';')) {
52
+ continue;
53
+ }
54
+ // Parse key=value pairs
55
+ const separatorIndex = trimmedLine.indexOf('=');
56
+ if (separatorIndex === -1)
57
+ continue;
58
+ const key = trimmedLine.substring(0, separatorIndex).trim();
59
+ const value = trimmedLine.substring(separatorIndex + 1).trim();
60
+ // Handle scoped registries (e.g., @mycompany:registry=https://npm.mycompany.com/)
61
+ if (key.includes(':registry')) {
62
+ const scope = key.replace(':registry', '');
63
+ config.scopedRegistries.set(scope, this.normalizeRegistryUrl(value));
64
+ }
65
+ // Handle default registry
66
+ else if (key === 'registry') {
67
+ config.registry = this.normalizeRegistryUrl(value);
68
+ }
69
+ // Handle auth tokens (e.g., //registry.npmjs.org/:_authToken=...)
70
+ else if (key.includes(':_authToken') || key.includes('_authToken')) {
71
+ // Extract registry URL from the key
72
+ const match = key.match(/\/\/(.*?)\/:/);
73
+ if (match && match[1]) {
74
+ const registryHost = match[1];
75
+ config.authTokens.set(registryHost, value);
76
+ }
77
+ }
78
+ // Store other config values
79
+ else {
80
+ config.config.set(key, value);
81
+ }
82
+ }
83
+ }
84
+ catch (error) {
85
+ // Silently ignore errors reading npmrc files
86
+ console.debug(`Failed to parse npmrc file ${filepath}:`, error);
87
+ }
88
+ }
89
+ /**
90
+ * Parse npm configuration from environment variables
91
+ */
92
+ static parseEnvironment(config, includeEnv = true) {
93
+ if (!includeEnv) {
94
+ return; // Skip environment parsing in tests
95
+ }
96
+ // Check for npm_config_registry
97
+ if (process.env.npm_config_registry) {
98
+ config.registry = this.normalizeRegistryUrl(process.env.npm_config_registry);
99
+ }
100
+ // Check for scoped registries in environment
101
+ for (const [key, value] of Object.entries(process.env)) {
102
+ if (key.startsWith('npm_config_') && key.includes('_registry')) {
103
+ // Extract scope from environment variable name
104
+ // e.g., npm_config_@mycompany_registry -> @mycompany
105
+ const match = key.match(/npm_config_(.+)_registry/);
106
+ if (match && match[1] && value) {
107
+ const scope = match[1].replace(/_/g, '/').replace(/\//, '@');
108
+ config.scopedRegistries.set(scope, this.normalizeRegistryUrl(value));
109
+ }
110
+ }
111
+ }
112
+ }
113
+ /**
114
+ * Get the appropriate registry URL for a package
115
+ */
116
+ static getRegistryForPackage(packageName, config) {
117
+ // Check if package has a scope (e.g., @mycompany/package)
118
+ if (packageName.startsWith('@')) {
119
+ const scopeEnd = packageName.indexOf('/');
120
+ if (scopeEnd !== -1) {
121
+ const scope = packageName.substring(0, scopeEnd);
122
+ // Check if we have a scoped registry for this scope
123
+ const scopedRegistry = config.scopedRegistries.get(scope);
124
+ if (scopedRegistry) {
125
+ return scopedRegistry;
126
+ }
127
+ }
128
+ }
129
+ // Fall back to default registry
130
+ return config.registry;
131
+ }
132
+ /**
133
+ * Normalize registry URL to ensure it has a trailing slash
134
+ */
135
+ static normalizeRegistryUrl(url) {
136
+ // Remove any quotes that might be in the config
137
+ url = url.replace(/^["']|["']$/g, '');
138
+ // Ensure trailing slash
139
+ if (!url.endsWith('/')) {
140
+ url += '/';
141
+ }
142
+ return url;
143
+ }
144
+ /**
145
+ * Get auth token for a registry
146
+ */
147
+ static getAuthToken(registryUrl, config) {
148
+ try {
149
+ const url = new URL(registryUrl);
150
+ return config.authTokens.get(url.hostname);
151
+ }
152
+ catch {
153
+ return undefined;
154
+ }
155
+ }
156
+ }
157
+ //# sourceMappingURL=NpmrcParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NpmrcParser.js","sourceRoot":"","sources":["../../../src/infrastructure/utils/NpmrcParser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pcu",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },