@ms-cloudpack/api-server 0.61.3 → 0.61.4

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":"addOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAUlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,cAAc,GAAG;IACpB,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;CACpC,CAAC;AAaF;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,CAAC,GAC3D,OAAO,CAAC,cAAc,CAAC,CA2GzB"}
1
+ {"version":3,"file":"addOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAUlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,cAAc,GAAG;IACpB,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;CACpC,CAAC;AAaF;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,CAAC,GAC3D,OAAO,CAAC,cAAc,CAAC,CAiHzB"}
@@ -67,11 +67,16 @@ export async function addOverride(options, context) {
67
67
  }
68
68
  else {
69
69
  const generatedExports = (generatedPackageSettings.exports ??= {});
70
+ const { bundlerCapabilities } = (await packages.get(packagePath)).cloudpack || {};
71
+ const resolveWebExtensions =
72
+ // eslint-disable-next-line etc/no-deprecated
73
+ bundlerCapabilities?.['resolve-web-extensions'] ?? Boolean(session.config.features?.resolveWebExtensions);
70
74
  // Add the single new exports entry to the exports map.
71
75
  addedOverride = await addExportsMapEntry({
72
76
  exports: generatedExports,
73
77
  packagePath,
74
78
  importPath,
79
+ resolveWebExtensions,
75
80
  }, { packages, config: session.config });
76
81
  if (!addedOverride) {
77
82
  console.warn(`Unable to add override for package "${packageName}" to "cloudpack.generated.json".` +
@@ -1 +1 @@
1
- {"version":3,"file":"addOverride.js","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAWnF;;;;;GAKG;AACH,IAAI,iBAAiB,GAA4B,OAAO,CAAC,OAAO,CAAC;IAC/D,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAwB,EACxB,OAA4D;IAE5D,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACpD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAChE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,UAAU,GAAG,SAAS,CAAC;QAE3B,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,oBAAoB,UAAU,+DAA+D,CAAC,CAAC;YAC7G,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC7C,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1G,UAAU,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAChC,WAAW;YACX,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,UAAU;YACtB,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,WAAW,kBAAkB,CAAC,CAAC;YACjF,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;QAE/B,6GAA6G;QAC7G,2CAA2C;QAC3C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAE/D,qEAAqE;QACrE,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,oBAAoB,UAAU,4CAA4C,WAAW,IAAI,CAAC,CAAC;YACzG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,2CAA2C;QAC3C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE3D,iCAAiC;QACjC,MAAM,wBAAwB,GAAG,MAAM,iCAAiC,CACtE,EAAE,WAAW,EAAE,EACf,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,CACrD,CAAC;QAEF,IAAI,wBAAwB,EAAE,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;YACzG,OAAO,wBAAwB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC9D,iBAAiB,GAAG,IAAI,CAAC;YAEzB,IAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,OAAO,wBAAwB,CAAC,OAAO,CAAC;YAC1C,CAAC;YACD,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,CAAC,wBAAwB,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAEnE,uDAAuD;YACvD,aAAa,GAAG,MAAM,kBAAkB,CACtC;gBACE,OAAO,EAAE,gBAAgB;gBACzB,WAAW;gBACX,UAAU;aACX,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACrC,CAAC;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CACV,uCAAuC,WAAW,kCAAkC;oBAClF,cAAc,oBAAoB,uBAAuB;oBACzD,8CAA8C,CACjD,CAAC;gBACF,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,WAAW,YAAY,oBAAoB,IAAI,CAAC;QACjE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,mCAAmC,CAAC,CAAC;gBAC1F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,iCAAiC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC","sourcesContent":["import type { ResolveMapEntry } from '@ms-cloudpack/common-types';\nimport { ensureGeneratedSettingsForPackage, readGeneratedConfig, writeGeneratedConfig } from '@ms-cloudpack/config';\nimport { parseRequestInfo } from '@ms-cloudpack/import-map';\nimport {\n addExportsMapEntry,\n findResolveMapEntry,\n flattenExportsMap,\n getExportsMap,\n} from '@ms-cloudpack/package-utilities';\nimport { makeUrl, normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport type { PartialContext } from '../types/Context.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\n\ntype OverrideReturn = {\n /** Whether the override was successfully added */\n addedOverride: boolean;\n /** The entry (if any) in the resolve map the override was added to */\n entry: ResolveMapEntry | undefined;\n};\n\n/**\n * Helper so that when addOverride is called multiple times in quick succession, we only process one at a time.\n * This is to avoid that multiple calls of addOverride first read the same version of the generated config,\n * then write the same version of the config with its corresponding update,\n * which would result in the last call overwriting the changes of the previous calls.\n */\nlet overrideInProcess: Promise<OverrideReturn> = Promise.resolve({\n addedOverride: false,\n entry: undefined,\n});\n\n/**\n * The addOverride method is triggered by a user action in the overlay, when we detect new usage of an import path\n * that isn't recognized. When the user triggers this override, we write it to the cloudpack generated config.\n */\nexport async function addOverride(\n options: OverrideOptions,\n context: PartialContext<'packages', 'config' | 'resolveMap'>,\n): Promise<OverrideReturn> {\n overrideInProcess = overrideInProcess.then(async () => {\n const { packageName, importPath, version, issuerUrl } = options;\n const { session, packages } = context;\n const { appPath } = session.config;\n let addedOverride = false;\n let deletedNullExport = false;\n let requiredBy = undefined;\n\n if (importPath.endsWith('/')) {\n console.error(`The import path \"${importPath}\" is invalid. Please remove the trailing slash and try again.`);\n return { addedOverride, entry: undefined };\n }\n\n if (issuerUrl) {\n const { packageName: issuerName, version: issuerVersion } = parseRequestInfo(makeUrl(issuerUrl).pathname);\n requiredBy = { name: issuerName, version: issuerVersion };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition: requiredBy,\n version,\n });\n\n if (!entry) {\n console.error(`Could not find entry of package \"${packageName}\" in resolve map`);\n return { addedOverride, entry };\n }\n\n const packagePath = entry.path;\n\n // Get current exports. We want to add an additional entry to what's there - not replace the default exports,\n // so we need the full map for the package.\n const exports = await getExportsMap({ packagePath }, { packages, config: session.config });\n const flattenedExports = flattenExportsMap(exports);\n const normalizedImportPath = normalizeRelativePath(importPath);\n\n // Return false if the import path already exists in the exports map.\n if (flattenedExports[normalizedImportPath]) {\n console.debug(`The import path \"${importPath}\" already exists in the exports map for \"${packageName}\".`);\n return { addedOverride, entry };\n }\n\n // Parse the generated config if it exists.\n const generatedConfig = await readGeneratedConfig(appPath);\n\n // Ensure packageSettings exists.\n const generatedPackageSettings = await ensureGeneratedSettingsForPackage(\n { packagePath },\n { config: { generated: generatedConfig }, packages },\n );\n\n if (generatedPackageSettings?.exports && generatedPackageSettings.exports[normalizedImportPath] === null) {\n delete generatedPackageSettings.exports[normalizedImportPath];\n deletedNullExport = true;\n\n if (Object.keys(generatedPackageSettings.exports).length === 0) {\n delete generatedPackageSettings.exports;\n }\n addedOverride = true;\n } else {\n const generatedExports = (generatedPackageSettings.exports ??= {});\n\n // Add the single new exports entry to the exports map.\n addedOverride = await addExportsMapEntry(\n {\n exports: generatedExports,\n packagePath,\n importPath,\n },\n { packages, config: session.config },\n );\n\n if (!addedOverride) {\n console.warn(\n `Unable to add override for package \"${packageName}\" to \"cloudpack.generated.json\".` +\n ` The file \"${normalizedImportPath}\" could not be found.` +\n ` Please check the import path and try again.`,\n );\n return { addedOverride, entry };\n }\n }\n\n // Write the updated generated config\n session.config.generated = generatedConfig;\n const result = await writeGeneratedConfig(generatedConfig, appPath);\n const desc = `\"${packageName}\" (path \"${normalizedImportPath}\")`;\n if (result !== 'no-op') {\n if (deletedNullExport) {\n console.log(`Removed generated null export for ${desc} from \"cloudpack.generated.json\".`);\n if (result === 'deleted') {\n console.log(`Deleted \"cloudpack.generated.json\" because it's now empty.`);\n }\n } else if (result === 'written') {\n console.log(`Added override for ${desc} to \"cloudpack.generated.json\".`);\n }\n }\n\n // Apply the generated exports again to ensure the exports are up to date.\n await packages.get(packagePath, { refresh: true });\n\n return { addedOverride, entry };\n });\n\n return overrideInProcess;\n}\n"]}
1
+ {"version":3,"file":"addOverride.js","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ResolveMapEntry } from '@ms-cloudpack/common-types';\nimport { ensureGeneratedSettingsForPackage, readGeneratedConfig, writeGeneratedConfig } from '@ms-cloudpack/config';\nimport { parseRequestInfo } from '@ms-cloudpack/import-map';\nimport {\n addExportsMapEntry,\n findResolveMapEntry,\n flattenExportsMap,\n getExportsMap,\n} from '@ms-cloudpack/package-utilities';\nimport { makeUrl, normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport type { PartialContext } from '../types/Context.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\n\ntype OverrideReturn = {\n /** Whether the override was successfully added */\n addedOverride: boolean;\n /** The entry (if any) in the resolve map the override was added to */\n entry: ResolveMapEntry | undefined;\n};\n\n/**\n * Helper so that when addOverride is called multiple times in quick succession, we only process one at a time.\n * This is to avoid that multiple calls of addOverride first read the same version of the generated config,\n * then write the same version of the config with its corresponding update,\n * which would result in the last call overwriting the changes of the previous calls.\n */\nlet overrideInProcess: Promise<OverrideReturn> = Promise.resolve({\n addedOverride: false,\n entry: undefined,\n});\n\n/**\n * The addOverride method is triggered by a user action in the overlay, when we detect new usage of an import path\n * that isn't recognized. When the user triggers this override, we write it to the cloudpack generated config.\n */\nexport async function addOverride(\n options: OverrideOptions,\n context: PartialContext<'packages', 'config' | 'resolveMap'>,\n): Promise<OverrideReturn> {\n overrideInProcess = overrideInProcess.then(async () => {\n const { packageName, importPath, version, issuerUrl } = options;\n const { session, packages } = context;\n const { appPath } = session.config;\n let addedOverride = false;\n let deletedNullExport = false;\n let requiredBy = undefined;\n\n if (importPath.endsWith('/')) {\n console.error(`The import path \"${importPath}\" is invalid. Please remove the trailing slash and try again.`);\n return { addedOverride, entry: undefined };\n }\n\n if (issuerUrl) {\n const { packageName: issuerName, version: issuerVersion } = parseRequestInfo(makeUrl(issuerUrl).pathname);\n requiredBy = { name: issuerName, version: issuerVersion };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition: requiredBy,\n version,\n });\n\n if (!entry) {\n console.error(`Could not find entry of package \"${packageName}\" in resolve map`);\n return { addedOverride, entry };\n }\n\n const packagePath = entry.path;\n\n // Get current exports. We want to add an additional entry to what's there - not replace the default exports,\n // so we need the full map for the package.\n const exports = await getExportsMap({ packagePath }, { packages, config: session.config });\n const flattenedExports = flattenExportsMap(exports);\n const normalizedImportPath = normalizeRelativePath(importPath);\n\n // Return false if the import path already exists in the exports map.\n if (flattenedExports[normalizedImportPath]) {\n console.debug(`The import path \"${importPath}\" already exists in the exports map for \"${packageName}\".`);\n return { addedOverride, entry };\n }\n\n // Parse the generated config if it exists.\n const generatedConfig = await readGeneratedConfig(appPath);\n\n // Ensure packageSettings exists.\n const generatedPackageSettings = await ensureGeneratedSettingsForPackage(\n { packagePath },\n { config: { generated: generatedConfig }, packages },\n );\n\n if (generatedPackageSettings?.exports && generatedPackageSettings.exports[normalizedImportPath] === null) {\n delete generatedPackageSettings.exports[normalizedImportPath];\n deletedNullExport = true;\n\n if (Object.keys(generatedPackageSettings.exports).length === 0) {\n delete generatedPackageSettings.exports;\n }\n addedOverride = true;\n } else {\n const generatedExports = (generatedPackageSettings.exports ??= {});\n\n const { bundlerCapabilities } = (await packages.get(packagePath)).cloudpack || {};\n const resolveWebExtensions =\n // eslint-disable-next-line etc/no-deprecated\n bundlerCapabilities?.['resolve-web-extensions'] ?? Boolean(session.config.features?.resolveWebExtensions);\n\n // Add the single new exports entry to the exports map.\n addedOverride = await addExportsMapEntry(\n {\n exports: generatedExports,\n packagePath,\n importPath,\n resolveWebExtensions,\n },\n { packages, config: session.config },\n );\n\n if (!addedOverride) {\n console.warn(\n `Unable to add override for package \"${packageName}\" to \"cloudpack.generated.json\".` +\n ` The file \"${normalizedImportPath}\" could not be found.` +\n ` Please check the import path and try again.`,\n );\n return { addedOverride, entry };\n }\n }\n\n // Write the updated generated config\n session.config.generated = generatedConfig;\n const result = await writeGeneratedConfig(generatedConfig, appPath);\n const desc = `\"${packageName}\" (path \"${normalizedImportPath}\")`;\n if (result !== 'no-op') {\n if (deletedNullExport) {\n console.log(`Removed generated null export for ${desc} from \"cloudpack.generated.json\".`);\n if (result === 'deleted') {\n console.log(`Deleted \"cloudpack.generated.json\" because it's now empty.`);\n }\n } else if (result === 'written') {\n console.log(`Added override for ${desc} to \"cloudpack.generated.json\".`);\n }\n }\n\n // Apply the generated exports again to ensure the exports are up to date.\n await packages.get(packagePath, { refresh: true });\n\n return { addedOverride, entry };\n });\n\n return overrideInProcess;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"validateOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,EACzC,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,CAAC,GAC3D,OAAO,CAAC,OAAO,CAAC,CAqDlB"}
1
+ {"version":3,"file":"validateOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,EACzC,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,CAAC,GAC3D,OAAO,CAAC,OAAO,CAAC,CA6DlB"}
@@ -29,9 +29,15 @@ export async function validateOverride(options, context) {
29
29
  if (!entry) {
30
30
  return false;
31
31
  }
32
+ const packagePath = entry.path;
33
+ const { bundlerCapabilities } = (await packages.get(packagePath)).cloudpack || {};
34
+ const resolveWebExtensions =
35
+ // eslint-disable-next-line etc/no-deprecated
36
+ bundlerCapabilities?.['resolve-web-extensions'] ?? Boolean(config.features?.resolveWebExtensions);
32
37
  const { filePath } = await findFileInPackage({
33
- packagePath: entry.path,
38
+ packagePath,
34
39
  filePath: importPath,
40
+ resolveWebExtensions,
35
41
  }, { packages, config: session.config });
36
42
  if (filePath) {
37
43
  return true;
@@ -39,7 +45,7 @@ export async function validateOverride(options, context) {
39
45
  // Parse the generated config if it exists.
40
46
  const generatedConfig = await readGeneratedConfig(appPath);
41
47
  // Ensure packageSettings exists.
42
- const generatedPackageSettings = await ensureGeneratedSettingsForPackage({ packagePath: entry.path }, { config: { generated: generatedConfig }, packages });
48
+ const generatedPackageSettings = await ensureGeneratedSettingsForPackage({ packagePath }, { config: { generated: generatedConfig }, packages });
43
49
  return (!!generatedPackageSettings?.exports && generatedPackageSettings.exports[normalizeRelativePath(importPath)] === null);
44
50
  }
45
51
  //# sourceMappingURL=validateOverride.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateOverride.js","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAGnF,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAyC,EACzC,OAA4D;IAE5D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE3B,IAAI,UAAU,GAA4B,SAAS,CAAC;IAEpD,sEAAsE;IACtE,+EAA+E;IAC/E,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrF,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAC1C;QACE,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,QAAQ,EAAE,UAAU;KACrB,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACrC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE3D,iCAAiC;IACjC,MAAM,wBAAwB,GAAG,MAAM,iCAAiC,CACtE,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,EAC3B,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,CACrD,CAAC;IAEF,OAAO,CACL,CAAC,CAAC,wBAAwB,EAAE,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CACpH,CAAC;AACJ,CAAC","sourcesContent":["import type { PackageJson } from '@ms-cloudpack/common-types';\nimport { parseRequestInfo } from '@ms-cloudpack/import-map';\nimport { findFileInPackage, findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { makeUrl, normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport type { PartialContext } from '../types/Context.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\nimport { ensureGeneratedSettingsForPackage, readGeneratedConfig } from '@ms-cloudpack/config';\n\n/**\n * Given a package name, import path, and optional issuerUrl, returns a boolean indicating if the given\n * override is valid.\n */\nexport async function validateOverride(\n options: Omit<OverrideOptions, 'version'>,\n context: PartialContext<'packages', 'config' | 'resolveMap'>,\n): Promise<boolean> {\n const { packageName, importPath, issuerUrl } = options;\n const { session, packages } = context;\n const { config } = session;\n const { appPath } = config;\n\n let requiredBy: PackageJson | undefined = undefined;\n\n // Import paths with trailing slashes are not supported by import maps\n // in browser as they interpret the trailing slash as a wildcard partial match.\n if (importPath.endsWith('/')) {\n return false;\n }\n\n if (issuerUrl) {\n const { packageName: name, version } = parseRequestInfo(makeUrl(issuerUrl).pathname);\n requiredBy = { name, version };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition: requiredBy,\n });\n\n if (!entry) {\n return false;\n }\n\n const { filePath } = await findFileInPackage(\n {\n packagePath: entry.path,\n filePath: importPath,\n },\n { packages, config: session.config },\n );\n\n if (filePath) {\n return true;\n }\n\n // Parse the generated config if it exists.\n const generatedConfig = await readGeneratedConfig(appPath);\n\n // Ensure packageSettings exists.\n const generatedPackageSettings = await ensureGeneratedSettingsForPackage(\n { packagePath: entry.path },\n { config: { generated: generatedConfig }, packages },\n );\n\n return (\n !!generatedPackageSettings?.exports && generatedPackageSettings.exports[normalizeRelativePath(importPath)] === null\n );\n}\n"]}
1
+ {"version":3,"file":"validateOverride.js","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAGnF,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAyC,EACzC,OAA4D;IAE5D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE3B,IAAI,UAAU,GAA4B,SAAS,CAAC;IAEpD,sEAAsE;IACtE,+EAA+E;IAC/E,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrF,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;IAE/B,MAAM,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;IAClF,MAAM,oBAAoB;IACxB,6CAA6C;IAC7C,mBAAmB,EAAE,CAAC,wBAAwB,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAEpG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAC1C;QACE,WAAW;QACX,QAAQ,EAAE,UAAU;QACpB,oBAAoB;KACrB,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACrC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE3D,iCAAiC;IACjC,MAAM,wBAAwB,GAAG,MAAM,iCAAiC,CACtE,EAAE,WAAW,EAAE,EACf,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,CACrD,CAAC;IAEF,OAAO,CACL,CAAC,CAAC,wBAAwB,EAAE,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CACpH,CAAC;AACJ,CAAC","sourcesContent":["import type { PackageJson } from '@ms-cloudpack/common-types';\nimport { parseRequestInfo } from '@ms-cloudpack/import-map';\nimport { findFileInPackage, findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { makeUrl, normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport type { PartialContext } from '../types/Context.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\nimport { ensureGeneratedSettingsForPackage, readGeneratedConfig } from '@ms-cloudpack/config';\n\n/**\n * Given a package name, import path, and optional issuerUrl, returns a boolean indicating if the given\n * override is valid.\n */\nexport async function validateOverride(\n options: Omit<OverrideOptions, 'version'>,\n context: PartialContext<'packages', 'config' | 'resolveMap'>,\n): Promise<boolean> {\n const { packageName, importPath, issuerUrl } = options;\n const { session, packages } = context;\n const { config } = session;\n const { appPath } = config;\n\n let requiredBy: PackageJson | undefined = undefined;\n\n // Import paths with trailing slashes are not supported by import maps\n // in browser as they interpret the trailing slash as a wildcard partial match.\n if (importPath.endsWith('/')) {\n return false;\n }\n\n if (issuerUrl) {\n const { packageName: name, version } = parseRequestInfo(makeUrl(issuerUrl).pathname);\n requiredBy = { name, version };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition: requiredBy,\n });\n\n if (!entry) {\n return false;\n }\n\n const packagePath = entry.path;\n\n const { bundlerCapabilities } = (await packages.get(packagePath)).cloudpack || {};\n const resolveWebExtensions =\n // eslint-disable-next-line etc/no-deprecated\n bundlerCapabilities?.['resolve-web-extensions'] ?? Boolean(config.features?.resolveWebExtensions);\n\n const { filePath } = await findFileInPackage(\n {\n packagePath,\n filePath: importPath,\n resolveWebExtensions,\n },\n { packages, config: session.config },\n );\n\n if (filePath) {\n return true;\n }\n\n // Parse the generated config if it exists.\n const generatedConfig = await readGeneratedConfig(appPath);\n\n // Ensure packageSettings exists.\n const generatedPackageSettings = await ensureGeneratedSettingsForPackage(\n { packagePath },\n { config: { generated: generatedConfig }, packages },\n );\n\n return (\n !!generatedPackageSettings?.exports && generatedPackageSettings.exports[normalizeRelativePath(importPath)] === null\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"writeStubForDensityEntries.d.ts","sourceRoot":"","sources":["../../src/utilities/writeStubForDensityEntries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AASpC,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,aAAa,CAAC;KACvB,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE,uBAAuB,CAAC;QAClC,MAAM,EAAE,eAAe,CAAC;KACzB,CAAC;CACH,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAqE3B"}
1
+ {"version":3,"file":"writeStubForDensityEntries.d.ts","sourceRoot":"","sources":["../../src/utilities/writeStubForDensityEntries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AASpC,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,aAAa,CAAC;KACvB,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE,uBAAuB,CAAC;QAClC,MAAM,EAAE,eAAe,CAAC;KACzB,CAAC;CACH,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAuE3B"}
@@ -52,7 +52,9 @@ export async function writeStubForDensityEntries(params) {
52
52
  const stub = generateESMStubFromExports({
53
53
  export: {
54
54
  type: outputFile.exports ? 'object' : 'other',
55
- keys: outputFile.exports ?? [],
55
+ // These exports are not technically correct since they might include a default export from the esm bundle
56
+ // but density returns packages without a default.
57
+ keys: outputFile.exports?.filter((e) => e !== 'default') ?? [],
56
58
  },
57
59
  importStatement: `const moduleExport = requireDensityModule("${slash(moduleId)}");`,
58
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"writeStubForDensityEntries.js","sourceRoot":"","sources":["../../src/utilities/writeStubForDensityEntries.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n BundleMessage,\n BundlerResult,\n CloudpackConfig,\n PackageDefinitionsCache,\n} from '@ms-cloudpack/common-types';\nimport { generateESMStubFromExports } from '@ms-cloudpack/esm-stub-utilities';\nimport { writeFile } from 'fs/promises';\nimport path from 'path';\nimport { toNormalizedEntryKey } from '@ms-cloudpack/bundler';\nimport { flattenExportsMap, getExportsMap } from '@ms-cloudpack/package-utilities';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\n\nconst errorSource = 'density-entry-stub';\nexport async function writeStubForDensityEntries(params: {\n options: {\n packageName: string;\n packagePath: string;\n result: BundlerResult;\n };\n context: {\n packages: PackageDefinitionsCache;\n config: CloudpackConfig;\n };\n}): Promise<BundleMessage[]> {\n const { options, context } = params;\n const { packagePath, packageName, result } = options;\n const exportsMap = await getExportsMap({ packagePath }, context);\n const densityCondition = ['density'];\n const densityExportsMap = flattenExportsMap(exportsMap, {\n requiredConditions: densityCondition,\n conditions: densityCondition,\n });\n\n if (Object.keys(densityExportsMap).length === 0) {\n return [];\n }\n\n if (!result.outputFiles) {\n return [\n {\n source: errorSource,\n text: `No output files found in the result. package name:${packageName}, package path:${packagePath}`,\n },\n ];\n }\n\n if (!result.outputPath) {\n return [\n {\n source: errorSource,\n text: `No output path found in the result. package name:${packageName}, package path:${packagePath}`,\n },\n ];\n }\n\n const errors: BundleMessage[] = [];\n\n // find the corresponding output file from the result for each external entry\n for (const [key, value] of Object.entries(densityExportsMap)) {\n try {\n const entryPath = toNormalizedEntryKey(value);\n const outputFile = result.outputFiles.find((o) => o.outputPath === value);\n if (!outputFile) {\n errors.push({\n text: `No output file found for external entry: ${entryPath}, package name:${packageName}, package path:${packagePath}`,\n source: errorSource,\n });\n continue;\n }\n\n const moduleId = key === '.' ? options.packageName : path.join(packageName, entryPath);\n\n // generate new stab file for the external entry by using output.exports\n // found the output file. This file need to be replaced.\n const stub = generateESMStubFromExports({\n export: {\n type: outputFile.exports ? 'object' : 'other',\n keys: outputFile.exports ?? [],\n },\n importStatement: `const moduleExport = requireDensityModule(\"${slash(moduleId)}\");`,\n });\n\n await writeFile(path.join(result.outputPath, outputFile.outputPath), stub);\n } catch (e) {\n errors.push({\n text: `Error while creating stub for external entry: ${e}, package name:${packageName}, package path:${packagePath}`,\n source: errorSource,\n });\n }\n }\n\n return errors;\n}\n"]}
1
+ {"version":3,"file":"writeStubForDensityEntries.js","sourceRoot":"","sources":["../../src/utilities/writeStubForDensityEntries.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAUhD;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,EAAE;QACtD,kBAAkB,EAAE,gBAAgB;QACpC,UAAU,EAAE,gBAAgB;KAC7B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO;YACL;gBACE,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,qDAAqD,WAAW,kBAAkB,WAAW,EAAE;aACtG;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL;gBACE,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,oDAAoD,WAAW,kBAAkB,WAAW,EAAE;aACrG;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,6EAA6E;IAC7E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,4CAA4C,SAAS,kBAAkB,WAAW,kBAAkB,WAAW,EAAE;oBACvH,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAEvF,wEAAwE;YACxE,wDAAwD;YACxD,MAAM,IAAI,GAAG,0BAA0B,CAAC;gBACtC,MAAM,EAAE;oBACN,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;oBAC7C,0GAA0G;oBAC1G,kDAAkD;oBAClD,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE;iBAC/D;gBACD,eAAe,EAAE,8CAA8C,KAAK,CAAC,QAAQ,CAAC,KAAK;aACpF,CAAC,CAAC;YAEH,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,iDAAiD,CAAC,kBAAkB,WAAW,kBAAkB,WAAW,EAAE;gBACpH,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type {\n BundleMessage,\n BundlerResult,\n CloudpackConfig,\n PackageDefinitionsCache,\n} from '@ms-cloudpack/common-types';\nimport { generateESMStubFromExports } from '@ms-cloudpack/esm-stub-utilities';\nimport { writeFile } from 'fs/promises';\nimport path from 'path';\nimport { toNormalizedEntryKey } from '@ms-cloudpack/bundler';\nimport { flattenExportsMap, getExportsMap } from '@ms-cloudpack/package-utilities';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\n\nconst errorSource = 'density-entry-stub';\nexport async function writeStubForDensityEntries(params: {\n options: {\n packageName: string;\n packagePath: string;\n result: BundlerResult;\n };\n context: {\n packages: PackageDefinitionsCache;\n config: CloudpackConfig;\n };\n}): Promise<BundleMessage[]> {\n const { options, context } = params;\n const { packagePath, packageName, result } = options;\n const exportsMap = await getExportsMap({ packagePath }, context);\n const densityCondition = ['density'];\n const densityExportsMap = flattenExportsMap(exportsMap, {\n requiredConditions: densityCondition,\n conditions: densityCondition,\n });\n\n if (Object.keys(densityExportsMap).length === 0) {\n return [];\n }\n\n if (!result.outputFiles) {\n return [\n {\n source: errorSource,\n text: `No output files found in the result. package name:${packageName}, package path:${packagePath}`,\n },\n ];\n }\n\n if (!result.outputPath) {\n return [\n {\n source: errorSource,\n text: `No output path found in the result. package name:${packageName}, package path:${packagePath}`,\n },\n ];\n }\n\n const errors: BundleMessage[] = [];\n\n // find the corresponding output file from the result for each external entry\n for (const [key, value] of Object.entries(densityExportsMap)) {\n try {\n const entryPath = toNormalizedEntryKey(value);\n const outputFile = result.outputFiles.find((o) => o.outputPath === value);\n if (!outputFile) {\n errors.push({\n text: `No output file found for external entry: ${entryPath}, package name:${packageName}, package path:${packagePath}`,\n source: errorSource,\n });\n continue;\n }\n\n const moduleId = key === '.' ? options.packageName : path.join(packageName, entryPath);\n\n // generate new stab file for the external entry by using output.exports\n // found the output file. This file need to be replaced.\n const stub = generateESMStubFromExports({\n export: {\n type: outputFile.exports ? 'object' : 'other',\n // These exports are not technically correct since they might include a default export from the esm bundle\n // but density returns packages without a default.\n keys: outputFile.exports?.filter((e) => e !== 'default') ?? [],\n },\n importStatement: `const moduleExport = requireDensityModule(\"${slash(moduleId)}\");`,\n });\n\n await writeFile(path.join(result.outputPath, outputFile.outputPath), stub);\n } catch (e) {\n errors.push({\n text: `Error while creating stub for external entry: ${e}, package name:${packageName}, package path:${packagePath}`,\n source: errorSource,\n });\n }\n }\n\n return errors;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/api-server",
3
- "version": "0.61.3",
3
+ "version": "0.61.4",
4
4
  "description": "An implementation of the API server that does interacts with a task scheduler.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -27,22 +27,22 @@
27
27
  "@lage-run/logger": "^1.3.0",
28
28
  "@lage-run/scheduler": "^1.2.1",
29
29
  "@lage-run/target-graph": "^0.11.0",
30
- "@ms-cloudpack/bundler": "^0.24.2",
31
- "@ms-cloudpack/common-types": "^0.24.9",
32
- "@ms-cloudpack/config": "^0.33.18",
33
- "@ms-cloudpack/create-express-app": "^1.10.21",
30
+ "@ms-cloudpack/bundler": "^0.24.3",
31
+ "@ms-cloudpack/common-types": "^0.24.10",
32
+ "@ms-cloudpack/config": "^0.33.19",
33
+ "@ms-cloudpack/create-express-app": "^1.10.22",
34
34
  "@ms-cloudpack/data-bus": "^0.4.3",
35
- "@ms-cloudpack/esm-stub-utilities": "^0.14.10",
35
+ "@ms-cloudpack/esm-stub-utilities": "^0.14.11",
36
36
  "@ms-cloudpack/file-watcher": "^0.2.0",
37
- "@ms-cloudpack/import-map": "^0.10.0",
37
+ "@ms-cloudpack/import-map": "^0.10.1",
38
38
  "@ms-cloudpack/json-utilities": "^0.1.10",
39
- "@ms-cloudpack/package-hashes": "^0.7.30",
40
- "@ms-cloudpack/package-utilities": "^11.3.6",
39
+ "@ms-cloudpack/package-hashes": "^0.7.31",
40
+ "@ms-cloudpack/package-utilities": "^12.0.0",
41
41
  "@ms-cloudpack/path-string-parsing": "^1.2.6",
42
- "@ms-cloudpack/path-utilities": "^3.0.6",
43
- "@ms-cloudpack/remote-cache": "^0.10.14",
42
+ "@ms-cloudpack/path-utilities": "^3.0.7",
43
+ "@ms-cloudpack/remote-cache": "^0.10.15",
44
44
  "@ms-cloudpack/task-reporter": "^0.15.1",
45
- "@ms-cloudpack/telemetry": "^0.10.17",
45
+ "@ms-cloudpack/telemetry": "^0.10.18",
46
46
  "@trpc/client": "11.0.0-rc.682",
47
47
  "@trpc/server": "11.0.0-rc.682",
48
48
  "cors": "^2.8.5",