@teambit/webpack 0.0.630 → 0.0.634

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
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.630/dist/webpack.composition.js')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.634/dist/webpack.composition.js')]
@@ -1,3 +1,4 @@
1
+ /* eslint-disable complexity */
1
2
  import camelcase from 'camelcase';
2
3
  import webpack, { Configuration } from 'webpack';
3
4
  import { generateExternals } from '@teambit/webpack.modules.generate-externals';
@@ -10,8 +11,11 @@ import { fallbacksProvidePluginConfig } from './webpack-fallbacks-provide-plugin
10
11
  import { fallbacksAliases } from './webpack-fallbacks-aliases';
11
12
 
12
13
  export function configFactory(target: Target, context: BundlerContext): Configuration {
13
- const truthyEntries =
14
+ let truthyEntries =
14
15
  Array.isArray(target.entries) && target.entries.length ? target.entries.filter(Boolean) : target.entries || {};
16
+ if (Array.isArray(truthyEntries) && !truthyEntries.length) {
17
+ truthyEntries = {};
18
+ }
15
19
  const dev = Boolean(context.development);
16
20
  const htmlConfig = target.html ?? context.html;
17
21
  const htmlPlugins = htmlConfig ? generateHtmlPlugins(htmlConfig) : undefined;
@@ -104,10 +104,16 @@ function _webpackFallbacksAliases() {
104
104
  return data;
105
105
  }
106
106
 
107
+ /* eslint-disable complexity */
107
108
  function configFactory(target, context) {
108
109
  var _target$html, _target$externalizePe, _target$chunking;
109
110
 
110
- const truthyEntries = Array.isArray(target.entries) && target.entries.length ? target.entries.filter(Boolean) : target.entries || {};
111
+ let truthyEntries = Array.isArray(target.entries) && target.entries.length ? target.entries.filter(Boolean) : target.entries || {};
112
+
113
+ if (Array.isArray(truthyEntries) && !truthyEntries.length) {
114
+ truthyEntries = {};
115
+ }
116
+
111
117
  const dev = Boolean(context.development);
112
118
  const htmlConfig = (_target$html = target.html) !== null && _target$html !== void 0 ? _target$html : context.html;
113
119
  const htmlPlugins = htmlConfig ? generateHtmlPlugins(htmlConfig) : undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack.config.ts"],"names":["configFactory","target","context","truthyEntries","Array","isArray","entries","length","filter","Boolean","dev","development","htmlConfig","html","htmlPlugins","generateHtmlPlugins","undefined","shouldExternalizePeers","externalizePeer","peers","externals","getExternals","splitChunks","chunking","config","mode","bail","entry","infrastructureLogging","level","output","path","outputPath","stats","errorDetails","resolve","alias","fallbacksAliases","fallback","fallbacks","plugins","webpack","ProvidePlugin","fallbacksProvidePluginConfig","getAssetManifestPlugin","filename","chunkFilename","runtimeChunkName","optimization","runtimeChunk","name","chunks","concat","WebpackAssetsManifest","entrypoints","configs","map","generateHtmlPlugin","baseConfig","title","templateContent","minify","cache","chunksSortMode","filteredConfig","isUndefined","HtmlWebpackPlugin","deps","transformName","depName","replace","pascalCase"],"mappings":"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","sourcesContent":["import camelcase from 'camelcase';\nimport webpack, { Configuration } from 'webpack';\nimport { generateExternals } from '@teambit/webpack.modules.generate-externals';\nimport { isUndefined, omitBy } from 'lodash';\nimport type { BundlerContext, BundlerHtmlConfig, Target } from '@teambit/bundler';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport WebpackAssetsManifest from 'webpack-assets-manifest';\nimport { fallbacks } from './webpack-fallbacks';\nimport { fallbacksProvidePluginConfig } from './webpack-fallbacks-provide-plugin-config';\nimport { fallbacksAliases } from './webpack-fallbacks-aliases';\n\nexport function configFactory(target: Target, context: BundlerContext): Configuration {\n const truthyEntries =\n Array.isArray(target.entries) && target.entries.length ? target.entries.filter(Boolean) : target.entries || {};\n const dev = Boolean(context.development);\n const htmlConfig = target.html ?? context.html;\n const htmlPlugins = htmlConfig ? generateHtmlPlugins(htmlConfig) : undefined;\n const shouldExternalizePeers =\n (target.externalizePeer ?? context.externalizePeer) && target.peers && target.peers.length;\n const externals = shouldExternalizePeers ? (getExternals(target.peers || []) as any) : undefined;\n const splitChunks = target.chunking?.splitChunks;\n\n const config: Configuration = {\n mode: dev ? 'development' : 'production',\n // Stop compilation early in production\n bail: true,\n // These are the \"entry points\" to our application.\n // This means they will be the \"root\" imports that are included in JS bundle.\n // @ts-ignore\n entry: truthyEntries,\n\n infrastructureLogging: {\n level: 'error',\n },\n\n output: {\n // The build folder.\n path: `${target.outputPath}/public`,\n },\n stats: {\n errorDetails: true,\n },\n\n resolve: {\n alias: fallbacksAliases,\n\n fallback: fallbacks,\n },\n\n plugins: [new webpack.ProvidePlugin(fallbacksProvidePluginConfig), getAssetManifestPlugin()],\n };\n\n if (target.filename) {\n config.output = config.output || {};\n config.output.filename = target.filename;\n }\n\n if (target.chunkFilename) {\n config.output = config.output || {};\n config.output.chunkFilename = target.chunkFilename;\n }\n\n if (target.runtimeChunkName) {\n config.optimization = config.optimization || {};\n config.optimization.runtimeChunk = {\n name: target.runtimeChunkName,\n };\n }\n\n if (splitChunks) {\n config.optimization = config.optimization || {};\n config.optimization.splitChunks = {\n chunks: 'all',\n name: false,\n };\n }\n\n if (htmlPlugins && htmlPlugins.length) {\n if (!config.plugins) {\n config.plugins = [];\n }\n config.plugins = config.plugins.concat(htmlPlugins);\n }\n if (externals) {\n config.externals = externals;\n }\n return config;\n}\n\nfunction getAssetManifestPlugin() {\n return new WebpackAssetsManifest({ entrypoints: true });\n}\n\nfunction generateHtmlPlugins(configs: BundlerHtmlConfig[]) {\n return configs.map((config) => generateHtmlPlugin(config));\n}\nfunction generateHtmlPlugin(config: BundlerHtmlConfig) {\n const baseConfig = {\n filename: config.filename,\n chunks: config.chunks,\n title: config.title,\n templateContent: config.templateContent,\n minify: config.minify,\n cache: false,\n chunksSortMode: 'auto' as const,\n };\n if (baseConfig.chunks && baseConfig.chunks.length) {\n // Make sure the order is that the preview root coming after the preview def\n // we can't make it like this on the entries using depend on because this will\n // prevent the splitting between different preview defs\n // @ts-ignore\n baseConfig.chunksSortMode = 'manual' as const;\n }\n const filteredConfig = omitBy(baseConfig, isUndefined);\n return new HtmlWebpackPlugin(filteredConfig);\n}\n\nexport function getExternals(deps: string[]) {\n return generateExternals(deps, {\n transformName: (depName) => camelcase(depName.replace('@', '').replace('/', '-'), { pascalCase: true }),\n });\n}\n"]}
1
+ {"version":3,"sources":["webpack.config.ts"],"names":["configFactory","target","context","truthyEntries","Array","isArray","entries","length","filter","Boolean","dev","development","htmlConfig","html","htmlPlugins","generateHtmlPlugins","undefined","shouldExternalizePeers","externalizePeer","peers","externals","getExternals","splitChunks","chunking","config","mode","bail","entry","infrastructureLogging","level","output","path","outputPath","stats","errorDetails","resolve","alias","fallbacksAliases","fallback","fallbacks","plugins","webpack","ProvidePlugin","fallbacksProvidePluginConfig","getAssetManifestPlugin","filename","chunkFilename","runtimeChunkName","optimization","runtimeChunk","name","chunks","concat","WebpackAssetsManifest","entrypoints","configs","map","generateHtmlPlugin","baseConfig","title","templateContent","minify","cache","chunksSortMode","filteredConfig","isUndefined","HtmlWebpackPlugin","deps","transformName","depName","replace","pascalCase"],"mappings":";;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAVA;AAYO,SAASA,aAAT,CAAuBC,MAAvB,EAAuCC,OAAvC,EAA+E;AAAA;;AACpF,MAAIC,aAAa,GACfC,KAAK,CAACC,OAAN,CAAcJ,MAAM,CAACK,OAArB,KAAiCL,MAAM,CAACK,OAAP,CAAeC,MAAhD,GAAyDN,MAAM,CAACK,OAAP,CAAeE,MAAf,CAAsBC,OAAtB,CAAzD,GAA0FR,MAAM,CAACK,OAAP,IAAkB,EAD9G;;AAEA,MAAIF,KAAK,CAACC,OAAN,CAAcF,aAAd,KAAgC,CAACA,aAAa,CAACI,MAAnD,EAA2D;AACzDJ,IAAAA,aAAa,GAAG,EAAhB;AACD;;AACD,QAAMO,GAAG,GAAGD,OAAO,CAACP,OAAO,CAACS,WAAT,CAAnB;AACA,QAAMC,UAAU,mBAAGX,MAAM,CAACY,IAAV,uDAAkBX,OAAO,CAACW,IAA1C;AACA,QAAMC,WAAW,GAAGF,UAAU,GAAGG,mBAAmB,CAACH,UAAD,CAAtB,GAAqCI,SAAnE;AACA,QAAMC,sBAAsB,GAC1B,0BAAChB,MAAM,CAACiB,eAAR,yEAA2BhB,OAAO,CAACgB,eAAnC,KAAuDjB,MAAM,CAACkB,KAA9D,IAAuElB,MAAM,CAACkB,KAAP,CAAaZ,MADtF;AAEA,QAAMa,SAAS,GAAGH,sBAAsB,GAAII,YAAY,CAACpB,MAAM,CAACkB,KAAP,IAAgB,EAAjB,CAAhB,GAA+CH,SAAvF;AACA,QAAMM,WAAW,uBAAGrB,MAAM,CAACsB,QAAV,qDAAG,iBAAiBD,WAArC;AAEA,QAAME,MAAqB,GAAG;AAC5BC,IAAAA,IAAI,EAAEf,GAAG,GAAG,aAAH,GAAmB,YADA;AAE5B;AACAgB,IAAAA,IAAI,EAAE,IAHsB;AAI5B;AACA;AACA;AACAC,IAAAA,KAAK,EAAExB,aAPqB;AAS5ByB,IAAAA,qBAAqB,EAAE;AACrBC,MAAAA,KAAK,EAAE;AADc,KATK;AAa5BC,IAAAA,MAAM,EAAE;AACN;AACAC,MAAAA,IAAI,EAAG,GAAE9B,MAAM,CAAC+B,UAAW;AAFrB,KAboB;AAiB5BC,IAAAA,KAAK,EAAE;AACLC,MAAAA,YAAY,EAAE;AADT,KAjBqB;AAqB5BC,IAAAA,OAAO,EAAE;AACPC,MAAAA,KAAK,EAAEC,2CADA;AAGPC,MAAAA,QAAQ,EAAEC;AAHH,KArBmB;AA2B5BC,IAAAA,OAAO,EAAE,CAAC,KAAIC,mBAAQC,aAAZ,EAA0BC,mEAA1B,CAAD,EAA0DC,sBAAsB,EAAhF;AA3BmB,GAA9B;;AA8BA,MAAI3C,MAAM,CAAC4C,QAAX,EAAqB;AACnBrB,IAAAA,MAAM,CAACM,MAAP,GAAgBN,MAAM,CAACM,MAAP,IAAiB,EAAjC;AACAN,IAAAA,MAAM,CAACM,MAAP,CAAce,QAAd,GAAyB5C,MAAM,CAAC4C,QAAhC;AACD;;AAED,MAAI5C,MAAM,CAAC6C,aAAX,EAA0B;AACxBtB,IAAAA,MAAM,CAACM,MAAP,GAAgBN,MAAM,CAACM,MAAP,IAAiB,EAAjC;AACAN,IAAAA,MAAM,CAACM,MAAP,CAAcgB,aAAd,GAA8B7C,MAAM,CAAC6C,aAArC;AACD;;AAED,MAAI7C,MAAM,CAAC8C,gBAAX,EAA6B;AAC3BvB,IAAAA,MAAM,CAACwB,YAAP,GAAsBxB,MAAM,CAACwB,YAAP,IAAuB,EAA7C;AACAxB,IAAAA,MAAM,CAACwB,YAAP,CAAoBC,YAApB,GAAmC;AACjCC,MAAAA,IAAI,EAAEjD,MAAM,CAAC8C;AADoB,KAAnC;AAGD;;AAED,MAAIzB,WAAJ,EAAiB;AACfE,IAAAA,MAAM,CAACwB,YAAP,GAAsBxB,MAAM,CAACwB,YAAP,IAAuB,EAA7C;AACAxB,IAAAA,MAAM,CAACwB,YAAP,CAAoB1B,WAApB,GAAkC;AAChC6B,MAAAA,MAAM,EAAE,KADwB;AAEhCD,MAAAA,IAAI,EAAE;AAF0B,KAAlC;AAID;;AAED,MAAIpC,WAAW,IAAIA,WAAW,CAACP,MAA/B,EAAuC;AACrC,QAAI,CAACiB,MAAM,CAACgB,OAAZ,EAAqB;AACnBhB,MAAAA,MAAM,CAACgB,OAAP,GAAiB,EAAjB;AACD;;AACDhB,IAAAA,MAAM,CAACgB,OAAP,GAAiBhB,MAAM,CAACgB,OAAP,CAAeY,MAAf,CAAsBtC,WAAtB,CAAjB;AACD;;AACD,MAAIM,SAAJ,EAAe;AACbI,IAAAA,MAAM,CAACJ,SAAP,GAAmBA,SAAnB;AACD;;AACD,SAAOI,MAAP;AACD;;AAED,SAASoB,sBAAT,GAAkC;AAChC,SAAO,KAAIS,gCAAJ,EAA0B;AAAEC,IAAAA,WAAW,EAAE;AAAf,GAA1B,CAAP;AACD;;AAED,SAASvC,mBAAT,CAA6BwC,OAA7B,EAA2D;AACzD,SAAOA,OAAO,CAACC,GAAR,CAAahC,MAAD,IAAYiC,kBAAkB,CAACjC,MAAD,CAA1C,CAAP;AACD;;AACD,SAASiC,kBAAT,CAA4BjC,MAA5B,EAAuD;AACrD,QAAMkC,UAAU,GAAG;AACjBb,IAAAA,QAAQ,EAAErB,MAAM,CAACqB,QADA;AAEjBM,IAAAA,MAAM,EAAE3B,MAAM,CAAC2B,MAFE;AAGjBQ,IAAAA,KAAK,EAAEnC,MAAM,CAACmC,KAHG;AAIjBC,IAAAA,eAAe,EAAEpC,MAAM,CAACoC,eAJP;AAKjBC,IAAAA,MAAM,EAAErC,MAAM,CAACqC,MALE;AAMjBC,IAAAA,KAAK,EAAE,KANU;AAOjBC,IAAAA,cAAc,EAAE;AAPC,GAAnB;;AASA,MAAIL,UAAU,CAACP,MAAX,IAAqBO,UAAU,CAACP,MAAX,CAAkB5C,MAA3C,EAAmD;AACjD;AACA;AACA;AACA;AACAmD,IAAAA,UAAU,CAACK,cAAX,GAA4B,QAA5B;AACD;;AACD,QAAMC,cAAc,GAAG,sBAAON,UAAP,EAAmBO,qBAAnB,CAAvB;AACA,SAAO,KAAIC,4BAAJ,EAAsBF,cAAtB,CAAP;AACD;;AAEM,SAAS3C,YAAT,CAAsB8C,IAAtB,EAAsC;AAC3C,SAAO,yCAAkBA,IAAlB,EAAwB;AAC7BC,IAAAA,aAAa,EAAGC,OAAD,IAAa,0BAAUA,OAAO,CAACC,OAAR,CAAgB,GAAhB,EAAqB,EAArB,EAAyBA,OAAzB,CAAiC,GAAjC,EAAsC,GAAtC,CAAV,EAAsD;AAAEC,MAAAA,UAAU,EAAE;AAAd,KAAtD;AADC,GAAxB,CAAP;AAGD","sourcesContent":["/* eslint-disable complexity */\nimport camelcase from 'camelcase';\nimport webpack, { Configuration } from 'webpack';\nimport { generateExternals } from '@teambit/webpack.modules.generate-externals';\nimport { isUndefined, omitBy } from 'lodash';\nimport type { BundlerContext, BundlerHtmlConfig, Target } from '@teambit/bundler';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport WebpackAssetsManifest from 'webpack-assets-manifest';\nimport { fallbacks } from './webpack-fallbacks';\nimport { fallbacksProvidePluginConfig } from './webpack-fallbacks-provide-plugin-config';\nimport { fallbacksAliases } from './webpack-fallbacks-aliases';\n\nexport function configFactory(target: Target, context: BundlerContext): Configuration {\n let truthyEntries =\n Array.isArray(target.entries) && target.entries.length ? target.entries.filter(Boolean) : target.entries || {};\n if (Array.isArray(truthyEntries) && !truthyEntries.length) {\n truthyEntries = {};\n }\n const dev = Boolean(context.development);\n const htmlConfig = target.html ?? context.html;\n const htmlPlugins = htmlConfig ? generateHtmlPlugins(htmlConfig) : undefined;\n const shouldExternalizePeers =\n (target.externalizePeer ?? context.externalizePeer) && target.peers && target.peers.length;\n const externals = shouldExternalizePeers ? (getExternals(target.peers || []) as any) : undefined;\n const splitChunks = target.chunking?.splitChunks;\n\n const config: Configuration = {\n mode: dev ? 'development' : 'production',\n // Stop compilation early in production\n bail: true,\n // These are the \"entry points\" to our application.\n // This means they will be the \"root\" imports that are included in JS bundle.\n // @ts-ignore\n entry: truthyEntries,\n\n infrastructureLogging: {\n level: 'error',\n },\n\n output: {\n // The build folder.\n path: `${target.outputPath}/public`,\n },\n stats: {\n errorDetails: true,\n },\n\n resolve: {\n alias: fallbacksAliases,\n\n fallback: fallbacks,\n },\n\n plugins: [new webpack.ProvidePlugin(fallbacksProvidePluginConfig), getAssetManifestPlugin()],\n };\n\n if (target.filename) {\n config.output = config.output || {};\n config.output.filename = target.filename;\n }\n\n if (target.chunkFilename) {\n config.output = config.output || {};\n config.output.chunkFilename = target.chunkFilename;\n }\n\n if (target.runtimeChunkName) {\n config.optimization = config.optimization || {};\n config.optimization.runtimeChunk = {\n name: target.runtimeChunkName,\n };\n }\n\n if (splitChunks) {\n config.optimization = config.optimization || {};\n config.optimization.splitChunks = {\n chunks: 'all',\n name: false,\n };\n }\n\n if (htmlPlugins && htmlPlugins.length) {\n if (!config.plugins) {\n config.plugins = [];\n }\n config.plugins = config.plugins.concat(htmlPlugins);\n }\n if (externals) {\n config.externals = externals;\n }\n return config;\n}\n\nfunction getAssetManifestPlugin() {\n return new WebpackAssetsManifest({ entrypoints: true });\n}\n\nfunction generateHtmlPlugins(configs: BundlerHtmlConfig[]) {\n return configs.map((config) => generateHtmlPlugin(config));\n}\nfunction generateHtmlPlugin(config: BundlerHtmlConfig) {\n const baseConfig = {\n filename: config.filename,\n chunks: config.chunks,\n title: config.title,\n templateContent: config.templateContent,\n minify: config.minify,\n cache: false,\n chunksSortMode: 'auto' as const,\n };\n if (baseConfig.chunks && baseConfig.chunks.length) {\n // Make sure the order is that the preview root coming after the preview def\n // we can't make it like this on the entries using depend on because this will\n // prevent the splitting between different preview defs\n // @ts-ignore\n baseConfig.chunksSortMode = 'manual' as const;\n }\n const filteredConfig = omitBy(baseConfig, isUndefined);\n return new HtmlWebpackPlugin(filteredConfig);\n}\n\nexport function getExternals(deps: string[]) {\n return generateExternals(deps, {\n transformName: (depName) => camelcase(depName.replace('@', '').replace('/', '-'), { pascalCase: true }),\n });\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/webpack",
3
- "version": "0.0.630",
3
+ "version": "0.0.634",
4
4
  "homepage": "https://bit.dev/teambit/webpack/webpack",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.webpack",
8
8
  "name": "webpack",
9
- "version": "0.0.630"
9
+ "version": "0.0.634"
10
10
  },
11
11
  "dependencies": {
12
12
  "webpack": "5.51.1",
@@ -43,11 +43,11 @@
43
43
  "core-js": "^3.0.0",
44
44
  "@teambit/webpack.modules.config-mutator": "0.0.136",
45
45
  "@teambit/bit-error": "0.0.394",
46
- "@teambit/bundler": "0.0.630",
47
- "@teambit/logger": "0.0.523",
48
- "@teambit/cli": "0.0.433",
49
- "@teambit/pubsub": "0.0.630",
50
- "@teambit/workspace": "0.0.630",
46
+ "@teambit/bundler": "0.0.634",
47
+ "@teambit/logger": "0.0.524",
48
+ "@teambit/cli": "0.0.434",
49
+ "@teambit/pubsub": "0.0.634",
50
+ "@teambit/workspace": "0.0.634",
51
51
  "@teambit/webpack.modules.generate-externals": "0.0.2"
52
52
  },
53
53
  "devDependencies": {
@@ -61,7 +61,7 @@
61
61
  "@types/node": "12.20.4"
62
62
  },
63
63
  "peerDependencies": {
64
- "@teambit/legacy": "1.0.209",
64
+ "@teambit/legacy": "1.0.210",
65
65
  "react-dom": "^16.8.0 || ^17.0.0",
66
66
  "react": "^16.8.0 || ^17.0.0"
67
67
  },