@ms-cloudpack/package-utilities 10.1.2 → 10.1.3
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.map +1 -1
- package/lib/PackageDefinitions.js +7 -1
- package/lib/PackageDefinitions.js.map +1 -1
- package/lib/getTypesTransform.d.ts +7 -0
- package/lib/getTypesTransform.d.ts.map +1 -0
- package/lib/getTypesTransform.js +32 -0
- package/lib/getTypesTransform.js.map +1 -0
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageDefinitions.d.ts","sourceRoot":"","sources":["../src/PackageDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAE3B,iCAAiC,EACjC,uBAAuB,EACvB,WAAW,EACZ,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageDefinitions.d.ts","sourceRoot":"","sources":["../src/PackageDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAE3B,iCAAiC,EACjC,uBAAuB,EACvB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAmBpC,qBAAa,kBAAmB,YAAW,uBAAuB;IAChE,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,uBAAuB,CAA8B;IAC7D,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,mBAAmB,CAAsC;IAEjE;;;;;OAKG;gBACS,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAM,EAAE,MAAM,CAAC,EAAE,eAAe;IAQjF,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,WAAW,CAAC;IAQrF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAkD9G,iBAAiB,CAAC,OAAO,EAAE,iCAAiC;IAO5D,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE;IAY/C,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;CAGnH"}
|
|
@@ -4,11 +4,17 @@ import { getApplyOverridesTransform } from '@ms-cloudpack/package-overrides';
|
|
|
4
4
|
import { getNonSemverTransform } from './getNonSemverTransform.js';
|
|
5
5
|
import { getApiServerTransform } from './getApiServerTransform.js';
|
|
6
6
|
import { slash } from '@ms-cloudpack/path-string-parsing';
|
|
7
|
+
import { getTypesTransform } from './getTypesTransform.js';
|
|
7
8
|
/**
|
|
8
9
|
* `nonSemverTransform` has state defined when the function is called, so we need a wrapper function
|
|
9
10
|
* which returns new transforms to ensure that state is cleared when resetting.
|
|
10
11
|
*/
|
|
11
|
-
const getDefaultTransforms = () => [
|
|
12
|
+
const getDefaultTransforms = () => [
|
|
13
|
+
getApiServerTransform(),
|
|
14
|
+
getTypesTransform(),
|
|
15
|
+
getNonSemverTransform(),
|
|
16
|
+
getApplyOverridesTransform(),
|
|
17
|
+
];
|
|
12
18
|
export class PackageDefinitions {
|
|
13
19
|
/**
|
|
14
20
|
* Constructor for PackageDefinitions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageDefinitions.js","sourceRoot":"","sources":["../src/PackageDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,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;
|
|
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 CloudpackConfig,\n GetPackageDefinitionOptions,\n PackageDefinitionTransform,\n PackageDefinitionTransformFactory,\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 { getApiServerTransform } from './getApiServerTransform.js';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\nimport { getTypesTransform } from './getTypesTransform.js';\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 = () => [\n getApiServerTransform(),\n getTypesTransform(),\n getNonSemverTransform(),\n getApplyOverridesTransform(),\n];\n\nexport class PackageDefinitions implements PackageDefinitionsCache {\n private _definitions: Record<string, PackageJson | undefined>;\n private _transformedDefinitions: Record<string, PackageJson>;\n private _config: CloudpackConfig | undefined;\n private _transforms: PackageDefinitionTransform[] = [];\n private _transformFactories: PackageDefinitionTransformFactory[];\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?: CloudpackConfig) {\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> {\n const definition = await this.tryGet(packagePath, options);\n if (!definition) {\n throw new Error(`package.json not found at \"${packagePath}\"`);\n }\n return definition;\n }\n\n async tryGet(packagePath: string, options: GetPackageDefinitionOptions = {}): Promise<PackageJson | undefined> {\n const { refresh, disableTransforms, importerContext } = options;\n\n // Normalize the path used for caching to ensure consistency and avoid duplicates.\n const normalizedPath = slash(packagePath);\n\n if (refresh) {\n delete this._definitions[normalizedPath];\n delete this._transformedDefinitions[normalizedPath];\n }\n\n // If the definition is not in the cache, read it from disk.\n // (If the definition was invalid JSON or not found, undefined is cached.)\n let definition = this._definitions[normalizedPath];\n if (!(normalizedPath in this._definitions)) {\n // `verbose` logs if the file exists but isn't valid JSON (or can't be read for some reason)\n definition = await readJson<PackageJson>(path.join(packagePath, 'package.json'), { verbose: true });\n this._definitions[normalizedPath] = definition;\n\n if (definition) {\n definition.name ??= `unknown-${packagePath.replace(/[^\\w-]/g, '-')}`;\n definition.version ??= '0.0.0-unknown';\n }\n }\n\n if (disableTransforms || !definition) {\n return definition;\n }\n\n // If we don't want to skip the transform, transform the definition.\n let transformedDefinition = this._transformedDefinitions[normalizedPath];\n if (!transformedDefinition) {\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 registerTransform(factory: PackageDefinitionTransformFactory) {\n this._transformFactories.push(factory);\n this._transforms.push(factory(this._config));\n\n this.reset();\n }\n\n reset(options?: { newConfig?: CloudpackConfig }) {\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 _getAll(options?: Pick<GetPackageDefinitionOptions, 'disableTransforms'>): Record<string, PackageJson | undefined> {\n return options?.disableTransforms ? this._definitions : this._transformedDefinitions;\n }\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PackageDefinitionTransform } from '@ms-cloudpack/common-types';
|
|
2
|
+
/**
|
|
3
|
+
* `@types/` dependencies should never be relevant for Cloudpack's purposes, so move them from
|
|
4
|
+
* `dependencies` or `peerDependencies` to `devDependencies` so they're not processed by default.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getTypesTransform(): PackageDefinitionTransform;
|
|
7
|
+
//# sourceMappingURL=getTypesTransform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypesTransform.d.ts","sourceRoot":"","sources":["../src/getTypesTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAe,MAAM,4BAA4B,CAAC;AAK1F;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,0BAA0B,CA6B9D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const depTypes = ['dependencies', 'peerDependencies', 'devDependencies', 'optionalDependencies'];
|
|
2
|
+
/**
|
|
3
|
+
* `@types/` dependencies should never be relevant for Cloudpack's purposes, so move them from
|
|
4
|
+
* `dependencies` or `peerDependencies` to `devDependencies` so they're not processed by default.
|
|
5
|
+
*/
|
|
6
|
+
export function getTypesTransform() {
|
|
7
|
+
return ({ definition }) => {
|
|
8
|
+
let transformedDefinition;
|
|
9
|
+
for (const depType of ['dependencies', 'peerDependencies']) {
|
|
10
|
+
const deps = definition[depType];
|
|
11
|
+
if (!deps) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
for (const depName of Object.keys(deps)) {
|
|
15
|
+
if (!depName.startsWith('@types/')) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const depVersion = deps[depName];
|
|
19
|
+
transformedDefinition ??= {
|
|
20
|
+
...definition,
|
|
21
|
+
devDependencies: { ...definition.devDependencies },
|
|
22
|
+
[depType]: { ...deps },
|
|
23
|
+
};
|
|
24
|
+
delete transformedDefinition[depType]?.[depName];
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
26
|
+
transformedDefinition.devDependencies[depName] = depVersion;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return transformedDefinition;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=getTypesTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypesTransform.js","sourceRoot":"","sources":["../src/getTypesTransform.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,CAAU,CAAC;AAG1G;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACxB,IAAI,qBAA8C,CAAC;QAEnD,KAAK,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAU,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAc,EAAE,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjC,qBAAqB,KAAK;oBACxB,GAAG,UAAU;oBACb,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC,eAAe,EAAE;oBAClD,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE;iBACvB,CAAC;gBACF,OAAO,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBACjD,oEAAoE;gBACpE,qBAAqB,CAAC,eAAgB,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { PackageDefinitionTransform, PackageJson } from '@ms-cloudpack/common-types';\n\nconst depTypes = ['dependencies', 'peerDependencies', 'devDependencies', 'optionalDependencies'] as const;\ntype DepType = (typeof depTypes)[number];\n\n/**\n * `@types/` dependencies should never be relevant for Cloudpack's purposes, so move them from\n * `dependencies` or `peerDependencies` to `devDependencies` so they're not processed by default.\n */\nexport function getTypesTransform(): PackageDefinitionTransform {\n return ({ definition }) => {\n let transformedDefinition: PackageJson | undefined;\n\n for (const depType of ['dependencies', 'peerDependencies'] as const) {\n const deps = definition[depType];\n if (!deps) {\n continue;\n }\n\n for (const depName of Object.keys(deps) as DepType[]) {\n if (!depName.startsWith('@types/')) {\n continue;\n }\n\n const depVersion = deps[depName];\n transformedDefinition ??= {\n ...definition,\n devDependencies: { ...definition.devDependencies },\n [depType]: { ...deps },\n };\n delete transformedDefinition[depType]?.[depName];\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n transformedDefinition.devDependencies![depName] = depVersion;\n }\n }\n\n return transformedDefinition;\n };\n}\n"]}
|
package/lib/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/package-utilities",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.3",
|
|
4
4
|
"description": "Utilities for resolving/parsing packages and their imports.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@ms-cloudpack/common-types": "^0.
|
|
17
|
+
"@ms-cloudpack/common-types": "^0.21.0",
|
|
18
18
|
"@ms-cloudpack/json-utilities": "^0.1.7",
|
|
19
|
-
"@ms-cloudpack/package-overrides": "^0.9.
|
|
19
|
+
"@ms-cloudpack/package-overrides": "^0.9.32",
|
|
20
20
|
"@ms-cloudpack/path-string-parsing": "^1.2.4",
|
|
21
|
-
"@ms-cloudpack/path-utilities": "^2.7.
|
|
21
|
+
"@ms-cloudpack/path-utilities": "^2.7.46",
|
|
22
22
|
"@ms-cloudpack/task-reporter": "^0.14.5",
|
|
23
23
|
"acorn": "^8.11.2",
|
|
24
24
|
"acorn-walk": "^8.2.1",
|