@ms-cloudpack/config 0.17.1 → 0.17.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"compareSettings.d.ts","sourceRoot":"","sources":["../src/compareSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAS9E"}
1
+ {"version":3,"file":"compareSettings.d.ts","sourceRoot":"","sources":["../src/compareSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CA2B9E"}
@@ -1,6 +1,23 @@
1
1
  export function compareSettings(a, b) {
2
- const { name: aName = '', version: aVersion = '*' } = a.match || {};
3
- const { name: bName = '', version: bVersion = '*' } = b.match || {};
2
+ // TypeScript's type narrowing doesn't work well with object properties,
3
+ // so we can assign them to variables to help it out.
4
+ const aMatch = a.match;
5
+ const bMatch = b.match;
6
+ // Check if the match is a string.
7
+ const isAString = typeof aMatch === 'string';
8
+ const isBString = typeof bMatch === 'string';
9
+ // Place string matches at the beginning of the list.
10
+ if (isAString && isBString) {
11
+ return aMatch.localeCompare(bMatch);
12
+ }
13
+ else if (isAString) {
14
+ return 1;
15
+ }
16
+ else if (isBString) {
17
+ return -1;
18
+ }
19
+ const { name: aName = '', version: aVersion = '*' } = aMatch || {};
20
+ const { name: bName = '', version: bVersion = '*' } = bMatch || {};
4
21
  if (aName === bName) {
5
22
  return aVersion.localeCompare(bVersion);
6
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compareSettings.js","sourceRoot":"","sources":["../src/compareSettings.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,CAAkB,EAAE,CAAkB;IACpE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IACpE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAEpE,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KACzC;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC","sourcesContent":["import type { PackageSettings } from '@ms-cloudpack/config-types';\n\nexport function compareSettings(a: PackageSettings, b: PackageSettings): number {\n const { name: aName = '', version: aVersion = '*' } = a.match || {};\n const { name: bName = '', version: bVersion = '*' } = b.match || {};\n\n if (aName === bName) {\n return aVersion.localeCompare(bVersion);\n }\n\n return aName.localeCompare(bName);\n}\n"]}
1
+ {"version":3,"file":"compareSettings.js","sourceRoot":"","sources":["../src/compareSettings.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,CAAkB,EAAE,CAAkB;IACpE,wEAAwE;IACxE,qDAAqD;IACrD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;IACvB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;IAEvB,kCAAkC;IAClC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;IAE7C,qDAAqD;IACrD,IAAI,SAAS,IAAI,SAAS,EAAE;QAC1B,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KACrC;SAAM,IAAI,SAAS,EAAE;QACpB,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,SAAS,EAAE;QACpB,OAAO,CAAC,CAAC,CAAC;KACX;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IACnE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAEnE,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KACzC;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC","sourcesContent":["import type { PackageSettings } from '@ms-cloudpack/config-types';\n\nexport function compareSettings(a: PackageSettings, b: PackageSettings): number {\n // TypeScript's type narrowing doesn't work well with object properties,\n // so we can assign them to variables to help it out.\n const aMatch = a.match;\n const bMatch = b.match;\n\n // Check if the match is a string.\n const isAString = typeof aMatch === 'string';\n const isBString = typeof bMatch === 'string';\n\n // Place string matches at the beginning of the list.\n if (isAString && isBString) {\n return aMatch.localeCompare(bMatch);\n } else if (isAString) {\n return 1;\n } else if (isBString) {\n return -1;\n }\n\n const { name: aName = '', version: aVersion = '*' } = aMatch || {};\n const { name: bName = '', version: bVersion = '*' } = bMatch || {};\n\n if (aName === bName) {\n return aVersion.localeCompare(bVersion);\n }\n\n return aName.localeCompare(bName);\n}\n"]}
@@ -15,4 +15,18 @@ export declare function getPackageSettings(params: {
15
15
  userPackageSettings: PackageSettings | undefined;
16
16
  generatedPackageSettings: PackageSettings | undefined;
17
17
  };
18
+ /**
19
+ * Checks if the package is a match for the given package settings.
20
+ * @param name The name of the package.
21
+ * @param version The version of the package.
22
+ * @param match The match to check against.
23
+ * @param firstMatch If true, only the first matching package settings will be returned, rather than the merge of all viable settings.
24
+ * @returns True if the package is a match for the given package settings.
25
+ */
26
+ export declare function checkMatch(params: {
27
+ name: string;
28
+ version: string;
29
+ match: PackageSettings['match'];
30
+ firstMatch?: boolean;
31
+ }): boolean;
18
32
  //# sourceMappingURL=getPackageSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageSettings.d.ts","sourceRoot":"","sources":["../src/getPackageSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEnF;;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"}
1
+ {"version":3,"file":"getPackageSettings.d.ts","sourceRoot":"","sources":["../src/getPackageSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEnF;;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,CAUA;AAmBD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAgBV"}
@@ -7,7 +7,10 @@ export function getPackageSettings(params) {
7
7
  const { config } = params;
8
8
  return {
9
9
  userPackageSettings: filterSettings({ ...params, packageSettings: config.packageSettings }),
10
- generatedPackageSettings: filterSettings({ ...params, packageSettings: config.generated?.packageSettings }),
10
+ generatedPackageSettings: filterSettings({
11
+ ...params,
12
+ packageSettings: config.generated?.packageSettings,
13
+ }),
11
14
  };
12
15
  }
13
16
  /**
@@ -15,11 +18,33 @@ export function getPackageSettings(params) {
15
18
  */
16
19
  function filterSettings(params) {
17
20
  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;
21
+ if (firstMatch) {
22
+ return packageSettings?.find(({ match }) => checkMatch({ name, version, match, firstMatch }));
23
+ }
24
+ const filteredSettings = packageSettings?.filter(({ match }) => checkMatch({ name, version, match }));
25
+ return filteredSettings?.length ? mergePackageSettings(filteredSettings) : undefined;
26
+ }
27
+ /**
28
+ * Checks if the package is a match for the given package settings.
29
+ * @param name The name of the package.
30
+ * @param version The version of the package.
31
+ * @param match The match to check against.
32
+ * @param firstMatch If true, only the first matching package settings will be returned, rather than the merge of all viable settings.
33
+ * @returns True if the package is a match for the given package settings.
34
+ */
35
+ export function checkMatch(params) {
36
+ const { name, version, match, firstMatch } = params;
37
+ let matchName, matchVersion;
38
+ if (typeof match === 'string') {
39
+ matchName = match;
40
+ }
41
+ else {
42
+ matchName = match?.name;
43
+ matchVersion = match?.version;
44
+ }
45
+ if (firstMatch || !matchName.endsWith('*')) {
46
+ return matchName === name && (!matchVersion || satisfies(version, matchVersion));
47
+ }
48
+ return name.startsWith(matchName.slice(0, -1)) && (!matchVersion || satisfies(version, matchVersion));
24
49
  }
25
50
  //# 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;AAGjE;;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 { PackageSettings, CloudpackConfig } from '@ms-cloudpack/config-types';\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"]}
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;AAGjE;;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;YACvC,GAAG,MAAM;YACT,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,eAAe;SACnD,CAAC;KACH,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,IAAI,UAAU,EAAE;QACd,OAAO,eAAe,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;KAC/F;IACD,MAAM,gBAAgB,GAAG,eAAe,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtG,OAAO,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,MAK1B;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAEpD,IAAI,SAAS,EAAE,YAAY,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,SAAS,GAAG,KAAK,CAAC;KACnB;SAAM;QACL,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC;QACxB,YAAY,GAAG,KAAK,EAAE,OAAO,CAAC;KAC/B;IAED,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC1C,OAAO,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAClF;IAED,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACxG,CAAC","sourcesContent":["import { satisfies } from 'semver';\nimport { mergePackageSettings } from './mergePackageSettings.js';\nimport type { PackageSettings, CloudpackConfig } from '@ms-cloudpack/config-types';\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({\n ...params,\n packageSettings: config.generated?.packageSettings,\n }),\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 if (firstMatch) {\n return packageSettings?.find(({ match }) => checkMatch({ name, version, match, firstMatch }));\n }\n const filteredSettings = packageSettings?.filter(({ match }) => checkMatch({ name, version, match }));\n return filteredSettings?.length ? mergePackageSettings(filteredSettings) : undefined;\n}\n\n/**\n * Checks if the package is a match for the given package settings.\n * @param name The name of the package.\n * @param version The version of the package.\n * @param match The match to check against.\n * @param firstMatch If true, only the first matching package settings will be returned, rather than the merge of all viable settings.\n * @returns True if the package is a match for the given package settings.\n */\nexport function checkMatch(params: {\n name: string;\n version: string;\n match: PackageSettings['match'];\n firstMatch?: boolean;\n}): boolean {\n const { name, version, match, firstMatch } = params;\n\n let matchName, matchVersion;\n if (typeof match === 'string') {\n matchName = match;\n } else {\n matchName = match?.name;\n matchVersion = match?.version;\n }\n\n if (firstMatch || !matchName.endsWith('*')) {\n return matchName === name && (!matchVersion || satisfies(version, matchVersion));\n }\n\n return name.startsWith(matchName.slice(0, -1)) && (!matchVersion || satisfies(version, matchVersion));\n}\n"]}
package/lib/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { configTemplate } from './configTemplate.js';
2
2
  export { generatedConfigFileName, userConfigFileName } from './constants.js';
3
3
  export { createPackageDefinitions } from './createPackageDefinitions.js';
4
4
  export { getConfigPath } from './getConfigPath.js';
5
- export { getPackageSettings } from './getPackageSettings.js';
5
+ export { getPackageSettings, checkMatch } from './getPackageSettings.js';
6
6
  export { readConfig } from './readConfig.js';
7
7
  export { readGeneratedConfig } from './readGeneratedConfig.js';
8
8
  export { readUserConfig } from './readUserConfig.js';
@@ -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,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,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,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,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,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
package/lib/index.js CHANGED
@@ -2,7 +2,7 @@ export { configTemplate } from './configTemplate.js';
2
2
  export { generatedConfigFileName, userConfigFileName } from './constants.js';
3
3
  export { createPackageDefinitions } from './createPackageDefinitions.js';
4
4
  export { getConfigPath } from './getConfigPath.js';
5
- export { getPackageSettings } from './getPackageSettings.js';
5
+ export { getPackageSettings, checkMatch } from './getPackageSettings.js';
6
6
  export { readConfig } from './readConfig.js';
7
7
  export { readGeneratedConfig } from './readGeneratedConfig.js';
8
8
  export { readUserConfig } from './readUserConfig.js';
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,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["export { configTemplate } from './configTemplate.js';\nexport { generatedConfigFileName, userConfigFileName } from './constants.js';\nexport { createPackageDefinitions } from './createPackageDefinitions.js';\nexport { getConfigPath } from './getConfigPath.js';\nexport { getPackageSettings } from './getPackageSettings.js';\nexport { readConfig } from './readConfig.js';\nexport { readGeneratedConfig } from './readGeneratedConfig.js';\nexport { readUserConfig } from './readUserConfig.js';\nexport { writeGeneratedConfig } from './writeGeneratedConfig.js';\nexport { writeUserConfig } from './writeUserConfig.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,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,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,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["export { configTemplate } from './configTemplate.js';\nexport { generatedConfigFileName, userConfigFileName } 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 { readUserConfig } from './readUserConfig.js';\nexport { writeGeneratedConfig } from './writeGeneratedConfig.js';\nexport { writeUserConfig } from './writeUserConfig.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mergePackageSettings.d.ts","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,4BAA4B,CAAC;AAEtF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,CA+CjF"}
1
+ {"version":3,"file":"mergePackageSettings.d.ts","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,4BAA4B,CAAC;AAItF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,CAuDjF"}
@@ -1,3 +1,4 @@
1
+ const defaultInputPaths = ['src/**', '*.json', '!**/node_modules/**'];
1
2
  /**
2
3
  * Merges package settings together. Takes care to merge exports maps correctly.
3
4
  */
@@ -38,6 +39,13 @@ export function mergePackageSettings(settings) {
38
39
  if (setting.bundlerOptions) {
39
40
  acc.bundlerOptions = setting.bundlerOptions;
40
41
  }
42
+ if (setting.inputPaths) {
43
+ const defaultInputPathsIndex = setting.inputPaths.indexOf('...');
44
+ if (defaultInputPathsIndex > -1) {
45
+ setting.inputPaths.splice(defaultInputPathsIndex, 1, ...defaultInputPaths);
46
+ }
47
+ acc.inputPaths = [...(acc.inputPaths || []), ...setting.inputPaths];
48
+ }
41
49
  return acc;
42
50
  }, {});
43
51
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"mergePackageSettings.js","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE5B,IAAI,OAAO,EAAE;YACX,iDAAiD;YACjD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;gBAChB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;aACvB;iBAAM;gBACL,iEAAiE;gBACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAC/B,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAED,iGAAiG;gBACjG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,GAAG,CAAC,OAAgC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;iBACxD;qBAAM;oBACJ,GAAG,CAAC,OAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACrD;aACF;SACF;QAED,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;SACnG;QAED,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;SACnG;QAED,IAAI,OAAO,CAAC,mBAAmB,EAAE;YAC/B,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;SAChG;QAED,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;SACvC;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;SAC7C;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAqB,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { PackageSettings, PackageJsonExports } from '@ms-cloudpack/config-types';\n\n/**\n * Merges package settings together. Takes care to merge exports maps correctly.\n */\nexport function mergePackageSettings(settings: PackageSettings[]): PackageSettings {\n const result = settings.reduce((acc, setting) => {\n const { exports } = setting;\n\n if (exports) {\n // If we don't have any exports yet, just set it.\n if (!acc.exports) {\n acc.exports = exports;\n } else {\n // If we have an exports but it's not an array, make it an array.\n if (!Array.isArray(acc.exports)) {\n acc.exports = [acc.exports];\n }\n\n // If the accumulated exports is an array, expand the array to `push`; else push the single item.\n if (Array.isArray(exports)) {\n (acc.exports as PackageJsonExports[]).push(...exports);\n } else {\n (acc.exports as PackageJsonExports[]).push(exports);\n }\n }\n }\n\n if (setting.includedDependencies) {\n acc.includedDependencies = [...(acc.includedDependencies || []), ...setting.includedDependencies];\n }\n\n if (setting.excludedDependencies) {\n acc.excludedDependencies = [...(acc.excludedDependencies || []), ...setting.excludedDependencies];\n }\n\n if (setting.inlinedDependencies) {\n acc.inlinedDependencies = [...(acc.inlinedDependencies || []), ...setting.inlinedDependencies];\n }\n\n if (setting.bundlerType) {\n acc.bundlerType = setting.bundlerType;\n }\n\n if (setting.bundlerOptions) {\n acc.bundlerOptions = setting.bundlerOptions;\n }\n\n return acc;\n }, {} as PackageSettings);\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"mergePackageSettings.js","sourceRoot":"","sources":["../src/mergePackageSettings.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE5B,IAAI,OAAO,EAAE;YACX,iDAAiD;YACjD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;gBAChB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;aACvB;iBAAM;gBACL,iEAAiE;gBACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAC/B,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAED,iGAAiG;gBACjG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,GAAG,CAAC,OAAgC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;iBACxD;qBAAM;oBACJ,GAAG,CAAC,OAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACrD;aACF;SACF;QAED,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;SACnG;QAED,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;SACnG;QAED,IAAI,OAAO,CAAC,mBAAmB,EAAE;YAC/B,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;SAChG;QAED,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;SACvC;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;SAC7C;QAED,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,MAAM,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,sBAAsB,GAAG,CAAC,CAAC,EAAE;gBAC/B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;aAC5E;YACD,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;SACrE;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAqB,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { PackageSettings, PackageJsonExports } from '@ms-cloudpack/config-types';\n\nconst defaultInputPaths = ['src/**', '*.json', '!**/node_modules/**'];\n\n/**\n * Merges package settings together. Takes care to merge exports maps correctly.\n */\nexport function mergePackageSettings(settings: PackageSettings[]): PackageSettings {\n const result = settings.reduce((acc, setting) => {\n const { exports } = setting;\n\n if (exports) {\n // If we don't have any exports yet, just set it.\n if (!acc.exports) {\n acc.exports = exports;\n } else {\n // If we have an exports but it's not an array, make it an array.\n if (!Array.isArray(acc.exports)) {\n acc.exports = [acc.exports];\n }\n\n // If the accumulated exports is an array, expand the array to `push`; else push the single item.\n if (Array.isArray(exports)) {\n (acc.exports as PackageJsonExports[]).push(...exports);\n } else {\n (acc.exports as PackageJsonExports[]).push(exports);\n }\n }\n }\n\n if (setting.includedDependencies) {\n acc.includedDependencies = [...(acc.includedDependencies || []), ...setting.includedDependencies];\n }\n\n if (setting.excludedDependencies) {\n acc.excludedDependencies = [...(acc.excludedDependencies || []), ...setting.excludedDependencies];\n }\n\n if (setting.inlinedDependencies) {\n acc.inlinedDependencies = [...(acc.inlinedDependencies || []), ...setting.inlinedDependencies];\n }\n\n if (setting.bundlerType) {\n acc.bundlerType = setting.bundlerType;\n }\n\n if (setting.bundlerOptions) {\n acc.bundlerOptions = setting.bundlerOptions;\n }\n\n if (setting.inputPaths) {\n const defaultInputPathsIndex = setting.inputPaths.indexOf('...');\n if (defaultInputPathsIndex > -1) {\n setting.inputPaths.splice(defaultInputPathsIndex, 1, ...defaultInputPaths);\n }\n acc.inputPaths = [...(acc.inputPaths || []), ...setting.inputPaths];\n }\n\n return acc;\n }, {} as PackageSettings);\n\n return result;\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.38.1"
8
+ "packageVersion": "7.38.3"
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.17.1",
3
+ "version": "0.17.3",
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.22.0",
18
- "@ms-cloudpack/config-types": "^0.1.0",
17
+ "@ms-cloudpack/bundler-types": "^0.23.1",
18
+ "@ms-cloudpack/config-types": "^0.1.2",
19
19
  "@ms-cloudpack/json-utilities": "^0.1.2",
20
- "@ms-cloudpack/package-utilities": "^5.5.2",
20
+ "@ms-cloudpack/package-utilities": "^5.6.1",
21
21
  "semver": "^7.3.7"
22
22
  },
23
23
  "devDependencies": {