@nx/webpack 23.0.0-beta.18 → 23.0.0-beta.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/webpack",
3
- "version": "23.0.0-beta.18",
3
+ "version": "23.0.0-beta.19",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Webpack contains executors and generators that support building applications using Webpack.",
6
6
  "repository": {
@@ -65,11 +65,11 @@
65
65
  "webpack-dev-server": "^5.2.1",
66
66
  "webpack-node-externals": "^3.0.0",
67
67
  "webpack-subresource-integrity": "^5.1.0",
68
- "@nx/devkit": "23.0.0-beta.18",
69
- "@nx/js": "23.0.0-beta.18"
68
+ "@nx/devkit": "23.0.0-beta.19",
69
+ "@nx/js": "23.0.0-beta.19"
70
70
  },
71
71
  "devDependencies": {
72
- "nx": "23.0.0-beta.18"
72
+ "nx": "23.0.0-beta.19"
73
73
  },
74
74
  "publishConfig": {
75
75
  "access": "public"
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/webpack/src/plugins/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAIlB,aAAa,EAOd,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAID;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAEhC,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,oBAAoB,CAkC3D,CAAC;AAEF,eAAO,MAAM,aAAa,qCAAc,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../packages/webpack/src/plugins/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,kBAAkB,EAKlB,aAAa,EAOd,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAID;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAEhC,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,oBAAoB,CAgE3D,CAAC;AAEF,eAAO,MAAM,aAAa,qCAAc,CAAC"}
@@ -31,7 +31,27 @@ exports.createNodes = [
31
31
  const pmc = (0, devkit_1.getPackageManagerCommand)(packageManager);
32
32
  const lockFileName = (0, js_1.getLockFileName)(packageManager);
33
33
  try {
34
- return await (0, devkit_1.createNodesFromFiles)((configFile, options, context) => createNodesInternal(configFile, options, context, targetsCache, isTsSolutionSetup, pmc, lockFileName), configFilePaths, normalizedOptions, context);
34
+ const { entries, preErrors } = await filterWebpackConfigs(configFilePaths, context);
35
+ const projectHashes = await (0, internal_1.calculateHashesForCreateNodes)(entries.map((e) => e.projectRoot), normalizedOptions, context, entries.map(() => [lockFileName]));
36
+ let results = [];
37
+ let nodeErrors = [];
38
+ try {
39
+ results = await (0, devkit_1.createNodesFromFiles)((configFile, opts, ctx, idx) => createNodesInternal(configFile, opts, ctx, targetsCache, isTsSolutionSetup, pmc, projectHashes[idx]), entries.map((e) => e.configFile), normalizedOptions, context);
40
+ }
41
+ catch (e) {
42
+ if (e instanceof devkit_1.AggregateCreateNodesError) {
43
+ results = e.partialResults ?? [];
44
+ nodeErrors = e.errors;
45
+ }
46
+ else {
47
+ throw e;
48
+ }
49
+ }
50
+ const allErrors = [...preErrors, ...nodeErrors];
51
+ if (allErrors.length > 0) {
52
+ throw new devkit_1.AggregateCreateNodesError(allErrors, results);
53
+ }
54
+ return results;
35
55
  }
36
56
  finally {
37
57
  targetsCache.writeToDisk();
@@ -39,15 +59,8 @@ exports.createNodes = [
39
59
  },
40
60
  ];
41
61
  exports.createNodesV2 = exports.createNodes;
42
- async function createNodesInternal(configFilePath, options, context, targetsCache, isTsSolutionSetup, pmc, lockFileName) {
62
+ async function createNodesInternal(configFilePath, options, context, targetsCache, isTsSolutionSetup, pmc, hash) {
43
63
  const projectRoot = (0, path_1.dirname)(configFilePath);
44
- // Do not create a project if package.json and project.json isn't there.
45
- const siblingFiles = (0, fs_1.readdirSync)((0, path_1.join)(context.workspaceRoot, projectRoot));
46
- if (!siblingFiles.includes('package.json') &&
47
- !siblingFiles.includes('project.json')) {
48
- return {};
49
- }
50
- const hash = await (0, internal_1.calculateHashForCreateNodes)(projectRoot, options, context, [lockFileName]);
51
64
  if (!targetsCache.has(hash)) {
52
65
  targetsCache.set(hash, await createWebpackTargets(configFilePath, projectRoot, options, context, isTsSolutionSetup, pmc));
53
66
  }
@@ -209,6 +222,28 @@ function normalizeOutputPath(outputPath, projectRoot) {
209
222
  }
210
223
  }
211
224
  }
225
+ async function filterWebpackConfigs(configFiles, context) {
226
+ const preErrors = [];
227
+ const candidates = await Promise.all(configFiles.map(async (configFile) => {
228
+ try {
229
+ const projectRoot = (0, path_1.dirname)(configFile);
230
+ const siblingFiles = (0, fs_1.readdirSync)((0, path_1.join)(context.workspaceRoot, projectRoot));
231
+ if (!siblingFiles.includes('package.json') &&
232
+ !siblingFiles.includes('project.json')) {
233
+ return null;
234
+ }
235
+ return { configFile, projectRoot };
236
+ }
237
+ catch (e) {
238
+ preErrors.push([configFile, e]);
239
+ return null;
240
+ }
241
+ }));
242
+ return {
243
+ entries: candidates.filter((c) => c !== null),
244
+ preErrors,
245
+ };
246
+ }
212
247
  function normalizeOptions(options) {
213
248
  return {
214
249
  buildTargetName: options?.buildTargetName ?? 'build',