@ms-cloudpack/config 0.22.0 → 0.23.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/createPackageSettingsTransform.d.ts.map +1 -1
- package/lib/createPackageSettingsTransform.js +3 -1
- package/lib/createPackageSettingsTransform.js.map +1 -1
- package/lib/mergePackageSettings.d.ts.map +1 -1
- package/lib/mergePackageSettings.js +22 -58
- package/lib/mergePackageSettings.js.map +1 -1
- package/lib/mergeParentConfig.d.ts.map +1 -1
- package/lib/mergeParentConfig.js +5 -4
- package/lib/mergeParentConfig.js.map +1 -1
- package/lib/readAppConfig.d.ts +4 -0
- package/lib/readAppConfig.d.ts.map +1 -1
- package/lib/readAppConfig.js +22 -6
- package/lib/readAppConfig.js.map +1 -1
- package/lib/readConfig.d.ts.map +1 -1
- package/lib/readConfig.js +20 -4
- package/lib/readConfig.js.map +1 -1
- package/lib/readGeneratedConfig.d.ts.map +1 -1
- package/lib/readGeneratedConfig.js +23 -1
- package/lib/readGeneratedConfig.js.map +1 -1
- package/package.json +3 -4
- package/lib/processConfig.d.ts +0 -6
- package/lib/processConfig.d.ts.map +0 -1
- package/lib/processConfig.js +0 -21
- package/lib/processConfig.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPackageSettingsTransform.d.ts","sourceRoot":"","sources":["../src/createPackageSettingsTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAM3B,MAAM,4BAA4B,CAAC;AAKpC;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,GAAG,0BAA0B,
|
|
1
|
+
{"version":3,"file":"createPackageSettingsTransform.d.ts","sourceRoot":"","sources":["../src/createPackageSettingsTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAM3B,MAAM,4BAA4B,CAAC;AAKpC;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,GAAG,0BAA0B,CAuClG"}
|
|
@@ -22,7 +22,9 @@ export function createPackageSettingsTransform(config) {
|
|
|
22
22
|
dependencies: computeDependencies({ definition, userPackageSettings, generatedPackageSettings }),
|
|
23
23
|
};
|
|
24
24
|
if (definition.peerDependencies && !userPackageSettings?.excludedDependencies?.includes('$peerDependencies')) {
|
|
25
|
-
newDefinition.peerDependencies =
|
|
25
|
+
newDefinition.peerDependencies = !excludedDependencies?.length
|
|
26
|
+
? definition.peerDependencies
|
|
27
|
+
: Object.fromEntries(Object.entries(definition.peerDependencies).filter(([dep]) => !excludedDependencies.includes(dep)));
|
|
26
28
|
}
|
|
27
29
|
if (config.mode || Object.keys(settings).length > 0) {
|
|
28
30
|
newDefinition.cloudpack = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPackageSettingsTransform.js","sourceRoot":"","sources":["../src/createPackageSettingsTransform.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAuB;IACpE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;QAC/C,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAExG,6GAA6G;QAC7G,+BAA+B;QAC/B,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,QAAQ,EAAE,GAAG,oBAAoB,CAAC;YAChG,mBAAmB,IAAI,EAAE;YACzB,wBAAwB,IAAI,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAgB;YACjC,IAAI;YACJ,OAAO;YACP,OAAO,EAAE,MAAM,cAAc,CAC3B,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,EAC1E,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB;YACD,YAAY,EAAE,mBAAmB,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,CAAC;SACjG,CAAC;QAEF,IAAI,UAAU,CAAC,gBAAgB,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7G,aAAa,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"createPackageSettingsTransform.js","sourceRoot":"","sources":["../src/createPackageSettingsTransform.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n CloudpackConfig,\n PackageDefinitionTransform,\n PackageDefinitionsCache,\n PackageJson,\n PackageJsonDependencies,\n PackageJsonExports,\n PackageSettings,\n} from '@ms-cloudpack/common-types';\nimport { getPackageSettings } from './getPackageSettings.js';\nimport { getExportsMap } from '@ms-cloudpack/package-utilities';\nimport { mergePackageSettings } from './mergePackageSettings.js';\n\n/**\n * Creates a transform to be registered with a PackageDefinitions registry for using package settings to apply\n * package.json transforms.\n */\nexport function createPackageSettingsTransform(config: CloudpackConfig): PackageDefinitionTransform {\n return async ({ definition, packagePath, packages }) => {\n const { name = '', version = '' } = definition;\n const { userPackageSettings, generatedPackageSettings } = getPackageSettings({ name, version, config });\n\n // Exclude all things not important in preserving within the package.json. This limits what we end up hashing\n // when we hash the definition.\n const { exports, includedDependencies, excludedDependencies, ...settings } = mergePackageSettings([\n userPackageSettings || {},\n generatedPackageSettings || {},\n ]);\n\n const newDefinition: PackageJson = {\n name,\n version,\n exports: await computeExports(\n { packagePath, definition, userPackageSettings, generatedPackageSettings },\n { packages, config },\n ),\n dependencies: computeDependencies({ definition, userPackageSettings, generatedPackageSettings }),\n };\n\n if (definition.peerDependencies && !userPackageSettings?.excludedDependencies?.includes('$peerDependencies')) {\n newDefinition.peerDependencies = !excludedDependencies?.length\n ? definition.peerDependencies\n : Object.fromEntries(\n Object.entries(definition.peerDependencies).filter(([dep]) => !excludedDependencies.includes(dep)),\n );\n }\n\n if (config.mode || Object.keys(settings).length > 0) {\n newDefinition.cloudpack = {\n mode: config.mode,\n ...settings,\n };\n }\n\n return newDefinition;\n };\n}\n\nfunction computeDependencies(options: {\n definition: PackageJson;\n userPackageSettings?: PackageSettings;\n generatedPackageSettings?: PackageSettings;\n}): PackageJsonDependencies {\n const { definition, userPackageSettings, generatedPackageSettings } = options;\n const { dependencies = {} } = definition;\n const newDependencies = { ...dependencies };\n\n // If we have included dependencies, add them.\n const includedDependencies = [\n ...(userPackageSettings?.includedDependencies || []),\n ...(generatedPackageSettings?.includedDependencies || []),\n ];\n\n // Expand the $devDependencies placeholder to the actual dev dependencies.\n const includeDevDependencies = includedDependencies.indexOf('$devDependencies');\n\n if (includeDevDependencies !== -1) {\n includedDependencies.splice(includeDevDependencies, 1, ...Object.keys(definition.devDependencies || {}));\n }\n\n // Add the dependency from other sources, or use a wildcard.\n for (const dep of includedDependencies) {\n newDependencies[dep] =\n definition.dependencies?.[dep] ||\n definition.devDependencies?.[dep] ||\n definition.peerDependencies?.[dep] ||\n definition.optionalDependencies?.[dep] ||\n '*';\n }\n\n const excludedDependencies = [\n ...(userPackageSettings?.excludedDependencies || []),\n ...(generatedPackageSettings?.excludedDependencies || []),\n ];\n\n // Expand the $peerDependencies placeholder to the actual peer dependencies.\n const excludePeerDependencies = excludedDependencies.indexOf('$peerDependencies');\n\n if (excludePeerDependencies !== -1) {\n // Add peer dependencies to the list of excluded dependencies.\n excludedDependencies.splice(excludePeerDependencies, 1, ...Object.keys(definition.peerDependencies || {}));\n }\n\n for (const dep of excludedDependencies) {\n delete newDependencies[dep];\n }\n\n return newDependencies;\n}\n\nasync function computeExports(\n options: {\n packagePath: string;\n definition: PackageJson;\n userPackageSettings?: PackageSettings;\n generatedPackageSettings?: PackageSettings;\n },\n context: { packages: PackageDefinitionsCache; config: CloudpackConfig },\n): Promise<PackageJsonExports | undefined> {\n const { packagePath, definition, userPackageSettings, generatedPackageSettings } = options;\n\n let exports =\n userPackageSettings?.exports ||\n definition.exports ||\n (await getExportsMap({ packagePath, disableTransforms: true }, context));\n\n if (generatedPackageSettings?.exports) {\n exports = [exports, generatedPackageSettings.exports];\n }\n\n return exports;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergePackageSettings.d.ts","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"mergePackageSettings.d.ts","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAKlE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,CA4BjF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { mergeObjects, mergeArrayDefaults } from '@ms-cloudpack/package-utilities';
|
|
1
2
|
const defaultInputPaths = ['src/**', '*.json', '!**/node_modules/**'];
|
|
2
3
|
/**
|
|
3
4
|
* Merges package settings together.
|
|
@@ -8,66 +9,29 @@ const defaultInputPaths = ['src/**', '*.json', '!**/node_modules/**'];
|
|
|
8
9
|
* for how to handle multiple exports maps properly.
|
|
9
10
|
*/
|
|
10
11
|
export function mergePackageSettings(settings) {
|
|
11
|
-
const result = settings
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
acc
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
// If we have an exports but it's not an array, make it an array.
|
|
20
|
-
if (!Array.isArray(acc.exports)) {
|
|
21
|
-
acc.exports = [acc.exports];
|
|
12
|
+
const result = mergeObjects(settings, {
|
|
13
|
+
overwriteKeys: ['ignoreMissingExports', 'bundlerOptions'],
|
|
14
|
+
customMerge: {
|
|
15
|
+
exports: (acc, curr) => {
|
|
16
|
+
// Use the current setting if it's explicitly null or was previously not set.
|
|
17
|
+
if (!acc || curr === null) {
|
|
18
|
+
// Make a copy if it's an array, so later additions don't affect the original.
|
|
19
|
+
return Array.isArray(curr) ? [...curr] : curr;
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
acc.
|
|
21
|
+
if (curr) {
|
|
22
|
+
// If we have previous exports but it's not an array, make it an array.
|
|
23
|
+
acc = acc ? (Array.isArray(acc) ? acc : [acc]) : [];
|
|
24
|
+
// Add the new exports.
|
|
25
|
+
acc.push(...(Array.isArray(curr) ? curr : [curr]));
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (setting.excludedDependencies) {
|
|
36
|
-
acc.excludedDependencies = [...(acc.excludedDependencies || []), ...setting.excludedDependencies];
|
|
37
|
-
}
|
|
38
|
-
if (setting.inlinedDependencies) {
|
|
39
|
-
acc.inlinedDependencies = [...(acc.inlinedDependencies || []), ...setting.inlinedDependencies];
|
|
40
|
-
}
|
|
41
|
-
if (setting.bundlerType) {
|
|
42
|
-
acc.bundlerType = setting.bundlerType;
|
|
43
|
-
}
|
|
44
|
-
if (setting.bundlerOptions) {
|
|
45
|
-
acc.bundlerOptions = setting.bundlerOptions;
|
|
46
|
-
}
|
|
47
|
-
if (setting.inputPaths) {
|
|
48
|
-
const defaultInputPathsIndex = setting.inputPaths.indexOf('...');
|
|
49
|
-
if (defaultInputPathsIndex > -1) {
|
|
50
|
-
setting.inputPaths.splice(defaultInputPathsIndex, 1, ...defaultInputPaths);
|
|
51
|
-
}
|
|
52
|
-
acc.inputPaths = [...(acc.inputPaths || []), ...setting.inputPaths];
|
|
53
|
-
}
|
|
54
|
-
if (setting.ignoreMissingExports !== undefined) {
|
|
55
|
-
acc.ignoreMissingExports = setting.ignoreMissingExports;
|
|
56
|
-
}
|
|
57
|
-
if (setting.dynamicImports) {
|
|
58
|
-
acc.dynamicImports = [...(acc.dynamicImports || []), ...setting.dynamicImports];
|
|
59
|
-
}
|
|
60
|
-
if (setting.ignoredBundlerWarnings) {
|
|
61
|
-
acc.ignoredBundlerWarnings = [...(acc.ignoredBundlerWarnings || []), ...setting.ignoredBundlerWarnings];
|
|
62
|
-
}
|
|
63
|
-
if (setting.link !== undefined) {
|
|
64
|
-
acc.link ??= {};
|
|
65
|
-
if (setting.link.duplicatedDependencyBehavior !== undefined) {
|
|
66
|
-
acc.link.duplicatedDependencyBehavior = setting.link.duplicatedDependencyBehavior;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return acc;
|
|
70
|
-
}, {});
|
|
27
|
+
return acc;
|
|
28
|
+
},
|
|
29
|
+
inputPaths: (acc = [], curr = []) => {
|
|
30
|
+
return [...acc, ...mergeArrayDefaults(curr, defaultInputPaths)];
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
delete result.match;
|
|
71
35
|
return result;
|
|
72
36
|
}
|
|
73
37
|
//# sourceMappingURL=mergePackageSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergePackageSettings.js","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mergePackageSettings.js","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEnF,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE;QACpC,aAAa,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,CAAC;QACzD,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACrB,6EAA6E;gBAC7E,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1B,8EAA8E;oBAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,CAAC;gBAED,IAAI,IAAI,EAAE,CAAC;oBACT,uEAAuE;oBACvE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,uBAAuB;oBACvB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;YACD,UAAU,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAClC,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAClE,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { PackageSettings } from '@ms-cloudpack/common-types';\nimport { mergeObjects, mergeArrayDefaults } from '@ms-cloudpack/package-utilities';\n\nconst defaultInputPaths = ['src/**', '*.json', '!**/node_modules/**'];\n\n/**\n * Merges package settings together.\n *\n * TODO: This \"merges\" exports maps by concatenating them in an array, which is not correct per the\n * spec in Node. However, merging them properly is much more difficult to implement (depends on the\n * conditions that will be applied at the time the map is used), so more thought would be required\n * for how to handle multiple exports maps properly.\n */\nexport function mergePackageSettings(settings: PackageSettings[]): PackageSettings {\n const result = mergeObjects(settings, {\n overwriteKeys: ['ignoreMissingExports', 'bundlerOptions'],\n customMerge: {\n exports: (acc, curr) => {\n // Use the current setting if it's explicitly null or was previously not set.\n if (!acc || curr === null) {\n // Make a copy if it's an array, so later additions don't affect the original.\n return Array.isArray(curr) ? [...curr] : curr;\n }\n\n if (curr) {\n // If we have previous exports but it's not an array, make it an array.\n acc = acc ? (Array.isArray(acc) ? acc : [acc]) : [];\n // Add the new exports.\n acc.push(...(Array.isArray(curr) ? curr : [curr]));\n }\n\n return acc;\n },\n inputPaths: (acc = [], curr = []) => {\n return [...acc, ...mergeArrayDefaults(curr, defaultInputPaths)];\n },\n },\n });\n\n delete result.match;\n return result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeParentConfig.d.ts","sourceRoot":"","sources":["../src/mergeParentConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"mergeParentConfig.d.ts","sourceRoot":"","sources":["../src/mergeParentConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,SAAS,CAkBzG"}
|
package/lib/mergeParentConfig.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mergeObjects } from '@ms-cloudpack/package-utilities';
|
|
2
2
|
/**
|
|
3
3
|
* Merge the configs. Later parent configs override earlier ones.
|
|
4
4
|
*/
|
|
5
5
|
export function mergeParentConfig(params) {
|
|
6
6
|
const configs = [...params.parentConfigs, params.AppConfig];
|
|
7
|
-
|
|
8
|
-
const result = recursiveMerge({}, ...configs);
|
|
7
|
+
const result = mergeObjects(configs, { arrayMerge: 'overwrite' });
|
|
9
8
|
// Remove the extends property from the result
|
|
10
9
|
delete result.extends;
|
|
10
|
+
// Remove the default-merged package settings (fixed below)
|
|
11
|
+
delete result.packageSettings;
|
|
11
12
|
// Concatenate the package settings. User config comes first here since order can matter
|
|
12
13
|
// in some cases (and the user config should override the parent).
|
|
13
|
-
const packageSettings =
|
|
14
|
+
const packageSettings = configs.reverse().flatMap((config) => config.packageSettings ?? []);
|
|
14
15
|
if (packageSettings.length) {
|
|
15
16
|
result.packageSettings = packageSettings;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeParentConfig.js","sourceRoot":"","sources":["../src/mergeParentConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mergeParentConfig.js","sourceRoot":"","sources":["../src/mergeParentConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA4D;IAC5F,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAElE,8CAA8C;IAC9C,OAAO,MAAM,CAAC,OAAO,CAAC;IACtB,2DAA2D;IAC3D,OAAO,MAAM,CAAC,eAAe,CAAC;IAE9B,wFAAwF;IACxF,kEAAkE;IAClE,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAC5F,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { AppConfig } from '@ms-cloudpack/common-types';\nimport { mergeObjects } from '@ms-cloudpack/package-utilities';\n\n/**\n * Merge the configs. Later parent configs override earlier ones.\n */\nexport function mergeParentConfig(params: { AppConfig: AppConfig; parentConfigs: AppConfig[] }): AppConfig {\n const configs = [...params.parentConfigs, params.AppConfig];\n\n const result = mergeObjects(configs, { arrayMerge: 'overwrite' });\n\n // Remove the extends property from the result\n delete result.extends;\n // Remove the default-merged package settings (fixed below)\n delete result.packageSettings;\n\n // Concatenate the package settings. User config comes first here since order can matter\n // in some cases (and the user config should override the parent).\n const packageSettings = configs.reverse().flatMap((config) => config.packageSettings ?? []);\n if (packageSettings.length) {\n result.packageSettings = packageSettings;\n }\n\n return result;\n}\n"]}
|
package/lib/readAppConfig.d.ts
CHANGED
|
@@ -4,4 +4,8 @@ import type { AppConfig } from '@ms-cloudpack/common-types';
|
|
|
4
4
|
* For a full merged representation of config, use `readConfig` instead.
|
|
5
5
|
*/
|
|
6
6
|
export declare function readAppConfig(appPath: string): Promise<AppConfig>;
|
|
7
|
+
/**
|
|
8
|
+
* An internal function for processing a config object after reading the json values.
|
|
9
|
+
*/
|
|
10
|
+
export declare function processDeprecatedValues(config: AppConfig): AppConfig;
|
|
7
11
|
//# sourceMappingURL=readAppConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readAppConfig.d.ts","sourceRoot":"","sources":["../src/readAppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"readAppConfig.d.ts","sourceRoot":"","sources":["../src/readAppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAM5D;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIvE;AAgCD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,aAgBxD"}
|
package/lib/readAppConfig.js
CHANGED
|
@@ -2,6 +2,14 @@ import { readJson } from '@ms-cloudpack/json-utilities';
|
|
|
2
2
|
import { getConfigPath } from './getConfigPath.js';
|
|
3
3
|
import { mergeParentConfig } from './mergeParentConfig.js';
|
|
4
4
|
import { resolveParentConfig } from './resolveParentConfig.js';
|
|
5
|
+
/**
|
|
6
|
+
* Reads the user config file and merges with any parent configs asynchronously. Note this is only useful for making modifications to the user config.
|
|
7
|
+
* For a full merged representation of config, use `readConfig` instead.
|
|
8
|
+
*/
|
|
9
|
+
export async function readAppConfig(appPath) {
|
|
10
|
+
const { appConfigPath } = getConfigPath(appPath);
|
|
11
|
+
return (await readAppConfigInternal(appConfigPath)) || {};
|
|
12
|
+
}
|
|
5
13
|
/**
|
|
6
14
|
* Reads the user config, with any `extends` parent configs merged in.
|
|
7
15
|
*/
|
|
@@ -26,14 +34,22 @@ async function readAppConfigInternal(configPath) {
|
|
|
26
34
|
}
|
|
27
35
|
}
|
|
28
36
|
}
|
|
29
|
-
return mergeParentConfig({ AppConfig, parentConfigs });
|
|
37
|
+
return processDeprecatedValues(mergeParentConfig({ AppConfig, parentConfigs }));
|
|
30
38
|
}
|
|
31
39
|
/**
|
|
32
|
-
*
|
|
33
|
-
* For a full merged representation of config, use `readConfig` instead.
|
|
40
|
+
* An internal function for processing a config object after reading the json values.
|
|
34
41
|
*/
|
|
35
|
-
export
|
|
36
|
-
const {
|
|
37
|
-
|
|
42
|
+
export function processDeprecatedValues(config) {
|
|
43
|
+
const { devServer } = config;
|
|
44
|
+
if (devServer) {
|
|
45
|
+
// eslint-disable-next-line etc/no-deprecated
|
|
46
|
+
const { routes } = devServer;
|
|
47
|
+
if (routes) {
|
|
48
|
+
config.routes = routes;
|
|
49
|
+
// eslint-disable-next-line etc/no-deprecated
|
|
50
|
+
delete config.devServer?.routes;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return config;
|
|
38
54
|
}
|
|
39
55
|
//# sourceMappingURL=readAppConfig.js.map
|
package/lib/readAppConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readAppConfig.js","sourceRoot":"","sources":["../src/readAppConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IACrD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAY,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO;QACpC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC,OAAO;YACnB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;IAEP,2CAA2C;IAC3C,MAAM,aAAa,GAAgB,EAAE,CAAC;IACtC,KAAK,MAAM,eAAe,IAAI,YAAY,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,YAAY,EAAE,CAAC;gBACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"readAppConfig.js","sourceRoot":"","sources":["../src/readAppConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,CAAC,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IACrD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAY,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO;QACpC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC,OAAO;YACnB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;IAEP,2CAA2C;IAC3C,MAAM,aAAa,GAAgB,EAAE,CAAC;IACtC,KAAK,MAAM,eAAe,IAAI,YAAY,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,YAAY,EAAE,CAAC;gBACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,6CAA6C;QAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAE7B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAEvB,6CAA6C;YAC7C,OAAO,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { AppConfig } from '@ms-cloudpack/common-types';\nimport { readJson } from '@ms-cloudpack/json-utilities';\nimport { getConfigPath } from './getConfigPath.js';\nimport { mergeParentConfig } from './mergeParentConfig.js';\nimport { resolveParentConfig } from './resolveParentConfig.js';\n\n/**\n * Reads the user config file and merges with any parent configs asynchronously. Note this is only useful for making modifications to the user config.\n * For a full merged representation of config, use `readConfig` instead.\n */\nexport async function readAppConfig(appPath: string): Promise<AppConfig> {\n const { appConfigPath } = getConfigPath(appPath);\n\n return (await readAppConfigInternal(appConfigPath)) || {};\n}\n\n/**\n * Reads the user config, with any `extends` parent configs merged in.\n */\nasync function readAppConfigInternal(configPath: string): Promise<AppConfig | undefined> {\n const AppConfig = await readJson<AppConfig>(configPath, { verbose: true, mode: 'permissive' });\n if (!AppConfig) {\n return undefined;\n }\n\n const extendsArray = AppConfig.extends\n ? Array.isArray(AppConfig.extends)\n ? AppConfig.extends\n : [AppConfig.extends]\n : [];\n\n // Recursively read any parent config files\n const parentConfigs: AppConfig[] = [];\n for (const importSpecifier of extendsArray) {\n const resolvedPath = resolveParentConfig({ configPath, importSpecifier });\n if (resolvedPath) {\n const parentConfig = await readAppConfigInternal(resolvedPath);\n if (parentConfig) {\n parentConfigs.push(parentConfig);\n }\n }\n }\n\n return processDeprecatedValues(mergeParentConfig({ AppConfig, parentConfigs }));\n}\n\n/**\n * An internal function for processing a config object after reading the json values.\n */\nexport function processDeprecatedValues(config: AppConfig) {\n const { devServer } = config;\n\n if (devServer) {\n // eslint-disable-next-line etc/no-deprecated\n const { routes } = devServer;\n\n if (routes) {\n config.routes = routes;\n\n // eslint-disable-next-line etc/no-deprecated\n delete config.devServer?.routes;\n }\n }\n\n return config;\n}\n"]}
|
package/lib/readConfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readConfig.d.ts","sourceRoot":"","sources":["../src/readConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"readConfig.d.ts","sourceRoot":"","sources":["../src/readConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI9E;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,UAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAcxG"}
|
package/lib/readConfig.js
CHANGED
|
@@ -1,18 +1,34 @@
|
|
|
1
|
-
import { processConfig } from './processConfig.js';
|
|
2
1
|
import { readAppConfig } from './readAppConfig.js';
|
|
3
2
|
import { readGeneratedConfig } from './readGeneratedConfig.js';
|
|
4
3
|
/**
|
|
5
4
|
* Reads the config file asynchronously (and merges generated config into the result.)
|
|
6
5
|
*/
|
|
7
6
|
export async function readConfig(appPath, mode = 'library') {
|
|
8
|
-
const [
|
|
7
|
+
const [appConfig, generatedConfig] = await Promise.all([readAppConfig(appPath), readGeneratedConfig(appPath)]);
|
|
9
8
|
const config = {
|
|
9
|
+
...appConfig,
|
|
10
10
|
appPath,
|
|
11
11
|
mode,
|
|
12
12
|
generated: generatedConfig,
|
|
13
|
-
...AppConfig,
|
|
14
13
|
};
|
|
15
|
-
|
|
14
|
+
// Expands all routes which refer to source files into fully transformed route objects.
|
|
15
|
+
expandRouteShorthandEntries(config);
|
|
16
16
|
return config;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param config
|
|
21
|
+
*/
|
|
22
|
+
function expandRouteShorthandEntries(config) {
|
|
23
|
+
const { routes } = config;
|
|
24
|
+
if (routes) {
|
|
25
|
+
for (let i = 0; i < routes.length; i++) {
|
|
26
|
+
const route = routes[i];
|
|
27
|
+
if (typeof route === 'string') {
|
|
28
|
+
routes[i] = { match: route, entry: route };
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
18
34
|
//# sourceMappingURL=readConfig.js.map
|
package/lib/readConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readConfig.js","sourceRoot":"","sources":["../src/readConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"readConfig.js","sourceRoot":"","sources":["../src/readConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,OAAmB,SAAS;IAC5E,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/G,MAAM,MAAM,GAAG;QACb,GAAG,SAAS;QACZ,OAAO;QACP,IAAI;QACJ,SAAS,EAAE,eAAe;KACR,CAAC;IAErB,uFAAuF;IACvF,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;;;GAGG;AACH,SAAS,2BAA2B,CAAC,MAAuB;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE1B,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC3C,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import type { BundleMode, CloudpackConfig } from '@ms-cloudpack/common-types';\nimport { readAppConfig } from './readAppConfig.js';\nimport { readGeneratedConfig } from './readGeneratedConfig.js';\n\n/**\n * Reads the config file asynchronously (and merges generated config into the result.)\n */\nexport async function readConfig(appPath: string, mode: BundleMode = 'library'): Promise<CloudpackConfig> {\n const [appConfig, generatedConfig] = await Promise.all([readAppConfig(appPath), readGeneratedConfig(appPath)]);\n\n const config = {\n ...appConfig,\n appPath,\n mode,\n generated: generatedConfig,\n } as CloudpackConfig;\n\n // Expands all routes which refer to source files into fully transformed route objects.\n expandRouteShorthandEntries(config);\n\n return config;\n}\n/**\n *\n * @param config\n */\nfunction expandRouteShorthandEntries(config: CloudpackConfig) {\n const { routes } = config;\n\n if (routes) {\n for (let i = 0; i < routes.length; i++) {\n const route = routes[i];\n\n if (typeof route === 'string') {\n routes[i] = { match: route, entry: route };\n break;\n }\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readGeneratedConfig.d.ts","sourceRoot":"","sources":["../src/readGeneratedConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"readGeneratedConfig.d.ts","sourceRoot":"","sources":["../src/readGeneratedConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,4BAA4B,CAAC;AAEnF;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAInF"}
|
|
@@ -6,6 +6,28 @@ import { getConfigPath } from './getConfigPath.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export async function readGeneratedConfig(appPath) {
|
|
8
8
|
const { generatedConfigPath } = getConfigPath(appPath);
|
|
9
|
-
return (await readJson(generatedConfigPath, { verbose: true, mode: 'permissive' })) || {};
|
|
9
|
+
return processDeprecatedValues((await readJson(generatedConfigPath, { verbose: true, mode: 'permissive' })) || {});
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Delete deprecated values and convert them to the new format. Note that this function
|
|
13
|
+
* mutates the passed-in config object to avoid reallocation.
|
|
14
|
+
*/
|
|
15
|
+
function processDeprecatedValues(config) {
|
|
16
|
+
// eslint-disable-next-line etc/no-deprecated
|
|
17
|
+
const { packageOverrides } = config;
|
|
18
|
+
// Convert package overrides into settings to preserve the deprecated support.
|
|
19
|
+
if (packageOverrides) {
|
|
20
|
+
config.packageSettings = config.packageSettings || [];
|
|
21
|
+
for (const override of packageOverrides) {
|
|
22
|
+
const settings = {
|
|
23
|
+
match: { name: override.name, version: override.versionRequirement },
|
|
24
|
+
exports: override.overrides.exports,
|
|
25
|
+
};
|
|
26
|
+
config.packageSettings.push(settings);
|
|
27
|
+
}
|
|
28
|
+
// eslint-disable-next-line etc/no-deprecated
|
|
29
|
+
delete config.packageOverrides;
|
|
30
|
+
}
|
|
31
|
+
return config;
|
|
10
32
|
}
|
|
11
33
|
//# sourceMappingURL=readGeneratedConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readGeneratedConfig.js","sourceRoot":"","sources":["../src/readGeneratedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,MAAM,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvD,OAAO,CAAC,MAAM,QAAQ,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"readGeneratedConfig.js","sourceRoot":"","sources":["../src/readGeneratedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,MAAM,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvD,OAAO,uBAAuB,CAAC,CAAC,MAAM,QAAQ,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACrH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,MAAuB;IACtD,6CAA6C;IAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAEpC,8EAA8E;IAC9E,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAoB;gBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,EAAE;gBACpE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO;aACpC,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,6CAA6C;QAC7C,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { readJson } from '@ms-cloudpack/json-utilities';\nimport { getConfigPath } from './getConfigPath.js';\nimport type { GeneratedConfig, PackageSettings } from '@ms-cloudpack/common-types';\n\n/**\n * Reads the generated config file asynchronously. This is only useful for the `init` verb generating or updated\n * the generated overrides. For a full merged representation of config, use `readConfig` instead.\n */\nexport async function readGeneratedConfig(appPath: string): Promise<GeneratedConfig> {\n const { generatedConfigPath } = getConfigPath(appPath);\n\n return processDeprecatedValues((await readJson(generatedConfigPath, { verbose: true, mode: 'permissive' })) || {});\n}\n\n/**\n * Delete deprecated values and convert them to the new format. Note that this function\n * mutates the passed-in config object to avoid reallocation.\n */\nfunction processDeprecatedValues(config: GeneratedConfig) {\n // eslint-disable-next-line etc/no-deprecated\n const { packageOverrides } = config;\n\n // Convert package overrides into settings to preserve the deprecated support.\n if (packageOverrides) {\n config.packageSettings = config.packageSettings || [];\n\n for (const override of packageOverrides) {\n const settings: PackageSettings = {\n match: { name: override.name, version: override.versionRequirement },\n exports: override.overrides.exports,\n };\n config.packageSettings.push(settings);\n }\n\n // eslint-disable-next-line etc/no-deprecated\n delete config.packageOverrides;\n }\n\n return config;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Configuration handling for cloudpack.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -14,11 +14,10 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@ms-cloudpack/common-types": "^0.
|
|
17
|
+
"@ms-cloudpack/common-types": "^0.10.0",
|
|
18
18
|
"@ms-cloudpack/json-utilities": "^0.1.4",
|
|
19
|
-
"@ms-cloudpack/package-utilities": "^7.
|
|
19
|
+
"@ms-cloudpack/package-utilities": "^7.8.1",
|
|
20
20
|
"import-meta-resolve": "^4.0.0",
|
|
21
|
-
"merge": "^2.1.1",
|
|
22
21
|
"semver": "^7.6.0"
|
|
23
22
|
},
|
|
24
23
|
"devDependencies": {
|
package/lib/processConfig.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { GeneratedConfig } from '@ms-cloudpack/common-types';
|
|
2
|
-
/**
|
|
3
|
-
* An internal function for processing a config object after reading the json values.
|
|
4
|
-
*/
|
|
5
|
-
export declare function processConfig(config?: GeneratedConfig): void;
|
|
6
|
-
//# sourceMappingURL=processConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processConfig.d.ts","sourceRoot":"","sources":["../src/processConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,4BAA4B,CAAC;AAEnF;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,QAmBrD"}
|
package/lib/processConfig.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An internal function for processing a config object after reading the json values.
|
|
3
|
-
*/
|
|
4
|
-
export function processConfig(config) {
|
|
5
|
-
// eslint-disable-next-line etc/no-deprecated
|
|
6
|
-
const packageOverrides = config?.packageOverrides;
|
|
7
|
-
// Convert package overrides into settings to preserve the deprecated support.
|
|
8
|
-
if (packageOverrides) {
|
|
9
|
-
config.packageSettings = config.packageSettings || [];
|
|
10
|
-
for (const override of packageOverrides) {
|
|
11
|
-
const settings = {
|
|
12
|
-
match: { name: override.name, version: override.versionRequirement },
|
|
13
|
-
exports: override.overrides.exports,
|
|
14
|
-
};
|
|
15
|
-
config.packageSettings.push(settings);
|
|
16
|
-
}
|
|
17
|
-
// eslint-disable-next-line etc/no-deprecated
|
|
18
|
-
delete config.packageOverrides;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=processConfig.js.map
|
package/lib/processConfig.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processConfig.js","sourceRoot":"","sources":["../src/processConfig.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAwB;IACpD,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,MAAM,EAAE,gBAAgB,CAAC;IAElD,8EAA8E;IAC9E,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAoB;gBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,EAAE;gBACpE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO;aACpC,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,6CAA6C;QAC7C,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACjC,CAAC;AACH,CAAC","sourcesContent":["import type { GeneratedConfig, PackageSettings } from '@ms-cloudpack/common-types';\n\n/**\n * An internal function for processing a config object after reading the json values.\n */\nexport function processConfig(config?: GeneratedConfig) {\n // eslint-disable-next-line etc/no-deprecated\n const packageOverrides = config?.packageOverrides;\n\n // Convert package overrides into settings to preserve the deprecated support.\n if (packageOverrides) {\n config.packageSettings = config.packageSettings || [];\n\n for (const override of packageOverrides) {\n const settings: PackageSettings = {\n match: { name: override.name, version: override.versionRequirement },\n exports: override.overrides.exports,\n };\n config.packageSettings.push(settings);\n }\n\n // eslint-disable-next-line etc/no-deprecated\n delete config.packageOverrides;\n }\n}\n"]}
|