@ms-cloudpack/config 0.21.2 → 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/ensureGeneratedSettingsForPackage.js +1 -1
- package/lib/ensureGeneratedSettingsForPackage.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/readConfig.d.ts.map +1 -1
- package/lib/readConfig.js +1 -0
- package/lib/readConfig.js.map +1 -1
- package/package.json +3 -4
|
@@ -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"]}
|
|
@@ -16,7 +16,7 @@ export async function ensureGeneratedSettingsForPackage(options, context) {
|
|
|
16
16
|
const { name, version } = definition;
|
|
17
17
|
const packageSettings = (config.generated.packageSettings ??= []);
|
|
18
18
|
let { generatedPackageSettings } = getPackageSettings({
|
|
19
|
-
config: { mode:
|
|
19
|
+
config: { appPath: config.appPath, mode: config.mode, generated: { packageSettings } },
|
|
20
20
|
name,
|
|
21
21
|
version,
|
|
22
22
|
firstMatch: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureGeneratedSettingsForPackage.js","sourceRoot":"","sources":["../src/ensureGeneratedSettingsForPackage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAAwE,EACxE,OAAuE;IAEvE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAErC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACrC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IAElE,IAAI,EAAE,wBAAwB,EAAE,GAAG,kBAAkB,CAAC;QACpD,MAAM,EAAE,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ensureGeneratedSettingsForPackage.js","sourceRoot":"","sources":["../src/ensureGeneratedSettingsForPackage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAAwE,EACxE,OAAuE;IAEvE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAErC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACrC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IAElE,IAAI,EAAE,wBAAwB,EAAE,GAAG,kBAAkB,CAAC;QACpD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE;QACtF,IAAI;QACJ,OAAO;QACP,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,wBAAwB,GAAG;YACzB,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;SAChF,CAAC;QAEF,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,wBAAwB,CAAC,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAC/D,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC","sourcesContent":["import type {\n CloudpackConfig,\n PackageDefinitionsCache,\n PackageJsonExports,\n PackageSettings,\n} from '@ms-cloudpack/common-types';\nimport { getPackageSettings } from './getPackageSettings.js';\nimport { isExternalPackage } from '@ms-cloudpack/package-utilities';\n\n/**\n * Ensures the generated package setting for the package provided exists.\n * Used to consistently write to the generated config.\n * Only call this function when you will create a package setting for the package.\n * Note: Does not write to disk.\n */\nexport async function ensureGeneratedSettingsForPackage(\n options: { packagePath: string; defaultExportsMap?: PackageJsonExports },\n context: { config: CloudpackConfig; packages: PackageDefinitionsCache },\n): Promise<PackageSettings> {\n const { packagePath } = options;\n const { config, packages } = context;\n\n const definition = await packages.get(packagePath);\n\n if (!definition || !definition.name || !definition.version) {\n throw new Error(`Valid package definition not found for ${packagePath}`);\n }\n\n const { name, version } = definition;\n const packageSettings = (config.generated.packageSettings ??= []);\n\n let { generatedPackageSettings } = getPackageSettings({\n config: { appPath: config.appPath, mode: config.mode, generated: { packageSettings } },\n name,\n version,\n firstMatch: true,\n });\n\n if (!generatedPackageSettings) {\n generatedPackageSettings = {\n match: isExternalPackage(packagePath) ? { name, version: `^${version}` } : name,\n };\n\n if (options.defaultExportsMap) {\n generatedPackageSettings.exports = options.defaultExportsMap;\n }\n\n packageSettings.push(generatedPackageSettings);\n }\n\n return generatedPackageSettings;\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/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;AAK9E;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,UAAsB,GAAG,OAAO,CAAC,eAAe,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;AAK9E;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,UAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAYxG"}
|
package/lib/readConfig.js
CHANGED
|
@@ -7,6 +7,7 @@ import { readGeneratedConfig } from './readGeneratedConfig.js';
|
|
|
7
7
|
export async function readConfig(appPath, mode = 'library') {
|
|
8
8
|
const [AppConfig, generatedConfig] = await Promise.all([readAppConfig(appPath), readGeneratedConfig(appPath)]);
|
|
9
9
|
const config = {
|
|
10
|
+
appPath,
|
|
10
11
|
mode,
|
|
11
12
|
generated: generatedConfig,
|
|
12
13
|
...AppConfig,
|
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,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;IAC/G,MAAM,MAAM,GAAoB;QAC9B,IAAI;QACJ,SAAS,EAAE,eAAe;QAC1B,GAAG,SAAS;KACb,CAAC;IAEF,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { BundleMode, CloudpackConfig } from '@ms-cloudpack/common-types';\nimport { processConfig } from './processConfig.js';\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 const config: CloudpackConfig = {\n mode,\n generated: generatedConfig,\n ...AppConfig,\n };\n\n processConfig(config.generated);\n\n return config;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"readConfig.js","sourceRoot":"","sources":["../src/readConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,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;IAC/G,MAAM,MAAM,GAAoB;QAC9B,OAAO;QACP,IAAI;QACJ,SAAS,EAAE,eAAe;QAC1B,GAAG,SAAS;KACb,CAAC;IAEF,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { BundleMode, CloudpackConfig } from '@ms-cloudpack/common-types';\nimport { processConfig } from './processConfig.js';\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 const config: CloudpackConfig = {\n appPath,\n mode,\n generated: generatedConfig,\n ...AppConfig,\n };\n\n processConfig(config.generated);\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.22.1",
|
|
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.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": {
|