@ms-cloudpack/config 0.14.7 → 0.15.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.
@@ -4,7 +4,7 @@ import type { CloudpackConfig } from './types/CloudpackConfig.js';
4
4
  * Given a Cloudpack config, create a package definitions cache with transforms resulting from settings defined
5
5
  * within the config.
6
6
  */
7
- export declare function createPackageDefinitions({ config }: {
7
+ export declare function createPackageDefinitions(params: {
8
8
  config: CloudpackConfig;
9
9
  }): PackageDefinitionsCache;
10
10
  //# sourceMappingURL=createPackageDefinitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPackageDefinitions.d.ts","sourceRoot":"","sources":["../src/createPackageDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GAAG,uBAAuB,CAMzG"}
1
+ {"version":3,"file":"createPackageDefinitions.d.ts","sourceRoot":"","sources":["../src/createPackageDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GAAG,uBAAuB,CAOrG"}
@@ -4,7 +4,8 @@ import { createPackageOverrideTransform } from './createPackageOverrideTransform
4
4
  * Given a Cloudpack config, create a package definitions cache with transforms resulting from settings defined
5
5
  * within the config.
6
6
  */
7
- export function createPackageDefinitions({ config }) {
7
+ export function createPackageDefinitions(params) {
8
+ const { config } = params;
8
9
  const packages = new PackageDefinitions(undefined, config);
9
10
  packages.registerTransform((newConfig) => createPackageOverrideTransform(newConfig));
10
11
  return packages;
@@ -1 +1 @@
1
- {"version":3,"file":"createPackageDefinitions.js","sourceRoot":"","sources":["../src/createPackageDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAE,MAAM,EAA+B;IAC9E,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE3D,QAAQ,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC,SAA4B,CAAC,CAAC,CAAC;IAExG,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { PackageDefinitions } from '@ms-cloudpack/package-utilities';\nimport { createPackageOverrideTransform } from './createPackageOverrideTransform.js';\nimport type { CloudpackConfig } from './types/CloudpackConfig.js';\n\n/**\n * Given a Cloudpack config, create a package definitions cache with transforms resulting from settings defined\n * within the config.\n */\nexport function createPackageDefinitions({ config }: { config: CloudpackConfig }): PackageDefinitionsCache {\n const packages = new PackageDefinitions(undefined, config);\n\n packages.registerTransform((newConfig) => createPackageOverrideTransform(newConfig as CloudpackConfig));\n\n return packages;\n}\n"]}
1
+ {"version":3,"file":"createPackageDefinitions.js","sourceRoot":"","sources":["../src/createPackageDefinitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAmC;IAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE3D,QAAQ,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC,SAA4B,CAAC,CAAC,CAAC;IAExG,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { PackageDefinitions } from '@ms-cloudpack/package-utilities';\nimport { createPackageOverrideTransform } from './createPackageOverrideTransform.js';\nimport type { CloudpackConfig } from './types/CloudpackConfig.js';\n\n/**\n * Given a Cloudpack config, create a package definitions cache with transforms resulting from settings defined\n * within the config.\n */\nexport function createPackageDefinitions(params: { config: CloudpackConfig }): PackageDefinitionsCache {\n const { config } = params;\n const packages = new PackageDefinitions(undefined, config);\n\n packages.registerTransform((newConfig) => createPackageOverrideTransform(newConfig as CloudpackConfig));\n\n return packages;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"createPackageOverrideTransform.d.ts","sourceRoot":"","sources":["../src/createPackageOverrideTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAwC,MAAM,6BAA6B,CAAC;AACpH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,GAAG,0BAA0B,CAmDlG"}
1
+ {"version":3,"file":"createPackageOverrideTransform.d.ts","sourceRoot":"","sources":["../src/createPackageOverrideTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,GAAG,0BAA0B,CAmDlG"}
@@ -5,14 +5,14 @@ import { getExportsMap } from '@ms-cloudpack/package-utilities';
5
5
  * to package.json definitions.
6
6
  */
7
7
  export function createPackageOverrideTransform(config) {
8
- return async (packageDefinition, packagePath, packages) => {
9
- const { name = '', version = '' } = packageDefinition;
8
+ return async ({ definition, packagePath, packages }) => {
9
+ const { name = '', version = '' } = definition;
10
10
  const { userPackageSettings, generatedPackageSettings } = getPackageSettings({ name, version, config });
11
11
  if (!userPackageSettings && !generatedPackageSettings) {
12
12
  return undefined;
13
13
  }
14
14
  const result = {
15
- ...packageDefinition,
15
+ ...definition,
16
16
  exports: userPackageSettings?.exports || (await getExportsMap({ packagePath, disableTransforms: true }, { packages })),
17
17
  };
18
18
  // If we have generated overrides, apply them.
@@ -1 +1 @@
1
- {"version":3,"file":"createPackageOverrideTransform.js","sourceRoot":"","sources":["../src/createPackageOverrideTransform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAuB;IACpE,OAAO,KAAK,EAAE,iBAA8B,EAAE,WAAmB,EAAE,QAAiC,EAAE,EAAE;QACtG,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,iBAAiB,CAAC;QACtD,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAExG,IAAI,CAAC,mBAAmB,IAAI,CAAC,wBAAwB,EAAE;YACrD,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,MAAM,GAAG;YACb,GAAG,iBAAiB;YACpB,OAAO,EACL,mBAAmB,EAAE,OAAO,IAAI,CAAC,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;SAChH,CAAC;QAEF,8CAA8C;QAC9C,IAAI,wBAAwB,EAAE,OAAO,EAAE;YACrC,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;SACrE;QAED,8CAA8C;QAC9C,MAAM,oBAAoB,GAAG;YAC3B,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,wBAAwB,EAAE,oBAAoB,IAAI,EAAE,CAAC;SAC1D,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE;gBAC/B,mDAAmD;gBACnD,MAAM,CAAC,YAAY,KAAK,EAAE,CAAC;gBAE3B,4DAA4D;gBAC5D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;oBACtB,MAAM,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;aAChH;SACF;QAED,iDAAiD;QACjD,MAAM,oBAAoB,GAAG;YAC3B,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,wBAAwB,EAAE,oBAAoB,IAAI,EAAE,CAAC;SAC1D,CAAC;QAEF,IAAI,oBAAoB,EAAE,MAAM,EAAE;YAChC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CACtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAClG,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { PackageDefinitionTransform, PackageDefinitionsCache, PackageJson } from '@ms-cloudpack/bundler-types';\nimport type { CloudpackConfig } from './types/CloudpackConfig.js';\nimport { getPackageSettings } from './getPackageSettings.js';\nimport { getExportsMap } from '@ms-cloudpack/package-utilities';\n\n/**\n * Creates a transform to be registered with a PackageDefinitions registry for applying overrides to from the config\n * to package.json definitions.\n */\nexport function createPackageOverrideTransform(config: CloudpackConfig): PackageDefinitionTransform {\n return async (packageDefinition: PackageJson, packagePath: string, packages: PackageDefinitionsCache) => {\n const { name = '', version = '' } = packageDefinition;\n const { userPackageSettings, generatedPackageSettings } = getPackageSettings({ name, version, config });\n\n if (!userPackageSettings && !generatedPackageSettings) {\n return undefined;\n }\n\n const result = {\n ...packageDefinition,\n exports:\n userPackageSettings?.exports || (await getExportsMap({ packagePath, disableTransforms: true }, { packages })),\n };\n\n // If we have generated overrides, apply them.\n if (generatedPackageSettings?.exports) {\n result.exports = [result.exports, generatedPackageSettings.exports];\n }\n\n // If we have included dependencies, add them.\n const includedDependencies = [\n ...(userPackageSettings?.includedDependencies || []),\n ...(generatedPackageSettings?.includedDependencies || []),\n ];\n\n for (const dep of includedDependencies) {\n if (!result.dependencies?.[dep]) {\n // Initialize dependencies map if it doesn't exist.\n result.dependencies ??= {};\n\n // Add the dependency from other sources, or use a wildcard.\n result.dependencies[dep] =\n result.devDependencies?.[dep] || result.peerDependencies?.[dep] || result.optionalDependencies?.[dep] || '*';\n }\n }\n\n // If we have excluded dependencies, remove them.\n const excludedDependencies = [\n ...(userPackageSettings?.excludedDependencies || []),\n ...(generatedPackageSettings?.excludedDependencies || []),\n ];\n\n if (excludedDependencies?.length) {\n result.dependencies = Object.fromEntries(\n Object.entries(result.dependencies || {}).filter(([dep]) => !excludedDependencies?.includes(dep)),\n );\n }\n\n return result;\n };\n}\n"]}
1
+ {"version":3,"file":"createPackageOverrideTransform.js","sourceRoot":"","sources":["../src/createPackageOverrideTransform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;;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,IAAI,CAAC,mBAAmB,IAAI,CAAC,wBAAwB,EAAE;YACrD,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,MAAM,GAAG;YACb,GAAG,UAAU;YACb,OAAO,EACL,mBAAmB,EAAE,OAAO,IAAI,CAAC,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;SAChH,CAAC;QAEF,8CAA8C;QAC9C,IAAI,wBAAwB,EAAE,OAAO,EAAE;YACrC,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;SACrE;QAED,8CAA8C;QAC9C,MAAM,oBAAoB,GAAG;YAC3B,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,wBAAwB,EAAE,oBAAoB,IAAI,EAAE,CAAC;SAC1D,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE;gBAC/B,mDAAmD;gBACnD,MAAM,CAAC,YAAY,KAAK,EAAE,CAAC;gBAE3B,4DAA4D;gBAC5D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;oBACtB,MAAM,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;aAChH;SACF;QAED,iDAAiD;QACjD,MAAM,oBAAoB,GAAG;YAC3B,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,wBAAwB,EAAE,oBAAoB,IAAI,EAAE,CAAC;SAC1D,CAAC;QAEF,IAAI,oBAAoB,EAAE,MAAM,EAAE;YAChC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CACtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAClG,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { PackageDefinitionTransform } from '@ms-cloudpack/bundler-types';\nimport type { CloudpackConfig } from './types/CloudpackConfig.js';\nimport { getPackageSettings } from './getPackageSettings.js';\nimport { getExportsMap } from '@ms-cloudpack/package-utilities';\n\n/**\n * Creates a transform to be registered with a PackageDefinitions registry for applying overrides to from the config\n * to package.json definitions.\n */\nexport function createPackageOverrideTransform(config: CloudpackConfig): PackageDefinitionTransform {\n return async ({ definition, packagePath, packages }) => {\n const { name = '', version = '' } = definition;\n const { userPackageSettings, generatedPackageSettings } = getPackageSettings({ name, version, config });\n\n if (!userPackageSettings && !generatedPackageSettings) {\n return undefined;\n }\n\n const result = {\n ...definition,\n exports:\n userPackageSettings?.exports || (await getExportsMap({ packagePath, disableTransforms: true }, { packages })),\n };\n\n // If we have generated overrides, apply them.\n if (generatedPackageSettings?.exports) {\n result.exports = [result.exports, generatedPackageSettings.exports];\n }\n\n // If we have included dependencies, add them.\n const includedDependencies = [\n ...(userPackageSettings?.includedDependencies || []),\n ...(generatedPackageSettings?.includedDependencies || []),\n ];\n\n for (const dep of includedDependencies) {\n if (!result.dependencies?.[dep]) {\n // Initialize dependencies map if it doesn't exist.\n result.dependencies ??= {};\n\n // Add the dependency from other sources, or use a wildcard.\n result.dependencies[dep] =\n result.devDependencies?.[dep] || result.peerDependencies?.[dep] || result.optionalDependencies?.[dep] || '*';\n }\n }\n\n // If we have excluded dependencies, remove them.\n const excludedDependencies = [\n ...(userPackageSettings?.excludedDependencies || []),\n ...(generatedPackageSettings?.excludedDependencies || []),\n ];\n\n if (excludedDependencies?.length) {\n result.dependencies = Object.fromEntries(\n Object.entries(result.dependencies || {}).filter(([dep]) => !excludedDependencies?.includes(dep)),\n );\n }\n\n return result;\n };\n}\n"]}
@@ -3,7 +3,7 @@ import type { PackageSettings } from './types/PackageSettings.js';
3
3
  /**
4
4
  * Gets the single set of package settings for a given package using the given config.
5
5
  */
6
- export declare function getPackageSettings({ name, version, config, firstMatch, }: {
6
+ export declare function getPackageSettings(params: {
7
7
  name: string;
8
8
  version: string;
9
9
  config: CloudpackConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageSettings.d.ts","sourceRoot":"","sources":["../src/getPackageSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG;IACF,mBAAmB,EAAE,eAAe,GAAG,SAAS,CAAC;IACjD,wBAAwB,EAAE,eAAe,GAAG,SAAS,CAAC;CACvD,CAgBA"}
1
+ {"version":3,"file":"getPackageSettings.d.ts","sourceRoot":"","sources":["../src/getPackageSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG;IACF,mBAAmB,EAAE,eAAe,GAAG,SAAS,CAAC;IACjD,wBAAwB,EAAE,eAAe,GAAG,SAAS,CAAC;CACvD,CAOA"}
@@ -3,29 +3,23 @@ import { mergePackageSettings } from './mergePackageSettings.js';
3
3
  /**
4
4
  * Gets the single set of package settings for a given package using the given config.
5
5
  */
6
- export function getPackageSettings({ name, version, config, firstMatch, }) {
7
- const userPackageSettings = config.packageSettings?.filter(filterPackageSettings(name, version));
8
- const generatedPackageSettings = config.generated?.packageSettings?.filter(filterPackageSettings(name, version));
6
+ export function getPackageSettings(params) {
7
+ const { config } = params;
9
8
  return {
10
- userPackageSettings: userPackageSettings?.length
11
- ? firstMatch
12
- ? userPackageSettings?.[0]
13
- : mergePackageSettings(userPackageSettings)
14
- : undefined,
15
- generatedPackageSettings: generatedPackageSettings?.length
16
- ? firstMatch
17
- ? generatedPackageSettings?.[0]
18
- : mergePackageSettings(generatedPackageSettings)
19
- : undefined,
9
+ userPackageSettings: filterSettings({ ...params, packageSettings: config.packageSettings }),
10
+ generatedPackageSettings: filterSettings({ ...params, packageSettings: config.generated?.packageSettings }),
20
11
  };
21
12
  }
22
13
  /**
23
- * Helper for filtering out package settings applicable to a given package name and version.
14
+ * Get the package settings for a given package name and version.
24
15
  */
25
- const filterPackageSettings = (name, version) => ({ match }) => {
26
- if (match?.name === name) {
27
- return !match.version || satisfies(version, match.version);
28
- }
29
- return false;
30
- };
16
+ function filterSettings(params) {
17
+ const { name, version, packageSettings, firstMatch } = params;
18
+ const filteredSettings = packageSettings?.filter(({ match }) => match?.name === name && (!match.version || satisfies(version, match.version)));
19
+ return filteredSettings?.length
20
+ ? firstMatch
21
+ ? filteredSettings[0]
22
+ : mergePackageSettings(filteredSettings)
23
+ : undefined;
24
+ }
31
25
  //# sourceMappingURL=getPackageSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageSettings.js","sourceRoot":"","sources":["../src/getPackageSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,UAAU,GAWX;IAIC,MAAM,mBAAmB,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACjG,MAAM,wBAAwB,GAAG,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEjH,OAAO;QACL,mBAAmB,EAAE,mBAAmB,EAAE,MAAM;YAC9C,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC1B,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YAC7C,CAAC,CAAC,SAAS;QACb,wBAAwB,EAAE,wBAAwB,EAAE,MAAM;YACxD,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;YAClD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,qBAAqB,GACzB,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CAClC,CAAC,EAAE,KAAK,EAAmB,EAAE,EAAE;IAC7B,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5D;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import { satisfies } from 'semver';\nimport { mergePackageSettings } from './mergePackageSettings.js';\nimport type { CloudpackConfig } from './types/CloudpackConfig.js';\nimport type { PackageSettings } from './types/PackageSettings.js';\n\n/**\n * Gets the single set of package settings for a given package using the given config.\n */\nexport function getPackageSettings({\n name,\n version,\n config,\n firstMatch,\n}: {\n name: string;\n version: string;\n config: CloudpackConfig;\n\n /**\n * If true, only the first matching package settings will be returned, rather than the merge of all viable settings.\n * This is useful in the `init` case, where we want to attach new settings to the first matching entry.\n */\n firstMatch?: boolean;\n}): {\n userPackageSettings: PackageSettings | undefined;\n generatedPackageSettings: PackageSettings | undefined;\n} {\n const userPackageSettings = config.packageSettings?.filter(filterPackageSettings(name, version));\n const generatedPackageSettings = config.generated?.packageSettings?.filter(filterPackageSettings(name, version));\n\n return {\n userPackageSettings: userPackageSettings?.length\n ? firstMatch\n ? userPackageSettings?.[0]\n : mergePackageSettings(userPackageSettings)\n : undefined,\n generatedPackageSettings: generatedPackageSettings?.length\n ? firstMatch\n ? generatedPackageSettings?.[0]\n : mergePackageSettings(generatedPackageSettings)\n : undefined,\n };\n}\n\n/**\n * Helper for filtering out package settings applicable to a given package name and version.\n */\nconst filterPackageSettings =\n (name: string, version: string) =>\n ({ match }: PackageSettings) => {\n if (match?.name === name) {\n return !match.version || satisfies(version, match.version);\n }\n\n return false;\n };\n"]}
1
+ {"version":3,"file":"getPackageSettings.js","sourceRoot":"","sources":["../src/getPackageSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MASlC;IAIC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE1B,OAAO;QACL,mBAAmB,EAAE,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3F,wBAAwB,EAAE,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC;KAC5G,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,MAEC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9D,MAAM,gBAAgB,GAAG,eAAe,EAAE,MAAM,CAC9C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAC7F,CAAC;IAEF,OAAO,gBAAgB,EAAE,MAAM;QAC7B,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;QAC1C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC","sourcesContent":["import { satisfies } from 'semver';\nimport { mergePackageSettings } from './mergePackageSettings.js';\nimport type { CloudpackConfig } from './types/CloudpackConfig.js';\nimport type { PackageSettings } from './types/PackageSettings.js';\n\n/**\n * Gets the single set of package settings for a given package using the given config.\n */\nexport function getPackageSettings(params: {\n name: string;\n version: string;\n config: CloudpackConfig;\n /**\n * If true, only the first matching package settings will be returned, rather than the merge of all viable settings.\n * This is useful in the `init` case, where we want to attach new settings to the first matching entry.\n */\n firstMatch?: boolean;\n}): {\n userPackageSettings: PackageSettings | undefined;\n generatedPackageSettings: PackageSettings | undefined;\n} {\n const { config } = params;\n\n return {\n userPackageSettings: filterSettings({ ...params, packageSettings: config.packageSettings }),\n generatedPackageSettings: filterSettings({ ...params, packageSettings: config.generated?.packageSettings }),\n };\n}\n\n/**\n * Get the package settings for a given package name and version.\n */\nfunction filterSettings(\n params: Omit<Parameters<typeof getPackageSettings>[0], 'config'> & {\n packageSettings: PackageSettings[] | undefined;\n },\n): PackageSettings | undefined {\n const { name, version, packageSettings, firstMatch } = params;\n\n const filteredSettings = packageSettings?.filter(\n ({ match }) => match?.name === name && (!match.version || satisfies(version, match.version)),\n );\n\n return filteredSettings?.length\n ? firstMatch\n ? filteredSettings[0]\n : mergePackageSettings(filteredSettings)\n : undefined;\n}\n"]}
@@ -6,6 +6,6 @@ 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)) || {};
9
+ return (await readJson(generatedConfigPath, { verbose: true, mode: 'permissive' })) || {};
10
10
  }
11
11
  //# 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,CAAC,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC","sourcesContent":["import { readJson } from '@ms-cloudpack/json-utilities';\nimport { getConfigPath } from './getConfigPath.js';\nimport type { GeneratedConfig } from './types/GeneratedConfig.js';\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 (await readJson(generatedConfigPath)) || {};\n}\n"]}
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;AAC5F,CAAC","sourcesContent":["import { readJson } from '@ms-cloudpack/json-utilities';\nimport { getConfigPath } from './getConfigPath.js';\nimport type { GeneratedConfig } from './types/GeneratedConfig.js';\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 (await readJson(generatedConfigPath, { verbose: true, mode: 'permissive' })) || {};\n}\n"]}
@@ -6,6 +6,6 @@ import { getConfigPath } from './getConfigPath.js';
6
6
  */
7
7
  export async function readUserConfig(appPath) {
8
8
  const { userConfigPath } = getConfigPath(appPath);
9
- return (await readJson(userConfigPath)) || {};
9
+ return (await readJson(userConfigPath, { verbose: true, mode: 'permissive' })) || {};
10
10
  }
11
11
  //# sourceMappingURL=readUserConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readUserConfig.js","sourceRoot":"","sources":["../src/readUserConfig.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,cAAc,CAAC,OAAe;IAClD,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO,CAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC","sourcesContent":["import { readJson } from '@ms-cloudpack/json-utilities';\nimport { getConfigPath } from './getConfigPath.js';\nimport type { UserConfig } from './index.js';\n\n/**\n * Reads the user config file 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 readUserConfig(appPath: string): Promise<UserConfig> {\n const { userConfigPath } = getConfigPath(appPath);\n\n return (await readJson(userConfigPath)) || {};\n}\n"]}
1
+ {"version":3,"file":"readUserConfig.js","sourceRoot":"","sources":["../src/readUserConfig.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,cAAc,CAAC,OAAe;IAClD,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACvF,CAAC","sourcesContent":["import { readJson } from '@ms-cloudpack/json-utilities';\nimport { getConfigPath } from './getConfigPath.js';\nimport type { UserConfig } from './index.js';\n\n/**\n * Reads the user config file 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 readUserConfig(appPath: string): Promise<UserConfig> {\n const { userConfigPath } = getConfigPath(appPath);\n\n return (await readJson(userConfigPath, { verbose: true, mode: 'permissive' })) || {};\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.37.1"
8
+ "packageVersion": "7.38.1"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/config",
3
- "version": "0.14.7",
3
+ "version": "0.15.0",
4
4
  "description": "Configuration handling for cloudpack.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -14,10 +14,10 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@ms-cloudpack/bundler-types": "^0.20.0",
17
+ "@ms-cloudpack/bundler-types": "^0.21.0",
18
18
  "@ms-cloudpack/create-express-app": "^1.3.12",
19
- "@ms-cloudpack/json-utilities": "^0.0.8",
20
- "@ms-cloudpack/package-utilities": "^5.3.1",
19
+ "@ms-cloudpack/json-utilities": "^0.1.0",
20
+ "@ms-cloudpack/package-utilities": "^5.4.0",
21
21
  "semver": "^7.3.7"
22
22
  },
23
23
  "devDependencies": {