@ms-cloudpack/bundler-rspack 0.2.6 → 0.2.8

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":"normalizeRspackOutput.d.ts","sourceRoot":"","sources":["../src/normalizeRspackOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,aAAa,EAAoB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhH,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAc,MAAM,cAAc,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,oBAAoB;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB;IACvB,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;IACtD,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,GAAG,aAAa,CA8ChB"}
1
+ {"version":3,"file":"normalizeRspackOutput.d.ts","sourceRoot":"","sources":["../src/normalizeRspackOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,aAAa,EAAoB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhH,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAc,MAAM,cAAc,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,oBAAoB;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB;IACvB,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;IACtD,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,GAAG,aAAa,CAsDhB"}
@@ -18,6 +18,10 @@ export function normalizeRspackOutput(params) {
18
18
  if (entryPoint) {
19
19
  outFile.entryPoint = entryPoint;
20
20
  }
21
+ const [chunkName] = Object.entries(statsJson?.assetsByChunkName ?? {}).find(([_, value]) => value.includes(asset)) ?? [undefined];
22
+ const relatedChunk = chunkName ? statsJson?.chunks?.find((chunk) => chunk.id === chunkName) : undefined;
23
+ const relatedModule = relatedChunk?.modules?.find((module) => module.id === entryPoint);
24
+ outFile.exports = relatedModule?.providedExports ?? undefined;
21
25
  for (const chunk of statsJson?.chunks || []) {
22
26
  // We don't have enough info to determine if a file is a worker
23
27
  if (!chunk.files || !chunk.modules || !chunk.files.includes(asset)) {
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeRspackOutput.js","sourceRoot":"","sources":["../src/normalizeRspackOutput.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BundleMessage, BundleOptions, BundleOutputFile, BundlerResult } from '@ms-cloudpack/common-types';\nimport { normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport { normalizedPathRelativeTo } from '@ms-cloudpack/path-utilities';\nimport path from 'path';\nimport type { Configuration, Stats, StatsError } from '@rspack/core';\n\nexport function normalizeRspackOutput(params: {\n /** Rspack config */\n config: Configuration;\n /** Original options */\n options: Pick<BundleOptions, 'entries' | 'inputPath'>;\n /** Absolute output path */\n outputPath: string;\n /** Stats from rspack callback */\n stats: Stats | undefined;\n}): BundlerResult {\n const {\n config,\n options: { entries, inputPath },\n outputPath,\n stats,\n } = params;\n\n // Process the errors and warnings from the stats json.\n // This provides more straightforward access to file paths.\n const statsJson = stats?.toJson();\n\n return {\n outputPath,\n outputFiles: Object.keys(stats?.compilation?.assets || {}).map((asset): BundleOutputFile => {\n const outFile: BundleOutputFile = {\n outputPath: normalizeRelativePath(asset),\n };\n\n // Webpack doesn't include entry point info in the output, so add manually if applicable\n if (outFile.outputPath.endsWith('.js')) {\n const entryPoint = entries[outFile.outputPath.replace(/\\.js$/, '')];\n if (entryPoint) {\n outFile.entryPoint = entryPoint;\n }\n for (const chunk of statsJson?.chunks || []) {\n // We don't have enough info to determine if a file is a worker\n if (!chunk.files || !chunk.modules || !chunk.files.includes(asset)) {\n continue;\n }\n\n // Check if the chunk has a worker\n if (chunk.modules.some(({ reasons = [] }) => reasons.some((reason) => reason.type === 'new Worker()'))) {\n // It is a worker!\n outFile.isWorker = true;\n }\n }\n }\n\n return outFile;\n }),\n errors: createBundleMessages(statsJson?.errors, inputPath),\n warnings: createBundleMessages(statsJson?.warnings, inputPath),\n rawInput: config as unknown as Record<string, unknown>,\n rawOutput: statsJson,\n };\n}\n\n/** Create BundleMessages from rspackErrors */\nfunction createBundleMessages(rspackErrors: StatsError[] | undefined, inputPath: string): BundleMessage[] {\n return (rspackErrors || []).map((error) => {\n const bundleMessage: BundleMessage = {\n text: error.message,\n source: 'rspack',\n };\n\n const filePath = error.file || error.moduleName;\n\n if (filePath) {\n let [, line, col] = error?.loc?.match(/^(\\d+):(\\d+)/) || [];\n if (!line) {\n // look for something like '[<file path>:<line>:<col>]'\n [, line, col] = error.message.match(/:(\\d+):(\\d+)\\]/) || [];\n }\n if (!line) {\n // rspack errors can look like this:\n // × HarmonyLinkingError: export 'foo' (reexported as 'foo') was not found in './bar.js' (possible exports: bar)\n // ╭────\n // 1 │ export { foo } from './bar.js';\n // · ───────────────────────────────\n // ╰────\n\n // × Module parse failed:\n // ╰─▶ × JavaScript parsing error: Expression expected\n // ╭────\n // 1 │ }export default function() { console.log('oops leading closing bracket'); }\n // · ─\n // ╰────\n // group 1: line number; group 2: length = column number (0-indexed)\n const errorMatch = error.message.match(/(\\d+) │ .*\\n +· ( *)─/);\n if (errorMatch) {\n line = errorMatch[1];\n col = `${errorMatch[2].length}`;\n }\n }\n\n bundleMessage.location = {\n file: path.isAbsolute(filePath)\n ? normalizedPathRelativeTo(inputPath, filePath)\n : normalizeRelativePath(filePath),\n line: typeof line === 'string' ? Number(line) : undefined,\n column: typeof col === 'string' ? Number(col) : undefined,\n };\n }\n\n return bundleMessage;\n });\n}\n"]}
1
+ {"version":3,"file":"normalizeRspackOutput.js","sourceRoot":"","sources":["../src/normalizeRspackOutput.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BundleMessage, BundleOptions, BundleOutputFile, BundlerResult } from '@ms-cloudpack/common-types';\nimport { normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport { normalizedPathRelativeTo } from '@ms-cloudpack/path-utilities';\nimport path from 'path';\nimport type { Configuration, Stats, StatsError } from '@rspack/core';\n\nexport function normalizeRspackOutput(params: {\n /** Rspack config */\n config: Configuration;\n /** Original options */\n options: Pick<BundleOptions, 'entries' | 'inputPath'>;\n /** Absolute output path */\n outputPath: string;\n /** Stats from rspack callback */\n stats: Stats | undefined;\n}): BundlerResult {\n const {\n config,\n options: { entries, inputPath },\n outputPath,\n stats,\n } = params;\n\n // Process the errors and warnings from the stats json.\n // This provides more straightforward access to file paths.\n const statsJson = stats?.toJson();\n\n return {\n outputPath,\n outputFiles: Object.keys(stats?.compilation?.assets || {}).map((asset): BundleOutputFile => {\n const outFile: BundleOutputFile = {\n outputPath: normalizeRelativePath(asset),\n };\n\n // Webpack doesn't include entry point info in the output, so add manually if applicable\n if (outFile.outputPath.endsWith('.js')) {\n const entryPoint = entries[outFile.outputPath.replace(/\\.js$/, '')];\n if (entryPoint) {\n outFile.entryPoint = entryPoint;\n }\n\n const [chunkName] = Object.entries(statsJson?.assetsByChunkName ?? {}).find(([_, value]) =>\n value.includes(asset),\n ) ?? [undefined];\n const relatedChunk = chunkName ? statsJson?.chunks?.find((chunk) => chunk.id === chunkName) : undefined;\n const relatedModule = relatedChunk?.modules?.find((module) => module.id === entryPoint);\n outFile.exports = relatedModule?.providedExports ?? undefined;\n\n for (const chunk of statsJson?.chunks || []) {\n // We don't have enough info to determine if a file is a worker\n if (!chunk.files || !chunk.modules || !chunk.files.includes(asset)) {\n continue;\n }\n\n // Check if the chunk has a worker\n if (chunk.modules.some(({ reasons = [] }) => reasons.some((reason) => reason.type === 'new Worker()'))) {\n // It is a worker!\n outFile.isWorker = true;\n }\n }\n }\n\n return outFile;\n }),\n errors: createBundleMessages(statsJson?.errors, inputPath),\n warnings: createBundleMessages(statsJson?.warnings, inputPath),\n rawInput: config as unknown as Record<string, unknown>,\n rawOutput: statsJson,\n };\n}\n\n/** Create BundleMessages from rspackErrors */\nfunction createBundleMessages(rspackErrors: StatsError[] | undefined, inputPath: string): BundleMessage[] {\n return (rspackErrors || []).map((error) => {\n const bundleMessage: BundleMessage = {\n text: error.message,\n source: 'rspack',\n };\n\n const filePath = error.file || error.moduleName;\n\n if (filePath) {\n let [, line, col] = error?.loc?.match(/^(\\d+):(\\d+)/) || [];\n if (!line) {\n // look for something like '[<file path>:<line>:<col>]'\n [, line, col] = error.message.match(/:(\\d+):(\\d+)\\]/) || [];\n }\n if (!line) {\n // rspack errors can look like this:\n // × HarmonyLinkingError: export 'foo' (reexported as 'foo') was not found in './bar.js' (possible exports: bar)\n // ╭────\n // 1 │ export { foo } from './bar.js';\n // · ───────────────────────────────\n // ╰────\n\n // × Module parse failed:\n // ╰─▶ × JavaScript parsing error: Expression expected\n // ╭────\n // 1 │ }export default function() { console.log('oops leading closing bracket'); }\n // · ─\n // ╰────\n // group 1: line number; group 2: length = column number (0-indexed)\n const errorMatch = error.message.match(/(\\d+) │ .*\\n +· ( *)─/);\n if (errorMatch) {\n line = errorMatch[1];\n col = `${errorMatch[2].length}`;\n }\n }\n\n bundleMessage.location = {\n file: path.isAbsolute(filePath)\n ? normalizedPathRelativeTo(inputPath, filePath)\n : normalizeRelativePath(filePath),\n line: typeof line === 'string' ? Number(line) : undefined,\n column: typeof col === 'string' ? Number(col) : undefined,\n };\n }\n\n return bundleMessage;\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"rspackCapabilities.d.ts","sourceRoot":"","sources":["../src/rspackCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,wCAAwC,CAAC,aAAa,CAwBtF,CAAC"}
1
+ {"version":3,"file":"rspackCapabilities.d.ts","sourceRoot":"","sources":["../src/rspackCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,wCAAwC,CAAC,aAAa,CA2BtF,CAAC"}
@@ -23,5 +23,8 @@ export const rspackCapabilities = {
23
23
  config.externals.unshift(options);
24
24
  return config;
25
25
  },
26
+ // This is a placeholder for the density capability. It doesn't do anything in the bundler.
27
+ // It's just a workaround for a post-bundle task. This will be replaced with 'plugins' in the future.
28
+ density: (config) => config,
26
29
  };
27
30
  //# sourceMappingURL=rspackCapabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rspackCapabilities.js","sourceRoot":"","sources":["../src/rspackCapabilities.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAA4D;IACzF,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAClC,6CAA6C;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/F,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;YACtD,IAAI,EAAE,cAAc;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACzB,qEAAqE;QACrE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QACD,+DAA+D;QAC/D,qEAAqE;QACrE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC","sourcesContent":["import type { InternalBundlerCapabilityImplementations } from '@ms-cloudpack/common-types';\nimport type { Configuration } from '@rspack/core';\n\nexport const rspackCapabilities: InternalBundlerCapabilityImplementations<Configuration> = {\n 'asset-inline': (config, options) => {\n // Remove the leading dot from the extensions\n const extensions = options.extensions.map((ext) => (ext.startsWith('.') ? ext.slice(1) : ext));\n config.module ??= {};\n config.module.rules ??= [];\n config.module.rules.push({\n test: new RegExp(`\\\\.(${extensions.join('|')})$`, 'i'),\n type: 'asset/inline',\n });\n return config;\n },\n alias: (config, options) => {\n // Add aliases for externalized packages to the webpack configuration\n if (!config.externals) {\n config.externals = [];\n } else if (!Array.isArray(config.externals)) {\n config.externals = [config.externals];\n }\n // The aliased packaged must be the first element in the array,\n // so that it is resolved before all other packages are externalized.\n config.externals.unshift(options);\n return config;\n },\n};\n"]}
1
+ {"version":3,"file":"rspackCapabilities.js","sourceRoot":"","sources":["../src/rspackCapabilities.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAA4D;IACzF,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAClC,6CAA6C;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/F,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;YACtD,IAAI,EAAE,cAAc;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACzB,qEAAqE;QACrE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QACD,+DAA+D;QAC/D,qEAAqE;QACrE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,2FAA2F;IAC3F,qGAAqG;IACrG,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;CAC5B,CAAC","sourcesContent":["import type { InternalBundlerCapabilityImplementations } from '@ms-cloudpack/common-types';\nimport type { Configuration } from '@rspack/core';\n\nexport const rspackCapabilities: InternalBundlerCapabilityImplementations<Configuration> = {\n 'asset-inline': (config, options) => {\n // Remove the leading dot from the extensions\n const extensions = options.extensions.map((ext) => (ext.startsWith('.') ? ext.slice(1) : ext));\n config.module ??= {};\n config.module.rules ??= [];\n config.module.rules.push({\n test: new RegExp(`\\\\.(${extensions.join('|')})$`, 'i'),\n type: 'asset/inline',\n });\n return config;\n },\n alias: (config, options) => {\n // Add aliases for externalized packages to the webpack configuration\n if (!config.externals) {\n config.externals = [];\n } else if (!Array.isArray(config.externals)) {\n config.externals = [config.externals];\n }\n // The aliased packaged must be the first element in the array,\n // so that it is resolved before all other packages are externalized.\n config.externals.unshift(options);\n return config;\n },\n // This is a placeholder for the density capability. It doesn't do anything in the bundler.\n // It's just a workaround for a post-bundle task. This will be replaced with 'plugins' in the future.\n density: (config) => config,\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/bundler-rspack",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "A cloudpack plugin for abstracting rspack.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -14,12 +14,12 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@ms-cloudpack/bundler-capabilities": "^0.2.1",
18
- "@ms-cloudpack/bundler-utilities": "^0.1.13",
19
- "@ms-cloudpack/common-types": "^0.23.4",
20
- "@ms-cloudpack/esm-stub-utilities": "^0.13.17",
17
+ "@ms-cloudpack/bundler-capabilities": "^0.2.2",
18
+ "@ms-cloudpack/bundler-utilities": "^0.1.14",
19
+ "@ms-cloudpack/common-types": "^0.23.5",
20
+ "@ms-cloudpack/esm-stub-utilities": "^0.13.19",
21
21
  "@ms-cloudpack/path-string-parsing": "^1.2.5",
22
- "@ms-cloudpack/path-utilities": "^2.7.54",
22
+ "@ms-cloudpack/path-utilities": "^2.7.55",
23
23
  "@rspack/core": "^1.0.0 || ^1.0.0-0",
24
24
  "@swc/core": "^1.3.0",
25
25
  "css-loader": "^6.0.0",