@ms-cloudpack/bundler 0.13.4 → 0.14.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.
@@ -1,7 +1,11 @@
1
- import type { BundleOptions, BundleResult } from '@ms-cloudpack/bundler-types';
1
+ import type { BundleOptions, BundleResult, PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
2
+ import type { CloudpackConfig } from '@ms-cloudpack/config';
2
3
  export type BundlePackageOptions = Omit<BundleOptions, 'entries'>;
3
4
  /**
4
5
  * Abstracted consumer input to the bundlePackage API.
5
6
  */
6
- export declare function bundlePackage(options: BundlePackageOptions): Promise<BundleResult>;
7
+ export declare function bundlePackage(options: BundlePackageOptions, context: {
8
+ packages: PackageDefinitionsCache;
9
+ config: CloudpackConfig;
10
+ }): Promise<BundleResult>;
7
11
  //# sourceMappingURL=bundlePackage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundlePackage.d.ts","sourceRoot":"","sources":["../src/bundlePackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAK/E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAElE;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,CASxF"}
1
+ {"version":3,"file":"bundlePackage.d.ts","sourceRoot":"","sources":["../src/bundlePackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAIxG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAElE;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE;IAAE,QAAQ,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACtE,OAAO,CAAC,YAAY,CAAC,CASvB"}
@@ -4,9 +4,9 @@ import { getEntriesMapFromPackage } from './getEntriesMapFromPackage.js';
4
4
  /**
5
5
  * Abstracted consumer input to the bundlePackage API.
6
6
  */
7
- export async function bundlePackage(options) {
8
- const entries = await getEntriesMapFromPackage(options);
9
- const { external = await getExternalsFromPackage(options) } = options;
7
+ export async function bundlePackage(options, context) {
8
+ const entries = await getEntriesMapFromPackage(options, context);
9
+ const { external = await getExternalsFromPackage(options, context) } = options;
10
10
  return await bundle({
11
11
  ...options,
12
12
  entries,
@@ -1 +1 @@
1
- {"version":3,"file":"bundlePackage.js","sourceRoot":"","sources":["../src/bundlePackage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA6B;IAC/D,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,EAAE,QAAQ,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC;IAEtE,OAAO,MAAM,MAAM,CAAC;QAClB,GAAG,OAAO;QACV,OAAO;QACP,QAAQ;KACT,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { BundleOptions, BundleResult } from '@ms-cloudpack/bundler-types';\nimport { bundle } from './bundle.js';\nimport { getExternalsFromPackage } from './getExternalsFromPackage.js';\nimport { getEntriesMapFromPackage } from './getEntriesMapFromPackage.js';\n\nexport type BundlePackageOptions = Omit<BundleOptions, 'entries'>;\n\n/**\n * Abstracted consumer input to the bundlePackage API.\n */\nexport async function bundlePackage(options: BundlePackageOptions): Promise<BundleResult> {\n const entries = await getEntriesMapFromPackage(options);\n const { external = await getExternalsFromPackage(options) } = options;\n\n return await bundle({\n ...options,\n entries,\n external,\n });\n}\n"]}
1
+ {"version":3,"file":"bundlePackage.js","sourceRoot":"","sources":["../src/bundlePackage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKzE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA6B,EAC7B,OAAuE;IAEvE,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,EAAE,QAAQ,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC;IAE/E,OAAO,MAAM,MAAM,CAAC;QAClB,GAAG,OAAO;QACV,OAAO;QACP,QAAQ;KACT,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { BundleOptions, BundleResult, PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { bundle } from './bundle.js';\nimport { getExternalsFromPackage } from './getExternalsFromPackage.js';\nimport { getEntriesMapFromPackage } from './getEntriesMapFromPackage.js';\nimport type { CloudpackConfig } from '@ms-cloudpack/config';\n\nexport type BundlePackageOptions = Omit<BundleOptions, 'entries'>;\n\n/**\n * Abstracted consumer input to the bundlePackage API.\n */\nexport async function bundlePackage(\n options: BundlePackageOptions,\n context: { packages: PackageDefinitionsCache; config: CloudpackConfig },\n): Promise<BundleResult> {\n const entries = await getEntriesMapFromPackage(options, context);\n const { external = await getExternalsFromPackage(options, context) } = options;\n\n return await bundle({\n ...options,\n entries,\n external,\n });\n}\n"]}
@@ -6,6 +6,7 @@ import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
6
6
  */
7
7
  export declare function getEntriesMapFromPackage(options: {
8
8
  inputPath: string;
9
- packages?: PackageDefinitionsCache;
9
+ }, context: {
10
+ packages: PackageDefinitionsCache;
10
11
  }): Promise<Record<string, string>>;
11
12
  //# sourceMappingURL=getEntriesMapFromPackage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getEntriesMapFromPackage.d.ts","sourceRoot":"","sources":["../src/getEntriesMapFromPackage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAM3E;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgClC"}
1
+ {"version":3,"file":"getEntriesMapFromPackage.d.ts","sourceRoot":"","sources":["../src/getEntriesMapFromPackage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAM3E;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,OAAO,EAAE;IACP,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgCjC"}
@@ -8,10 +8,10 @@ import { safeRelativePath } from '@ms-cloudpack/path-string-parsing';
8
8
  * the keys are relative paths to where the output should live, rather than how the entry is imported.
9
9
  * The data structure is used for bundler config; not for resolution of imports.
10
10
  */
11
- export async function getEntriesMapFromPackage(options) {
11
+ export async function getEntriesMapFromPackage(options, context) {
12
12
  const { inputPath } = options;
13
13
  const isInternal = !isExternalPackage(inputPath);
14
- const exportsMap = await getExportsMap(inputPath, options);
14
+ const exportsMap = await getExportsMap({ packagePath: inputPath }, context);
15
15
  const flattenedMap = flattenExportsMap(exportsMap);
16
16
  let sourceExportsMap;
17
17
  // The flattened map values tell us what physical files will show up in the import map on the page. We use these
@@ -1 +1 @@
1
- {"version":3,"file":"getEntriesMapFromPackage.js","sourceRoot":"","sources":["../src/getEntriesMapFromPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEtG,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAG9C;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,gBAAwC,CAAC;IAE7C,gHAAgH;IAChH,2FAA2F;IAE3F,gHAAgH;IAChH,mHAAmH;IACnH,kDAAkD;IAElD,IAAI,UAAU,EAAE;QACd,gBAAgB,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE7G,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBAC1B,gBAAgB,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC;aAC7E;SACF;KACF;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACrB,cAAc,CAAC,KAAK,CAAC;QACrB,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;KAClE,CAAC,CACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACxC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC1C;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,KAAa;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAC1B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACzC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC","sourcesContent":["import { flattenExportsMap, getExportsMap, isExternalPackage } from '@ms-cloudpack/package-utilities';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { intermediateToSourcePath, sourceExtensions } from '@ms-cloudpack/path-utilities';\nimport { isValidBundleEntry } from './isValidBundleEntry.js';\nimport path from 'path';\nimport { safeRelativePath } from '@ms-cloudpack/path-string-parsing';\n\n/**\n * Gets the entries map for a given package. An entries map is different from an exports map in that\n * the keys are relative paths to where the output should live, rather than how the entry is imported.\n * The data structure is used for bundler config; not for resolution of imports.\n */\nexport async function getEntriesMapFromPackage(options: {\n inputPath: string;\n packages?: PackageDefinitionsCache;\n}): Promise<Record<string, string>> {\n const { inputPath } = options;\n const isInternal = !isExternalPackage(inputPath);\n const exportsMap = await getExportsMap(inputPath, options);\n const flattenedMap = flattenExportsMap(exportsMap);\n let sourceExportsMap: Record<string, string>;\n\n // The flattened map values tell us what physical files will show up in the import map on the page. We use these\n // as the keys for the entries map, which results in physical file output from the bundler.\n\n // For internal packages, we want the values (the inputs to the each entry) to use source paths if available. To\n // get these, we can either derive from exports map \"source\" entries, or if those are not available, we can attempt\n // to derive source paths from intermediate paths.\n\n if (isInternal) {\n sourceExportsMap = flattenExportsMap(exportsMap, { conditions: ['source'], requiredConditions: ['source'] });\n\n for (const [key, value] of Object.entries(flattenedMap)) {\n if (!sourceExportsMap[key]) {\n sourceExportsMap[key] = intermediateToSourcePath(value, inputPath) || value;\n }\n }\n }\n\n return Object.fromEntries(\n Object.entries(flattenedMap)\n .filter(([, value]) => isValidBundleEntry(value))\n .map(([key, value]) => [\n toSafeEntryKey(value),\n makeSafeRelativePath(inputPath, sourceExportsMap?.[key] || value),\n ]),\n );\n}\n\n/**\n * When we derive keys, we want to preserve unknown script extensions. For others, remove them as the bundler\n * will add back `'.js'` for us in the output.\n */\nfunction toSafeEntryKey(entry: string): string {\n const extension = path.extname(entry);\n if (sourceExtensions.includes(extension)) {\n return entry.slice(0, -extension.length);\n }\n\n return entry;\n}\n\nfunction makeSafeRelativePath(inputPath: string, entry: string): string {\n if (path.isAbsolute(entry)) {\n entry = path.relative(inputPath, entry);\n }\n\n return safeRelativePath(entry);\n}\n"]}
1
+ {"version":3,"file":"getEntriesMapFromPackage.js","sourceRoot":"","sources":["../src/getEntriesMapFromPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEtG,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAEC,EACD,OAEC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,gBAAwC,CAAC;IAE7C,gHAAgH;IAChH,2FAA2F;IAE3F,gHAAgH;IAChH,mHAAmH;IACnH,kDAAkD;IAElD,IAAI,UAAU,EAAE;QACd,gBAAgB,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE7G,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBAC1B,gBAAgB,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC;aAC7E;SACF;KACF;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACrB,cAAc,CAAC,KAAK,CAAC;QACrB,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;KAClE,CAAC,CACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACxC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC1C;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,KAAa;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAC1B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACzC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC","sourcesContent":["import { flattenExportsMap, getExportsMap, isExternalPackage } from '@ms-cloudpack/package-utilities';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { intermediateToSourcePath, sourceExtensions } from '@ms-cloudpack/path-utilities';\nimport { isValidBundleEntry } from './isValidBundleEntry.js';\nimport path from 'path';\nimport { safeRelativePath } from '@ms-cloudpack/path-string-parsing';\n\n/**\n * Gets the entries map for a given package. An entries map is different from an exports map in that\n * the keys are relative paths to where the output should live, rather than how the entry is imported.\n * The data structure is used for bundler config; not for resolution of imports.\n */\nexport async function getEntriesMapFromPackage(\n options: {\n inputPath: string;\n },\n context: {\n packages: PackageDefinitionsCache;\n },\n): Promise<Record<string, string>> {\n const { inputPath } = options;\n const isInternal = !isExternalPackage(inputPath);\n const exportsMap = await getExportsMap({ packagePath: inputPath }, context);\n const flattenedMap = flattenExportsMap(exportsMap);\n let sourceExportsMap: Record<string, string>;\n\n // The flattened map values tell us what physical files will show up in the import map on the page. We use these\n // as the keys for the entries map, which results in physical file output from the bundler.\n\n // For internal packages, we want the values (the inputs to the each entry) to use source paths if available. To\n // get these, we can either derive from exports map \"source\" entries, or if those are not available, we can attempt\n // to derive source paths from intermediate paths.\n\n if (isInternal) {\n sourceExportsMap = flattenExportsMap(exportsMap, { conditions: ['source'], requiredConditions: ['source'] });\n\n for (const [key, value] of Object.entries(flattenedMap)) {\n if (!sourceExportsMap[key]) {\n sourceExportsMap[key] = intermediateToSourcePath(value, inputPath) || value;\n }\n }\n }\n\n return Object.fromEntries(\n Object.entries(flattenedMap)\n .filter(([, value]) => isValidBundleEntry(value))\n .map(([key, value]) => [\n toSafeEntryKey(value),\n makeSafeRelativePath(inputPath, sourceExportsMap?.[key] || value),\n ]),\n );\n}\n\n/**\n * When we derive keys, we want to preserve unknown script extensions. For others, remove them as the bundler\n * will add back `'.js'` for us in the output.\n */\nfunction toSafeEntryKey(entry: string): string {\n const extension = path.extname(entry);\n if (sourceExtensions.includes(extension)) {\n return entry.slice(0, -extension.length);\n }\n\n return entry;\n}\n\nfunction makeSafeRelativePath(inputPath: string, entry: string): string {\n if (path.isAbsolute(entry)) {\n entry = path.relative(inputPath, entry);\n }\n\n return safeRelativePath(entry);\n}\n"]}
@@ -1,9 +1,12 @@
1
1
  import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
2
+ import { type CloudpackConfig } from '@ms-cloudpack/config';
2
3
  /**
3
4
  * Reads a package definition and derives a flat array of dependencies to externalize for bundling.
4
5
  */
5
6
  export declare function getExternalsFromPackage(options: {
6
7
  inputPath: string;
7
- packages?: PackageDefinitionsCache;
8
+ }, context: {
9
+ packages: PackageDefinitionsCache;
10
+ config: CloudpackConfig;
8
11
  }): Promise<string[]>;
9
12
  //# sourceMappingURL=getExternalsFromPackage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getExternalsFromPackage.d.ts","sourceRoot":"","sources":["../src/getExternalsFromPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAI3E;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBpB"}
1
+ {"version":3,"file":"getExternalsFromPackage.d.ts","sourceRoot":"","sources":["../src/getExternalsFromPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,sBAAsB,CAAC;AAEhF;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,OAAO,EAAE;IACP,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,eAAe,CAAC;CACzB,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB"}
@@ -1,13 +1,15 @@
1
- import { PackageDefinitions } from '@ms-cloudpack/package-utilities';
2
1
  import { builtinModules } from 'module';
2
+ import { getPackageSettings } from '@ms-cloudpack/config';
3
3
  /**
4
4
  * Reads a package definition and derives a flat array of dependencies to externalize for bundling.
5
5
  */
6
- export async function getExternalsFromPackage(options) {
7
- const { inputPath, packages = PackageDefinitions.getInstance() } = options;
8
- const definition = await packages?.get(inputPath);
6
+ export async function getExternalsFromPackage(options, context) {
7
+ const { inputPath } = options;
8
+ const { packages, config } = context;
9
+ const definition = await packages.get(inputPath);
9
10
  if (definition) {
10
- return Array.from(new Set([
11
+ const { name = '', version = '' } = definition;
12
+ const externals = new Set([
11
13
  ...builtinModules,
12
14
  ...builtinModules.map((name) => `node:${name}`),
13
15
  ...Object.keys(definition.dependencies || {}),
@@ -15,7 +17,15 @@ export async function getExternalsFromPackage(options) {
15
17
  ...Object.keys(definition.peerDependencies || {}),
16
18
  ...Object.keys(definition.peerDependenciesMeta || {}),
17
19
  ...Object.keys(definition.optionalDependencies || {}),
18
- ]));
20
+ ]);
21
+ const packageSettings = getPackageSettings({ name, version, config });
22
+ // If dependencies are marked as inline, remove them from the externals list.
23
+ if (packageSettings?.inlinedDependencies) {
24
+ for (const dependency of packageSettings.inlinedDependencies) {
25
+ externals.delete(dependency);
26
+ }
27
+ }
28
+ return Array.from(externals);
19
29
  }
20
30
  return [];
21
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getExternalsFromPackage.js","sourceRoot":"","sources":["../src/getExternalsFromPackage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAG7C;IACC,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,kBAAkB,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC;IAC3E,MAAM,UAAU,GAAG,MAAM,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAElD,IAAI,UAAU,EAAE;QACd,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CAAC;YACN,GAAG,cAAc;YACjB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC/C,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;YAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;YAChD,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACjD,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,IAAI,EAAE,CAAC;YACrD,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,IAAI,EAAE,CAAC;SACtD,CAAC,CACH,CAAC;KACH;IAED,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { PackageDefinitions } from '@ms-cloudpack/package-utilities';\nimport { builtinModules } from 'module';\n\n/**\n * Reads a package definition and derives a flat array of dependencies to externalize for bundling.\n */\nexport async function getExternalsFromPackage(options: {\n inputPath: string;\n packages?: PackageDefinitionsCache;\n}): Promise<string[]> {\n const { inputPath, packages = PackageDefinitions.getInstance() } = options;\n const definition = await packages?.get(inputPath);\n\n if (definition) {\n return Array.from(\n new Set([\n ...builtinModules,\n ...builtinModules.map((name) => `node:${name}`),\n ...Object.keys(definition.dependencies || {}),\n ...Object.keys(definition.devDependencies || {}),\n ...Object.keys(definition.peerDependencies || {}),\n ...Object.keys(definition.peerDependenciesMeta || {}),\n ...Object.keys(definition.optionalDependencies || {}),\n ]),\n );\n }\n\n return [];\n}\n"]}
1
+ {"version":3,"file":"getExternalsFromPackage.js","sourceRoot":"","sources":["../src/getExternalsFromPackage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAwB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAEC,EACD,OAGC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,UAAU,EAAE;QACd,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;YACxB,GAAG,cAAc;YACjB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC/C,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;YAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;YAChD,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACjD,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,IAAI,EAAE,CAAC;YACrD,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,IAAI,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtE,6EAA6E;QAC7E,IAAI,eAAe,EAAE,mBAAmB,EAAE;YACxC,KAAK,MAAM,UAAU,IAAI,eAAe,CAAC,mBAAmB,EAAE;gBAC5D,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aAC9B;SACF;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9B;IAED,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { builtinModules } from 'module';\nimport { type CloudpackConfig, getPackageSettings } from '@ms-cloudpack/config';\n\n/**\n * Reads a package definition and derives a flat array of dependencies to externalize for bundling.\n */\nexport async function getExternalsFromPackage(\n options: {\n inputPath: string;\n },\n context: {\n packages: PackageDefinitionsCache;\n config: CloudpackConfig;\n },\n): Promise<string[]> {\n const { inputPath } = options;\n const { packages, config } = context;\n const definition = await packages.get(inputPath);\n\n if (definition) {\n const { name = '', version = '' } = definition;\n const externals = new Set([\n ...builtinModules,\n ...builtinModules.map((name) => `node:${name}`),\n ...Object.keys(definition.dependencies || {}),\n ...Object.keys(definition.devDependencies || {}),\n ...Object.keys(definition.peerDependencies || {}),\n ...Object.keys(definition.peerDependenciesMeta || {}),\n ...Object.keys(definition.optionalDependencies || {}),\n ]);\n const packageSettings = getPackageSettings({ name, version, config });\n\n // If dependencies are marked as inline, remove them from the externals list.\n if (packageSettings?.inlinedDependencies) {\n for (const dependency of packageSettings.inlinedDependencies) {\n externals.delete(dependency);\n }\n }\n\n return Array.from(externals);\n }\n\n return [];\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/bundler",
3
- "version": "0.13.4",
3
+ "version": "0.14.1",
4
4
  "description": "An abstraction to bundle source code.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -13,13 +13,14 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "@ms-cloudpack/json-utilities": "^0.0.6",
17
- "@ms-cloudpack/bundler-plugin-ori": "^0.11.1",
18
- "@ms-cloudpack/bundler-plugin-rollup": "^0.7.6",
19
- "@ms-cloudpack/bundler-types": "^0.15.0",
20
- "@ms-cloudpack/package-utilities": "^3.1.6",
21
- "@ms-cloudpack/path-string-parsing": "^1.0.2",
22
- "@ms-cloudpack/path-utilities": "^2.3.0"
16
+ "@ms-cloudpack/json-utilities": "^0.0.7",
17
+ "@ms-cloudpack/bundler-plugin-ori": "^0.11.3",
18
+ "@ms-cloudpack/bundler-plugin-rollup": "^0.7.8",
19
+ "@ms-cloudpack/bundler-types": "^0.16.0",
20
+ "@ms-cloudpack/config": "^0.8.1",
21
+ "@ms-cloudpack/package-utilities": "^5.0.0",
22
+ "@ms-cloudpack/path-string-parsing": "^1.0.3",
23
+ "@ms-cloudpack/path-utilities": "^2.3.1"
23
24
  },
24
25
  "devDependencies": {
25
26
  "@ms-cloudpack/eslint-plugin-internal": "*",