@ms-cloudpack/package-utilities 8.0.0 → 8.1.0
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/lib/PackageDefinitions.d.ts +0 -5
- package/lib/PackageDefinitions.d.ts.map +1 -1
- package/lib/PackageDefinitions.js +0 -9
- package/lib/PackageDefinitions.js.map +1 -1
- package/lib/createResolveMap/createResolveMap.d.ts +0 -2
- package/lib/createResolveMap/createResolveMap.d.ts.map +1 -1
- package/lib/createResolveMap/createResolveMap.js.map +1 -1
- package/lib/findPackage.d.ts +12 -0
- package/lib/findPackage.d.ts.map +1 -1
- package/lib/findPackage.js +5 -4
- package/lib/findPackage.js.map +1 -1
- package/lib/findResolveMapEntry.d.ts +5 -2
- package/lib/findResolveMapEntry.d.ts.map +1 -1
- package/lib/findResolveMapEntry.js +2 -5
- package/lib/findResolveMapEntry.js.map +1 -1
- package/lib/getNonSemverTransform.d.ts.map +1 -1
- package/lib/getNonSemverTransform.js +9 -3
- package/lib/getNonSemverTransform.js.map +1 -1
- package/lib/getUnusedDependencies.d.ts +3 -2
- package/lib/getUnusedDependencies.d.ts.map +1 -1
- package/lib/getUnusedDependencies.js +9 -5
- package/lib/getUnusedDependencies.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/types/ResolveMapEntry.d.ts +23 -4
- package/lib/types/ResolveMapEntry.d.ts.map +1 -1
- package/lib/types/ResolveMapEntry.js.map +1 -1
- package/package.json +7 -7
- package/lib/ensurePackageJsonDependencies.d.ts +0 -3
- package/lib/ensurePackageJsonDependencies.d.ts.map +0 -1
- package/lib/ensurePackageJsonDependencies.js +0 -15
- package/lib/ensurePackageJsonDependencies.js.map +0 -1
|
@@ -29,10 +29,5 @@ export declare class PackageDefinitions implements PackageDefinitionsCache {
|
|
|
29
29
|
* This is a helper function for testing, to get all package definitions in the cache.
|
|
30
30
|
*/
|
|
31
31
|
_getAll(options?: Pick<GetPackageDefinitionOptions, 'disableTransforms'>): Record<string, PackageJson>;
|
|
32
|
-
/**
|
|
33
|
-
* Remove one package from the cache.
|
|
34
|
-
* @deprecated Not used.
|
|
35
|
-
*/
|
|
36
|
-
resetPackage(packagePath: string): void;
|
|
37
32
|
}
|
|
38
33
|
//# sourceMappingURL=PackageDefinitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageDefinitions.d.ts","sourceRoot":"","sources":["../src/PackageDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAapC,qBAAa,kBAAmB,YAAW,uBAAuB;IAChE,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,uBAAuB,CAA8B;IAC7D,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,mBAAmB,CAAuD;IAElF;;;;;OAKG;gBACS,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAQzE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAqD3G;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,0BAA0B;IAO3E;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;IAYvC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageDefinitions.d.ts","sourceRoot":"","sources":["../src/PackageDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAapC,qBAAa,kBAAmB,YAAW,uBAAuB;IAChE,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,uBAAuB,CAA8B;IAC7D,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,mBAAmB,CAAuD;IAElF;;;;;OAKG;gBACS,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAQzE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAqD3G;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,0BAA0B;IAO3E;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;IAYvC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;CAGvG"}
|
|
@@ -94,14 +94,5 @@ export class PackageDefinitions {
|
|
|
94
94
|
_getAll(options) {
|
|
95
95
|
return options?.disableTransforms ? this._definitions : this._transformedDefinitions;
|
|
96
96
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Remove one package from the cache.
|
|
99
|
-
* @deprecated Not used.
|
|
100
|
-
*/
|
|
101
|
-
resetPackage(packagePath) {
|
|
102
|
-
const normalizedPath = slash(packagePath);
|
|
103
|
-
delete this._definitions[normalizedPath];
|
|
104
|
-
delete this._transformedDefinitions[normalizedPath];
|
|
105
|
-
}
|
|
106
97
|
}
|
|
107
98
|
//# sourceMappingURL=PackageDefinitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageDefinitions.js","sourceRoot":"","sources":["../src/PackageDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;;GAGG;AACH,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,qBAAqB,EAAE,EAAE,0BAA0B,EAAE,CAAC,CAAC;AAEpH,MAAM,OAAO,kBAAkB;IAO7B;;;;;OAKG;IACH,YAAY,kBAA+C,EAAE,EAAE,MAAgB;QATvE,gBAAW,GAAiC,EAAE,CAAC;QAUrD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;QACpC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,oBAAoB,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,UAAuC,EAAE;QACtE,iEAAiE;QACjE,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,UAAU,GAA4B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC5E,IAAI,qBAAqB,GAA4B,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;QAClG,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAEhE,+DAA+D;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,iBAAiB,IAAI,UAAU,EAAE,CAAC;gBACpC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,IAAI,CAAC,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;gBAChD,OAAO,qBAAqB,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC;YAC3B,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;YAEvE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;QACjD,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,qBAAqB,IAAI,OAAO,EAAE,CAAC;YACtC,qBAAqB,GAAG,UAAU,CAAC;YAEnC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,qBAAqB;oBACnB,CAAC,MAAM,SAAS,CAAC;wBACf,UAAU,EAAE,qBAAqB;wBACjC,WAAW,EAAE,cAAc;wBAC3B,QAAQ,EAAE,IAAI;wBACd,eAAe;qBAChB,CAAC,CAAC,IAAI,qBAAqB,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAC;QACvE,CAAC;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,OAAyD;QACzE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAiC;QACrC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAElC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAEpC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,oBAAoB,EAAE,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAgE;QACtE,OAAO,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;IACvF,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageDefinitions.js","sourceRoot":"","sources":["../src/PackageDefinitions.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport type {\n GetPackageDefinitionOptions,\n PackageDefinitionTransform,\n PackageDefinitionsCache,\n PackageJson,\n} from '@ms-cloudpack/common-types';\nimport { readJson } from '@ms-cloudpack/json-utilities';\nimport { getApplyOverridesTransform } from '@ms-cloudpack/package-overrides';\nimport { getNonSemverTransform } from './getNonSemverTransform.js';\nimport { getCloudpackTransform } from './getCloudpackTransform.js';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\n\n/**\n * `nonSemverTransform` has state defined when the function is called, so we need a wrapper function\n * which returns new transforms to ensure that state is cleared when resetting.\n */\nconst getDefaultTransforms = () => [getCloudpackTransform(), getNonSemverTransform(), getApplyOverridesTransform()];\n\nexport class PackageDefinitions implements PackageDefinitionsCache {\n private _definitions: Record<string, PackageJson>;\n private _transformedDefinitions: Record<string, PackageJson>;\n private _config: unknown;\n private _transforms: PackageDefinitionTransform[] = [];\n private _transformFactories: ((config?: unknown) => PackageDefinitionTransform)[];\n\n /**\n * Constructor for PackageDefinitions.\n * @param definitionCache - The map of package paths to package definitions, used mainly for testing.\n * @param config - The optional config object to pass to transforms. When `reset` is called with a new value, the\n * transforms will be re-created using the new config.\n */\n constructor(definitionCache: Record<string, PackageJson> = {}, config?: unknown) {\n this._definitions = definitionCache;\n this._transformedDefinitions = {};\n this._config = config;\n this._transforms = [...getDefaultTransforms()];\n this._transformFactories = [];\n }\n\n async get(packagePath: string, options: GetPackageDefinitionOptions = {}): Promise<PackageJson | undefined> {\n // Normalize the path to ensure consistency and avoid duplicates.\n const normalizedPath = slash(packagePath);\n let definition: PackageJson | undefined = this._definitions[normalizedPath];\n let transformedDefinition: PackageJson | undefined = this._transformedDefinitions[normalizedPath];\n const { refresh, disableTransforms, importerContext } = options;\n\n // If we already have the answer they need, return immediately.\n if (!refresh) {\n if (disableTransforms && definition) {\n return definition;\n }\n\n if (!disableTransforms && transformedDefinition) {\n return transformedDefinition;\n }\n }\n\n // If we don't have the definition, try to load it.\n if (!definition || refresh) {\n definition = await readJson(path.join(normalizedPath, 'package.json'));\n\n if (!definition) {\n return undefined;\n }\n\n this._definitions[normalizedPath] = definition;\n }\n\n if (disableTransforms) {\n return definition;\n }\n\n // If we don't want to skip the transform, transform the definition.\n if (!transformedDefinition || refresh) {\n transformedDefinition = definition;\n\n for (const transform of this._transforms) {\n transformedDefinition =\n (await transform({\n definition: transformedDefinition,\n packagePath: normalizedPath,\n packages: this,\n importerContext,\n })) || transformedDefinition;\n }\n\n this._transformedDefinitions[normalizedPath] = transformedDefinition;\n }\n\n return transformedDefinition;\n }\n\n /**\n * Registers a transform factory function, which will be called on initialization, and when reset, to re-generate\n * the transform function. Transform functions are called only when the package definition hasn't been loaded before,\n * and the result will be cached. Calling `reset` will reset the cache.\n */\n registerTransform(factory: (config?: unknown) => PackageDefinitionTransform) {\n this._transformFactories.push(factory);\n this._transforms.push(factory(this._config));\n\n this.reset();\n }\n\n /**\n * Resets the cache of package definitions. This is useful when testing, to ensure that the cache is empty.\n */\n reset(options?: { newConfig?: unknown }) {\n this._definitions = {};\n this._transformedDefinitions = {};\n\n const { newConfig } = options || {};\n\n if (newConfig) {\n this._config = newConfig;\n this._transforms = [...getDefaultTransforms(), ...this._transformFactories.map((factory) => factory(newConfig))];\n }\n }\n\n /**\n * This is a helper function for testing, to get all package definitions in the cache.\n */\n _getAll(options?: Pick<GetPackageDefinitionOptions, 'disableTransforms'>): Record<string, PackageJson> {\n return options?.disableTransforms ? this._definitions : this._transformedDefinitions;\n }\n}\n"]}
|
|
@@ -24,8 +24,6 @@ export declare function createResolveMap(options: {
|
|
|
24
24
|
* If not specified, will look for the project/git root of the `appPath`.
|
|
25
25
|
*/
|
|
26
26
|
rootPath?: string;
|
|
27
|
-
/** @deprecated Not used */
|
|
28
|
-
useStrictVersioning?: boolean;
|
|
29
27
|
}, context: {
|
|
30
28
|
packages: PackageDefinitionsCache;
|
|
31
29
|
}): Promise<ResolveMap>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResolveMap.d.ts","sourceRoot":"","sources":["../../src/createResolveMap/createResolveMap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAEhB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"createResolveMap.d.ts","sourceRoot":"","sources":["../../src/createResolveMap/createResolveMap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAEhB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,EACD,OAAO,EAAE;IACP,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GACA,OAAO,CAAC,UAAU,CAAC,CAuBrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResolveMap.js","sourceRoot":"","sources":["../../src/createResolveMap/createResolveMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,
|
|
1
|
+
{"version":3,"file":"createResolveMap.js","sourceRoot":"","sources":["../../src/createResolveMap/createResolveMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAeC,EACD,OAEC;IAED,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEpE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvF,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,kDAAkD;IAClD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC;QACE,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC;QAC1C,QAAQ;KACT,EACD,OAAO,CACR,CAAC;IAEF,4EAA4E;IAC5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,0CAA0C;IAC1C,OAAO,mBAAmB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC","sourcesContent":["import { findProjectRoot } from '../findProjectRoot.js';\nimport type { ResolveMap } from '../types/ResolveMap.js';\nimport { convertToResolveMap } from './convertToResolveMap.js';\nimport { findPackagesFromPath } from './findPackagesFromPath.js';\nimport { linkPath } from './linkPath.js';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/common-types';\nimport type { LinkedPath } from '../types/LinkedPath.js';\n\n/**\n * Create a resolve map for a given `appPath`.\n * 1. Walk the dependency tree to build a map of all packages and their dependencies.\n * 2. If `linkedPaths` are provided, for each one:\n * 1. Walk its dependency tree to build a map as above.\n * 2. Redirect any existing dependencies to the linked package.\n * 3. Ensure that any transitive dependencies of the linked package which aren't already\n * satisfied in the resolve map are added as scoped versions.\n * 3. For each dependency, sort the versions by the number of packages that depend on that version.\n * The most popular version will be considered the \"default\", to reduce the size of scoped versions.\n */\nexport async function createResolveMap(\n options: {\n /** Path to the app whose dependencies we want to resolve. */\n appPath: string;\n\n /** Any additional packages whose dependencies we want to resolve. */\n additionalPaths?: string[];\n\n /** See `createResolveMap` comment. */\n linkedPaths?: LinkedPath[];\n\n /**\n * Where to stop looking for packages (mainly used for testing).\n * If not specified, will look for the project/git root of the `appPath`.\n */\n rootPath?: string;\n },\n context: {\n packages: PackageDefinitionsCache;\n },\n): Promise<ResolveMap> {\n const { appPath, additionalPaths = [], linkedPaths = [] } = options;\n\n const rootPath = options.rootPath || findProjectRoot(appPath, { noPackageRoot: true });\n\n const repoDefinition = rootPath ? await context.packages.get(rootPath) : undefined;\n\n // First we discover the dependencies for the app.\n const appMap = await findPackagesFromPath(\n {\n searchPaths: [appPath, ...additionalPaths],\n rootPath,\n },\n context,\n );\n\n // Next, we iterate through linked paths to inject them into the packageMap.\n for (const linkedPath of linkedPaths) {\n await linkPath({ rootPath, linkedPath, appMap, repoDefinition }, context);\n }\n\n // Finally we condense into a resolve map.\n return convertToResolveMap({ appMap, rootPaths: [appPath, ...additionalPaths] });\n}\n"]}
|
package/lib/findPackage.d.ts
CHANGED
|
@@ -4,10 +4,22 @@ import type { PackageDefinitionsCache, PackageImporterContext, PackageJson } fro
|
|
|
4
4
|
* starting at `startPath` and ending at `rootPath` (usually the git root) or the filesystem root.
|
|
5
5
|
*/
|
|
6
6
|
export declare function findPackage(options: {
|
|
7
|
+
/**
|
|
8
|
+
* Dependency name as specified in the parent's deps and installed in `node_modules`.
|
|
9
|
+
* (This is usually the actual name, except for renamed non-semver deps.)
|
|
10
|
+
*/
|
|
7
11
|
dependencyName: string;
|
|
12
|
+
/** Start searching up from the `node_modules` of this folder. */
|
|
8
13
|
startPath: string;
|
|
14
|
+
/** Context in which `dependencyName` is imported. */
|
|
9
15
|
importerContext?: PackageImporterContext;
|
|
16
|
+
/** Stop searching at this path (usually the git root). Defaults to filesystem root. */
|
|
10
17
|
rootPath?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Cache of realpath results (improves perf, particularly on Windows).
|
|
20
|
+
* As of writing, this is scoped to a `findPackagesFromPath` call.
|
|
21
|
+
* (see https://github.com/microsoft/cloudpack/pull/2184)
|
|
22
|
+
*/
|
|
11
23
|
realPathCache?: Record<string, string | undefined>;
|
|
12
24
|
}, context: {
|
|
13
25
|
packages: PackageDefinitionsCache;
|
package/lib/findPackage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findPackage.d.ts","sourceRoot":"","sources":["../src/findPackage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE/G;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE;IACP,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACpD,EACD,OAAO,EAAE;IACP,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GACA,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"findPackage.d.ts","sourceRoot":"","sources":["../src/findPackage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE/G;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE;IACP;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACpD,EACD,OAAO,EAAE;IACP,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GACA,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CAAC,CA4CvE"}
|
package/lib/findPackage.js
CHANGED
|
@@ -5,7 +5,7 @@ import fs from 'fs';
|
|
|
5
5
|
* starting at `startPath` and ending at `rootPath` (usually the git root) or the filesystem root.
|
|
6
6
|
*/
|
|
7
7
|
export async function findPackage(options, context) {
|
|
8
|
-
const { dependencyName, rootPath, startPath, importerContext, realPathCache } = options;
|
|
8
|
+
const { dependencyName, rootPath, startPath, importerContext, realPathCache = {} } = options;
|
|
9
9
|
const { packages } = context;
|
|
10
10
|
let packagePath = startPath;
|
|
11
11
|
const isStoreLayout = /[\\/]\.(pnpm|store)[\\/]/.test(packagePath);
|
|
@@ -14,6 +14,9 @@ export async function findPackage(options, context) {
|
|
|
14
14
|
let definition;
|
|
15
15
|
let realPath;
|
|
16
16
|
try {
|
|
17
|
+
// Get the realpath in case of a symlinked layout.
|
|
18
|
+
// realpathSync.native is faster than either realpathSync or realpath.
|
|
19
|
+
// https://github.com/microsoft/cloudpack/pull/2127#discussion_r1607070201
|
|
17
20
|
realPath = realPathCache?.[resolvedPath] || fs.realpathSync.native(resolvedPath);
|
|
18
21
|
definition = await packages.get(realPath, { importerContext });
|
|
19
22
|
}
|
|
@@ -21,9 +24,7 @@ export async function findPackage(options, context) {
|
|
|
21
24
|
// Ignore errors and keep looking.
|
|
22
25
|
}
|
|
23
26
|
if (realPath && definition) {
|
|
24
|
-
|
|
25
|
-
realPathCache[resolvedPath] = realPath;
|
|
26
|
-
}
|
|
27
|
+
realPathCache[resolvedPath] = realPath;
|
|
27
28
|
return { packagePath: realPath, definition };
|
|
28
29
|
}
|
|
29
30
|
// We haven't found it. Try to move up a directory.
|
package/lib/findPackage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findPackage.js","sourceRoot":"","sources":["../src/findPackage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,
|
|
1
|
+
{"version":3,"file":"findPackage.js","sourceRoot":"","sources":["../src/findPackage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAkBC,EACD,OAEC;IAED,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC7F,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,MAAM,aAAa,GAAG,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEnE,GAAG,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAC5E,IAAI,UAAmC,CAAC;QACxC,IAAI,QAA4B,CAAC;QAEjC,IAAI,CAAC;YACH,kDAAkD;YAClD,sEAAsE;YACtE,0EAA0E;YAC1E,QAAQ,GAAG,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjF,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,kCAAkC;QACpC,CAAC;QAED,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;YAC3B,aAAa,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;YACvC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC/C,CAAC;QAED,mDAAmD;QACnD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAExC,oDAAoD;QACpD,gGAAgG;QAChG,yFAAyF;QACzF,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE;IAE5G,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport type { PackageDefinitionsCache, PackageImporterContext, PackageJson } from '@ms-cloudpack/common-types';\n\n/**\n * Find the package.json contents for `dependencyName`, searching up under `node_modules` folders\n * starting at `startPath` and ending at `rootPath` (usually the git root) or the filesystem root.\n */\nexport async function findPackage(\n options: {\n /**\n * Dependency name as specified in the parent's deps and installed in `node_modules`.\n * (This is usually the actual name, except for renamed non-semver deps.)\n */\n dependencyName: string;\n /** Start searching up from the `node_modules` of this folder. */\n startPath: string;\n /** Context in which `dependencyName` is imported. */\n importerContext?: PackageImporterContext;\n /** Stop searching at this path (usually the git root). Defaults to filesystem root. */\n rootPath?: string;\n /**\n * Cache of realpath results (improves perf, particularly on Windows).\n * As of writing, this is scoped to a `findPackagesFromPath` call.\n * (see https://github.com/microsoft/cloudpack/pull/2184)\n */\n realPathCache?: Record<string, string | undefined>;\n },\n context: {\n packages: PackageDefinitionsCache;\n },\n): Promise<{ packagePath: string; definition: PackageJson } | undefined> {\n const { dependencyName, rootPath, startPath, importerContext, realPathCache = {} } = options;\n const { packages } = context;\n\n let packagePath = startPath;\n const isStoreLayout = /[\\\\/]\\.(pnpm|store)[\\\\/]/.test(packagePath);\n\n do {\n const resolvedPath = path.join(packagePath, 'node_modules', dependencyName);\n let definition: PackageJson | undefined;\n let realPath: string | undefined;\n\n try {\n // Get the realpath in case of a symlinked layout.\n // realpathSync.native is faster than either realpathSync or realpath.\n // https://github.com/microsoft/cloudpack/pull/2127#discussion_r1607070201\n realPath = realPathCache?.[resolvedPath] || fs.realpathSync.native(resolvedPath);\n definition = await packages.get(realPath, { importerContext });\n } catch (e) {\n // Ignore errors and keep looking.\n }\n\n if (realPath && definition) {\n realPathCache[resolvedPath] = realPath;\n return { packagePath: realPath, definition };\n }\n\n // We haven't found it. Try to move up a directory.\n packagePath = path.dirname(packagePath);\n\n // If we moved up into a scope folder, skip over it.\n // Exception: in a manager using a store layout, packages starting with @ are NOT scope folders;\n // e.g. @foo/bar will be in a folder like @foo-bar-npm-1.2.3-abcdef1234 or @foo-bar@1.2.3\n if (!isStoreLayout && path.basename(packagePath).startsWith('@')) {\n packagePath = path.dirname(packagePath);\n }\n\n // Skip over nested node_modules folders.\n if (packagePath.endsWith('node_modules')) {\n packagePath = path.dirname(packagePath);\n }\n } while ((!rootPath || packagePath.length >= rootPath.length) && path.dirname(packagePath) !== packagePath);\n\n return undefined;\n}\n"]}
|
|
@@ -2,12 +2,15 @@ import type { ResolveMap } from './types/ResolveMap.js';
|
|
|
2
2
|
import type { ResolveMapEntry } from './types/ResolveMapEntry.js';
|
|
3
3
|
import type { PackageJson } from '@ms-cloudpack/common-types';
|
|
4
4
|
/**
|
|
5
|
-
* Helper
|
|
5
|
+
* Helper to find the resolve map entry for a dependency.
|
|
6
6
|
*/
|
|
7
7
|
export declare function findResolveMapEntry(params: {
|
|
8
|
+
/** Package name to find */
|
|
8
9
|
packageName: string;
|
|
9
10
|
resolveMap: ResolveMap;
|
|
11
|
+
/** Requested version of `packageName` */
|
|
10
12
|
version?: string;
|
|
11
|
-
|
|
13
|
+
/** "Parent" package which has `packageName` as a dependency, used to get the appropriate scoped version */
|
|
14
|
+
definition?: Pick<PackageJson, 'name' | 'version'>;
|
|
12
15
|
}): ResolveMapEntry | undefined;
|
|
13
16
|
//# sourceMappingURL=findResolveMapEntry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findResolveMapEntry.d.ts","sourceRoot":"","sources":["../src/findResolveMapEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"findResolveMapEntry.d.ts","sourceRoot":"","sources":["../src/findResolveMapEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2GAA2G;IAC3G,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACpD,GAAG,eAAe,GAAG,SAAS,CA4B9B"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Helper
|
|
2
|
+
* Helper to find the resolve map entry for a dependency.
|
|
3
3
|
*/
|
|
4
4
|
export function findResolveMapEntry(params) {
|
|
5
5
|
const { packageName, resolveMap, definition, version } = params;
|
|
6
|
-
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
const resolveEntry = resolveMap[packageName];
|
|
6
|
+
const resolveEntry = packageName && resolveMap[packageName];
|
|
10
7
|
if (!resolveEntry) {
|
|
11
8
|
return undefined;
|
|
12
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findResolveMapEntry.js","sourceRoot":"","sources":["../src/findResolveMapEntry.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"findResolveMapEntry.js","sourceRoot":"","sources":["../src/findResolveMapEntry.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAQnC;IACC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEhE,MAAM,YAAY,GAAG,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,YAAY,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,YAAY,GAA0B,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAE/G,OAAO,WAAW,IAAI,YAAY,CAAC;IACrC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import type { ResolveMap } from './types/ResolveMap.js';\nimport type { ResolveMapEntry } from './types/ResolveMapEntry.js';\nimport type { PackageJson } from '@ms-cloudpack/common-types';\n\n/**\n * Helper to find the resolve map entry for a dependency.\n */\nexport function findResolveMapEntry(params: {\n /** Package name to find */\n packageName: string;\n resolveMap: ResolveMap;\n /** Requested version of `packageName` */\n version?: string;\n /** \"Parent\" package which has `packageName` as a dependency, used to get the appropriate scoped version */\n definition?: Pick<PackageJson, 'name' | 'version'>;\n}): ResolveMapEntry | undefined {\n const { packageName, resolveMap, definition, version } = params;\n\n const resolveEntry = packageName && resolveMap[packageName];\n if (!resolveEntry) {\n return undefined;\n }\n\n if (!definition && !version) {\n return resolveEntry;\n }\n\n if (version) {\n if (resolveEntry.version === version) {\n return resolveEntry;\n }\n\n return resolveEntry.scopedVersions?.[version];\n }\n\n if (definition) {\n const requiredById: `${string}@${string}` = `${definition.name}@${definition.version}`;\n const scopedEntry = Object.values(resolveEntry.scopedVersions || {}).find((e) => !!e.requiredBy[requiredById]);\n\n return scopedEntry || resolveEntry;\n }\n\n return undefined;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNonSemverTransform.d.ts","sourceRoot":"","sources":["../src/getNonSemverTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAe,MAAM,4BAA4B,CAAC;AAM1F;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,0BAA0B,
|
|
1
|
+
{"version":3,"file":"getNonSemverTransform.d.ts","sourceRoot":"","sources":["../src/getNonSemverTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAe,MAAM,4BAA4B,CAAC;AAM1F;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,0BAA0B,CAsFlE"}
|
|
@@ -23,9 +23,15 @@ export function getNonSemverTransform() {
|
|
|
23
23
|
if (!depVersion || semver.validRange(depVersion)) {
|
|
24
24
|
continue;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
// Don't warn about workspace: deps, but still process them as non-semver.
|
|
27
|
+
// (Alternatively, we could change the version of all workspace deps to * in dependencies,
|
|
28
|
+
// but that's risky since there could theoretically be an additional version of that dep
|
|
29
|
+
// from the registry nested somewhere in the tree.)
|
|
30
|
+
if (!depVersion.startsWith('workspace:')) {
|
|
31
|
+
console.debug(`Non-semver dependency found: ${depName}@${depVersion} ` +
|
|
32
|
+
`(in ${definition.name}@${definition.version} at ${packagePath}). ` +
|
|
33
|
+
"Cloudpack will attempt to handle this, but it's recommended to use semantic versions only if possible.");
|
|
34
|
+
}
|
|
29
35
|
// Update the version in the returned dependencies:
|
|
30
36
|
// "bar": "npm:@custom/bar@^1" => "0.0.0-npm--custom-bar--1"
|
|
31
37
|
const resultDeps = (result[depType] ??= { ...deps });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNonSemverTransform.js","sourceRoot":"","sources":["../src/getNonSemverTransform.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAU,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC;;;OAGG;IACH,MAAM,aAAa,GAGf,EAAE,CAAC;IAEP,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE;QACtD,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,oCAAoC;QACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEvC,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjD,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,KAAK,CACX,gCAAgC,OAAO,IAAI,UAAU,GAAG;
|
|
1
|
+
{"version":3,"file":"getNonSemverTransform.js","sourceRoot":"","sources":["../src/getNonSemverTransform.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PackageDefinitionTransform, PackageJson } from '@ms-cloudpack/common-types';\nimport semver from 'semver';\nimport { generateVersionFromNonSemver } from './generateVersionFromNonSemver.js';\n\nconst depTypes = ['dependencies', 'peerDependencies'] as const;\n\n/**\n * Get a transform which handles non-semver dependencies:\n * - In a parent package, if a dependency is specified with a non-semver version, change the dep\n * to a special `0.0.0-<original-version>` prerelease version.\n * - In a child package, if the package was pulled in as a non-semver dependency by a parent\n * (per the `importerContext`), change its version to the special prerelease version as above.\n */\nexport function getNonSemverTransform(): PackageDefinitionTransform {\n /**\n * Cached info about parent packages with non-semver dependencies:\n * Map from parent name/version => dep type => non-semver dependency names\n */\n const nonSemverDeps: Record<\n `${string}@${string}`,\n Partial<Record<'dependencies' | 'peerDependencies', string[]>>\n > = {};\n\n return ({ definition, packagePath, importerContext }) => {\n const result: Partial<PackageJson> = {};\n\n // Check for non-semver dependencies\n for (const depType of depTypes) {\n const deps = definition[depType] || {};\n\n for (const [depName, depVersion] of Object.entries(deps)) {\n if (!depVersion || semver.validRange(depVersion)) {\n continue;\n }\n\n // Don't warn about workspace: deps, but still process them as non-semver.\n // (Alternatively, we could change the version of all workspace deps to * in dependencies,\n // but that's risky since there could theoretically be an additional version of that dep\n // from the registry nested somewhere in the tree.)\n if (!depVersion.startsWith('workspace:')) {\n console.debug(\n `Non-semver dependency found: ${depName}@${depVersion} ` +\n `(in ${definition.name}@${definition.version} at ${packagePath}). ` +\n \"Cloudpack will attempt to handle this, but it's recommended to use semantic versions only if possible.\",\n );\n }\n\n // Update the version in the returned dependencies:\n // \"bar\": \"npm:@custom/bar@^1\" => \"0.0.0-npm--custom-bar--1\"\n const resultDeps = (result[depType] ??= { ...deps });\n resultDeps[depName] = generateVersionFromNonSemver(depVersion);\n\n // Save that this was a non-semver dep\n const record = (nonSemverDeps[`${definition.name}@${definition.version}`] ??= {});\n (record[depType] ??= []).push(depName);\n }\n }\n\n // If this package's parent pulled it in with a non-semver dependency, make some more updates\n // (see below)\n const nonSemverParentInfo =\n importerContext && nonSemverDeps[`${importerContext.parentName}@${importerContext.parentVersion}`];\n\n // TODO: maybe this could also be used for resolutions if we have problems there:\n // adding a check for !semver.satisfies(requiredAs, definition.version) and forcing the package version?\n\n if (nonSemverParentInfo) {\n // Example: the parent depended on this package as \"bar\": \"npm:@custom/bar@^1\"\n // importedName = bar\n // versionRequirement = 0.0.0-npm--custom-bar--1 (was modified when this transform ran on the parent definition)\n const { importedName, versionRequirement } = importerContext;\n\n for (const depType of depTypes) {\n if (!nonSemverParentInfo[depType]?.includes(importedName)) {\n continue;\n }\n\n // To ensure other code handles this package properly, change its name and version to\n // the ones used by the parent (after transforms). This ensures it works properly with\n // the resolve map and isn't accidentally used by other packages which depend on this\n // package under its real name.\n result.name = importedName;\n result.version = versionRequirement;\n\n // We have changed the definition, so link the entry in nonSemverDeps to the new name/version.\n if (nonSemverDeps[`${definition.name}@${definition.version}`]) {\n nonSemverDeps[`${importedName}@${versionRequirement}`] =\n nonSemverDeps[`${definition.name}@${definition.version}`];\n }\n\n break;\n }\n }\n\n if (Object.keys(result).length) {\n return { ...definition, ...result };\n }\n return undefined;\n };\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { PackageJson, PackageJsonDependencies } from '@ms-cloudpack/common-types';
|
|
2
2
|
/**
|
|
3
|
-
* Get the dependencies that
|
|
4
|
-
*
|
|
3
|
+
* Get the extra dependencies that cloudpack doesn't consider for bundling by default:
|
|
4
|
+
* bundle, bundled, and optional deps that might not be used, and dev deps which shouldn't
|
|
5
|
+
* be used at runtime.
|
|
5
6
|
*/
|
|
6
7
|
export declare function getUnusedDependencies(definition: PackageJson): PackageJsonDependencies;
|
|
7
8
|
//# sourceMappingURL=getUnusedDependencies.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUnusedDependencies.d.ts","sourceRoot":"","sources":["../src/getUnusedDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"getUnusedDependencies.d.ts","sourceRoot":"","sources":["../src/getUnusedDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEvF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,WAAW,GAAG,uBAAuB,CAStF"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { ensurePackageJsonDependencies } from './ensurePackageJsonDependencies.js';
|
|
2
1
|
/**
|
|
3
|
-
* Get the dependencies that
|
|
4
|
-
*
|
|
2
|
+
* Get the extra dependencies that cloudpack doesn't consider for bundling by default:
|
|
3
|
+
* bundle, bundled, and optional deps that might not be used, and dev deps which shouldn't
|
|
4
|
+
* be used at runtime.
|
|
5
5
|
*/
|
|
6
6
|
export function getUnusedDependencies(definition) {
|
|
7
7
|
// This is very simple but needs to be consistent between multiple places,
|
|
8
8
|
// especially in case it needs to be changed somehow later.
|
|
9
9
|
return {
|
|
10
10
|
...definition.devDependencies,
|
|
11
|
-
...
|
|
12
|
-
...
|
|
11
|
+
...normalizeBundleDependencies(definition.bundleDependencies),
|
|
12
|
+
...normalizeBundleDependencies(definition.bundledDependencies),
|
|
13
13
|
...definition.optionalDependencies,
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
+
/** If the bundle(d) dependencies are an array, normalize them to an object. */
|
|
17
|
+
function normalizeBundleDependencies(dependencies) {
|
|
18
|
+
return Array.isArray(dependencies) ? Object.fromEntries(dependencies.map((dep) => [dep, '*'])) : dependencies;
|
|
19
|
+
}
|
|
16
20
|
//# sourceMappingURL=getUnusedDependencies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUnusedDependencies.js","sourceRoot":"","sources":["../src/getUnusedDependencies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getUnusedDependencies.js","sourceRoot":"","sources":["../src/getUnusedDependencies.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAuB;IAC3D,0EAA0E;IAC1E,2DAA2D;IAC3D,OAAO;QACL,GAAG,UAAU,CAAC,eAAe;QAC7B,GAAG,2BAA2B,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAC7D,GAAG,2BAA2B,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAC9D,GAAG,UAAU,CAAC,oBAAoB;KACnC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,2BAA2B,CAClC,YAA4D;IAE5D,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAChH,CAAC","sourcesContent":["import type { PackageJson, PackageJsonDependencies } from '@ms-cloudpack/common-types';\n\n/**\n * Get the extra dependencies that cloudpack doesn't consider for bundling by default:\n * bundle, bundled, and optional deps that might not be used, and dev deps which shouldn't\n * be used at runtime.\n */\nexport function getUnusedDependencies(definition: PackageJson): PackageJsonDependencies {\n // This is very simple but needs to be consistent between multiple places,\n // especially in case it needs to be changed somehow later.\n return {\n ...definition.devDependencies,\n ...normalizeBundleDependencies(definition.bundleDependencies),\n ...normalizeBundleDependencies(definition.bundledDependencies),\n ...definition.optionalDependencies,\n };\n}\n\n/** If the bundle(d) dependencies are an array, normalize them to an object. */\nfunction normalizeBundleDependencies(\n dependencies: PackageJsonDependencies | string[] | undefined,\n): PackageJsonDependencies | undefined {\n return Array.isArray(dependencies) ? Object.fromEntries(dependencies.map((dep) => [dep, '*'])) : dependencies;\n}\n"]}
|
package/lib/index.d.ts
CHANGED
|
@@ -21,7 +21,6 @@ export { getDependencies } from './getDependencies.js';
|
|
|
21
21
|
export { getUnusedDependencies } from './getUnusedDependencies.js';
|
|
22
22
|
export { findProjectRoot } from './findProjectRoot.js';
|
|
23
23
|
export { shouldExternalizePackage } from './shouldExternalizePackage.js';
|
|
24
|
-
export { ensurePackageJsonDependencies } from './ensurePackageJsonDependencies.js';
|
|
25
24
|
export { getSourceEntry } from './getSourceEntry.js';
|
|
26
25
|
export { mergeArrayDefaults } from './mergeArrayDefaults.js';
|
|
27
26
|
export { mergeObjects } from './mergeObjects.js';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -22,7 +22,6 @@ export { getDependencies } from './getDependencies.js';
|
|
|
22
22
|
export { getUnusedDependencies } from './getUnusedDependencies.js';
|
|
23
23
|
export { findProjectRoot } from './findProjectRoot.js';
|
|
24
24
|
export { shouldExternalizePackage } from './shouldExternalizePackage.js';
|
|
25
|
-
export { ensurePackageJsonDependencies } from './ensurePackageJsonDependencies.js';
|
|
26
25
|
export { getSourceEntry } from './getSourceEntry.js';
|
|
27
26
|
// Object utilities which could be moved to a separate package if we add more of them
|
|
28
27
|
export { mergeArrayDefaults } from './mergeArrayDefaults.js';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,kCAAkC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAkC,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,8BAA8B;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAA+D,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,kCAAkC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAkC,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,8BAA8B;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAA+D,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qFAAqF;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["// Package definition parsing\nexport { PackageDefinitions } from './PackageDefinitions.js';\n\n// ResolveMap creation\nexport { createResolveMap } from './createResolveMap/createResolveMap.js';\nexport type { ResolveMap } from './types/ResolveMap.js';\nexport type { ResolveMapEntry } from './types/ResolveMapEntry.js';\nexport { findResolveMapEntry } from './findResolveMapEntry.js';\nexport type { DiffResolveMapsChanges, DiffResolveMapsStats } from './createResolveMap/diffResolveMaps.js';\nexport { diffResolveMaps } from './createResolveMap/diffResolveMaps.js';\nexport type { LinkedPath } from './types/LinkedPath.js';\n\n// ExportsMap parsing and creation\nexport { flattenExportsMap } from './flattenExportsMap.js';\nexport { createExportsMap } from './createExportsMap.js';\nexport { addExportsMapEntry, type AddExportsMapEntryOptions } from './addExportsMapEntry.js';\nexport { getExportsMap } from './getExportsMap.js';\nexport { ensureResolveMapEntry } from './ensureResolveMapEntry.js';\n\n// Import resolution utilities\nexport { resolve } from './resolve.js';\n\n// Other package utilities\nexport { detectModuleType } from './detectModuleType.js';\nexport { isExternalPackage } from './isExternalPackage.js';\nexport { findFileInPackage, type FindFileInPackageOptions, type FindFileInPackageResult } from './findFileInPackage.js';\nexport { getDisplayVersion } from './getDisplayVersion.js';\nexport { getVersion } from './getVersion.js';\nexport { getDependencies } from './getDependencies.js';\nexport { getUnusedDependencies } from './getUnusedDependencies.js';\nexport { findProjectRoot } from './findProjectRoot.js';\nexport { shouldExternalizePackage } from './shouldExternalizePackage.js';\nexport { getSourceEntry } from './getSourceEntry.js';\n\n// Object utilities which could be moved to a separate package if we add more of them\nexport { mergeArrayDefaults } from './mergeArrayDefaults.js';\nexport { mergeObjects } from './mergeObjects.js';\n"]}
|
|
@@ -1,21 +1,37 @@
|
|
|
1
1
|
export type ResolveMapEntry = {
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Package name.
|
|
4
|
+
*
|
|
5
|
+
* If the package was pulled in as a renamed non-semver dep, this will be the name specified in
|
|
6
|
+
* the parent's dependencies (not the actual name).
|
|
7
|
+
*/
|
|
3
8
|
name: string;
|
|
4
9
|
/**
|
|
5
10
|
* Resolved/installed package version. For a linked internal package, this will end in `-linked`.
|
|
6
11
|
* (The docs for `isExternal` explain what "internal" means.)
|
|
12
|
+
*
|
|
13
|
+
* If the package was pulled in as a non-semver dep, this will be the transformed version
|
|
14
|
+
* (e.g. `0.0.0-npm-foo-1-0-0`) based on the parent's dependencies.
|
|
7
15
|
*/
|
|
8
16
|
version: string;
|
|
9
17
|
/** Path to the resolved/installed package. */
|
|
10
18
|
path: string;
|
|
11
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Map from dependency name to resolved/installed version.
|
|
21
|
+
*
|
|
22
|
+
* For any non-semver deps, the key (name) is as specified in package.json dependencies,
|
|
23
|
+
* mapped to the transformed version (e.g. `0.0.0-npm-foo-1-0-0`).
|
|
24
|
+
*/
|
|
12
25
|
dependencies: Record<string, string>;
|
|
13
26
|
/**
|
|
14
|
-
* Map from requesting package name `@` the actual version of that package to
|
|
15
|
-
*
|
|
27
|
+
* Map from requesting/parent package name `@` the actual version of that package to
|
|
28
|
+
* the original semver range of this package that it requested.
|
|
16
29
|
*
|
|
17
30
|
* Example: if this entry is for package `bar`, and `foo@1.0.0` depends on `"bar": "^2.0.0"`,
|
|
18
31
|
* this will be `{ "foo@1.0.0": "^2.0.0" }`.
|
|
32
|
+
*
|
|
33
|
+
* If the parent package was pulled in by its parent (the grandparent) as a non-semver dep,
|
|
34
|
+
* the key will use the name as specified by the grandparent and the transformed version.
|
|
19
35
|
*/
|
|
20
36
|
requiredBy: Record<`${string}@${string}`, string>;
|
|
21
37
|
/**
|
|
@@ -32,6 +48,9 @@ export type ResolveMapEntry = {
|
|
|
32
48
|
/**
|
|
33
49
|
* Additional installed versions of this package, which are required per semver by some other
|
|
34
50
|
* package in the map.
|
|
51
|
+
*
|
|
52
|
+
* For any version that was pulled in as a non-semver dep, the key will be the transformed
|
|
53
|
+
* version (e.g. `0.0.0-npm-foo-1-0-0`).
|
|
35
54
|
*/
|
|
36
55
|
scopedVersions?: {
|
|
37
56
|
[version: string]: ResolveMapEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveMapEntry.d.ts","sourceRoot":"","sources":["../../src/types/ResolveMapEntry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B
|
|
1
|
+
{"version":3,"file":"ResolveMapEntry.d.ts","sourceRoot":"","sources":["../../src/types/ResolveMapEntry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC;;;;;;;;;OASG;IACH,UAAU,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAElD;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE;QACf,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC;KACpC,CAAC;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveMapEntry.js","sourceRoot":"","sources":["../../src/types/ResolveMapEntry.ts"],"names":[],"mappings":"","sourcesContent":["export type ResolveMapEntry = {\n
|
|
1
|
+
{"version":3,"file":"ResolveMapEntry.js","sourceRoot":"","sources":["../../src/types/ResolveMapEntry.ts"],"names":[],"mappings":"","sourcesContent":["export type ResolveMapEntry = {\n /**\n * Package name.\n *\n * If the package was pulled in as a renamed non-semver dep, this will be the name specified in\n * the parent's dependencies (not the actual name).\n */\n name: string;\n\n /**\n * Resolved/installed package version. For a linked internal package, this will end in `-linked`.\n * (The docs for `isExternal` explain what \"internal\" means.)\n *\n * If the package was pulled in as a non-semver dep, this will be the transformed version\n * (e.g. `0.0.0-npm-foo-1-0-0`) based on the parent's dependencies.\n */\n version: string;\n\n /** Path to the resolved/installed package. */\n path: string;\n\n /**\n * Map from dependency name to resolved/installed version.\n *\n * For any non-semver deps, the key (name) is as specified in package.json dependencies,\n * mapped to the transformed version (e.g. `0.0.0-npm-foo-1-0-0`).\n */\n dependencies: Record<string, string>;\n\n /**\n * Map from requesting/parent package name `@` the actual version of that package to\n * the original semver range of this package that it requested.\n *\n * Example: if this entry is for package `bar`, and `foo@1.0.0` depends on `\"bar\": \"^2.0.0\"`,\n * this will be `{ \"foo@1.0.0\": \"^2.0.0\" }`.\n *\n * If the parent package was pulled in by its parent (the grandparent) as a non-semver dep,\n * the key will use the name as specified by the grandparent and the transformed version.\n */\n requiredBy: Record<`${string}@${string}`, string>;\n\n /**\n * A package is considered \"external\" if it was installed from a package manager (its realpath\n * contains `node_modules`). This is the opposite of \"internal\", which means that the package\n * is defined in a local folder/repo.\n */\n isExternal?: boolean;\n\n /**\n * Whether this package is linked **AND** is internal to its actual folder/repo.\n * (The docs for `isExternal` explain what \"internal\" means.)\n */\n isLinked?: boolean;\n\n /**\n * Additional installed versions of this package, which are required per semver by some other\n * package in the map.\n *\n * For any version that was pulled in as a non-semver dep, the key will be the transformed\n * version (e.g. `0.0.0-npm-foo-1-0-0`).\n */\n scopedVersions?: {\n [version: string]: ResolveMapEntry;\n };\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/package-utilities",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"description": "Utilities for resolving/parsing packages and their imports.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@ms-cloudpack/common-types": "^0.13.
|
|
18
|
-
"@ms-cloudpack/json-utilities": "^0.1.
|
|
19
|
-
"@ms-cloudpack/package-overrides": "^0.9.
|
|
20
|
-
"@ms-cloudpack/path-string-parsing": "^1.2.
|
|
21
|
-
"@ms-cloudpack/path-utilities": "^2.7.
|
|
22
|
-
"@ms-cloudpack/task-reporter": "^0.14.
|
|
17
|
+
"@ms-cloudpack/common-types": "^0.13.4",
|
|
18
|
+
"@ms-cloudpack/json-utilities": "^0.1.6",
|
|
19
|
+
"@ms-cloudpack/package-overrides": "^0.9.15",
|
|
20
|
+
"@ms-cloudpack/path-string-parsing": "^1.2.4",
|
|
21
|
+
"@ms-cloudpack/path-utilities": "^2.7.30",
|
|
22
|
+
"@ms-cloudpack/task-reporter": "^0.14.4",
|
|
23
23
|
"acorn": "^8.11.2",
|
|
24
24
|
"acorn-walk": "^8.2.1",
|
|
25
25
|
"fast-glob": "^3.2.12",
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { PackageJsonDependencies } from '@ms-cloudpack/common-types';
|
|
2
|
-
export declare function ensurePackageJsonDependencies(dependencies: PackageJsonDependencies | string[] | undefined): PackageJsonDependencies;
|
|
3
|
-
//# sourceMappingURL=ensurePackageJsonDependencies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensurePackageJsonDependencies.d.ts","sourceRoot":"","sources":["../src/ensurePackageJsonDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,uBAAuB,GAAG,MAAM,EAAE,GAAG,SAAS,GAC3D,uBAAuB,CAWzB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function ensurePackageJsonDependencies(dependencies) {
|
|
2
|
-
if (!dependencies) {
|
|
3
|
-
return {};
|
|
4
|
-
}
|
|
5
|
-
else if (Array.isArray(dependencies)) {
|
|
6
|
-
return dependencies.reduce((acc, curr) => {
|
|
7
|
-
acc[curr] = '*';
|
|
8
|
-
return acc;
|
|
9
|
-
}, {});
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
return dependencies;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=ensurePackageJsonDependencies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensurePackageJsonDependencies.js","sourceRoot":"","sources":["../src/ensurePackageJsonDependencies.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAC3C,YAA4D;IAE5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACvC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAChB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA6B,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,YAAY,CAAC;IACtB,CAAC;AACH,CAAC","sourcesContent":["import type { PackageJsonDependencies } from '@ms-cloudpack/common-types';\n\nexport function ensurePackageJsonDependencies(\n dependencies: PackageJsonDependencies | string[] | undefined,\n): PackageJsonDependencies {\n if (!dependencies) {\n return {};\n } else if (Array.isArray(dependencies)) {\n return dependencies.reduce((acc, curr) => {\n acc[curr] = '*';\n return acc;\n }, {} as PackageJsonDependencies);\n } else {\n return dependencies;\n }\n}\n"]}
|