@nx/angular-rspack 22.4.0-beta.3 → 22.4.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"common-config.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/config-utils/common-config.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,UAAU,EACV,WAAW,EACX,oCAAoC,EACrC,MAAM,cAAc,CAAC;AAQtB,wBAAsB,eAAe,CACnC,iBAAiB,EAAE,oCAAoC,EACvD,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAC/B,UAAU,EAAE,UAAU,iDA8JvB"}
1
+ {"version":3,"file":"common-config.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/config-utils/common-config.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,UAAU,EACV,WAAW,EACX,oCAAoC,EACrC,MAAM,cAAc,CAAC;AAQtB,wBAAsB,eAAe,CACnC,iBAAiB,EAAE,oCAAoC,EACvD,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAC/B,UAAU,EAAE,UAAU,iDAkKvB"}
@@ -70,9 +70,13 @@ async function getCommonConfig(normalizedOptions, i18n, i18nHash, hashFormat) {
70
70
  },
71
71
  watch: normalizedOptions.watch,
72
72
  watchOptions: {
73
+ // Default aggregateTimeout to batch rapid filesystem events (e.g., editor backup files)
74
+ aggregateTimeout: 50,
73
75
  poll: normalizedOptions.poll,
74
76
  followSymlinks: normalizedOptions.preserveSymlinks,
75
77
  ignored: normalizedOptions.poll === undefined ? undefined : '**/node_modules/**',
78
+ // User-provided watchOptions take precedence
79
+ ...normalizedOptions.watchOptions,
76
80
  },
77
81
  ignoreWarnings: [
78
82
  // https://github.com/webpack-contrib/source-map-loader/blob/b2de4249c7431dd8432da607e08f0f65e9d64219/src/index.js#L83
@@ -65,6 +65,7 @@ export declare function handleConfigurations(defaultOptions: {
65
65
  vendorChunk?: boolean;
66
66
  verbose?: boolean;
67
67
  watch?: boolean;
68
+ watchOptions?: import("@rspack/core").WatchOptions;
68
69
  webWorkerTsConfig?: string;
69
70
  };
70
71
  mergedRspackConfigOverrides: Partial<import("@rspack/core").RspackOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"user-defined-config-helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/config-utils/user-defined-config-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,wBAAgB,oBAAoB,CAClC,cAAc,EAAE;IACd,OAAO,EAAE,0BAA0B,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAChD,EACD,cAAc,EAAE,MAAM,CACpB,MAAM,EACN;IACE,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAChD,CACF,EACD,kBAAkB,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBu2K,CAAC;sBAA2O,CAAC;0BAA8L,CAAC;;;;;;;;;;;;gCAA+lB,CAAC;;;;;;;;;;;;;;EALh5M;AAED,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,YAE/D"}
1
+ {"version":3,"file":"user-defined-config-helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/config-utils/user-defined-config-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,wBAAgB,oBAAoB,CAClC,cAAc,EAAE;IACd,OAAO,EAAE,0BAA0B,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAChD,EACD,cAAc,EAAE,MAAM,CACpB,MAAM,EACN;IACE,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAChD,CACF,EACD,kBAAkB,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBy5K,CAAC;sBAA2O,CAAC;0BAA8L,CAAC;;;;;;;;;;;;gCAA+lB,CAAC;;;;;;;;;;;;;;;EALl8M;AAED,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,YAE/D"}
@@ -1,5 +1,6 @@
1
1
  import type { FileReplacement, InlineStyleLanguage, StylePreprocessorOptions } from '@nx/angular-rspack-compiler';
2
2
  import type { BudgetEntry } from '@angular/build/private';
3
+ import type { WatchOptions } from '@rspack/core';
3
4
  import { I18nProjectMetadata } from './i18n';
4
5
  export interface DevServerOptions {
5
6
  /**
@@ -297,6 +298,11 @@ export interface AngularRspackPluginOptions {
297
298
  * Run build when files change.
298
299
  */
299
300
  watch?: boolean;
301
+ /**
302
+ * Options for the file watcher. Can be used to configure aggregateTimeout,
303
+ * ignored patterns, and other watcher behavior.
304
+ */
305
+ watchOptions?: WatchOptions;
300
306
  /**
301
307
  * @deprecated This is a no-op and can be safely removed.
302
308
  * The tsconfig file for web workers.
@@ -337,7 +343,12 @@ export interface NormalizedAngularRspackPluginOptions extends Omit<AngularRspack
337
343
  supportedBrowsers: string[];
338
344
  tsConfig: string;
339
345
  vendorChunk: boolean;
346
+ /**
347
+ * Adds more details to output logging.
348
+ */
349
+ verbose?: boolean;
340
350
  watch: boolean;
351
+ watchOptions?: WatchOptions;
341
352
  zoneless: boolean;
342
353
  }
343
354
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"angular-rspack-plugin-options.d.ts","sourceRoot":"","sources":["../../../src/lib/models/angular-rspack-plugin-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-rspack-plugin-options.d.ts","sourceRoot":"","sources":["../../../src/lib/models/angular-rspack-plugin-options.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.d.ts","sourceRoot":"","sources":["../../../src/lib/models/normalize-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAmBnE,OAAO,KAAK,EACV,0BAA0B,EAI1B,oCAAoC,EAIpC,6BAA6B,EAI9B,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,eAAe,EAAE,EACnC,IAAI,EAAE,MAAM,GACX,eAAe,EAAE,CAKnB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,0BAA0B,CAAC,KAAK,CAAC,GACrC,OAAO,CAQT;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,0BAA0B,CAAC,KAAK,CAAC,QAmBjE;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,oCAAoC,CAAC,CA8L/C;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,0BAA0B,CAAC,cAAc,CAAC,GACvD,6BAA6B,CAiD/B"}
1
+ {"version":3,"file":"normalize-options.d.ts","sourceRoot":"","sources":["../../../src/lib/models/normalize-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAmBnE,OAAO,KAAK,EACV,0BAA0B,EAI1B,oCAAoC,EAIpC,6BAA6B,EAI9B,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,eAAe,EAAE,EACnC,IAAI,EAAE,MAAM,GACX,eAAe,EAAE,CAKnB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,0BAA0B,CAAC,KAAK,CAAC,GACrC,OAAO,CAQT;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,0BAA0B,CAAC,KAAK,CAAC,QAmBjE;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,oCAAoC,CAAC,CA+L/C;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,0BAA0B,CAAC,cAAc,CAAC,GACvD,6BAA6B,CAiD/B"}
@@ -196,6 +196,7 @@ async function normalizeOptions(options) {
196
196
  vendorChunk: options.vendorChunk ?? false,
197
197
  verbose: options.verbose ?? false,
198
198
  watch: options.watch ?? false,
199
+ watchOptions: options.watchOptions,
199
200
  zoneless,
200
201
  };
201
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"angular-rspack-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/angular-rspack-plugin.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,oCAAoC,EAC1C,MAAM,WAAW,CAAC;AAUnB,qBAAa,mBAAoB,YAAW,oBAAoB;;gBAU5D,OAAO,EAAE,oCAAoC,EAC7C,WAAW,CAAC,EAAE,WAAW;IAuB3B,KAAK,CAAC,QAAQ,EAAE,QAAQ;YAoTV,gBAAgB;CAkC/B"}
1
+ {"version":3,"file":"angular-rspack-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/angular-rspack-plugin.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,QAAQ,EAEb,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,oCAAoC,EAC1C,MAAM,WAAW,CAAC;AAUnB,qBAAa,mBAAoB,YAAW,oBAAoB;;gBAU5D,OAAO,EAAE,oCAAoC,EAC7C,WAAW,CAAC,EAAE,WAAW;IAuB3B,KAAK,CAAC,QAAQ,EAAE,QAAQ;YA+TV,gBAAgB;CAkC/B"}
@@ -51,8 +51,17 @@ class AngularRspackPlugin {
51
51
  });
52
52
  callback();
53
53
  });
54
+ let currentWatchingModifiedFiles = new Set();
55
+ let watchRunInitialized = false;
56
+ // Register compilation hook once - adds modified files to dependencies
57
+ compiler.hooks.compilation.tap(PLUGIN_NAME + '_fileDeps', (compilation) => {
58
+ currentWatchingModifiedFiles.forEach((file) => {
59
+ compilation.fileDependencies.add(file);
60
+ });
61
+ });
54
62
  compiler.hooks.watchRun.tapAsync(PLUGIN_NAME, async (compiler, callback) => {
55
- if (!compiler.hooks.beforeCompile.taps.some((tap) => tap.name === PLUGIN_NAME)) {
63
+ if (!watchRunInitialized) {
64
+ watchRunInitialized = true;
56
65
  compiler.hooks.beforeCompile.tapAsync(PLUGIN_NAME, async (params, callback) => {
57
66
  const watchingModifiedFiles = compiler.watching?.compiler
58
67
  ?.modifiedFiles
@@ -65,11 +74,8 @@ class AngularRspackPlugin {
65
74
  ? watchingModifiedFiles
66
75
  : undefined);
67
76
  await (0, angular_rspack_compiler_1.buildAndAnalyze)(tslib_1.__classPrivateFieldGet(this, _AngularRspackPlugin_angularCompilation, "f"), tslib_1.__classPrivateFieldGet(this, _AngularRspackPlugin_sourceFileCache, "f").typeScriptFileCache, tslib_1.__classPrivateFieldGet(this, _AngularRspackPlugin_javascriptTransformer, "f"));
68
- compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
69
- watchingModifiedFiles.forEach((file) => {
70
- compilation.fileDependencies.add(file);
71
- });
72
- });
77
+ // Update shared state for compilation hook
78
+ currentWatchingModifiedFiles = watchingModifiedFiles;
73
79
  callback();
74
80
  });
75
81
  }
@@ -168,40 +174,44 @@ class AngularRspackPlugin {
168
174
  await tslib_1.__classPrivateFieldGet(this, _AngularRspackPlugin_javascriptTransformer, "f").close();
169
175
  callback();
170
176
  });
177
+ // Store compilation reference for budget checking in done hook
178
+ let currentEmitCompilation;
171
179
  compiler.hooks.afterEmit.tap(PLUGIN_NAME, (compilation) => {
172
- // Check for budget errors and display them to the user.
180
+ currentEmitCompilation = compilation;
181
+ });
182
+ // Register done hook once - checks budgets using stored compilation
183
+ compiler.hooks.done.tap(PLUGIN_NAME + '_budgets', (statsValue) => {
184
+ if (!currentEmitCompilation)
185
+ return;
173
186
  const budgets = tslib_1.__classPrivateFieldGet(this, _AngularRspackPlugin__options, "f").budgets;
174
- let budgetFailures;
175
- compiler.hooks.done.tap(PLUGIN_NAME, (statsValue) => {
176
- const stats = statsValue.toJson();
177
- const isPlatformServer = Array.isArray(compiler.options.target)
178
- ? compiler.options.target.some((target) => target === 'node' || target == 'async-node')
179
- : compiler.options.target === 'node' ||
180
- compiler.options.target === 'async-node';
181
- if (budgets?.length && !isPlatformServer) {
182
- budgetFailures = [...(0, private_1.checkBudgets)(budgets, stats)];
183
- for (const { severity, message } of budgetFailures) {
184
- switch (severity) {
185
- case private_1.ThresholdSeverity.Warning:
186
- (0, rspack_diagnostics_1.addWarning)(compilation, {
187
- message,
188
- name: PLUGIN_NAME,
189
- hideStack: true,
190
- });
191
- break;
192
- case private_1.ThresholdSeverity.Error:
193
- (0, rspack_diagnostics_1.addError)(compilation, {
194
- message,
195
- name: PLUGIN_NAME,
196
- hideStack: true,
197
- });
198
- break;
199
- default:
200
- (0, misc_helpers_1.assertNever)(severity);
201
- }
187
+ const stats = statsValue.toJson();
188
+ const isPlatformServer = Array.isArray(compiler.options.target)
189
+ ? compiler.options.target.some((target) => target === 'node' || target == 'async-node')
190
+ : compiler.options.target === 'node' ||
191
+ compiler.options.target === 'async-node';
192
+ if (budgets?.length && !isPlatformServer) {
193
+ const budgetFailures = [...(0, private_1.checkBudgets)(budgets, stats)];
194
+ for (const { severity, message } of budgetFailures) {
195
+ switch (severity) {
196
+ case private_1.ThresholdSeverity.Warning:
197
+ (0, rspack_diagnostics_1.addWarning)(currentEmitCompilation, {
198
+ message,
199
+ name: PLUGIN_NAME,
200
+ hideStack: true,
201
+ });
202
+ break;
203
+ case private_1.ThresholdSeverity.Error:
204
+ (0, rspack_diagnostics_1.addError)(currentEmitCompilation, {
205
+ message,
206
+ name: PLUGIN_NAME,
207
+ hideStack: true,
208
+ });
209
+ break;
210
+ default:
211
+ (0, misc_helpers_1.assertNever)(severity);
202
212
  }
203
213
  }
204
- });
214
+ }
205
215
  });
206
216
  compiler.hooks.afterDone.tap(PLUGIN_NAME, (stats) => {
207
217
  (0, stats_1.rspackStatsLogger)(stats, (0, get_stats_options_1.getStatsOptions)(tslib_1.__classPrivateFieldGet(this, _AngularRspackPlugin__options, "f").verbose));
@@ -1 +1 @@
1
- {"version":3,"file":"index-html-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/index-html-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAQtE,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,eACX,SAAQ,kBACR,YAAW,oBAAoB;aAWD,OAAO,EAAE,sBAAsB;IAT7D,OAAO,CAAC,YAAY,CAA0B;IAC9C,IAAI,WAAW,IAAI,WAAW,CAM7B;gBAE6B,OAAO,EAAE,sBAAsB;IAI7D,KAAK,CAAC,QAAQ,EAAE,QAAQ;IAoET,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAM9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAgBtD"}
1
+ {"version":3,"file":"index-html-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/index-html-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAYtE,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,eACX,SAAQ,kBACR,YAAW,oBAAoB;aAWD,OAAO,EAAE,sBAAsB;IAT7D,OAAO,CAAC,YAAY,CAA0B;IAC9C,IAAI,WAAW,IAAI,WAAW,CAM7B;gBAE6B,OAAO,EAAE,sBAAsB;IAI7D,KAAK,CAAC,QAAQ,EAAE,QAAQ;IAoET,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAM9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAyBtD"}
@@ -8,7 +8,7 @@ const add_event_dispatch_contract_1 = require("../utils/index-file/add-event-dis
8
8
  const misc_helpers_1 = require("../utils/misc-helpers");
9
9
  const i18n_1 = require("../utils/i18n");
10
10
  const rspack_diagnostics_1 = require("../utils/rspack-diagnostics");
11
- const url_join_1 = require("../utils/url-join");
11
+ const url_1 = require("../utils/url");
12
12
  const get_index_output_file_1 = require("../utils/index-file/get-index-output-file");
13
13
  const PLUGIN_NAME = 'IndexHtmlPlugin';
14
14
  class IndexHtmlPlugin extends private_1.IndexHtmlGenerator {
@@ -99,9 +99,14 @@ class IndexHtmlPlugin extends private_1.IndexHtmlGenerator {
99
99
  return undefined;
100
100
  }
101
101
  const baseHrefSuffix = localeData.baseHref ?? localeData.subPath + '/';
102
- return baseHrefSuffix !== ''
103
- ? (0, url_join_1.urlJoin)(this.options.baseHref || '', baseHrefSuffix)
104
- : undefined;
102
+ let joinedBaseHref;
103
+ if (baseHrefSuffix !== '') {
104
+ joinedBaseHref = (0, url_1.addTrailingSlash)((0, url_1.joinUrlParts)(this.options.baseHref || '', baseHrefSuffix));
105
+ if (this.options.baseHref && this.options.baseHref[0] !== '/') {
106
+ joinedBaseHref = (0, url_1.stripLeadingSlash)(joinedBaseHref);
107
+ }
108
+ }
109
+ return joinedBaseHref;
105
110
  }
106
111
  }
107
112
  exports.IndexHtmlPlugin = IndexHtmlPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"watch-file-logs-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/watch-file-logs-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAInE,qBAAa,oBAAqB,YAAW,oBAAoB;IAC/D,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAiBzB"}
1
+ {"version":3,"file":"watch-file-logs-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/watch-file-logs-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAInE,qBAAa,oBAAqB,YAAW,oBAAoB;IAC/D,KAAK,CAAC,QAAQ,EAAE,QAAQ;CA2BzB"}
@@ -11,16 +11,22 @@ exports.WatchFilesLogsPlugin = void 0;
11
11
  const PLUGIN_NAME = 'AngularRspackWatchFilesLogsPlugin';
12
12
  class WatchFilesLogsPlugin {
13
13
  apply(compiler) {
14
+ let currentModifiedFiles;
15
+ let currentRemovedFiles;
16
+ // Register compilation hook once - logs modified/removed files
17
+ compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
18
+ const logger = compilation.getLogger(PLUGIN_NAME);
19
+ if (currentModifiedFiles?.size) {
20
+ logger.log(`Modified files:\n${[...currentModifiedFiles].join('\n')}\n`);
21
+ }
22
+ if (currentRemovedFiles?.size) {
23
+ logger.log(`Removed files:\n${[...currentRemovedFiles].join('\n')}\n`);
24
+ }
25
+ });
26
+ // Update shared state on each watch cycle
14
27
  compiler.hooks.watchRun.tap(PLUGIN_NAME, ({ modifiedFiles, removedFiles }) => {
15
- compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
16
- const logger = compilation.getLogger(PLUGIN_NAME);
17
- if (modifiedFiles?.size) {
18
- logger.log(`Modified files:\n${[...modifiedFiles].join('\n')}\n`);
19
- }
20
- if (removedFiles?.size) {
21
- logger.log(`Removed files:\n${[...removedFiles].join('\n')}\n`);
22
- }
23
- });
28
+ currentModifiedFiles = modifiedFiles;
29
+ currentRemovedFiles = removedFiles;
24
30
  });
25
31
  }
26
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-locale-base-href.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/get-locale-base-href.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAepB"}
1
+ {"version":3,"file":"get-locale-base-href.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/get-locale-base-href.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAwBpB"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLocaleBaseHref = getLocaleBaseHref;
4
- const url_join_1 = require("./url-join");
4
+ const url_1 = require("./url");
5
5
  function getLocaleBaseHref(i18n, locale, baseHref) {
6
6
  if (i18n.flatOutput) {
7
7
  return undefined;
@@ -11,7 +11,12 @@ function getLocaleBaseHref(i18n, locale, baseHref) {
11
11
  return undefined;
12
12
  }
13
13
  const baseHrefSuffix = localeData.baseHref ?? localeData.subPath + '/';
14
- return baseHrefSuffix !== ''
15
- ? (0, url_join_1.urlJoin)(baseHref || '', baseHrefSuffix)
16
- : undefined;
14
+ let joinedBaseHref;
15
+ if (baseHrefSuffix !== '') {
16
+ joinedBaseHref = (0, url_1.addTrailingSlash)((0, url_1.joinUrlParts)(baseHref || '', baseHrefSuffix));
17
+ if (baseHref && baseHref[0] !== '/') {
18
+ joinedBaseHref = (0, url_1.stripLeadingSlash)(joinedBaseHref);
19
+ }
20
+ }
21
+ return joinedBaseHref;
17
22
  }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ /**
9
+ * Removes the leading slash from a URL if it exists.
10
+ *
11
+ * @param url - The URL string from which to remove the leading slash.
12
+ * @returns The URL string without a leading slash.
13
+ *
14
+ * @example
15
+ * ```js
16
+ * stripLeadingSlash('/path'); // 'path'
17
+ * stripLeadingSlash('/path/'); // 'path/'
18
+ * stripLeadingSlash('/'); // '/'
19
+ * stripLeadingSlash(''); // ''
20
+ * ```
21
+ */
22
+ export declare function stripLeadingSlash(url: string): string;
23
+ /**
24
+ * Adds a leading slash to a URL if it does not already have one.
25
+ *
26
+ * @param url - The URL string to which the leading slash will be added.
27
+ * @returns The URL string with a leading slash.
28
+ *
29
+ * @example
30
+ * ```js
31
+ * addLeadingSlash('path'); // '/path'
32
+ * addLeadingSlash('/path'); // '/path'
33
+ * ```
34
+ */
35
+ export declare function addLeadingSlash(url: string): string;
36
+ /**
37
+ * Adds a trailing slash to a URL if it does not already have one.
38
+ *
39
+ * @param url - The URL string to which the trailing slash will be added.
40
+ * @returns The URL string with a trailing slash.
41
+ *
42
+ * @example
43
+ * ```js
44
+ * addTrailingSlash('path'); // 'path/'
45
+ * addTrailingSlash('path/'); // 'path/'
46
+ * ```
47
+ */
48
+ export declare function addTrailingSlash(url: string): string;
49
+ /**
50
+ * Joins URL parts into a single URL string.
51
+ *
52
+ * This function takes multiple URL segments, normalizes them by removing leading
53
+ * and trailing slashes where appropriate, and then joins them into a single URL.
54
+ *
55
+ * @param parts - The parts of the URL to join. Each part can be a string with or without slashes.
56
+ * @returns The joined URL string, with normalized slashes.
57
+ *
58
+ * @example
59
+ * ```js
60
+ * joinUrlParts('path/', '/to/resource'); // '/path/to/resource'
61
+ * joinUrlParts('/path/', 'to/resource'); // '/path/to/resource'
62
+ * joinUrlParts('http://localhost/path/', 'to/resource'); // 'http://localhost/path/to/resource'
63
+ * joinUrlParts('', ''); // '/'
64
+ * ```
65
+ */
66
+ export declare function joinUrlParts(...parts: string[]): string;
67
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/url.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAyBvD"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.stripLeadingSlash = stripLeadingSlash;
11
+ exports.addLeadingSlash = addLeadingSlash;
12
+ exports.addTrailingSlash = addTrailingSlash;
13
+ exports.joinUrlParts = joinUrlParts;
14
+ /**
15
+ * Removes the leading slash from a URL if it exists.
16
+ *
17
+ * @param url - The URL string from which to remove the leading slash.
18
+ * @returns The URL string without a leading slash.
19
+ *
20
+ * @example
21
+ * ```js
22
+ * stripLeadingSlash('/path'); // 'path'
23
+ * stripLeadingSlash('/path/'); // 'path/'
24
+ * stripLeadingSlash('/'); // '/'
25
+ * stripLeadingSlash(''); // ''
26
+ * ```
27
+ */
28
+ function stripLeadingSlash(url) {
29
+ // Check if the first character of the URL is a slash
30
+ return url.length > 1 && url[0] === '/' ? url.slice(1) : url;
31
+ }
32
+ /**
33
+ * Adds a leading slash to a URL if it does not already have one.
34
+ *
35
+ * @param url - The URL string to which the leading slash will be added.
36
+ * @returns The URL string with a leading slash.
37
+ *
38
+ * @example
39
+ * ```js
40
+ * addLeadingSlash('path'); // '/path'
41
+ * addLeadingSlash('/path'); // '/path'
42
+ * ```
43
+ */
44
+ function addLeadingSlash(url) {
45
+ // Check if the URL already starts with a slash
46
+ return url[0] === '/' ? url : `/${url}`;
47
+ }
48
+ /**
49
+ * Adds a trailing slash to a URL if it does not already have one.
50
+ *
51
+ * @param url - The URL string to which the trailing slash will be added.
52
+ * @returns The URL string with a trailing slash.
53
+ *
54
+ * @example
55
+ * ```js
56
+ * addTrailingSlash('path'); // 'path/'
57
+ * addTrailingSlash('path/'); // 'path/'
58
+ * ```
59
+ */
60
+ function addTrailingSlash(url) {
61
+ // Check if the URL already end with a slash
62
+ return url.at(-1) === '/' ? url : `${url}/`;
63
+ }
64
+ /**
65
+ * Joins URL parts into a single URL string.
66
+ *
67
+ * This function takes multiple URL segments, normalizes them by removing leading
68
+ * and trailing slashes where appropriate, and then joins them into a single URL.
69
+ *
70
+ * @param parts - The parts of the URL to join. Each part can be a string with or without slashes.
71
+ * @returns The joined URL string, with normalized slashes.
72
+ *
73
+ * @example
74
+ * ```js
75
+ * joinUrlParts('path/', '/to/resource'); // '/path/to/resource'
76
+ * joinUrlParts('/path/', 'to/resource'); // '/path/to/resource'
77
+ * joinUrlParts('http://localhost/path/', 'to/resource'); // 'http://localhost/path/to/resource'
78
+ * joinUrlParts('', ''); // '/'
79
+ * ```
80
+ */
81
+ function joinUrlParts(...parts) {
82
+ const normalizeParts = [];
83
+ for (const part of parts) {
84
+ if (part === '') {
85
+ // Skip any empty parts
86
+ continue;
87
+ }
88
+ let normalizedPart = part;
89
+ if (part[0] === '/') {
90
+ normalizedPart = normalizedPart.slice(1);
91
+ }
92
+ if (part.at(-1) === '/') {
93
+ normalizedPart = normalizedPart.slice(0, -1);
94
+ }
95
+ if (normalizedPart !== '') {
96
+ normalizeParts.push(normalizedPart);
97
+ }
98
+ }
99
+ const protocolMatch = normalizeParts.length && /^https?:\/\//.test(normalizeParts[0]);
100
+ const joinedParts = normalizeParts.join('/');
101
+ return protocolMatch ? joinedParts : addLeadingSlash(joinedParts);
102
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/angular-rspack",
3
- "version": "22.4.0-beta.3",
3
+ "version": "22.4.0-beta.5",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -48,8 +48,8 @@
48
48
  "@ampproject/remapping": "2.3.0",
49
49
  "@babel/core": "7.28.3",
50
50
  "@discoveryjs/json-ext": "0.6.3",
51
- "@nx/angular-rspack-compiler": "22.4.0-beta.3",
52
- "@nx/devkit": "22.4.0-beta.3",
51
+ "@nx/angular-rspack-compiler": "22.4.0-beta.5",
52
+ "@nx/devkit": "22.4.0-beta.5",
53
53
  "ansi-colors": "4.1.3",
54
54
  "autoprefixer": "10.4.21",
55
55
  "deepmerge": "^4.3.1",
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.dev/license
7
- */
8
- export declare function urlJoin(...parts: string[]): string;
9
- //# sourceMappingURL=url-join.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-join.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/url-join.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAOlD"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- /**
3
- * @license
4
- * Copyright Google LLC All Rights Reserved.
5
- *
6
- * Use of this source code is governed by an MIT-style license that can be
7
- * found in the LICENSE file at https://angular.dev/license
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.urlJoin = urlJoin;
11
- function urlJoin(...parts) {
12
- const [p, ...rest] = parts;
13
- // Remove trailing slash from first part
14
- // Join all parts with `/`
15
- // Dedupe double slashes from path names
16
- return p.replace(/\/$/, '') + ('/' + rest.join('/')).replace(/\/\/+/g, '/');
17
- }