@ms-cloudpack/config 0.22.0 → 0.22.1
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/package.json +2 -3
|
@@ -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/config",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.1",
|
|
4
4
|
"description": "Configuration handling for cloudpack.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@ms-cloudpack/common-types": "^0.9.0",
|
|
18
18
|
"@ms-cloudpack/json-utilities": "^0.1.4",
|
|
19
|
-
"@ms-cloudpack/package-utilities": "^7.
|
|
19
|
+
"@ms-cloudpack/package-utilities": "^7.8.0",
|
|
20
20
|
"import-meta-resolve": "^4.0.0",
|
|
21
|
-
"merge": "^2.1.1",
|
|
22
21
|
"semver": "^7.6.0"
|
|
23
22
|
},
|
|
24
23
|
"devDependencies": {
|