@ms-cloudpack/config 0.20.10 → 0.20.12
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/ensureGeneratedSettingsForPackage.d.ts +14 -0
- package/lib/ensureGeneratedSettingsForPackage.d.ts.map +1 -0
- package/lib/ensureGeneratedSettingsForPackage.js +32 -0
- package/lib/ensureGeneratedSettingsForPackage.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/sortGeneratedConfig.d.ts +7 -0
- package/lib/sortGeneratedConfig.d.ts.map +1 -0
- package/lib/sortGeneratedConfig.js +39 -0
- package/lib/sortGeneratedConfig.js.map +1 -0
- package/lib/sortObjectKeys.d.ts +5 -0
- package/lib/sortObjectKeys.d.ts.map +1 -0
- package/lib/sortObjectKeys.js +11 -0
- package/lib/sortObjectKeys.js.map +1 -0
- package/lib/tsdoc-metadata.json +1 -1
- package/lib/writeGeneratedConfig.d.ts.map +1 -1
- package/lib/writeGeneratedConfig.js +3 -10
- package/lib/writeGeneratedConfig.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CloudpackConfig, PackageDefinitionsCache, PackageSettings } from '@ms-cloudpack/common-types';
|
|
2
|
+
/**
|
|
3
|
+
* Ensures the generated package setting for the package provided exists.
|
|
4
|
+
* Used to consistently write to the generated config.
|
|
5
|
+
* Only call this function when you will create a package setting for the package.
|
|
6
|
+
* Note: Does not write to disk.
|
|
7
|
+
*/
|
|
8
|
+
export declare function ensureGeneratedSettingsForPackage(options: {
|
|
9
|
+
packagePath: string;
|
|
10
|
+
}, context: {
|
|
11
|
+
config: CloudpackConfig;
|
|
12
|
+
packages: PackageDefinitionsCache;
|
|
13
|
+
}): Promise<PackageSettings>;
|
|
14
|
+
//# sourceMappingURL=ensureGeneratedSettingsForPackage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureGeneratedSettingsForPackage.d.ts","sourceRoot":"","sources":["../src/ensureGeneratedSettingsForPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI5G;;;;;GAKG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAChC,OAAO,EAAE;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GACtE,OAAO,CAAC,eAAe,CAAC,CA4B1B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { getPackageSettings } from './getPackageSettings.js';
|
|
2
|
+
import { isExternalPackage } from '@ms-cloudpack/package-utilities';
|
|
3
|
+
/**
|
|
4
|
+
* Ensures the generated package setting for the package provided exists.
|
|
5
|
+
* Used to consistently write to the generated config.
|
|
6
|
+
* Only call this function when you will create a package setting for the package.
|
|
7
|
+
* Note: Does not write to disk.
|
|
8
|
+
*/
|
|
9
|
+
export async function ensureGeneratedSettingsForPackage(options, context) {
|
|
10
|
+
const { packagePath } = options;
|
|
11
|
+
const { config, packages } = context;
|
|
12
|
+
const definition = await packages.get(packagePath);
|
|
13
|
+
if (!definition || !definition.name || !definition.version) {
|
|
14
|
+
throw new Error(`Valid package definition not found for ${packagePath}`);
|
|
15
|
+
}
|
|
16
|
+
const { name, version } = definition;
|
|
17
|
+
const packageSettings = (config.generated.packageSettings ??= []);
|
|
18
|
+
let { generatedPackageSettings } = getPackageSettings({
|
|
19
|
+
config: { generated: { packageSettings } },
|
|
20
|
+
name,
|
|
21
|
+
version,
|
|
22
|
+
firstMatch: true,
|
|
23
|
+
});
|
|
24
|
+
if (!generatedPackageSettings) {
|
|
25
|
+
generatedPackageSettings = {
|
|
26
|
+
match: isExternalPackage(packagePath) ? { name, version: `^${version}` } : name,
|
|
27
|
+
};
|
|
28
|
+
packageSettings.push(generatedPackageSettings);
|
|
29
|
+
}
|
|
30
|
+
return generatedPackageSettings;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ensureGeneratedSettingsForPackage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureGeneratedSettingsForPackage.js","sourceRoot":"","sources":["../src/ensureGeneratedSettingsForPackage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAAgC,EAChC,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,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE;QAC1C,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;QACF,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC","sourcesContent":["import type { CloudpackConfig, PackageDefinitionsCache, PackageSettings } 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 },\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: { 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 packageSettings.push(generatedPackageSettings);\n }\n\n return generatedPackageSettings;\n}\n"]}
|
package/lib/index.d.ts
CHANGED
|
@@ -8,4 +8,5 @@ export { readGeneratedConfig } from './readGeneratedConfig.js';
|
|
|
8
8
|
export { readAppConfig } from './readAppConfig.js';
|
|
9
9
|
export { writeGeneratedConfig } from './writeGeneratedConfig.js';
|
|
10
10
|
export { writeAppConfig } from './writeAppConfig.js';
|
|
11
|
+
export { ensureGeneratedSettingsForPackage } from './ensureGeneratedSettingsForPackage.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -8,4 +8,5 @@ export { readGeneratedConfig } from './readGeneratedConfig.js';
|
|
|
8
8
|
export { readAppConfig } from './readAppConfig.js';
|
|
9
9
|
export { writeGeneratedConfig } from './writeGeneratedConfig.js';
|
|
10
10
|
export { writeAppConfig } from './writeAppConfig.js';
|
|
11
|
+
export { ensureGeneratedSettingsForPackage } from './ensureGeneratedSettingsForPackage.js';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { configTemplate } from './configTemplate.js';\nexport { generatedConfigFileName, appConfigFileName } from './constants.js';\nexport { createPackageDefinitions } from './createPackageDefinitions.js';\nexport { getConfigPath } from './getConfigPath.js';\nexport { getPackageSettings, checkMatch } from './getPackageSettings.js';\nexport { readConfig } from './readConfig.js';\nexport { readGeneratedConfig } from './readGeneratedConfig.js';\nexport { readAppConfig } from './readAppConfig.js';\nexport { writeGeneratedConfig } from './writeGeneratedConfig.js';\nexport { writeAppConfig } from './writeAppConfig.js';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC","sourcesContent":["export { configTemplate } from './configTemplate.js';\nexport { generatedConfigFileName, appConfigFileName } from './constants.js';\nexport { createPackageDefinitions } from './createPackageDefinitions.js';\nexport { getConfigPath } from './getConfigPath.js';\nexport { getPackageSettings, checkMatch } from './getPackageSettings.js';\nexport { readConfig } from './readConfig.js';\nexport { readGeneratedConfig } from './readGeneratedConfig.js';\nexport { readAppConfig } from './readAppConfig.js';\nexport { writeGeneratedConfig } from './writeGeneratedConfig.js';\nexport { writeAppConfig } from './writeAppConfig.js';\nexport { ensureGeneratedSettingsForPackage } from './ensureGeneratedSettingsForPackage.js';\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { GeneratedConfig } from '@ms-cloudpack/common-types';
|
|
2
|
+
/**
|
|
3
|
+
* Sorts the generated config so that we don't have unneeded changes due to differences in
|
|
4
|
+
* order of operations.
|
|
5
|
+
*/
|
|
6
|
+
export declare function sortGeneratedConfig(generated: GeneratedConfig): void;
|
|
7
|
+
//# sourceMappingURL=sortGeneratedConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortGeneratedConfig.d.ts","sourceRoot":"","sources":["../src/sortGeneratedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,4BAA4B,CAAC;AAKnF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,QAmC7D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { sortObjectKeys } from './sortObjectKeys.js';
|
|
2
|
+
import { compareSettings } from './compareSettings.js';
|
|
3
|
+
import { compareOverrides } from './compareOverrides.js';
|
|
4
|
+
/**
|
|
5
|
+
* Sorts the generated config so that we don't have unneeded changes due to differences in
|
|
6
|
+
* order of operations.
|
|
7
|
+
*/
|
|
8
|
+
export function sortGeneratedConfig(generated) {
|
|
9
|
+
// eslint-disable-next-line etc/no-deprecated
|
|
10
|
+
const { packageSettings = [], packageOverrides } = generated;
|
|
11
|
+
// Ensure package overrides are sorted based on package name and version requirement.
|
|
12
|
+
packageOverrides?.sort(compareOverrides);
|
|
13
|
+
packageSettings.sort(compareSettings);
|
|
14
|
+
for (let i = 0; i < packageSettings.length; i++) {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
+
const originalSetting = packageSettings[i];
|
|
17
|
+
const formattedSetting = {
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
19
|
+
match: originalSetting.match,
|
|
20
|
+
};
|
|
21
|
+
for (const key of Object.keys(originalSetting).sort()) {
|
|
22
|
+
if (key !== 'match') {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
24
|
+
const value = originalSetting[key];
|
|
25
|
+
if (Array.isArray(value)) {
|
|
26
|
+
formattedSetting[key] = value.sort();
|
|
27
|
+
}
|
|
28
|
+
else if (typeof value === 'object' && value !== null) {
|
|
29
|
+
formattedSetting[key] = sortObjectKeys(value);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
formattedSetting[key] = value;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
packageSettings.splice(i, 1, formattedSetting);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=sortGeneratedConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortGeneratedConfig.js","sourceRoot":"","sources":["../src/sortGeneratedConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAA0B;IAC5D,6CAA6C;IAC7C,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAE7D,qFAAqF;IACrF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,8DAA8D;QAC9D,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAwB,CAAC;QAClE,MAAM,gBAAgB,GAGlB;YACF,mEAAmE;YACnE,KAAK,EAAE,eAAe,CAAC,KAAK;SAC7B,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAA+B,EAAE,CAAC;YACnF,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,mEAAmE;gBACnE,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvC,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACvD,gBAAgB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;AACH,CAAC","sourcesContent":["import type { GeneratedConfig, PackageSettings } from '@ms-cloudpack/common-types';\nimport { sortObjectKeys } from './sortObjectKeys.js';\nimport { compareSettings } from './compareSettings.js';\nimport { compareOverrides } from './compareOverrides.js';\n\n/**\n * Sorts the generated config so that we don't have unneeded changes due to differences in\n * order of operations.\n */\nexport function sortGeneratedConfig(generated: GeneratedConfig) {\n // eslint-disable-next-line etc/no-deprecated\n const { packageSettings = [], packageOverrides } = generated;\n\n // Ensure package overrides are sorted based on package name and version requirement.\n packageOverrides?.sort(compareOverrides);\n packageSettings.sort(compareSettings);\n\n for (let i = 0; i < packageSettings.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const originalSetting = packageSettings[i] as Record<string, any>;\n const formattedSetting: {\n match: PackageSettings['match'];\n [key: string]: unknown;\n } = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n match: originalSetting.match,\n };\n\n for (const key of Object.keys(originalSetting).sort() as (keyof PackageSettings)[]) {\n if (key !== 'match') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const value = originalSetting[key];\n if (Array.isArray(value)) {\n formattedSetting[key] = value.sort();\n } else if (typeof value === 'object' && value !== null) {\n formattedSetting[key] = sortObjectKeys(value);\n } else {\n formattedSetting[key] = value;\n }\n }\n }\n\n packageSettings.splice(i, 1, formattedSetting);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortObjectKeys.d.ts","sourceRoot":"","sources":["../src/sortObjectKeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAQhG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Given an object, returns a new object with the keys sorted.
|
|
3
|
+
*/
|
|
4
|
+
export function sortObjectKeys(object) {
|
|
5
|
+
const sortedObject = {};
|
|
6
|
+
for (const key of Object.keys(object).sort()) {
|
|
7
|
+
sortedObject[key] = object[key];
|
|
8
|
+
}
|
|
9
|
+
return sortedObject;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=sortObjectKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortObjectKeys.js","sourceRoot":"","sources":["../src/sortObjectKeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,cAAc,CAA0C,MAAe;IACrF,MAAM,YAAY,GAAqB,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC;QAClE,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,YAAuB,CAAC;AACjC,CAAC","sourcesContent":["/**\n * Given an object, returns a new object with the keys sorted.\n */\nexport function sortObjectKeys<TObject extends Record<string, unknown>>(object: TObject): TObject {\n const sortedObject: Partial<TObject> = {};\n\n for (const key of Object.keys(object).sort() as (keyof TObject)[]) {\n sortedObject[key] = object[key];\n }\n\n return sortedObject as TObject;\n}\n"]}
|
package/lib/tsdoc-metadata.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeGeneratedConfig.d.ts","sourceRoot":"","sources":["../src/writeGeneratedConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"writeGeneratedConfig.d.ts","sourceRoot":"","sources":["../src/writeGeneratedConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAKlE;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,iBASlF"}
|
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
import { writeJson } from '@ms-cloudpack/json-utilities';
|
|
2
|
-
import { compareSettings } from './compareSettings.js';
|
|
3
2
|
import { getConfigPath } from './getConfigPath.js';
|
|
4
|
-
import { compareOverrides } from './compareOverrides.js';
|
|
5
3
|
import { generatedAppConfigSchemaUrl } from './schemaUrls.js';
|
|
4
|
+
import { sortGeneratedConfig } from './sortGeneratedConfig.js';
|
|
6
5
|
/**
|
|
7
6
|
* Writes generated config. This is used for `init` to provide package overrides needed.
|
|
8
7
|
*/
|
|
9
8
|
export async function writeGeneratedConfig(config, appPath) {
|
|
10
9
|
const { generatedConfigPath } = getConfigPath(appPath);
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line etc/no-deprecated
|
|
13
|
-
const { packageOverrides, packageSettings, ...rest } = config;
|
|
14
|
-
const sortedSettings = packageSettings?.sort(compareSettings);
|
|
15
|
-
const sortedOverrides = packageOverrides?.sort(compareOverrides);
|
|
10
|
+
sortGeneratedConfig(config);
|
|
16
11
|
return writeJson(generatedConfigPath, {
|
|
17
12
|
$schema: generatedAppConfigSchemaUrl,
|
|
18
|
-
...
|
|
19
|
-
packageSettings: sortedSettings,
|
|
20
|
-
packageOverrides: sortedOverrides,
|
|
13
|
+
...config,
|
|
21
14
|
});
|
|
22
15
|
}
|
|
23
16
|
//# sourceMappingURL=writeGeneratedConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeGeneratedConfig.js","sourceRoot":"","sources":["../src/writeGeneratedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"writeGeneratedConfig.js","sourceRoot":"","sources":["../src/writeGeneratedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAuB,EAAE,OAAe;IACjF,MAAM,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvD,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,SAAS,CAAC,mBAAmB,EAAE;QACpC,OAAO,EAAE,2BAA2B;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { writeJson } from '@ms-cloudpack/json-utilities';\nimport type { GeneratedConfig } from '@ms-cloudpack/common-types';\nimport { getConfigPath } from './getConfigPath.js';\nimport { generatedAppConfigSchemaUrl } from './schemaUrls.js';\nimport { sortGeneratedConfig } from './sortGeneratedConfig.js';\n\n/**\n * Writes generated config. This is used for `init` to provide package overrides needed.\n */\nexport async function writeGeneratedConfig(config: GeneratedConfig, appPath: string) {\n const { generatedConfigPath } = getConfigPath(appPath);\n\n sortGeneratedConfig(config);\n\n return writeJson(generatedConfigPath, {\n $schema: generatedAppConfigSchemaUrl,\n ...config,\n });\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/config",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.12",
|
|
4
4
|
"description": "Configuration handling for cloudpack.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@ms-cloudpack/common-types": "^0.6.
|
|
17
|
+
"@ms-cloudpack/common-types": "^0.6.1",
|
|
18
18
|
"@ms-cloudpack/json-utilities": "^0.1.4",
|
|
19
|
-
"@ms-cloudpack/package-utilities": "^7.4.
|
|
19
|
+
"@ms-cloudpack/package-utilities": "^7.4.10",
|
|
20
20
|
"import-meta-resolve": "^4.0.0",
|
|
21
21
|
"merge": "^2.1.1",
|
|
22
22
|
"semver": "^7.6.0"
|