@nx/webpack 16.0.0-beta.1

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.
Files changed (143) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +22 -0
  3. package/README.md +63 -0
  4. package/executors.json +36 -0
  5. package/generators.json +33 -0
  6. package/index.d.ts +12 -0
  7. package/index.js +14 -0
  8. package/index.js.map +1 -0
  9. package/migrations.json +35 -0
  10. package/package.json +79 -0
  11. package/src/executors/dev-server/compat.d.ts +2 -0
  12. package/src/executors/dev-server/compat.js +6 -0
  13. package/src/executors/dev-server/compat.js.map +1 -0
  14. package/src/executors/dev-server/dev-server.impl.d.ts +7 -0
  15. package/src/executors/dev-server/dev-server.impl.js +69 -0
  16. package/src/executors/dev-server/dev-server.impl.js.map +1 -0
  17. package/src/executors/dev-server/lib/get-dev-server-config.d.ts +5 -0
  18. package/src/executors/dev-server/lib/get-dev-server-config.js +89 -0
  19. package/src/executors/dev-server/lib/get-dev-server-config.js.map +1 -0
  20. package/src/executors/dev-server/lib/serve-path.d.ts +3 -0
  21. package/src/executors/dev-server/lib/serve-path.js +46 -0
  22. package/src/executors/dev-server/lib/serve-path.js.map +1 -0
  23. package/src/executors/dev-server/schema.d.ts +17 -0
  24. package/src/executors/dev-server/schema.json +76 -0
  25. package/src/executors/ssr-dev-server/compat.d.ts +2 -0
  26. package/src/executors/ssr-dev-server/compat.js +6 -0
  27. package/src/executors/ssr-dev-server/compat.js.map +1 -0
  28. package/src/executors/ssr-dev-server/lib/wait-until-server-is-listening.d.ts +1 -0
  29. package/src/executors/ssr-dev-server/lib/wait-until-server-is-listening.js +40 -0
  30. package/src/executors/ssr-dev-server/lib/wait-until-server-is-listening.js.map +1 -0
  31. package/src/executors/ssr-dev-server/schema.d.ts +11 -0
  32. package/src/executors/ssr-dev-server/schema.json +37 -0
  33. package/src/executors/ssr-dev-server/ssr-dev-server.impl.d.ts +8 -0
  34. package/src/executors/ssr-dev-server/ssr-dev-server.impl.js +59 -0
  35. package/src/executors/ssr-dev-server/ssr-dev-server.impl.js.map +1 -0
  36. package/src/executors/webpack/compat.d.ts +2 -0
  37. package/src/executors/webpack/compat.js +6 -0
  38. package/src/executors/webpack/compat.js.map +1 -0
  39. package/src/executors/webpack/lib/get-webpack-config.d.ts +5 -0
  40. package/src/executors/webpack/lib/get-webpack-config.js +17 -0
  41. package/src/executors/webpack/lib/get-webpack-config.js.map +1 -0
  42. package/src/executors/webpack/lib/normalize-options.d.ts +4 -0
  43. package/src/executors/webpack/lib/normalize-options.js +71 -0
  44. package/src/executors/webpack/lib/normalize-options.js.map +1 -0
  45. package/src/executors/webpack/lib/run-webpack.d.ts +3 -0
  46. package/src/executors/webpack/lib/run-webpack.js +38 -0
  47. package/src/executors/webpack/lib/run-webpack.js.map +1 -0
  48. package/src/executors/webpack/schema.d.ts +105 -0
  49. package/src/executors/webpack/schema.json +414 -0
  50. package/src/executors/webpack/webpack.impl.d.ts +14 -0
  51. package/src/executors/webpack/webpack.impl.js +107 -0
  52. package/src/executors/webpack/webpack.impl.js.map +1 -0
  53. package/src/generators/init/init.d.ts +5 -0
  54. package/src/generators/init/init.js +41 -0
  55. package/src/generators/init/init.js.map +1 -0
  56. package/src/generators/init/schema.d.ts +5 -0
  57. package/src/generators/init/schema.json +28 -0
  58. package/src/generators/webpack-project/schema.d.ts +13 -0
  59. package/src/generators/webpack-project/schema.json +77 -0
  60. package/src/generators/webpack-project/webpack-project.d.ts +5 -0
  61. package/src/generators/webpack-project/webpack-project.js +111 -0
  62. package/src/generators/webpack-project/webpack-project.js.map +1 -0
  63. package/src/migrations/update-15-0-0/add-babel-inputs.d.ts +2 -0
  64. package/src/migrations/update-15-0-0/add-babel-inputs.js +13 -0
  65. package/src/migrations/update-15-0-0/add-babel-inputs.js.map +1 -0
  66. package/src/migrations/update-15-4-5/remove-es2015-polyfills-option.d.ts +2 -0
  67. package/src/migrations/update-15-4-5/remove-es2015-polyfills-option.js +25 -0
  68. package/src/migrations/update-15-4-5/remove-es2015-polyfills-option.js.map +1 -0
  69. package/src/migrations/update-15-6-3/webpack-config-setup.d.ts +2 -0
  70. package/src/migrations/update-15-6-3/webpack-config-setup.js +105 -0
  71. package/src/migrations/update-15-6-3/webpack-config-setup.js.map +1 -0
  72. package/src/migrations/update-15-7-2/add-babelUpwardRootMode-flag.d.ts +2 -0
  73. package/src/migrations/update-15-7-2/add-babelUpwardRootMode-flag.js +21 -0
  74. package/src/migrations/update-15-7-2/add-babelUpwardRootMode-flag.js.map +1 -0
  75. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
  76. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +13 -0
  77. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +1 -0
  78. package/src/plugins/generate-package-json-plugin.d.ts +12 -0
  79. package/src/plugins/generate-package-json-plugin.js +49 -0
  80. package/src/plugins/generate-package-json-plugin.js.map +1 -0
  81. package/src/plugins/stats-json-plugin.d.ts +4 -0
  82. package/src/plugins/stats-json-plugin.js +14 -0
  83. package/src/plugins/stats-json-plugin.js.map +1 -0
  84. package/src/plugins/webpack-nx-build-coordination-plugin.d.ts +9 -0
  85. package/src/plugins/webpack-nx-build-coordination-plugin.js +84 -0
  86. package/src/plugins/webpack-nx-build-coordination-plugin.js.map +1 -0
  87. package/src/plugins/write-index-html-plugin.d.ts +22 -0
  88. package/src/plugins/write-index-html-plugin.js +251 -0
  89. package/src/plugins/write-index-html-plugin.js.map +1 -0
  90. package/src/utils/config.d.ts +17 -0
  91. package/src/utils/config.js +35 -0
  92. package/src/utils/config.js.map +1 -0
  93. package/src/utils/create-copy-plugin.d.ts +3 -0
  94. package/src/utils/create-copy-plugin.js +28 -0
  95. package/src/utils/create-copy-plugin.js.map +1 -0
  96. package/src/utils/fs.d.ts +6 -0
  97. package/src/utils/fs.js +59 -0
  98. package/src/utils/fs.js.map +1 -0
  99. package/src/utils/get-client-environment.d.ts +5 -0
  100. package/src/utils/get-client-environment.js +30 -0
  101. package/src/utils/get-client-environment.js.map +1 -0
  102. package/src/utils/get-css-module-local-ident.d.ts +1 -0
  103. package/src/utils/get-css-module-local-ident.js +19 -0
  104. package/src/utils/get-css-module-local-ident.js.map +1 -0
  105. package/src/utils/hash-format.d.ts +7 -0
  106. package/src/utils/hash-format.js +24 -0
  107. package/src/utils/hash-format.js.map +1 -0
  108. package/src/utils/models.d.ts +23 -0
  109. package/src/utils/models.js +3 -0
  110. package/src/utils/models.js.map +1 -0
  111. package/src/utils/run-webpack.d.ts +5 -0
  112. package/src/utils/run-webpack.js +30 -0
  113. package/src/utils/run-webpack.js.map +1 -0
  114. package/src/utils/versions.d.ts +8 -0
  115. package/src/utils/versions.js +13 -0
  116. package/src/utils/versions.js.map +1 -0
  117. package/src/utils/web-babel-loader.d.ts +0 -0
  118. package/src/utils/web-babel-loader.js +29 -0
  119. package/src/utils/web-babel-loader.js.map +1 -0
  120. package/src/utils/webpack/custom-webpack.d.ts +3 -0
  121. package/src/utils/webpack/custom-webpack.js +42 -0
  122. package/src/utils/webpack/custom-webpack.js.map +1 -0
  123. package/src/utils/webpack/interpolate-env-variables-to-index.d.ts +1 -0
  124. package/src/utils/webpack/interpolate-env-variables-to-index.js +31 -0
  125. package/src/utils/webpack/interpolate-env-variables-to-index.js.map +1 -0
  126. package/src/utils/webpack/normalize-entry.d.ts +2 -0
  127. package/src/utils/webpack/normalize-entry.js +30 -0
  128. package/src/utils/webpack/normalize-entry.js.map +1 -0
  129. package/src/utils/webpack/package-chunk-sort.d.ts +5 -0
  130. package/src/utils/webpack/package-chunk-sort.js +30 -0
  131. package/src/utils/webpack/package-chunk-sort.js.map +1 -0
  132. package/src/utils/webpack/plugins/postcss-cli-resources.d.ts +13 -0
  133. package/src/utils/webpack/plugins/postcss-cli-resources.js +170 -0
  134. package/src/utils/webpack/plugins/postcss-cli-resources.js.map +1 -0
  135. package/src/utils/webpack/plugins/scripts-webpack-plugin.d.ts +17 -0
  136. package/src/utils/webpack/plugins/scripts-webpack-plugin.js +121 -0
  137. package/src/utils/webpack/plugins/scripts-webpack-plugin.js.map +1 -0
  138. package/src/utils/with-nx.d.ts +61 -0
  139. package/src/utils/with-nx.js +285 -0
  140. package/src/utils/with-nx.js.map +1 -0
  141. package/src/utils/with-web.d.ts +21 -0
  142. package/src/utils/with-web.js +468 -0
  143. package/src/utils/with-web.js.map +1 -0
@@ -0,0 +1,61 @@
1
+ import { NormalizedWebpackExecutorOptions } from '../executors/webpack/schema';
2
+ import { NxWebpackPlugin } from './config';
3
+ export interface WithNxOptions {
4
+ skipTypeChecking?: boolean;
5
+ }
6
+ /**
7
+ * @param {WithNxOptions} pluginOptions
8
+ * @returns {NxWebpackPlugin}
9
+ */
10
+ export declare function withNx(pluginOptions?: WithNxOptions): NxWebpackPlugin;
11
+ export declare function createLoaderFromCompiler(options: NormalizedWebpackExecutorOptions): {
12
+ test: RegExp;
13
+ loader: string;
14
+ exclude: RegExp;
15
+ options: {
16
+ cwd: string;
17
+ emitDecoratorMetadata: boolean;
18
+ isModern: boolean;
19
+ envName: string;
20
+ cacheDirectory: boolean;
21
+ cacheCompression: boolean;
22
+ };
23
+ } | {
24
+ test: RegExp;
25
+ loader: string;
26
+ exclude: RegExp;
27
+ options: {
28
+ jsc: {
29
+ parser: {
30
+ syntax: string;
31
+ decorators: boolean;
32
+ tsx: boolean;
33
+ };
34
+ transform: {
35
+ react: {
36
+ runtime: string;
37
+ };
38
+ };
39
+ loose: boolean;
40
+ };
41
+ configFile?: undefined;
42
+ transpileOnly?: undefined;
43
+ experimentalWatchApi?: undefined;
44
+ getCustomTransformers?: undefined;
45
+ };
46
+ } | {
47
+ test: RegExp;
48
+ loader: string;
49
+ exclude: RegExp;
50
+ options: {
51
+ configFile: string;
52
+ transpileOnly: boolean;
53
+ experimentalWatchApi: boolean;
54
+ getCustomTransformers: (program: any) => {
55
+ before: any;
56
+ after: any;
57
+ afterDeclarations: any;
58
+ };
59
+ jsc?: undefined;
60
+ };
61
+ };
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLoaderFromCompiler = exports.withNx = void 0;
4
+ const path = require("path");
5
+ const webpack_1 = require("webpack");
6
+ const tsconfig_paths_webpack_plugin_1 = require("tsconfig-paths-webpack-plugin");
7
+ const js_1 = require("@nx/js");
8
+ const license_webpack_plugin_1 = require("license-webpack-plugin");
9
+ const TerserPlugin = require("terser-webpack-plugin");
10
+ const nodeExternals = require("webpack-node-externals");
11
+ const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin");
12
+ const stats_json_plugin_1 = require("../plugins/stats-json-plugin");
13
+ const create_copy_plugin_1 = require("./create-copy-plugin");
14
+ const generate_package_json_plugin_1 = require("../plugins/generate-package-json-plugin");
15
+ const hash_format_1 = require("./hash-format");
16
+ const IGNORED_WEBPACK_WARNINGS = [
17
+ /The comment file/i,
18
+ /could not find any license/i,
19
+ ];
20
+ const extensions = ['.ts', '.tsx', '.mjs', '.js', '.jsx'];
21
+ const mainFields = ['main', 'module'];
22
+ const processed = new Set();
23
+ /**
24
+ * @param {WithNxOptions} pluginOptions
25
+ * @returns {NxWebpackPlugin}
26
+ */
27
+ function withNx(pluginOptions) {
28
+ return function configure(config, { options, context, }) {
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
30
+ if (processed.has(config))
31
+ return config;
32
+ const plugins = [];
33
+ if (!(pluginOptions === null || pluginOptions === void 0 ? void 0 : pluginOptions.skipTypeChecking)) {
34
+ plugins.push(new ForkTsCheckerWebpackPlugin({
35
+ typescript: {
36
+ configFile: options.tsConfig,
37
+ memoryLimit: options.memoryLimit || 2018,
38
+ },
39
+ }));
40
+ }
41
+ const entry = {};
42
+ if (options.main) {
43
+ const mainEntry = options.outputFileName
44
+ ? path.parse(options.outputFileName).name
45
+ : 'main';
46
+ entry[mainEntry] = [options.main];
47
+ }
48
+ if (options.additionalEntryPoints) {
49
+ for (const { entryName, entryPath } of options.additionalEntryPoints) {
50
+ entry[entryName] = entryPath;
51
+ }
52
+ }
53
+ if (options.polyfills) {
54
+ entry['polyfills'] = [
55
+ ...(entry['polyfills'] || []),
56
+ path.resolve(options.root, options.polyfills),
57
+ ];
58
+ }
59
+ if (options.progress) {
60
+ plugins.push(new webpack_1.ProgressPlugin({ profile: options.verbose }));
61
+ }
62
+ if (options.extractLicenses) {
63
+ plugins.push(new license_webpack_plugin_1.LicenseWebpackPlugin({
64
+ stats: {
65
+ warnings: false,
66
+ errors: false,
67
+ },
68
+ perChunkOutput: false,
69
+ outputFilename: `3rdpartylicenses.txt`,
70
+ }));
71
+ }
72
+ if (Array.isArray(options.assets) && options.assets.length > 0) {
73
+ plugins.push((0, create_copy_plugin_1.createCopyPlugin)(options.assets));
74
+ }
75
+ if (options.generatePackageJson && context) {
76
+ plugins.push(new generate_package_json_plugin_1.GeneratePackageJsonPlugin(options, context));
77
+ }
78
+ if (options.statsJson) {
79
+ plugins.push(new stats_json_plugin_1.StatsJsonPlugin());
80
+ }
81
+ let externals = [];
82
+ if (options.target === 'node' && options.externalDependencies === 'all') {
83
+ const modulesDir = `${options.root}/node_modules`;
84
+ externals.push(nodeExternals({ modulesDir }));
85
+ }
86
+ else if (Array.isArray(options.externalDependencies)) {
87
+ externals.push(function (ctx, callback) {
88
+ if (options.externalDependencies.includes(ctx.request)) {
89
+ // not bundled
90
+ return callback(null, `commonjs ${ctx.request}`);
91
+ }
92
+ // bundled
93
+ callback();
94
+ });
95
+ }
96
+ const hashFormat = (0, hash_format_1.getOutputHashFormat)(options.outputHashing);
97
+ const filename = options.outputHashing
98
+ ? `[name]${hashFormat.script}.js`
99
+ : '[name].js';
100
+ const chunkFilename = options.outputHashing
101
+ ? `[name]${hashFormat.chunk}.js`
102
+ : '[name].js';
103
+ const updated = Object.assign(Object.assign({}, config), { context: context
104
+ ? path.join(context.root, options.projectRoot)
105
+ : undefined, target: options.target, node: false,
106
+ // When mode is development or production, webpack will automatically
107
+ // configure DefinePlugin to replace `process.env.NODE_ENV` with the
108
+ // build-time value. Thus, we need to make sure it's the same value to
109
+ // avoid conflicts.
110
+ //
111
+ // When the NODE_ENV is something else (e.g. test), then set it to none
112
+ // to prevent extra behavior from webpack.
113
+ mode: process.env.NODE_ENV === 'development' ||
114
+ process.env.NODE_ENV === 'production'
115
+ ? process.env.NODE_ENV
116
+ : 'none', devtool: options.sourceMap === 'hidden'
117
+ ? 'hidden-source-map'
118
+ : options.sourceMap
119
+ ? 'source-map'
120
+ : false, entry, output: Object.assign(Object.assign({}, config.output), { libraryTarget: options.target === 'node' ? 'commonjs' : undefined, path: options.outputPath, filename,
121
+ chunkFilename, hashFunction: 'xxhash64',
122
+ // Disabled for performance
123
+ pathinfo: false,
124
+ // Use CJS for Node since it has the widest support.
125
+ scriptType: options.target === 'node' ? undefined : 'module' }), watch: options.watch, watchOptions: {
126
+ poll: options.poll,
127
+ }, profile: options.statsJson, resolve: Object.assign(Object.assign({}, config.resolve), { extensions: [...extensions, ...((_b = (_a = config === null || config === void 0 ? void 0 : config.resolve) === null || _a === void 0 ? void 0 : _a.extensions) !== null && _b !== void 0 ? _b : [])], alias: options.fileReplacements.reduce((aliases, replacement) => (Object.assign(Object.assign({}, aliases), { [replacement.replace]: replacement.with })), {}), plugins: [
128
+ ...((_d = (_c = config.resolve) === null || _c === void 0 ? void 0 : _c.plugins) !== null && _d !== void 0 ? _d : []),
129
+ new tsconfig_paths_webpack_plugin_1.TsconfigPathsPlugin({
130
+ configFile: options.tsConfig,
131
+ extensions: [...extensions, ...((_f = (_e = config === null || config === void 0 ? void 0 : config.resolve) === null || _e === void 0 ? void 0 : _e.extensions) !== null && _f !== void 0 ? _f : [])],
132
+ mainFields,
133
+ }),
134
+ ], mainFields }), externals, optimization: Object.assign(Object.assign({}, config.optimization), { sideEffects: true, minimize: typeof options.optimization === 'object'
135
+ ? !!options.optimization.scripts
136
+ : !!options.optimization, minimizer: [
137
+ options.compiler !== 'swc'
138
+ ? new TerserPlugin({
139
+ parallel: true,
140
+ terserOptions: {
141
+ keep_classnames: true,
142
+ ecma: 2020,
143
+ safari10: true,
144
+ format: {
145
+ ascii_only: true,
146
+ comments: false,
147
+ webkit: true,
148
+ },
149
+ },
150
+ extractComments: false,
151
+ })
152
+ : new TerserPlugin({
153
+ minify: TerserPlugin.swcMinify,
154
+ // `terserOptions` options will be passed to `swc`
155
+ terserOptions: {
156
+ mangle: false,
157
+ },
158
+ }),
159
+ ], runtimeChunk: false, concatenateModules: true }), performance: Object.assign(Object.assign({}, config.performance), { hints: false }), experiments: Object.assign(Object.assign({}, config.experiments), { cacheUnaffected: true }), ignoreWarnings: [
160
+ (x) => IGNORED_WEBPACK_WARNINGS.some((r) => typeof x === 'string' ? r.test(x) : r.test(x.message)),
161
+ ], module: Object.assign(Object.assign({}, config.module), {
162
+ // Enabled for performance
163
+ unsafeCache: true, rules: [
164
+ ...((_h = (_g = config === null || config === void 0 ? void 0 : config.module) === null || _g === void 0 ? void 0 : _g.rules) !== null && _h !== void 0 ? _h : []),
165
+ options.sourceMap && {
166
+ test: /\.js$/,
167
+ enforce: 'pre',
168
+ loader: require.resolve('source-map-loader'),
169
+ },
170
+ {
171
+ // There's an issue resolving paths without fully specified extensions
172
+ // See: https://github.com/graphql/graphql-js/issues/2721
173
+ // TODO(jack): Add a flag to turn this option on like Next.js does via experimental flag.
174
+ // See: https://github.com/vercel/next.js/pull/29880
175
+ test: /\.m?jsx?$/,
176
+ resolve: {
177
+ fullySpecified: false,
178
+ },
179
+ },
180
+ // There's an issue when using buildable libs and .js files (instead of .ts files),
181
+ // where the wrong type is used (commonjs vs esm) resulting in export-imports throwing errors.
182
+ // See: https://github.com/nrwl/nx/issues/10990
183
+ {
184
+ test: /\.js$/,
185
+ type: 'javascript/auto',
186
+ },
187
+ createLoaderFromCompiler(options),
188
+ ].filter((r) => !!r) }), plugins: ((_j = config.plugins) !== null && _j !== void 0 ? _j : []).concat(plugins), stats: {
189
+ hash: true,
190
+ timings: false,
191
+ cached: false,
192
+ cachedAssets: false,
193
+ modules: false,
194
+ warnings: true,
195
+ errors: true,
196
+ colors: !options.verbose && !options.statsJson,
197
+ chunks: !options.verbose,
198
+ assets: !!options.verbose,
199
+ chunkOrigins: !!options.verbose,
200
+ chunkModules: !!options.verbose,
201
+ children: !!options.verbose,
202
+ reasons: !!options.verbose,
203
+ version: !!options.verbose,
204
+ errorDetails: !!options.verbose,
205
+ moduleTrace: !!options.verbose,
206
+ usedExports: !!options.verbose,
207
+ } });
208
+ processed.add(updated);
209
+ return updated;
210
+ };
211
+ }
212
+ exports.withNx = withNx;
213
+ function createLoaderFromCompiler(options) {
214
+ var _a, _b;
215
+ switch (options.compiler) {
216
+ case 'swc':
217
+ return {
218
+ test: /\.([jt])sx?$/,
219
+ loader: require.resolve('swc-loader'),
220
+ exclude: /node_modules/,
221
+ options: {
222
+ jsc: {
223
+ parser: {
224
+ syntax: 'typescript',
225
+ decorators: true,
226
+ tsx: true,
227
+ },
228
+ transform: {
229
+ react: {
230
+ runtime: 'automatic',
231
+ },
232
+ },
233
+ loose: true,
234
+ },
235
+ },
236
+ };
237
+ case 'tsc':
238
+ const { loadTsTransformers } = require('@nx/js');
239
+ const { compilerPluginHooks, hasPlugin } = loadTsTransformers(options.transformers);
240
+ return {
241
+ test: /\.([jt])sx?$/,
242
+ loader: require.resolve(`ts-loader`),
243
+ exclude: /node_modules/,
244
+ options: {
245
+ configFile: options.tsConfig,
246
+ transpileOnly: !hasPlugin,
247
+ // https://github.com/TypeStrong/ts-loader/pull/685
248
+ experimentalWatchApi: true,
249
+ getCustomTransformers: (program) => ({
250
+ before: compilerPluginHooks.beforeHooks.map((hook) => hook(program)),
251
+ after: compilerPluginHooks.afterHooks.map((hook) => hook(program)),
252
+ afterDeclarations: compilerPluginHooks.afterDeclarationsHooks.map((hook) => hook(program)),
253
+ }),
254
+ },
255
+ };
256
+ case 'babel':
257
+ const tsConfig = (0, js_1.readTsConfig)(options.tsConfig);
258
+ const babelConfig = {
259
+ test: /\.([jt])sx?$/,
260
+ loader: path.join(__dirname, './web-babel-loader'),
261
+ exclude: /node_modules/,
262
+ options: {
263
+ cwd: path.join(options.root, options.sourceRoot),
264
+ emitDecoratorMetadata: tsConfig.options.emitDecoratorMetadata,
265
+ isModern: true,
266
+ envName: process.env.NODE_ENV,
267
+ cacheDirectory: true,
268
+ cacheCompression: false,
269
+ },
270
+ };
271
+ if (options.babelUpwardRootMode) {
272
+ babelConfig.options['rootMode'] = 'upward';
273
+ babelConfig.options['babelrc'] = true;
274
+ }
275
+ else {
276
+ babelConfig.options['configFile'] =
277
+ (_b = (_a = babelConfig.options) === null || _a === void 0 ? void 0 : _a['babelConfig']) !== null && _b !== void 0 ? _b : path.join(options.root, options.projectRoot, '.babelrc');
278
+ }
279
+ return babelConfig;
280
+ default:
281
+ return null;
282
+ }
283
+ }
284
+ exports.createLoaderFromCompiler = createLoaderFromCompiler;
285
+ //# sourceMappingURL=with-nx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-nx.js","sourceRoot":"","sources":["../../../../../packages/webpack/src/utils/with-nx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { NxWebpackPlugin } from './config';
2
+ import { ExtraEntryPointClass, NormalizedWebpackExecutorOptions } from '../executors/webpack/schema';
3
+ export interface WithWebOptions {
4
+ baseHref?: string;
5
+ crossOrigin?: 'none' | 'anonymous' | 'use-credentials';
6
+ deployUrl?: string;
7
+ extractCss?: boolean;
8
+ generateIndexHtml?: boolean;
9
+ index?: string;
10
+ postcssConfig?: string;
11
+ scripts?: Array<ExtraEntryPointClass | string>;
12
+ stylePreprocessorOptions?: any;
13
+ styles?: Array<ExtraEntryPointClass | string>;
14
+ subresourceIntegrity?: boolean;
15
+ }
16
+ export type MergedOptions = Omit<NormalizedWebpackExecutorOptions, keyof WithWebOptions> & WithWebOptions;
17
+ /**
18
+ * @param {WithWebOptions} pluginOptions
19
+ * @returns {NxWebpackPlugin}
20
+ */
21
+ export declare function withWeb(pluginOptions?: WithWebOptions): NxWebpackPlugin;