@ms-cloudpack/bundler-webpack 0.2.25 → 0.2.27
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":"getWebpackConfiguration.d.ts","sourceRoot":"","sources":["../src/getWebpackConfiguration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getWebpackConfiguration.d.ts","sourceRoot":"","sources":["../src/getWebpackConfiguration.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,uBAAuB,CACrC,MAAM,EAAE;IACN,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,EAC3C,OAAO,EAAE,aAAa,GACrB,aAAa,CAsMf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getModuleSearchPaths, getSwcConfig, shouldExternalizePackage } from '@ms-cloudpack/bundler-utilities';
|
|
1
|
+
import { defaultTargetSyntax, getModuleSearchPaths, getSwcConfig, shouldExternalizePackage, } from '@ms-cloudpack/bundler-utilities';
|
|
2
2
|
import { isBuiltin } from 'module';
|
|
3
3
|
import ResolveTypescriptPlugin from 'resolve-typescript-plugin';
|
|
4
4
|
import { merge } from 'webpack-merge';
|
|
@@ -58,7 +58,7 @@ export function getWebpackConfiguration(params, context) {
|
|
|
58
58
|
}
|
|
59
59
|
callback();
|
|
60
60
|
},
|
|
61
|
-
target: [targetEnvironment === 'node' ? 'node18' : 'web',
|
|
61
|
+
target: [targetEnvironment === 'node' ? 'node18' : 'web', defaultTargetSyntax],
|
|
62
62
|
module: {
|
|
63
63
|
rules: [
|
|
64
64
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWebpackConfiguration.js","sourceRoot":"","sources":["../src/getWebpackConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG/G,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,MAAM,UAAU,uBAAuB,CACrC,MAG2C,EAC3C,OAAsB;IAEtB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACnD,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,EAAE,sBAAsB,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IACtF,MAAM,qBAAqB,GAAG,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,wGAAwG;IACxG,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,iBAAiB,KAAK,MAAM,CAAC;IAEhG,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEjG,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;QACnD,+EAA+E;QAC/E,gGAAgG;QAChG,0FAA0F;QAC1F,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9G,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC;YACxC,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;SACpD;QACD,aAAa,EAAE;YACb,OAAO,EAAE;gBACP,kDAAkD;gBAClD,cAAc;gBAEd,6BAA6B;gBAC7B,GAAG,oBAAoB,CACrB,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,EAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB;aACF;SACF;QACD,SAAS;QACP,yEAAyE;QACzE,CAAC,aAAa,IAAI,iBAAiB,KAAK,SAAS;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACjB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;gBACzB,gCAAgC;gBAChC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,OAAO,QAAQ,EAAE,CAAC;gBACpB,CAAC;gBAED,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;oBACjC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvB,0FAA0F;wBAC1F,kEAAkE;wBAClE,mDAAmD;wBACnD,OAAO,QAAQ,CAAC,SAAS,EAAE,iBAAiB,OAAO,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,OAAO,QAAQ,EAAE,CAAC;gBACpB,CAAC;gBAED,IACE,wBAAwB,CAAC;oBACvB,EAAE,EAAE,OAAO;oBACX,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,wBAAwB,EAAE,KAAK;iBAChC,CAAC,EACF,CAAC;oBACD,OAAO,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACtC,CAAC;gBAED,QAAQ,EAAE,CAAC;YACb,CAAC;QACP,MAAM,EAAE,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;QACnE,MAAM,EAAE;YACN,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE;wBACL,4BAA4B;wBAC5B;4BACE,IAAI,EAAE,gBAAgB;4BACtB,GAAG,EAAE;gCACH,cAAc;gCACd;oCACE,MAAM,EAAE,YAAY;oCACpB,OAAO,EAAE;wCACP,OAAO,EAAE;4CACP,cAAc,EAAE,SAAS,EAAE,oCAAoC;yCAChE;qCACF;iCACF;6BACF;yBACF;wBACD,6BAA6B;wBAC7B;4BACE,IAAI,EAAE,gBAAgB;4BACtB,GAAG,EAAE;gCACH,cAAc;gCACd;oCACE,MAAM,EAAE,YAAY;oCACpB,OAAO,EAAE;wCACP,OAAO,EAAE,IAAI,EAAE,qBAAqB;qCACrC;iCACF;6BACF;yBACF;wBACD,6BAA6B;wBAC7B;4BACE,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,gBAAgB,EAAE,4BAA4B;4BACvD,GAAG,EAAE;gCACH,cAAc;gCACd,YAAY,EAAE,qDAAqD;6BACpE;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,KAAK;iBACnB;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE;wBACP,QAAQ,EAAE,MAAM;wBAChB,QAAQ,EAAE,IAAI;qBACf;oBACD,OAAO,EAAE;wBACP,cAAc,EAAE,KAAK;qBACtB;iBACF;gBACD;oBACE,+BAA+B;oBAC/B,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,gBAAgB;oBACzB,OAAO,EAAE,SAAS,CAAC,GAAG;iBACvB;gBACD;oBACE,8BAA8B;oBAC9B,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,gBAAgB;oBACzB,OAAO,EAAE,SAAS,CAAC,GAAG;iBACvB;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC;iBACnD;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,GAAG,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;iBACjC;aACF;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;aACf;YACD,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,UAAU,qBAAqB,EAAE;YAC3C,aAAa,EAAE,cAAc,qBAAqB,EAAE;SACrD;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;QACD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK;QAC/F,YAAY,EAAE;YACZ,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,OAAO,CAAC,MAAM;YACxB,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE;gBACX,iFAAiF;gBACjF,YAAY,EAAE,IAAI;gBAElB,mFAAmF;gBACnF,4CAA4C;gBAC5C,WAAW,EAAE,CAAC,aAAa;gBAE3B,MAAM,EAAE,KAAK;gBAEb,QAAQ,EAAE,cAAc,qBAAqB,EAAE;gBAE/C,4FAA4F;gBAC5F,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;gBAEjC,WAAW,EAAE;oBACX,cAAc,EAAE,KAAK;iBACtB;aACF;SACF;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { getModuleSearchPaths, getSwcConfig, shouldExternalizePackage } from '@ms-cloudpack/bundler-utilities';\nimport type { BundleContext, BundleOptions } from '@ms-cloudpack/common-types';\nimport type { WriteESMStubsResult } from '@ms-cloudpack/esm-stub-utilities';\nimport { isBuiltin } from 'module';\nimport ResolveTypescriptPlugin from 'resolve-typescript-plugin';\nimport type { Configuration } from 'webpack';\nimport { merge } from 'webpack-merge';\n\nexport function getWebpackConfiguration(\n params: {\n options: Omit<BundleOptions, 'entries' | 'outputPath'>;\n outputPath: string;\n } & Pick<WriteESMStubsResult, 'newEntries'>,\n context: BundleContext,\n): Configuration {\n const { options, outputPath, newEntries } = params;\n const { targetEnvironment } = options;\n const { unsafeDisableInlineSvg: _, ...bundlerOptions } = options.bundlerOptions || {};\n const outputScriptExtension = targetEnvironment === 'node' ? 'mjs' : 'js';\n\n // Currently, targetEnvironment: node forces production mode since we don't have Node import map support\n const isLibraryMode = context.config.mode === 'library' && options.targetEnvironment !== 'node';\n\n const swcConfig = getSwcConfig({ packagePath: options.inputPath, sourcemap: options.sourcemap });\n\n const config: Configuration = {\n mode: options.minify ? 'production' : 'development',\n // Webpack (at least older versions) expects entry keys without a leading `./`.\n // (The leading `./` seems to be okay with the latest version, but in older versions, it appears\n // to cause the runtime chunk runtime.js to be generated with an incorrect relative path?)\n entry: Object.fromEntries(Object.entries(newEntries).map(([key, value]) => [key.replace(/^\\.\\//, ''), value])),\n context: options.inputPath,\n resolve: {\n plugins: [new ResolveTypescriptPlugin()],\n extensions: ['.tsx', '.ts', '.js', '.jsx', '.json'],\n },\n resolveLoader: {\n modules: [\n // Resolve loaders from the package's node_modules\n 'node_modules',\n\n // Cloudpack provided loaders\n ...getModuleSearchPaths(\n ['swc-loader', 'css-loader', 'style-loader', 'sass-loader', 'worker-loader'],\n import.meta.url,\n ),\n ],\n },\n externals:\n // In production mode for browser bundles, we don't externalize anything.\n !isLibraryMode && targetEnvironment === 'browser'\n ? undefined\n : (data, callback) => {\n const { request } = data;\n // ! is a webpack loader prefix.\n if (!request || request.includes('!')) {\n return callback();\n }\n\n if (targetEnvironment === 'node') {\n if (isBuiltin(request)) {\n // It appears that with webpack `target: 'node'`, this must be manually added to built-ins\n // (the setting `externalsType: 'module-import'` isn't respected).\n // Otherwise webpack will load them with require...\n return callback(undefined, `module-import ${request}`);\n }\n return callback();\n }\n\n if (\n shouldExternalizePackage({\n id: request,\n inlined: options.inlined,\n external: options.external,\n shouldInlineNodeBuiltins: false,\n })\n ) {\n return callback(undefined, request);\n }\n\n callback();\n },\n target: [targetEnvironment === 'node' ? 'node18' : 'web', 'es2022'],\n module: {\n rules: [\n {\n oneOf: [\n // Rule for global CSS files\n {\n test: /\\.global\\.css$/,\n use: [\n 'style-loader',\n {\n loader: 'css-loader',\n options: {\n modules: {\n localIdentName: '[local]', // Use the local name for global CSS\n },\n },\n },\n ],\n },\n // Rule for CSS Modules files\n {\n test: /\\.module\\.css$/,\n use: [\n 'style-loader',\n {\n loader: 'css-loader',\n options: {\n modules: true, // Enable CSS Modules\n },\n },\n ],\n },\n // Rule for regular CSS files\n {\n test: /\\.css$/,\n exclude: /\\.module\\.css$/, // Exclude CSS Modules files\n use: [\n 'style-loader',\n 'css-loader', // Use css-loader without CSS Modules for regular CSS\n ],\n },\n ],\n },\n {\n test: /\\.json$/,\n type: 'json',\n sideEffects: false,\n },\n {\n test: /\\.ejs$/,\n loader: 'ejs-loader',\n options: {\n variable: 'data',\n esModule: true,\n },\n resolve: {\n fullySpecified: false,\n },\n },\n {\n // transform internal jsx files\n test: /\\.[cm]?jsx$/,\n loader: 'swc-loader',\n exclude: /(node_modules)/,\n options: swcConfig.jsx,\n },\n {\n // transform internal ts files\n test: /\\.[cm]?tsx?$/,\n loader: 'swc-loader',\n exclude: /(node_modules)/,\n options: swcConfig.tsx,\n },\n {\n test: /\\.s[ac]ss$/i,\n use: ['style-loader', 'css-loader', 'sass-loader'],\n },\n {\n test: /\\.worker\\.js$/,\n use: { loader: 'worker-loader' },\n },\n ],\n },\n output: {\n library: {\n type: 'module',\n },\n chunkFormat: 'module',\n chunkLoading: 'import',\n path: outputPath,\n module: true,\n filename: `[name].${outputScriptExtension}`,\n chunkFilename: `[id].chunk.${outputScriptExtension}`,\n },\n experiments: {\n outputModule: true,\n },\n devtool: options.sourcemap ? (isLibraryMode ? 'cheap-module-source-map' : 'source-map') : false,\n optimization: {\n runtimeChunk: 'single',\n minimize: options.minify,\n mangleExports: false,\n splitChunks: {\n // Prevents exposing path info when creating names for parts splitted by maxSize.\n hidePathInfo: true,\n\n // Figure out which exports are used by modules to mangle export names, omit unused\n // exports and generate more efficient code.\n usedExports: !isLibraryMode,\n\n chunks: 'all',\n\n filename: `[id].chunk.${outputScriptExtension}`,\n\n // Production chunks should be at least 1000 bytes to prevent large numbers of file requests\n minSize: isLibraryMode ? 0 : 1000,\n\n cacheGroups: {\n defaultVendors: false,\n },\n },\n },\n };\n\n if (Object.keys(bundlerOptions).length) {\n return merge(config, bundlerOptions);\n }\n\n return config;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"getWebpackConfiguration.js","sourceRoot":"","sources":["../src/getWebpackConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n defaultTargetSyntax,\n getModuleSearchPaths,\n getSwcConfig,\n shouldExternalizePackage,\n} from '@ms-cloudpack/bundler-utilities';\nimport type { BundleContext, BundleOptions } from '@ms-cloudpack/common-types';\nimport type { WriteESMStubsResult } from '@ms-cloudpack/esm-stub-utilities';\nimport { isBuiltin } from 'module';\nimport ResolveTypescriptPlugin from 'resolve-typescript-plugin';\nimport type { Configuration } from 'webpack';\nimport { merge } from 'webpack-merge';\n\nexport function getWebpackConfiguration(\n params: {\n options: Omit<BundleOptions, 'entries' | 'outputPath'>;\n outputPath: string;\n } & Pick<WriteESMStubsResult, 'newEntries'>,\n context: BundleContext,\n): Configuration {\n const { options, outputPath, newEntries } = params;\n const { targetEnvironment } = options;\n const { unsafeDisableInlineSvg: _, ...bundlerOptions } = options.bundlerOptions || {};\n const outputScriptExtension = targetEnvironment === 'node' ? 'mjs' : 'js';\n\n // Currently, targetEnvironment: node forces production mode since we don't have Node import map support\n const isLibraryMode = context.config.mode === 'library' && options.targetEnvironment !== 'node';\n\n const swcConfig = getSwcConfig({ packagePath: options.inputPath, sourcemap: options.sourcemap });\n\n const config: Configuration = {\n mode: options.minify ? 'production' : 'development',\n // Webpack (at least older versions) expects entry keys without a leading `./`.\n // (The leading `./` seems to be okay with the latest version, but in older versions, it appears\n // to cause the runtime chunk runtime.js to be generated with an incorrect relative path?)\n entry: Object.fromEntries(Object.entries(newEntries).map(([key, value]) => [key.replace(/^\\.\\//, ''), value])),\n context: options.inputPath,\n resolve: {\n plugins: [new ResolveTypescriptPlugin()],\n extensions: ['.tsx', '.ts', '.js', '.jsx', '.json'],\n },\n resolveLoader: {\n modules: [\n // Resolve loaders from the package's node_modules\n 'node_modules',\n\n // Cloudpack provided loaders\n ...getModuleSearchPaths(\n ['swc-loader', 'css-loader', 'style-loader', 'sass-loader', 'worker-loader'],\n import.meta.url,\n ),\n ],\n },\n externals:\n // In production mode for browser bundles, we don't externalize anything.\n !isLibraryMode && targetEnvironment === 'browser'\n ? undefined\n : (data, callback) => {\n const { request } = data;\n // ! is a webpack loader prefix.\n if (!request || request.includes('!')) {\n return callback();\n }\n\n if (targetEnvironment === 'node') {\n if (isBuiltin(request)) {\n // It appears that with webpack `target: 'node'`, this must be manually added to built-ins\n // (the setting `externalsType: 'module-import'` isn't respected).\n // Otherwise webpack will load them with require...\n return callback(undefined, `module-import ${request}`);\n }\n return callback();\n }\n\n if (\n shouldExternalizePackage({\n id: request,\n inlined: options.inlined,\n external: options.external,\n shouldInlineNodeBuiltins: false,\n })\n ) {\n return callback(undefined, request);\n }\n\n callback();\n },\n target: [targetEnvironment === 'node' ? 'node18' : 'web', defaultTargetSyntax],\n module: {\n rules: [\n {\n oneOf: [\n // Rule for global CSS files\n {\n test: /\\.global\\.css$/,\n use: [\n 'style-loader',\n {\n loader: 'css-loader',\n options: {\n modules: {\n localIdentName: '[local]', // Use the local name for global CSS\n },\n },\n },\n ],\n },\n // Rule for CSS Modules files\n {\n test: /\\.module\\.css$/,\n use: [\n 'style-loader',\n {\n loader: 'css-loader',\n options: {\n modules: true, // Enable CSS Modules\n },\n },\n ],\n },\n // Rule for regular CSS files\n {\n test: /\\.css$/,\n exclude: /\\.module\\.css$/, // Exclude CSS Modules files\n use: [\n 'style-loader',\n 'css-loader', // Use css-loader without CSS Modules for regular CSS\n ],\n },\n ],\n },\n {\n test: /\\.json$/,\n type: 'json',\n sideEffects: false,\n },\n {\n test: /\\.ejs$/,\n loader: 'ejs-loader',\n options: {\n variable: 'data',\n esModule: true,\n },\n resolve: {\n fullySpecified: false,\n },\n },\n {\n // transform internal jsx files\n test: /\\.[cm]?jsx$/,\n loader: 'swc-loader',\n exclude: /(node_modules)/,\n options: swcConfig.jsx,\n },\n {\n // transform internal ts files\n test: /\\.[cm]?tsx?$/,\n loader: 'swc-loader',\n exclude: /(node_modules)/,\n options: swcConfig.tsx,\n },\n {\n test: /\\.s[ac]ss$/i,\n use: ['style-loader', 'css-loader', 'sass-loader'],\n },\n {\n test: /\\.worker\\.js$/,\n use: { loader: 'worker-loader' },\n },\n ],\n },\n output: {\n library: {\n type: 'module',\n },\n chunkFormat: 'module',\n chunkLoading: 'import',\n path: outputPath,\n module: true,\n filename: `[name].${outputScriptExtension}`,\n chunkFilename: `[id].chunk.${outputScriptExtension}`,\n },\n experiments: {\n outputModule: true,\n },\n devtool: options.sourcemap ? (isLibraryMode ? 'cheap-module-source-map' : 'source-map') : false,\n optimization: {\n runtimeChunk: 'single',\n minimize: options.minify,\n mangleExports: false,\n splitChunks: {\n // Prevents exposing path info when creating names for parts splitted by maxSize.\n hidePathInfo: true,\n\n // Figure out which exports are used by modules to mangle export names, omit unused\n // exports and generate more efficient code.\n usedExports: !isLibraryMode,\n\n chunks: 'all',\n\n filename: `[id].chunk.${outputScriptExtension}`,\n\n // Production chunks should be at least 1000 bytes to prevent large numbers of file requests\n minSize: isLibraryMode ? 0 : 1000,\n\n cacheGroups: {\n defaultVendors: false,\n },\n },\n },\n };\n\n if (Object.keys(bundlerOptions).length) {\n return merge(config, bundlerOptions);\n }\n\n return config;\n}\n"]}
|
package/lib/webpack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6C,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6C,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAUrG,eAAO,MAAM,OAAO,EAAE,OAmDrB,CAAC"}
|
package/lib/webpack.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { processCapabilities } from '@ms-cloudpack/bundler-capabilities';
|
|
2
2
|
import { writeESMStubsInWorker } from '@ms-cloudpack/esm-stub-utilities';
|
|
3
3
|
import runWebpack from 'webpack';
|
|
4
|
-
import * as webpackExports from 'webpack';
|
|
5
4
|
import { getWebpackConfiguration } from './getWebpackConfiguration.js';
|
|
6
5
|
import { normalizeWebpackOutput } from './normalizeWebpackOutput.js';
|
|
7
6
|
import { webpackCapabilities } from './webpackCapabilities.js';
|
|
@@ -9,8 +8,7 @@ import { base64AssetExtensions } from '@ms-cloudpack/bundler-utilities';
|
|
|
9
8
|
const bundlerName = 'webpack';
|
|
10
9
|
export const webpack = {
|
|
11
10
|
name: bundlerName,
|
|
12
|
-
|
|
13
|
-
version: webpackExports.version,
|
|
11
|
+
version: runWebpack.version,
|
|
14
12
|
bundle: async function (options, context) {
|
|
15
13
|
const { errors, newEntries } = await writeESMStubsInWorker(options);
|
|
16
14
|
if (errors?.length) {
|
package/lib/webpack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,UAA0B,MAAM,SAAS,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":"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","sourcesContent":["import { processCapabilities } from '@ms-cloudpack/bundler-capabilities';\nimport type { BundleMessage, BundlerCapabilitiesOptions, Bundler } from '@ms-cloudpack/common-types';\nimport { writeESMStubsInWorker } from '@ms-cloudpack/esm-stub-utilities';\nimport runWebpack, { type Stats } from 'webpack';\nimport { getWebpackConfiguration } from './getWebpackConfiguration.js';\nimport { normalizeWebpackOutput } from './normalizeWebpackOutput.js';\nimport { webpackCapabilities } from './webpackCapabilities.js';\nimport { base64AssetExtensions } from '@ms-cloudpack/bundler-utilities';\n\nconst bundlerName = 'webpack';\n\nexport const webpack: Bundler = {\n name: bundlerName,\n version: runWebpack.version,\n bundle: async function (options, context) {\n const { errors, newEntries } = await writeESMStubsInWorker(options);\n if (errors?.length) {\n return { errors };\n }\n\n const outputPath = options.outputPath ?? options.inputPath;\n\n const defaultExtensionsToInline = [...base64AssetExtensions];\n const { unsafeDisableInlineSvg = false } = options.bundlerOptions || {};\n // TODO: This will be deleted in the upcoming PRs\n if (!unsafeDisableInlineSvg) {\n defaultExtensionsToInline.push('.svg');\n }\n\n const bundlerCapabilitiesOptions: BundlerCapabilitiesOptions = {\n // Enable asset-inline by default for common image types\n 'asset-inline': { extensions: defaultExtensionsToInline },\n ...(options.bundlerCapabilities || {}),\n };\n\n const config = await processCapabilities({\n bundlerName,\n baseConfig: getWebpackConfiguration({ options, outputPath, newEntries }, context),\n bundlerCapabilitiesOptions,\n internalCapabilities: webpackCapabilities,\n bundlerCapabilitiesRegistry: context.config.bundlerCapabilitiesRegistry,\n });\n\n try {\n const stats = await new Promise<Stats | undefined>((resolve, reject) => {\n runWebpack(config, (err, statsResult) => (err ? reject(err) : resolve(statsResult)));\n });\n\n // Normalize the output outside the callback, so if there's an exception it's not swallowed\n return normalizeWebpackOutput({ stats, config, outputPath, options });\n } catch (err) {\n const errorMessage: BundleMessage = { text: (err as Error).message || String(err), source: bundlerName };\n if (err instanceof Error && err.stack) {\n // remove the message from the stack\n errorMessage.notes = [{ text: err.stack.includes(err.message) ? err.stack.split(err.message)[1] : err.stack }];\n }\n return {\n errors: [errorMessage],\n rawInput: config as Record<string, unknown>,\n };\n }\n },\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/bundler-webpack",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.27",
|
|
4
4
|
"description": "A cloudpack plugin for abstracting webpack.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@ms-cloudpack/bundler-capabilities": "^0.2.15",
|
|
18
18
|
"@ms-cloudpack/bundler-utilities": "^0.2.4",
|
|
19
19
|
"@ms-cloudpack/common-types": "^0.24.10",
|
|
20
|
-
"@ms-cloudpack/esm-stub-utilities": "^0.14.
|
|
20
|
+
"@ms-cloudpack/esm-stub-utilities": "^0.14.12",
|
|
21
21
|
"@ms-cloudpack/path-string-parsing": "^1.2.6",
|
|
22
22
|
"@ms-cloudpack/path-utilities": "^3.0.7",
|
|
23
23
|
"@swc/core": "^1.3.0",
|