@teambit/webpack 0.0.1052 → 0.0.1054
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.
- package/config/webpack.dev.config.ts +3 -0
- package/dist/config/webpack.dev.config.js +3 -0
- package/dist/config/webpack.dev.config.js.map +1 -1
- package/dist/{preview-1683689530779.js → preview-1683819275189.js} +2 -2
- package/dist/webpack.dev-server.js +2 -0
- package/dist/webpack.dev-server.js.map +1 -1
- package/dist/webpack.main.runtime.d.ts +3 -2
- package/dist/webpack.main.runtime.js +15 -4
- package/dist/webpack.main.runtime.js.map +1 -1
- package/package-tar/teambit-webpack-0.0.1054.tgz +0 -0
- package/package.json +13 -13
- package/package-tar/teambit-webpack-0.0.1052.tgz +0 -0
|
@@ -117,11 +117,13 @@ export function configFactory(
|
|
|
117
117
|
// @ts-ignore - @types/WDS mismatch - 3.11.6 vs 4.0.3
|
|
118
118
|
app.use(evalSourceMapMiddleware(wds));
|
|
119
119
|
// This lets us open files from the runtime error overlay.
|
|
120
|
+
// @ts-ignore
|
|
120
121
|
app.use(errorOverlayMiddleware());
|
|
121
122
|
},
|
|
122
123
|
|
|
123
124
|
onAfterSetupMiddleware({ app }) {
|
|
124
125
|
// Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match
|
|
126
|
+
// @ts-ignore
|
|
125
127
|
app.use(redirectServedPath(publicUrlOrPath));
|
|
126
128
|
|
|
127
129
|
// This service worker file is effectively a 'no-op' that will reset any
|
|
@@ -129,6 +131,7 @@ export function configFactory(
|
|
|
129
131
|
// We do this in development to avoid hitting the production cache if
|
|
130
132
|
// it used the same host and port.
|
|
131
133
|
// https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432
|
|
134
|
+
// @ts-ignore
|
|
132
135
|
app.use(noopServiceWorkerMiddleware(publicUrlOrPath));
|
|
133
136
|
},
|
|
134
137
|
|
|
@@ -176,12 +176,14 @@ function configFactory(devServerID, workspaceDir, entryFiles, publicRoot, public
|
|
|
176
176
|
// @ts-ignore - @types/WDS mismatch - 3.11.6 vs 4.0.3
|
|
177
177
|
app.use((0, _evalSourceMapMiddleware().default)(wds));
|
|
178
178
|
// This lets us open files from the runtime error overlay.
|
|
179
|
+
// @ts-ignore
|
|
179
180
|
app.use((0, _errorOverlayMiddleware().default)());
|
|
180
181
|
},
|
|
181
182
|
onAfterSetupMiddleware({
|
|
182
183
|
app
|
|
183
184
|
}) {
|
|
184
185
|
// Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match
|
|
186
|
+
// @ts-ignore
|
|
185
187
|
app.use((0, _redirectServedPathMiddleware().default)(publicUrlOrPath));
|
|
186
188
|
|
|
187
189
|
// This service worker file is effectively a 'no-op' that will reset any
|
|
@@ -189,6 +191,7 @@ function configFactory(devServerID, workspaceDir, entryFiles, publicRoot, public
|
|
|
189
191
|
// We do this in development to avoid hitting the production cache if
|
|
190
192
|
// it used the same host and port.
|
|
191
193
|
// https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432
|
|
194
|
+
// @ts-ignore
|
|
192
195
|
app.use((0, _noopServiceWorkerMiddleware().default)(publicUrlOrPath));
|
|
193
196
|
},
|
|
194
197
|
devMiddleware: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["publicUrlOrPath","getPublicUrlOrPath","process","env","NODE_ENV","configFactory","devServerID","workspaceDir","entryFiles","publicRoot","publicPath","pubsub","title","favicon","resolveWorkspacePath","relativePath","path","resolve","publicDirectory","mode","devtool","entry","map","filePath","output","filename","pathinfo","chunkFilename","devtoolModuleFilenameTemplate","info","pathNormalizeToLinux","absoluteResourcePath","infrastructureLogging","level","stats","errorDetails","devServer","allowedHosts","static","directory","staticOptions","serveIndex","watch","compress","hot","historyApiFallback","disableDotRule","index","client","overlay","onBeforeSetupMiddleware","wds","app","use","evalSourceMapMiddleware","errorOverlayMiddleware","onAfterSetupMiddleware","redirectServedPath","noopServiceWorkerMiddleware","devMiddleware","join","alias","fallbacksAliases","fallback","fallbacks","plugins","HtmlWebpackPlugin","templateContent","html","webpack","ProvidePlugin","fallbacksProvidePluginConfig","WebpackBitReporterPlugin","options"],"sources":["webpack.dev.config.ts"],"sourcesContent":["import path from 'path';\nimport webpack from 'webpack';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport errorOverlayMiddleware from 'react-dev-utils/errorOverlayMiddleware';\nimport evalSourceMapMiddleware from 'react-dev-utils/evalSourceMapMiddleware';\nimport noopServiceWorkerMiddleware from 'react-dev-utils/noopServiceWorkerMiddleware';\nimport redirectServedPath from 'react-dev-utils/redirectServedPathMiddleware';\nimport getPublicUrlOrPath from 'react-dev-utils/getPublicUrlOrPath';\nimport { PubsubMain } from '@teambit/pubsub';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { WebpackConfigWithDevServer } from '../webpack.dev-server';\nimport { fallbacks } from './webpack-fallbacks';\n\nimport { html } from './html';\n\nimport { WebpackBitReporterPlugin } from '../plugins/webpack-bit-reporter-plugin';\nimport { fallbacksProvidePluginConfig } from './webpack-fallbacks-provide-plugin-config';\nimport { fallbacksAliases } from './webpack-fallbacks-aliases';\n\nconst publicUrlOrPath = getPublicUrlOrPath(process.env.NODE_ENV === 'development', '/', '/public');\n\nexport function configFactory(\n devServerID: string,\n workspaceDir: string,\n entryFiles: string[],\n publicRoot: string,\n publicPath: string,\n pubsub: PubsubMain,\n title?: string,\n favicon?: string\n): WebpackConfigWithDevServer {\n const resolveWorkspacePath = (relativePath) => path.resolve(workspaceDir, relativePath);\n\n // Required for babel-preset-react-app\n process.env.NODE_ENV = 'development';\n\n const publicDirectory = `${publicRoot}/${publicPath}`;\n\n return {\n // Environment mode\n mode: 'development',\n\n devtool: 'eval-cheap-module-source-map',\n\n // Entry point of app\n entry: entryFiles.map((filePath) => resolveWorkspacePath(filePath)),\n\n output: {\n // Development filename output\n filename: 'static/js/[name].bundle.js',\n\n pathinfo: true,\n\n path: resolveWorkspacePath(publicDirectory),\n\n // publicPath: resolveWorkspacePath(publicDirectory),\n\n chunkFilename: 'static/js/[name].chunk.js',\n\n // point sourcemap entries to original disk locations (format as URL on windows)\n devtoolModuleFilenameTemplate: (info) => pathNormalizeToLinux(path.resolve(info.absoluteResourcePath)),\n\n // this defaults to 'window', but by setting it to 'this' then\n // module chunks which are built will work in web workers as well.\n // Commented out to use the default (self) as according to tobias with webpack5 self is working with workers as well\n // globalObject: 'this',\n },\n\n infrastructureLogging: {\n level: 'error',\n },\n\n stats: {\n errorDetails: true,\n },\n\n devServer: {\n allowedHosts: 'all',\n\n static: [\n {\n directory: resolveWorkspacePath(publicDirectory),\n staticOptions: {},\n // Don't be confused with `dev.publicPath`, it is `publicPath` for static directory\n // Can be:\n // publicPath: ['/static-public-path-one/', '/static-public-path-two/'],\n publicPath: publicDirectory,\n // Can be:\n // serveIndex: {} (options for the `serveIndex` option you can find https://github.com/expressjs/serve-index)\n serveIndex: true,\n // Can be:\n // watch: {} (options for the `watch` option you can find https://github.com/paulmillr/chokidar)\n watch: true,\n },\n ],\n\n // Enable compression\n compress: true,\n\n // Enable hot reloading\n hot: true,\n\n historyApiFallback: {\n disableDotRule: true,\n index: resolveWorkspacePath(publicDirectory),\n },\n\n client: {\n overlay: false,\n },\n\n onBeforeSetupMiddleware(wds) {\n const { app } = wds;\n // Keep `evalSourceMapMiddleware` and `errorOverlayMiddleware`\n // middlewares before `redirectServedPath` otherwise will not have any effect\n // This lets us fetch source contents from webpack for the error overlay\n // @ts-ignore - @types/WDS mismatch - 3.11.6 vs 4.0.3\n app.use(evalSourceMapMiddleware(wds));\n // This lets us open files from the runtime error overlay.\n app.use(errorOverlayMiddleware());\n },\n\n onAfterSetupMiddleware({ app }) {\n // Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match\n app.use(redirectServedPath(publicUrlOrPath));\n\n // This service worker file is effectively a 'no-op' that will reset any\n // previous service worker registered for the same host:port combination.\n // We do this in development to avoid hitting the production cache if\n // it used the same host and port.\n // https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432\n app.use(noopServiceWorkerMiddleware(publicUrlOrPath));\n },\n\n devMiddleware: {\n // forward static files\n publicPath: path.join('/', publicRoot),\n },\n },\n\n resolve: {\n // TODO - check - we shoult not need both fallbacks and alias and provider plugin\n alias: fallbacksAliases,\n\n fallback: fallbacks as any,\n },\n\n plugins: [\n new HtmlWebpackPlugin({\n templateContent: html(title || 'Component preview'),\n filename: 'index.html',\n favicon,\n }),\n new webpack.ProvidePlugin(fallbacksProvidePluginConfig),\n\n new WebpackBitReporterPlugin({\n options: { pubsub, devServerID },\n }),\n ],\n };\n}\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA,MAAMA,eAAe,GAAG,IAAAC,6BAAkB,EAACC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC;AAE3F,SAASC,aAAa,CAC3BC,WAAmB,EACnBC,YAAoB,EACpBC,UAAoB,EACpBC,UAAkB,EAClBC,UAAkB,EAClBC,MAAkB,EAClBC,KAAc,EACdC,OAAgB,EACY;EAC5B,MAAMC,oBAAoB,GAAIC,YAAY,IAAKC,eAAI,CAACC,OAAO,CAACV,YAAY,EAAEQ,YAAY,CAAC;;EAEvF;EACAb,OAAO,CAACC,GAAG,CAACC,QAAQ,GAAG,aAAa;EAEpC,MAAMc,eAAe,GAAI,GAAET,UAAW,IAAGC,UAAW,EAAC;EAErD,OAAO;IACL;IACAS,IAAI,EAAE,aAAa;IAEnBC,OAAO,EAAE,8BAA8B;IAEvC;IACAC,KAAK,EAAEb,UAAU,CAACc,GAAG,CAAEC,QAAQ,IAAKT,oBAAoB,CAACS,QAAQ,CAAC,CAAC;IAEnEC,MAAM,EAAE;MACN;MACAC,QAAQ,EAAE,4BAA4B;MAEtCC,QAAQ,EAAE,IAAI;MAEdV,IAAI,EAAEF,oBAAoB,CAACI,eAAe,CAAC;MAE3C;;MAEAS,aAAa,EAAE,2BAA2B;MAE1C;MACAC,6BAA6B,EAAGC,IAAI,IAAK,IAAAC,6BAAoB,EAACd,eAAI,CAACC,OAAO,CAACY,IAAI,CAACE,oBAAoB,CAAC;;MAErG;MACA;MACA;MACA;IACF,CAAC;;IAEDC,qBAAqB,EAAE;MACrBC,KAAK,EAAE;IACT,CAAC;IAEDC,KAAK,EAAE;MACLC,YAAY,EAAE;IAChB,CAAC;IAEDC,SAAS,EAAE;MACTC,YAAY,EAAE,KAAK;MAEnBC,MAAM,EAAE,CACN;QACEC,SAAS,EAAEzB,oBAAoB,CAACI,eAAe,CAAC;QAChDsB,aAAa,EAAE,CAAC,CAAC;QACjB;QACA;QACA;QACA9B,UAAU,EAAEQ,eAAe;QAC3B;QACA;QACAuB,UAAU,EAAE,IAAI;QAChB;QACA;QACAC,KAAK,EAAE;MACT,CAAC,CACF;MAED;MACAC,QAAQ,EAAE,IAAI;MAEd;MACAC,GAAG,EAAE,IAAI;MAETC,kBAAkB,EAAE;QAClBC,cAAc,EAAE,IAAI;QACpBC,KAAK,EAAEjC,oBAAoB,CAACI,eAAe;MAC7C,CAAC;MAED8B,MAAM,EAAE;QACNC,OAAO,EAAE;MACX,CAAC;MAEDC,uBAAuB,CAACC,GAAG,EAAE;QAC3B,MAAM;UAAEC;QAAI,CAAC,GAAGD,GAAG;QACnB;QACA;QACA;QACA;QACAC,GAAG,CAACC,GAAG,CAAC,IAAAC,kCAAuB,EAACH,GAAG,CAAC,CAAC;QACrC;QACAC,GAAG,CAACC,GAAG,CAAC,IAAAE,iCAAsB,GAAE,CAAC;MACnC,CAAC;MAEDC,sBAAsB,CAAC;QAAEJ;MAAI,CAAC,EAAE;QAC9B;QACAA,GAAG,CAACC,GAAG,CAAC,IAAAI,uCAAkB,EAACzD,eAAe,CAAC,CAAC;;QAE5C;QACA;QACA;QACA;QACA;QACAoD,GAAG,CAACC,GAAG,CAAC,IAAAK,sCAA2B,EAAC1D,eAAe,CAAC,CAAC;MACvD,CAAC;MAED2D,aAAa,EAAE;QACb;QACAjD,UAAU,EAAEM,eAAI,CAAC4C,IAAI,CAAC,GAAG,EAAEnD,UAAU;MACvC;IACF,CAAC;IAEDQ,OAAO,EAAE;MACP;MACA4C,KAAK,EAAEC,2CAAgB;MAEvBC,QAAQ,EAAEC;IACZ,CAAC;IAEDC,OAAO,EAAE,CACP,KAAIC,4BAAiB,EAAC;MACpBC,eAAe,EAAE,IAAAC,YAAI,EAACxD,KAAK,IAAI,mBAAmB,CAAC;MACnDa,QAAQ,EAAE,YAAY;MACtBZ;IACF,CAAC,CAAC,EACF,KAAIwD,kBAAO,CAACC,aAAa,EAACC,mEAA4B,CAAC,EAEvD,KAAIC,oDAAwB,EAAC;MAC3BC,OAAO,EAAE;QAAE9D,MAAM;QAAEL;MAAY;IACjC,CAAC,CAAC;EAEN,CAAC;AACH"}
|
|
1
|
+
{"version":3,"names":["publicUrlOrPath","getPublicUrlOrPath","process","env","NODE_ENV","configFactory","devServerID","workspaceDir","entryFiles","publicRoot","publicPath","pubsub","title","favicon","resolveWorkspacePath","relativePath","path","resolve","publicDirectory","mode","devtool","entry","map","filePath","output","filename","pathinfo","chunkFilename","devtoolModuleFilenameTemplate","info","pathNormalizeToLinux","absoluteResourcePath","infrastructureLogging","level","stats","errorDetails","devServer","allowedHosts","static","directory","staticOptions","serveIndex","watch","compress","hot","historyApiFallback","disableDotRule","index","client","overlay","onBeforeSetupMiddleware","wds","app","use","evalSourceMapMiddleware","errorOverlayMiddleware","onAfterSetupMiddleware","redirectServedPath","noopServiceWorkerMiddleware","devMiddleware","join","alias","fallbacksAliases","fallback","fallbacks","plugins","HtmlWebpackPlugin","templateContent","html","webpack","ProvidePlugin","fallbacksProvidePluginConfig","WebpackBitReporterPlugin","options"],"sources":["webpack.dev.config.ts"],"sourcesContent":["import path from 'path';\nimport webpack from 'webpack';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport errorOverlayMiddleware from 'react-dev-utils/errorOverlayMiddleware';\nimport evalSourceMapMiddleware from 'react-dev-utils/evalSourceMapMiddleware';\nimport noopServiceWorkerMiddleware from 'react-dev-utils/noopServiceWorkerMiddleware';\nimport redirectServedPath from 'react-dev-utils/redirectServedPathMiddleware';\nimport getPublicUrlOrPath from 'react-dev-utils/getPublicUrlOrPath';\nimport { PubsubMain } from '@teambit/pubsub';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { WebpackConfigWithDevServer } from '../webpack.dev-server';\nimport { fallbacks } from './webpack-fallbacks';\n\nimport { html } from './html';\n\nimport { WebpackBitReporterPlugin } from '../plugins/webpack-bit-reporter-plugin';\nimport { fallbacksProvidePluginConfig } from './webpack-fallbacks-provide-plugin-config';\nimport { fallbacksAliases } from './webpack-fallbacks-aliases';\n\nconst publicUrlOrPath = getPublicUrlOrPath(process.env.NODE_ENV === 'development', '/', '/public');\n\nexport function configFactory(\n devServerID: string,\n workspaceDir: string,\n entryFiles: string[],\n publicRoot: string,\n publicPath: string,\n pubsub: PubsubMain,\n title?: string,\n favicon?: string\n): WebpackConfigWithDevServer {\n const resolveWorkspacePath = (relativePath) => path.resolve(workspaceDir, relativePath);\n\n // Required for babel-preset-react-app\n process.env.NODE_ENV = 'development';\n\n const publicDirectory = `${publicRoot}/${publicPath}`;\n\n return {\n // Environment mode\n mode: 'development',\n\n devtool: 'eval-cheap-module-source-map',\n\n // Entry point of app\n entry: entryFiles.map((filePath) => resolveWorkspacePath(filePath)),\n\n output: {\n // Development filename output\n filename: 'static/js/[name].bundle.js',\n\n pathinfo: true,\n\n path: resolveWorkspacePath(publicDirectory),\n\n // publicPath: resolveWorkspacePath(publicDirectory),\n\n chunkFilename: 'static/js/[name].chunk.js',\n\n // point sourcemap entries to original disk locations (format as URL on windows)\n devtoolModuleFilenameTemplate: (info) => pathNormalizeToLinux(path.resolve(info.absoluteResourcePath)),\n\n // this defaults to 'window', but by setting it to 'this' then\n // module chunks which are built will work in web workers as well.\n // Commented out to use the default (self) as according to tobias with webpack5 self is working with workers as well\n // globalObject: 'this',\n },\n\n infrastructureLogging: {\n level: 'error',\n },\n\n stats: {\n errorDetails: true,\n },\n\n devServer: {\n allowedHosts: 'all',\n\n static: [\n {\n directory: resolveWorkspacePath(publicDirectory),\n staticOptions: {},\n // Don't be confused with `dev.publicPath`, it is `publicPath` for static directory\n // Can be:\n // publicPath: ['/static-public-path-one/', '/static-public-path-two/'],\n publicPath: publicDirectory,\n // Can be:\n // serveIndex: {} (options for the `serveIndex` option you can find https://github.com/expressjs/serve-index)\n serveIndex: true,\n // Can be:\n // watch: {} (options for the `watch` option you can find https://github.com/paulmillr/chokidar)\n watch: true,\n },\n ],\n\n // Enable compression\n compress: true,\n\n // Enable hot reloading\n hot: true,\n\n historyApiFallback: {\n disableDotRule: true,\n index: resolveWorkspacePath(publicDirectory),\n },\n\n client: {\n overlay: false,\n },\n\n onBeforeSetupMiddleware(wds) {\n const { app } = wds;\n // Keep `evalSourceMapMiddleware` and `errorOverlayMiddleware`\n // middlewares before `redirectServedPath` otherwise will not have any effect\n // This lets us fetch source contents from webpack for the error overlay\n // @ts-ignore - @types/WDS mismatch - 3.11.6 vs 4.0.3\n app.use(evalSourceMapMiddleware(wds));\n // This lets us open files from the runtime error overlay.\n // @ts-ignore\n app.use(errorOverlayMiddleware());\n },\n\n onAfterSetupMiddleware({ app }) {\n // Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match\n // @ts-ignore\n app.use(redirectServedPath(publicUrlOrPath));\n\n // This service worker file is effectively a 'no-op' that will reset any\n // previous service worker registered for the same host:port combination.\n // We do this in development to avoid hitting the production cache if\n // it used the same host and port.\n // https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432\n // @ts-ignore\n app.use(noopServiceWorkerMiddleware(publicUrlOrPath));\n },\n\n devMiddleware: {\n // forward static files\n publicPath: path.join('/', publicRoot),\n },\n },\n\n resolve: {\n // TODO - check - we shoult not need both fallbacks and alias and provider plugin\n alias: fallbacksAliases,\n\n fallback: fallbacks as any,\n },\n\n plugins: [\n new HtmlWebpackPlugin({\n templateContent: html(title || 'Component preview'),\n filename: 'index.html',\n favicon,\n }),\n new webpack.ProvidePlugin(fallbacksProvidePluginConfig),\n\n new WebpackBitReporterPlugin({\n options: { pubsub, devServerID },\n }),\n ],\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.1054/dist/webpack.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.1054/dist/webpack.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -104,6 +104,8 @@ class WebpackDevServer {
|
|
|
104
104
|
// @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler
|
|
105
105
|
const webpackDs = new this.WsDevServer(this.config.devServer, this.getCompiler());
|
|
106
106
|
await webpackDs.start();
|
|
107
|
+
|
|
108
|
+
// @ts-ignore
|
|
107
109
|
return webpackDs.server;
|
|
108
110
|
}
|
|
109
111
|
addSignalListener() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebpackDevServer","constructor","config","webpack","webpackDevServer","WebpackAspect","id","WsDevServer","require","getCompiler","version","root","findRoot","packageJsonPath","join","packageJson","err","displayConfig","inspect","depth","listen","port","devServer","Error","addSignalListener","addDevServerEntrypoints","webpackDs","start","server","process","on","exit"],"sources":["webpack.dev-server.ts"],"sourcesContent":["import { join } from 'path';\nimport type { DevServer } from '@teambit/bundler';\nimport findRoot from 'find-root';\nimport type { Server } from 'http';\nimport type { webpack as webpackCompiler, Configuration } from 'webpack';\nimport type * as WDS from 'webpack-dev-server';\nimport { inspect } from 'util';\nimport { WebpackAspect } from './webpack.aspect';\n\nexport interface WebpackConfigWithDevServer extends Configuration {\n devServer: WDS.Configuration;\n favicon?: string;\n}\nexport class WebpackDevServer implements DevServer {\n private readonly WsDevServer: typeof WDS;\n constructor(\n private config: WebpackConfigWithDevServer,\n private webpack: typeof webpackCompiler,\n /**\n * path to the webpack-dev-server module or instance of webpack-dev-server.\n * this accept getting an instance for backward compatibility.\n */\n private webpackDevServer: string | typeof WDS\n ) {\n if (typeof this.webpackDevServer === 'string') {\n // eslint-disable-next-line import/no-dynamic-require, global-require\n this.WsDevServer = require(this.webpackDevServer);\n } else {\n this.WsDevServer = this.webpackDevServer;\n }\n }\n\n private getCompiler(): any {\n return this.webpack(this.config);\n }\n\n id = WebpackAspect.id;\n\n displayName = 'Webpack dev server';\n\n version(): string {\n if (typeof this.webpackDevServer !== 'string') {\n return 'unknown';\n }\n // Resolve version from the webpack-dev-server package.json\n try {\n const root = findRoot(this.webpackDevServer);\n const packageJsonPath = join(root, 'package.json');\n // eslint-disable-next-line import/no-dynamic-require, global-require\n const packageJson = require(packageJsonPath);\n return packageJson.version;\n } catch (err) {\n return 'unknown';\n }\n }\n\n displayConfig(): string {\n return inspect(this.config, { depth: 10 });\n }\n\n async listen(port: number): Promise<Server> {\n if (!this.config.devServer) {\n throw new Error('Missing devServer configuration for webpack');\n }\n // Prevent different port between the config port and the listen arg port\n this.config.devServer.port = port;\n\n // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)\n this.addSignalListener();\n\n // Compatibility check for Webpack dev server v3 (e.g. for Angular v8)\n if (typeof (this.WsDevServer as any).addDevServerEntrypoints !== 'undefined') {\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs = new (this.WsDevServer as any)(this.getCompiler(), this.config.devServer);\n return webpackDs.listen(port);\n }\n\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs: WDS = new this.WsDevServer(this.config.devServer, this.getCompiler());\n await webpackDs.start();\n\n return webpackDs.server;\n }\n\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMO,MAAMA,gBAAgB,CAAsB;EAEjDC,WAAW,CACDC,MAAkC,EAClCC,OAA+B;EACvC;AACJ;AACA;AACA;EACYC,gBAAqC,EAC7C;IAAA,KAPQF,MAAkC,GAAlCA,MAAkC;IAAA,KAClCC,OAA+B,GAA/BA,OAA+B;IAAA,KAK/BC,gBAAqC,GAArCA,gBAAqC;IAAA;IAAA,4CAc1CC,wBAAa,CAACC,EAAE;IAAA,qDAEP,oBAAoB;IAdhC,IAAI,OAAO,IAAI,CAACF,gBAAgB,KAAK,QAAQ,EAAE;MAC7C;MACA,IAAI,CAACG,WAAW,GAAGC,OAAO,CAAC,IAAI,CAACJ,gBAAgB,CAAC;IACnD,CAAC,MAAM;MACL,IAAI,CAACG,WAAW,GAAG,IAAI,CAACH,gBAAgB;IAC1C;EACF;EAEQK,WAAW,GAAQ;IACzB,OAAO,IAAI,CAACN,OAAO,CAAC,IAAI,CAACD,MAAM,CAAC;EAClC;EAMAQ,OAAO,GAAW;IAChB,IAAI,OAAO,IAAI,CAACN,gBAAgB,KAAK,QAAQ,EAAE;MAC7C,OAAO,SAAS;IAClB;IACA;IACA,IAAI;MACF,MAAMO,IAAI,GAAG,IAAAC,mBAAQ,EAAC,IAAI,CAACR,gBAAgB,CAAC;MAC5C,MAAMS,eAAe,GAAG,IAAAC,YAAI,EAACH,IAAI,EAAE,cAAc,CAAC;MAClD;MACA,MAAMI,WAAW,GAAGP,OAAO,CAACK,eAAe,CAAC;MAC5C,OAAOE,WAAW,CAACL,OAAO;IAC5B,CAAC,CAAC,OAAOM,GAAG,EAAE;MACZ,OAAO,SAAS;IAClB;EACF;EAEAC,aAAa,GAAW;IACtB,OAAO,IAAAC,eAAO,EAAC,IAAI,CAAChB,MAAM,EAAE;MAAEiB,KAAK,EAAE;IAAG,CAAC,CAAC;EAC5C;EAEA,MAAMC,MAAM,CAACC,IAAY,EAAmB;IAC1C,IAAI,CAAC,IAAI,CAACnB,MAAM,CAACoB,SAAS,EAAE;MAC1B,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;IAChE;IACA;IACA,IAAI,CAACrB,MAAM,CAACoB,SAAS,CAACD,IAAI,GAAGA,IAAI;;IAEjC;IACA,IAAI,CAACG,iBAAiB,EAAE;;IAExB;IACA,IAAI,OAAQ,IAAI,CAACjB,WAAW,CAASkB,uBAAuB,KAAK,WAAW,EAAE;MAC5E;MACA,MAAMC,SAAS,GAAG,IAAK,IAAI,CAACnB,WAAW,CAAS,IAAI,CAACE,WAAW,EAAE,EAAE,IAAI,CAACP,MAAM,CAACoB,SAAS,CAAC;MAC1F,OAAOI,SAAS,CAACN,MAAM,CAACC,IAAI,CAAC;IAC/B;;IAEA;IACA,MAAMK,SAAc,GAAG,IAAI,IAAI,CAACnB,WAAW,CAAC,IAAI,CAACL,MAAM,CAACoB,SAAS,EAAE,IAAI,CAACb,WAAW,EAAE,CAAC;IACtF,MAAMiB,SAAS,CAACC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"names":["WebpackDevServer","constructor","config","webpack","webpackDevServer","WebpackAspect","id","WsDevServer","require","getCompiler","version","root","findRoot","packageJsonPath","join","packageJson","err","displayConfig","inspect","depth","listen","port","devServer","Error","addSignalListener","addDevServerEntrypoints","webpackDs","start","server","process","on","exit"],"sources":["webpack.dev-server.ts"],"sourcesContent":["import { join } from 'path';\nimport type { DevServer } from '@teambit/bundler';\nimport findRoot from 'find-root';\nimport type { Server } from 'http';\nimport type { webpack as webpackCompiler, Configuration } from 'webpack';\nimport type * as WDS from 'webpack-dev-server';\nimport { inspect } from 'util';\nimport { WebpackAspect } from './webpack.aspect';\n\nexport interface WebpackConfigWithDevServer extends Configuration {\n devServer: WDS.Configuration;\n favicon?: string;\n}\nexport class WebpackDevServer implements DevServer {\n private readonly WsDevServer: typeof WDS;\n constructor(\n private config: WebpackConfigWithDevServer,\n private webpack: typeof webpackCompiler,\n /**\n * path to the webpack-dev-server module or instance of webpack-dev-server.\n * this accept getting an instance for backward compatibility.\n */\n private webpackDevServer: string | typeof WDS\n ) {\n if (typeof this.webpackDevServer === 'string') {\n // eslint-disable-next-line import/no-dynamic-require, global-require\n this.WsDevServer = require(this.webpackDevServer);\n } else {\n this.WsDevServer = this.webpackDevServer;\n }\n }\n\n private getCompiler(): any {\n return this.webpack(this.config);\n }\n\n id = WebpackAspect.id;\n\n displayName = 'Webpack dev server';\n\n version(): string {\n if (typeof this.webpackDevServer !== 'string') {\n return 'unknown';\n }\n // Resolve version from the webpack-dev-server package.json\n try {\n const root = findRoot(this.webpackDevServer);\n const packageJsonPath = join(root, 'package.json');\n // eslint-disable-next-line import/no-dynamic-require, global-require\n const packageJson = require(packageJsonPath);\n return packageJson.version;\n } catch (err) {\n return 'unknown';\n }\n }\n\n displayConfig(): string {\n return inspect(this.config, { depth: 10 });\n }\n\n async listen(port: number): Promise<Server> {\n if (!this.config.devServer) {\n throw new Error('Missing devServer configuration for webpack');\n }\n // Prevent different port between the config port and the listen arg port\n this.config.devServer.port = port;\n\n // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)\n this.addSignalListener();\n\n // Compatibility check for Webpack dev server v3 (e.g. for Angular v8)\n if (typeof (this.WsDevServer as any).addDevServerEntrypoints !== 'undefined') {\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs = new (this.WsDevServer as any)(this.getCompiler(), this.config.devServer);\n return webpackDs.listen(port);\n }\n\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs: WDS = new this.WsDevServer(this.config.devServer, this.getCompiler());\n await webpackDs.start();\n\n // @ts-ignore\n return webpackDs.server;\n }\n\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMO,MAAMA,gBAAgB,CAAsB;EAEjDC,WAAW,CACDC,MAAkC,EAClCC,OAA+B;EACvC;AACJ;AACA;AACA;EACYC,gBAAqC,EAC7C;IAAA,KAPQF,MAAkC,GAAlCA,MAAkC;IAAA,KAClCC,OAA+B,GAA/BA,OAA+B;IAAA,KAK/BC,gBAAqC,GAArCA,gBAAqC;IAAA;IAAA,4CAc1CC,wBAAa,CAACC,EAAE;IAAA,qDAEP,oBAAoB;IAdhC,IAAI,OAAO,IAAI,CAACF,gBAAgB,KAAK,QAAQ,EAAE;MAC7C;MACA,IAAI,CAACG,WAAW,GAAGC,OAAO,CAAC,IAAI,CAACJ,gBAAgB,CAAC;IACnD,CAAC,MAAM;MACL,IAAI,CAACG,WAAW,GAAG,IAAI,CAACH,gBAAgB;IAC1C;EACF;EAEQK,WAAW,GAAQ;IACzB,OAAO,IAAI,CAACN,OAAO,CAAC,IAAI,CAACD,MAAM,CAAC;EAClC;EAMAQ,OAAO,GAAW;IAChB,IAAI,OAAO,IAAI,CAACN,gBAAgB,KAAK,QAAQ,EAAE;MAC7C,OAAO,SAAS;IAClB;IACA;IACA,IAAI;MACF,MAAMO,IAAI,GAAG,IAAAC,mBAAQ,EAAC,IAAI,CAACR,gBAAgB,CAAC;MAC5C,MAAMS,eAAe,GAAG,IAAAC,YAAI,EAACH,IAAI,EAAE,cAAc,CAAC;MAClD;MACA,MAAMI,WAAW,GAAGP,OAAO,CAACK,eAAe,CAAC;MAC5C,OAAOE,WAAW,CAACL,OAAO;IAC5B,CAAC,CAAC,OAAOM,GAAG,EAAE;MACZ,OAAO,SAAS;IAClB;EACF;EAEAC,aAAa,GAAW;IACtB,OAAO,IAAAC,eAAO,EAAC,IAAI,CAAChB,MAAM,EAAE;MAAEiB,KAAK,EAAE;IAAG,CAAC,CAAC;EAC5C;EAEA,MAAMC,MAAM,CAACC,IAAY,EAAmB;IAC1C,IAAI,CAAC,IAAI,CAACnB,MAAM,CAACoB,SAAS,EAAE;MAC1B,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;IAChE;IACA;IACA,IAAI,CAACrB,MAAM,CAACoB,SAAS,CAACD,IAAI,GAAGA,IAAI;;IAEjC;IACA,IAAI,CAACG,iBAAiB,EAAE;;IAExB;IACA,IAAI,OAAQ,IAAI,CAACjB,WAAW,CAASkB,uBAAuB,KAAK,WAAW,EAAE;MAC5E;MACA,MAAMC,SAAS,GAAG,IAAK,IAAI,CAACnB,WAAW,CAAS,IAAI,CAACE,WAAW,EAAE,EAAE,IAAI,CAACP,MAAM,CAACoB,SAAS,CAAC;MAC1F,OAAOI,SAAS,CAACN,MAAM,CAACC,IAAI,CAAC;IAC/B;;IAEA;IACA,MAAMK,SAAc,GAAG,IAAI,IAAI,CAACnB,WAAW,CAAC,IAAI,CAACL,MAAM,CAACoB,SAAS,EAAE,IAAI,CAACb,WAAW,EAAE,CAAC;IACtF,MAAMiB,SAAS,CAACC,KAAK,EAAE;;IAEvB;IACA,OAAOD,SAAS,CAACE,MAAM;EACzB;EAEQJ,iBAAiB,GAAG;IAC1BK,OAAO,CAACC,EAAE,CAAC,SAAS,EAAE,MAAM;MAC1BD,OAAO,CAACE,IAAI,EAAE;IAChB,CAAC,CAAC;IAEFF,OAAO,CAACC,EAAE,CAAC,QAAQ,EAAE,MAAM;MACzBD,OAAO,CAACE,IAAI,EAAE;IAChB,CAAC,CAAC;EACJ;AACF;AAAC"}
|
|
@@ -62,11 +62,12 @@ export declare class WebpackMain {
|
|
|
62
62
|
/**
|
|
63
63
|
* create an instance of bit-compliant webpack dev server for a set of components
|
|
64
64
|
*/
|
|
65
|
-
createDevServer(context: DevServerContext, transformers?: WebpackConfigTransformer[]): DevServer;
|
|
65
|
+
createDevServer(context: DevServerContext, transformers?: WebpackConfigTransformer[], webpackModulePath?: string, webpackDevServerModulePath?: string): DevServer;
|
|
66
66
|
mergeConfig(target: any, source: any): any;
|
|
67
|
-
createBundler(context: BundlerContext, transformers?: WebpackConfigTransformer[], initialConfigs?: webpack.Configuration[],
|
|
67
|
+
createBundler(context: BundlerContext, transformers?: WebpackConfigTransformer[], initialConfigs?: webpack.Configuration[], webpackModuleOrPath?: string | any): WebpackBundler;
|
|
68
68
|
private createConfigs;
|
|
69
69
|
private generateTransformers;
|
|
70
|
+
private getWebpackInstance;
|
|
70
71
|
private createDevServerConfig;
|
|
71
72
|
static slots: never[];
|
|
72
73
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
@@ -140,8 +140,9 @@ class WebpackMain {
|
|
|
140
140
|
/**
|
|
141
141
|
* create an instance of bit-compliant webpack dev server for a set of components
|
|
142
142
|
*/
|
|
143
|
-
createDevServer(context, transformers = []) {
|
|
143
|
+
createDevServer(context, transformers = [], webpackModulePath, webpackDevServerModulePath) {
|
|
144
144
|
const config = this.createDevServerConfig(context.entry, this.workspace.path, context.id, context.rootPath, context.publicPath, context.title);
|
|
145
|
+
const wdsPath = webpackDevServerModulePath || require.resolve('webpack-dev-server');
|
|
145
146
|
const configMutator = new (_webpackModules().WebpackConfigMutator)(config);
|
|
146
147
|
const transformerContext = Object.assign(context, {
|
|
147
148
|
mode: 'dev'
|
|
@@ -149,12 +150,12 @@ class WebpackMain {
|
|
|
149
150
|
const internalTransformers = this.generateTransformers(undefined, transformerContext);
|
|
150
151
|
const afterMutation = runTransformersWithContext(configMutator.clone(), [...internalTransformers, ...transformers], transformerContext);
|
|
151
152
|
// @ts-ignore - fix this
|
|
152
|
-
return new (_webpack5().WebpackDevServer)(afterMutation.raw, _webpack().default,
|
|
153
|
+
return new (_webpack5().WebpackDevServer)(afterMutation.raw, this.getWebpackInstance(webpackModulePath, _webpack().default), wdsPath);
|
|
153
154
|
}
|
|
154
155
|
mergeConfig(target, source) {
|
|
155
156
|
return (0, _webpackMerge().merge)(target, source);
|
|
156
157
|
}
|
|
157
|
-
createBundler(context, transformers = [], initialConfigs,
|
|
158
|
+
createBundler(context, transformers = [], initialConfigs, webpackModuleOrPath) {
|
|
158
159
|
var _context$metaData;
|
|
159
160
|
const transformerContext = {
|
|
160
161
|
mode: 'prod',
|
|
@@ -162,7 +163,7 @@ class WebpackMain {
|
|
|
162
163
|
};
|
|
163
164
|
// eslint-disable-next-line max-len
|
|
164
165
|
const configs = initialConfigs || this.createConfigs(context.targets, _webpack2().configFactory, transformers, transformerContext, context);
|
|
165
|
-
return new (_webpack4().WebpackBundler)(context.targets, configs, this.logger,
|
|
166
|
+
return new (_webpack4().WebpackBundler)(context.targets, configs, this.logger, this.getWebpackInstance(webpackModuleOrPath, _webpack().default), context.metaData);
|
|
166
167
|
}
|
|
167
168
|
createConfigs(targets, factory, transformers = [], transformerContext, bundlerContext) {
|
|
168
169
|
return targets.map(target => {
|
|
@@ -192,6 +193,16 @@ class WebpackMain {
|
|
|
192
193
|
}
|
|
193
194
|
return transformers;
|
|
194
195
|
}
|
|
196
|
+
getWebpackInstance(webpackOrPath, fallback) {
|
|
197
|
+
if (!webpackOrPath) {
|
|
198
|
+
return fallback;
|
|
199
|
+
}
|
|
200
|
+
if (typeof webpackOrPath === 'string') {
|
|
201
|
+
// eslint-disable-next-line import/no-dynamic-require, global-require
|
|
202
|
+
return require(webpackOrPath);
|
|
203
|
+
}
|
|
204
|
+
return webpackOrPath;
|
|
205
|
+
}
|
|
195
206
|
createDevServerConfig(entry, rootPath, devServerID, publicRoot, publicPath, title) {
|
|
196
207
|
return (0, _webpackDev().configFactory)(devServerID, rootPath, entry, publicRoot, publicPath, this.pubsub, title);
|
|
197
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebpackMain","constructor","pubsub","workspace","bundler","logger","createDevServer","context","transformers","config","createDevServerConfig","entry","path","id","rootPath","publicPath","title","configMutator","WebpackConfigMutator","transformerContext","Object","assign","mode","internalTransformers","generateTransformers","undefined","afterMutation","runTransformersWithContext","clone","WebpackDevServer","raw","webpack","require","resolve","mergeConfig","target","source","merge","createBundler","initialConfigs","webpackInstance","isEnvTemplate","metaData","configs","createConfigs","targets","baseConfigFactory","WebpackBundler","factory","bundlerContext","map","baseConfig","_bundlerContext","devServerContext","hostDeps","hostDependencies","aliasHostDependencies","peerAliasesTransformer","generateAddAliasesFromPeersTransformer","push","externalizeHostDependencies","externalsTransformer","generateExternalsTransformer","devServerID","publicRoot","devServerConfigFactory","provider","logPublisher","createLogger","WebpackAspect","MainRuntime","PubsubAspect","WorkspaceAspect","BundlerAspect","LoggerAspect","addRuntime","Array","isArray","newConfig","reduce","acc","transformer"],"sources":["webpack.main.runtime.ts"],"sourcesContent":["import webpack, { Configuration } from 'webpack';\nimport PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport {\n BundlerAspect,\n BundlerContext,\n BundlerMain,\n DevServer,\n DevServerContext,\n BundlerMode,\n Target,\n} from '@teambit/bundler';\nimport { MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { merge } from 'webpack-merge';\n// We want to import it to make sure bit recognizes it as a dependency\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport WsDevServer from 'webpack-dev-server';\nimport { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';\n\nimport { generateAddAliasesFromPeersTransformer, generateExternalsTransformer } from './transformers';\nimport { configFactory as devServerConfigFactory } from './config/webpack.dev.config';\nimport { configFactory as baseConfigFactory } from './config/webpack.config';\n\nimport { WebpackAspect } from './webpack.aspect';\nimport { WebpackBundler } from './webpack.bundler';\nimport { WebpackDevServer } from './webpack.dev-server';\n\nexport type WebpackConfigTransformContext = GlobalWebpackConfigTransformContext & {\n target: Target;\n};\n\nexport type WebpackConfigDevServerTransformContext = GlobalWebpackConfigTransformContext & DevServerContext;\n\nexport type GlobalWebpackConfigTransformContext = {\n mode: BundlerMode;\n /**\n * Whether the config is for an env template bundling\n */\n isEnvTemplate?: boolean;\n /**\n * A path for the host root dir\n * Host root dir is usually the env root dir\n * This can be used in different bundle options which run require.resolve\n * for example when configuring webpack aliases or webpack expose loader on the peers deps\n */\n hostRootDir?: string;\n};\n\nexport type WebpackConfigTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigTransformContext\n) => WebpackConfigMutator;\n\nexport type WebpackConfigDevServerTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigDevServerTransformContext\n) => WebpackConfigMutator;\n\nexport class WebpackMain {\n constructor(\n /**\n * Pubsub extension.\n */\n public pubsub: PubsubMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * bundler extension.\n */\n private bundler: BundlerMain,\n\n /**\n * Logger extension\n */\n public logger: Logger\n ) {}\n\n /**\n * create an instance of bit-compliant webpack dev server for a set of components\n */\n createDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): DevServer {\n const config = this.createDevServerConfig(\n context.entry,\n this.workspace.path,\n context.id,\n context.rootPath,\n context.publicPath,\n context.title\n ) as any;\n const configMutator = new WebpackConfigMutator(config);\n const transformerContext: WebpackConfigDevServerTransformContext = Object.assign(context, { mode: 'dev' as const });\n const internalTransformers = this.generateTransformers(undefined, transformerContext);\n\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n transformerContext\n );\n // @ts-ignore - fix this\n return new WebpackDevServer(afterMutation.raw, webpack, require.resolve('webpack-dev-server'));\n }\n\n mergeConfig(target: any, source: any): any {\n return merge(target, source);\n }\n\n createBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n initialConfigs?: webpack.Configuration[],\n webpackInstance?: any\n ) {\n const transformerContext: GlobalWebpackConfigTransformContext = {\n mode: 'prod',\n isEnvTemplate: context.metaData?.isEnvTemplate,\n };\n // eslint-disable-next-line max-len\n const configs =\n initialConfigs ||\n this.createConfigs(context.targets, baseConfigFactory, transformers, transformerContext, context);\n return new WebpackBundler(context.targets, configs, this.logger, webpackInstance || webpack, context.metaData);\n }\n\n private createConfigs(\n targets: Target[],\n factory: (target: Target, context: BundlerContext) => Configuration,\n transformers: WebpackConfigTransformer[] = [],\n transformerContext: GlobalWebpackConfigTransformContext,\n bundlerContext: BundlerContext\n ) {\n return targets.map((target) => {\n const baseConfig = factory(target, bundlerContext);\n const configMutator = new WebpackConfigMutator(baseConfig);\n const context = Object.assign({}, transformerContext, { target });\n const internalTransformers = this.generateTransformers(context, undefined, target);\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n context\n );\n return afterMutation.raw;\n });\n }\n\n private generateTransformers(\n _bundlerContext?: WebpackConfigTransformContext,\n devServerContext?: WebpackConfigDevServerTransformContext,\n target?: Target\n ): Array<WebpackConfigTransformer> {\n const transformers: WebpackConfigTransformer[] = [];\n // TODO: handle dev server\n const hostDeps = target?.hostDependencies || devServerContext?.hostDependencies;\n if (hostDeps) {\n if (target?.aliasHostDependencies || devServerContext?.aliasHostDependencies) {\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(hostDeps, this.logger);\n transformers.push(peerAliasesTransformer);\n }\n if (target?.externalizeHostDependencies || devServerContext?.externalizeHostDependencies) {\n const externalsTransformer = generateExternalsTransformer(hostDeps);\n transformers.push(externalsTransformer);\n }\n }\n return transformers;\n }\n\n private createDevServerConfig(\n entry: string[],\n rootPath: string,\n devServerID: string,\n publicRoot: string,\n publicPath: string,\n title?: string\n ) {\n return devServerConfigFactory(devServerID, rootPath, entry, publicRoot, publicPath, this.pubsub, title);\n }\n\n static slots = [];\n\n static runtime = MainRuntime;\n static dependencies = [PubsubAspect, WorkspaceAspect, BundlerAspect, LoggerAspect];\n\n static async provider([pubsub, workspace, bundler, logger]: [PubsubMain, Workspace, BundlerMain, LoggerMain]) {\n const logPublisher = logger.createLogger(WebpackAspect.id);\n return new WebpackMain(pubsub, workspace, bundler, logPublisher);\n }\n}\n\nWebpackAspect.addRuntime(WebpackMain);\n\nexport function runTransformersWithContext(\n config: WebpackConfigMutator,\n transformers: Array<WebpackConfigTransformer | WebpackConfigDevServerTransformer> = [],\n // context: WebpackConfigTransformContext | WebpackConfigDevServerTransformContext\n context: any\n): WebpackConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n // @ts-ignore\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["WebpackMain","constructor","pubsub","workspace","bundler","logger","createDevServer","context","transformers","webpackModulePath","webpackDevServerModulePath","config","createDevServerConfig","entry","path","id","rootPath","publicPath","title","wdsPath","require","resolve","configMutator","WebpackConfigMutator","transformerContext","Object","assign","mode","internalTransformers","generateTransformers","undefined","afterMutation","runTransformersWithContext","clone","WebpackDevServer","raw","getWebpackInstance","webpack","mergeConfig","target","source","merge","createBundler","initialConfigs","webpackModuleOrPath","isEnvTemplate","metaData","configs","createConfigs","targets","baseConfigFactory","WebpackBundler","factory","bundlerContext","map","baseConfig","_bundlerContext","devServerContext","hostDeps","hostDependencies","aliasHostDependencies","peerAliasesTransformer","generateAddAliasesFromPeersTransformer","push","externalizeHostDependencies","externalsTransformer","generateExternalsTransformer","webpackOrPath","fallback","devServerID","publicRoot","devServerConfigFactory","provider","logPublisher","createLogger","WebpackAspect","MainRuntime","PubsubAspect","WorkspaceAspect","BundlerAspect","LoggerAspect","addRuntime","Array","isArray","newConfig","reduce","acc","transformer"],"sources":["webpack.main.runtime.ts"],"sourcesContent":["import webpack, { Configuration } from 'webpack';\nimport PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport {\n BundlerAspect,\n BundlerContext,\n BundlerMain,\n DevServer,\n DevServerContext,\n BundlerMode,\n Target,\n} from '@teambit/bundler';\nimport { MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { merge } from 'webpack-merge';\n// We want to import it to make sure bit recognizes it as a dependency\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport WsDevServer from 'webpack-dev-server';\nimport { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';\n\nimport { generateAddAliasesFromPeersTransformer, generateExternalsTransformer } from './transformers';\nimport { configFactory as devServerConfigFactory } from './config/webpack.dev.config';\nimport { configFactory as baseConfigFactory } from './config/webpack.config';\n\nimport { WebpackAspect } from './webpack.aspect';\nimport { WebpackBundler } from './webpack.bundler';\nimport { WebpackDevServer } from './webpack.dev-server';\n\nexport type WebpackConfigTransformContext = GlobalWebpackConfigTransformContext & {\n target: Target;\n};\n\nexport type WebpackConfigDevServerTransformContext = GlobalWebpackConfigTransformContext & DevServerContext;\n\nexport type GlobalWebpackConfigTransformContext = {\n mode: BundlerMode;\n /**\n * Whether the config is for an env template bundling\n */\n isEnvTemplate?: boolean;\n /**\n * A path for the host root dir\n * Host root dir is usually the env root dir\n * This can be used in different bundle options which run require.resolve\n * for example when configuring webpack aliases or webpack expose loader on the peers deps\n */\n hostRootDir?: string;\n};\n\nexport type WebpackConfigTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigTransformContext\n) => WebpackConfigMutator;\n\nexport type WebpackConfigDevServerTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigDevServerTransformContext\n) => WebpackConfigMutator;\n\nexport class WebpackMain {\n constructor(\n /**\n * Pubsub extension.\n */\n public pubsub: PubsubMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * bundler extension.\n */\n private bundler: BundlerMain,\n\n /**\n * Logger extension\n */\n public logger: Logger\n ) {}\n\n /**\n * create an instance of bit-compliant webpack dev server for a set of components\n */\n createDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): DevServer {\n const config = this.createDevServerConfig(\n context.entry,\n this.workspace.path,\n context.id,\n context.rootPath,\n context.publicPath,\n context.title\n ) as any;\n const wdsPath = webpackDevServerModulePath || require.resolve('webpack-dev-server');\n const configMutator = new WebpackConfigMutator(config);\n const transformerContext: WebpackConfigDevServerTransformContext = Object.assign(context, { mode: 'dev' as const });\n const internalTransformers = this.generateTransformers(undefined, transformerContext);\n\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n transformerContext\n );\n // @ts-ignore - fix this\n return new WebpackDevServer(afterMutation.raw, this.getWebpackInstance(webpackModulePath, webpack), wdsPath);\n }\n\n mergeConfig(target: any, source: any): any {\n return merge(target, source);\n }\n\n createBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n initialConfigs?: webpack.Configuration[],\n webpackModuleOrPath?: string | any\n ) {\n const transformerContext: GlobalWebpackConfigTransformContext = {\n mode: 'prod',\n isEnvTemplate: context.metaData?.isEnvTemplate,\n };\n // eslint-disable-next-line max-len\n const configs =\n initialConfigs ||\n this.createConfigs(context.targets, baseConfigFactory, transformers, transformerContext, context);\n return new WebpackBundler(\n context.targets,\n configs,\n this.logger,\n this.getWebpackInstance(webpackModuleOrPath, webpack),\n context.metaData\n );\n }\n\n private createConfigs(\n targets: Target[],\n factory: (target: Target, context: BundlerContext) => Configuration,\n transformers: WebpackConfigTransformer[] = [],\n transformerContext: GlobalWebpackConfigTransformContext,\n bundlerContext: BundlerContext\n ) {\n return targets.map((target) => {\n const baseConfig = factory(target, bundlerContext);\n const configMutator = new WebpackConfigMutator(baseConfig);\n const context = Object.assign({}, transformerContext, { target });\n const internalTransformers = this.generateTransformers(context, undefined, target);\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n context\n );\n return afterMutation.raw;\n });\n }\n\n private generateTransformers(\n _bundlerContext?: WebpackConfigTransformContext,\n devServerContext?: WebpackConfigDevServerTransformContext,\n target?: Target\n ): Array<WebpackConfigTransformer> {\n const transformers: WebpackConfigTransformer[] = [];\n // TODO: handle dev server\n const hostDeps = target?.hostDependencies || devServerContext?.hostDependencies;\n if (hostDeps) {\n if (target?.aliasHostDependencies || devServerContext?.aliasHostDependencies) {\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(hostDeps, this.logger);\n transformers.push(peerAliasesTransformer);\n }\n if (target?.externalizeHostDependencies || devServerContext?.externalizeHostDependencies) {\n const externalsTransformer = generateExternalsTransformer(hostDeps);\n transformers.push(externalsTransformer);\n }\n }\n return transformers;\n }\n\n private getWebpackInstance(webpackOrPath?: any | string, fallback?: any) {\n if (!webpackOrPath) {\n return fallback;\n }\n if (typeof webpackOrPath === 'string') {\n // eslint-disable-next-line import/no-dynamic-require, global-require\n return require(webpackOrPath);\n }\n return webpackOrPath;\n }\n\n private createDevServerConfig(\n entry: string[],\n rootPath: string,\n devServerID: string,\n publicRoot: string,\n publicPath: string,\n title?: string\n ) {\n return devServerConfigFactory(devServerID, rootPath, entry, publicRoot, publicPath, this.pubsub, title);\n }\n\n static slots = [];\n\n static runtime = MainRuntime;\n static dependencies = [PubsubAspect, WorkspaceAspect, BundlerAspect, LoggerAspect];\n\n static async provider([pubsub, workspace, bundler, logger]: [PubsubMain, Workspace, BundlerMain, LoggerMain]) {\n const logPublisher = logger.createLogger(WebpackAspect.id);\n return new WebpackMain(pubsub, workspace, bundler, logPublisher);\n }\n}\n\nWebpackAspect.addRuntime(WebpackMain);\n\nexport function runTransformersWithContext(\n config: WebpackConfigMutator,\n transformers: Array<WebpackConfigTransformer | WebpackConfigDevServerTransformer> = [],\n // context: WebpackConfigTransformContext | WebpackConfigDevServerTransformContext\n context: any\n): WebpackConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n // @ts-ignore\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/webpack",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1054",
|
|
4
4
|
"homepage": "https://bit.cloud/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.
|
|
9
|
+
"version": "0.0.1054"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"webpack": "5.
|
|
12
|
+
"webpack": "5.82.1",
|
|
13
13
|
"lodash": "4.17.21",
|
|
14
14
|
"p-map-series": "2.1.0",
|
|
15
15
|
"find-root": "1.1.0",
|
|
16
|
-
"webpack-dev-server": "4.
|
|
16
|
+
"webpack-dev-server": "4.15.0",
|
|
17
17
|
"webpack-merge": "5.8.0",
|
|
18
18
|
"compression-webpack-plugin": "9.2.0",
|
|
19
19
|
"html-webpack-plugin": "5.3.2",
|
|
@@ -46,23 +46,23 @@
|
|
|
46
46
|
"core-js": "^3.0.0",
|
|
47
47
|
"@babel/runtime": "7.20.0",
|
|
48
48
|
"@teambit/harmony": "0.4.6",
|
|
49
|
-
"@teambit/webpack.modules.config-mutator": "0.0.
|
|
49
|
+
"@teambit/webpack.modules.config-mutator": "0.0.154",
|
|
50
50
|
"@teambit/bit-error": "0.0.402",
|
|
51
|
-
"@teambit/bundler": "0.0.
|
|
52
|
-
"@teambit/logger": "0.0.
|
|
53
|
-
"@teambit/cli": "0.0.
|
|
54
|
-
"@teambit/pubsub": "0.0.
|
|
55
|
-
"@teambit/workspace": "0.0.
|
|
51
|
+
"@teambit/bundler": "0.0.1054",
|
|
52
|
+
"@teambit/logger": "0.0.803",
|
|
53
|
+
"@teambit/cli": "0.0.710",
|
|
54
|
+
"@teambit/pubsub": "0.0.1054",
|
|
55
|
+
"@teambit/workspace": "0.0.1054",
|
|
56
56
|
"@teambit/webpack.modules.generate-expose-loaders": "0.0.10",
|
|
57
57
|
"@teambit/webpack.modules.generate-externals": "0.0.11",
|
|
58
58
|
"@teambit/webpack.plugins.inject-head-webpack-plugin": "0.0.3"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@types/webpack": "5.28.
|
|
61
|
+
"@types/webpack": "5.28.1",
|
|
62
62
|
"@types/lodash": "4.14.165",
|
|
63
63
|
"@types/react": "^17.0.8",
|
|
64
64
|
"@types/find-root": "1.1.2",
|
|
65
|
-
"@types/webpack-dev-server": "4.
|
|
65
|
+
"@types/webpack-dev-server": "4.7.2",
|
|
66
66
|
"@types/react-dev-utils": "9.0.10",
|
|
67
67
|
"@types/node": "12.20.4",
|
|
68
68
|
"@types/react-dom": "^17.0.5",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@types/testing-library__jest-dom": "5.9.5"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
|
-
"@teambit/legacy": "1.0.
|
|
73
|
+
"@teambit/legacy": "1.0.489",
|
|
74
74
|
"react": "^16.8.0 || ^17.0.0",
|
|
75
75
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
76
76
|
},
|
|
Binary file
|