@angular/build 22.3.0-next.0 → 22.3.0-next.2

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 (141) hide show
  1. package/package.json +13 -13
  2. package/src/builders/application/build-action.js +2 -2
  3. package/src/builders/application/build-action.js.map +1 -1
  4. package/src/builders/application/chunk-optimizer.js +2 -1
  5. package/src/builders/application/chunk-optimizer.js.map +1 -1
  6. package/src/builders/application/index.js +8 -31
  7. package/src/builders/application/index.js.map +1 -1
  8. package/src/builders/application/options.d.ts +1 -3
  9. package/src/builders/application/options.js +2 -3
  10. package/src/builders/application/options.js.map +1 -1
  11. package/src/builders/application/results.d.ts +1 -1
  12. package/src/builders/dev-server/options.js +1 -1
  13. package/src/builders/dev-server/options.js.map +1 -1
  14. package/src/builders/dev-server/vite/server.js +1 -1
  15. package/src/builders/dev-server/vite/server.js.map +1 -1
  16. package/src/builders/dev-server/vite/utils.js +1 -1
  17. package/src/builders/dev-server/vite/utils.js.map +1 -1
  18. package/src/builders/extract-i18n/application-extraction.js +2 -1
  19. package/src/builders/extract-i18n/application-extraction.js.map +1 -1
  20. package/src/builders/karma/assets-middleware.js +1 -1
  21. package/src/builders/karma/assets-middleware.js.map +1 -1
  22. package/src/builders/library/builder-state.d.ts +115 -0
  23. package/src/builders/library/builder-state.js +282 -0
  24. package/src/builders/library/builder-state.js.map +1 -0
  25. package/src/builders/library/builder.js +110 -92
  26. package/src/builders/library/builder.js.map +1 -1
  27. package/src/builders/library/execution-result.d.ts +35 -0
  28. package/src/builders/library/execution-result.js +67 -0
  29. package/src/builders/library/execution-result.js.map +1 -0
  30. package/src/builders/library/index.d.ts +1 -1
  31. package/src/builders/library/index.js.map +1 -1
  32. package/src/builders/library/options.d.ts +9 -0
  33. package/src/builders/library/options.js +29 -23
  34. package/src/builders/library/options.js.map +1 -1
  35. package/src/builders/library/pipeline/assets.d.ts +5 -16
  36. package/src/builders/library/pipeline/assets.js +16 -59
  37. package/src/builders/library/pipeline/assets.js.map +1 -1
  38. package/src/builders/library/pipeline/build-action.d.ts +21 -13
  39. package/src/builders/library/pipeline/build-action.js +76 -124
  40. package/src/builders/library/pipeline/build-action.js.map +1 -1
  41. package/src/builders/library/pipeline/bundler.d.ts +5 -3
  42. package/src/builders/library/pipeline/bundler.js +123 -43
  43. package/src/builders/library/pipeline/bundler.js.map +1 -1
  44. package/src/builders/library/pipeline/compilation.d.ts +7 -26
  45. package/src/builders/library/pipeline/compilation.js +59 -69
  46. package/src/builders/library/pipeline/compilation.js.map +1 -1
  47. package/src/builders/library/pipeline/entry-points.d.ts +26 -6
  48. package/src/builders/library/pipeline/entry-points.js +82 -21
  49. package/src/builders/library/pipeline/entry-points.js.map +1 -1
  50. package/src/builders/library/pipeline/package-manifests.d.ts +2 -1
  51. package/src/builders/library/pipeline/package-manifests.js +50 -1
  52. package/src/builders/library/pipeline/package-manifests.js.map +1 -1
  53. package/src/builders/library/pipeline/stylesheet-bundler.d.ts +4 -1
  54. package/src/builders/library/pipeline/stylesheet-bundler.js +1 -1
  55. package/src/builders/library/pipeline/stylesheet-bundler.js.map +1 -1
  56. package/src/builders/library/pipeline/utils.d.ts +19 -11
  57. package/src/builders/library/pipeline/utils.js +27 -11
  58. package/src/builders/library/pipeline/utils.js.map +1 -1
  59. package/src/builders/library/schema.json +2 -4
  60. package/src/builders/library/types.d.ts +62 -22
  61. package/src/builders/ng-packagr/builder.js +2 -2
  62. package/src/builders/ng-packagr/builder.js.map +1 -1
  63. package/src/builders/unit-test/builder.js +1 -1
  64. package/src/builders/unit-test/builder.js.map +1 -1
  65. package/src/builders/unit-test/options.js +1 -2
  66. package/src/builders/unit-test/options.js.map +1 -1
  67. package/src/builders/unit-test/runners/vitest/executor.js +0 -5
  68. package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
  69. package/src/builders/unit-test/runners/vitest/plugins.js +13 -1
  70. package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
  71. package/src/builders/unit-test/test-discovery.js +4 -2
  72. package/src/builders/unit-test/test-discovery.js.map +1 -1
  73. package/src/private.d.ts +1 -1
  74. package/src/private.js +3 -3
  75. package/src/private.js.map +1 -1
  76. package/src/tools/angular/angular-host.d.ts +1 -1
  77. package/src/tools/angular/angular-host.js +5 -2
  78. package/src/tools/angular/angular-host.js.map +1 -1
  79. package/src/tools/angular/compilation/angular-compilation.d.ts +1 -0
  80. package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
  81. package/src/tools/angular/compilation/aot-compilation.js +325 -80
  82. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  83. package/src/tools/angular/compilation/compiler-options.js +4 -1
  84. package/src/tools/angular/compilation/compiler-options.js.map +1 -1
  85. package/src/tools/angular/compilation/jit-compilation.js +5 -4
  86. package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
  87. package/src/tools/angular/compilation/parallel-worker.js +1 -0
  88. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  89. package/src/tools/angular/compilation/typescript-compilation.d.ts +2 -0
  90. package/src/tools/angular/compilation/typescript-compilation.js +44 -5
  91. package/src/tools/angular/compilation/typescript-compilation.js.map +1 -1
  92. package/src/tools/esbuild/bundler-context.js +5 -1
  93. package/src/tools/esbuild/bundler-context.js.map +1 -1
  94. package/src/tools/esbuild/persistent-load-result-cache.js +2 -4
  95. package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
  96. package/src/tools/esbuild/utils.d.ts +1 -2
  97. package/src/tools/esbuild/utils.js +0 -13
  98. package/src/tools/esbuild/utils.js.map +1 -1
  99. package/src/tools/sass/rebasing-importer.d.ts +1 -1
  100. package/src/tools/sass/rebasing-importer.js +6 -3
  101. package/src/tools/sass/rebasing-importer.js.map +1 -1
  102. package/src/tools/vite/middlewares/assets-middleware.js +1 -1
  103. package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
  104. package/src/utils/concurrency.d.ts +4 -0
  105. package/src/utils/concurrency.js +5 -0
  106. package/src/utils/concurrency.js.map +1 -1
  107. package/src/utils/delete-output-dir.js +3 -2
  108. package/src/utils/delete-output-dir.js.map +1 -1
  109. package/src/utils/disk-files.d.ts +30 -0
  110. package/src/utils/disk-files.js +68 -0
  111. package/src/utils/disk-files.js.map +1 -0
  112. package/src/utils/index-file/nonce.d.ts +2 -1
  113. package/src/utils/index-file/nonce.js +22 -4
  114. package/src/utils/index-file/nonce.js.map +1 -1
  115. package/src/utils/load-proxy-config.js +12 -10
  116. package/src/utils/load-proxy-config.js.map +1 -1
  117. package/src/utils/load-rolldown.d.ts +27 -0
  118. package/src/utils/load-rolldown.js +79 -0
  119. package/src/utils/load-rolldown.js.map +1 -0
  120. package/src/utils/normalize-asset-patterns.d.ts +18 -3
  121. package/src/utils/normalize-asset-patterns.js +34 -67
  122. package/src/utils/normalize-asset-patterns.js.map +1 -1
  123. package/src/utils/normalize-cache.d.ts +14 -1
  124. package/src/utils/normalize-cache.js +18 -4
  125. package/src/utils/normalize-cache.js.map +1 -1
  126. package/src/utils/postcss-configuration.d.ts +2 -2
  127. package/src/utils/postcss-configuration.js +3 -3
  128. package/src/utils/postcss-configuration.js.map +1 -1
  129. package/src/utils/resolve-assets.js +28 -9
  130. package/src/utils/resolve-assets.js.map +1 -1
  131. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +1 -1
  132. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +3 -3
  133. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -1
  134. package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js +3 -2
  135. package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js.map +1 -1
  136. package/src/utils/test-files.js +5 -57
  137. package/src/utils/test-files.js.map +1 -1
  138. package/src/utils/watcher.d.ts +53 -0
  139. package/src/utils/watcher.js +404 -76
  140. package/src/utils/watcher.js.map +1 -1
  141. package/src/builders/library/pipeline/types.d.ts +0 -54
@@ -39,12 +39,8 @@ var __importStar = (this && this.__importStar) || (function () {
39
39
  return result;
40
40
  };
41
41
  })();
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
42
  Object.defineProperty(exports, "__esModule", { value: true });
46
43
  exports.executeLibraryBuilder = executeLibraryBuilder;
47
- const promises_1 = __importDefault(require("node:fs/promises"));
48
44
  const sass_language_1 = require("../../tools/esbuild/stylesheets/sass-language");
49
45
  const target_1 = require("../../tools/esbuild/target");
50
46
  const utils_1 = require("../../tools/esbuild/utils");
@@ -56,8 +52,10 @@ const profiling_1 = require("../../utils/profiling");
56
52
  const purge_cache_1 = require("../../utils/purge-cache");
57
53
  const supported_browsers_1 = require("../../utils/supported-browsers");
58
54
  const version_1 = require("../../utils/version");
55
+ const builder_state_1 = require("./builder-state");
59
56
  const options_1 = require("./options");
60
57
  const entry_points_1 = require("./pipeline/entry-points");
58
+ const utils_2 = require("./pipeline/utils");
61
59
  /**
62
60
  * Executes the library builder to compile, bundle, and package an Angular library into the Angular Package Format (APF).
63
61
  *
@@ -67,16 +65,18 @@ const entry_points_1 = require("./pipeline/entry-points");
67
65
  */
68
66
  async function* executeLibraryBuilder(options, context) {
69
67
  (0, version_1.assertCompatibleAngularVersion)(context.workspaceRoot);
70
- await (0, hash_1.initializeHash)();
71
- // Purge old build disk cache
72
- await (0, purge_cache_1.purgeStaleBuildCache)(context);
73
68
  const projectName = context.target?.project;
74
69
  if (!projectName) {
75
70
  yield { success: false, error: 'The library builder requires a target.' };
76
71
  return;
77
72
  }
78
- const normalizedOptions = await (0, options_1.normalizeLibraryOptions)(context, projectName, options);
79
- const { workspaceRoot, projectRoot, outputPath, deleteOutputPath, packageJsonPath, tsConfigPath, watch: isWatchMode, poll, cacheOptions, preserveSymlinks, progress, } = normalizedOptions;
73
+ const [normalizedOptions] = await Promise.all([
74
+ (0, options_1.normalizeLibraryOptions)(context, projectName, options),
75
+ (0, hash_1.initializeHash)(),
76
+ // Purge old build disk cache
77
+ (0, purge_cache_1.purgeStaleBuildCache)(context),
78
+ ]);
79
+ const { workspaceRoot, projectRoot, outputPath, deleteOutputPath, watch: isWatchMode, poll, cacheOptions, preserveSymlinks, progress, } = normalizedOptions;
80
80
  let signal = context.signal;
81
81
  if (!signal) {
82
82
  const controller = new AbortController();
@@ -90,29 +90,18 @@ async function* executeLibraryBuilder(options, context) {
90
90
  await (0, delete_output_dir_1.deleteOutputDir)(workspaceRoot, outputPath);
91
91
  }
92
92
  // Dynamically lazy-loaded to prevent importing dependencies at the top level.
93
- const [{ buildAction, createSingleBuildState, hasModifiedWatchedFile }, { createComponentStylesheetBundlerForLibrary },] = await Promise.all([
93
+ const [{ buildAction }, { createComponentStylesheetBundlerForLibrary }] = await Promise.all([
94
94
  Promise.resolve().then(() => __importStar(require('./pipeline/build-action'))),
95
95
  Promise.resolve().then(() => __importStar(require('./pipeline/stylesheet-bundler'))),
96
96
  ]);
97
97
  let stylesheetBundler;
98
98
  let watcher;
99
- const buildState = createSingleBuildState();
99
+ const buildState = new builder_state_1.BuilderState(normalizedOptions);
100
100
  try {
101
101
  const browsers = (0, supported_browsers_1.getSupportedBrowsers)(projectRoot, logger);
102
102
  const target = (0, target_1.transformSupportedBrowsersToTargets)(browsers);
103
103
  stylesheetBundler = createComponentStylesheetBundlerForLibrary(normalizedOptions, isWatchMode, target);
104
- // Track all referenced files for watch mode
105
- const allWatchedFiles = new Set([
106
- (0, path_1.toPosixPath)(tsConfigPath),
107
- (0, path_1.toPosixPath)(packageJsonPath),
108
- ]);
109
- for (const entryPoint of normalizedOptions.entryPoints.values()) {
110
- allWatchedFiles.add((0, path_1.toPosixPath)(entryPoint.entryFilePath));
111
- }
112
104
  if (isWatchMode) {
113
- if (progress) {
114
- logger.info('Watch mode enabled. Watching for file changes...');
115
- }
116
105
  const { setupWatcher } = await Promise.resolve().then(() => __importStar(require('../../utils/watcher')));
117
106
  watcher = await setupWatcher({
118
107
  workspaceRoot,
@@ -122,7 +111,10 @@ async function* executeLibraryBuilder(options, context) {
122
111
  poll,
123
112
  preserveSymlinks,
124
113
  signal,
125
- watchFiles: allWatchedFiles,
114
+ watchFiles: [
115
+ ...buildState.watchedCompilationFiles,
116
+ ...normalizedOptions.assets.map((asset) => asset.input),
117
+ ],
126
118
  });
127
119
  context.addTeardown?.(() => void watcher?.close());
128
120
  }
@@ -130,16 +122,17 @@ async function* executeLibraryBuilder(options, context) {
130
122
  const initialResult = await executeBuild('Building...', {
131
123
  options: normalizedOptions,
132
124
  stylesheetBundler,
133
- allWatchedFiles,
134
125
  isWatchMode,
135
- context,
136
126
  buildState,
137
- }, withProgress, watcher, buildAction);
127
+ }, logger, withProgress, watcher, buildAction);
128
+ if (isWatchMode && progress) {
129
+ logger.info('Watch mode enabled. Watching for file changes...');
130
+ }
138
131
  yield initialResult;
139
132
  if (!isWatchMode || !watcher) {
140
133
  return;
141
134
  }
142
- yield* runWatchLoop(watcher, normalizedOptions, stylesheetBundler, allWatchedFiles, context, withProgress, buildState, buildAction, hasModifiedWatchedFile, signal);
135
+ yield* runWatchLoop(watcher, normalizedOptions, stylesheetBundler, logger, withProgress, buildState, buildAction, signal);
143
136
  }
144
137
  finally {
145
138
  (0, profiling_1.logCumulativeDurations)();
@@ -147,87 +140,96 @@ async function* executeLibraryBuilder(options, context) {
147
140
  await Promise.allSettled([
148
141
  watcher?.close(),
149
142
  stylesheetBundler?.dispose(),
150
- buildState.singleProgramCache?.compilationInstance.close?.(),
143
+ buildState.dispose(),
151
144
  ]);
152
145
  }
153
146
  }
154
- async function executeBuild(message, actionContext, withProgress, watcher, buildAction) {
147
+ /**
148
+ * Executes a single build iteration with progress reporting, logs any resulting
149
+ * messages, and registers newly discovered files with the watcher.
150
+ *
151
+ * @param message Progress spinner message to display while building.
152
+ * @param actionContext The build action context and state.
153
+ * @param logger The Architect logger API.
154
+ * @param withProgress Progress wrapper function (`withSpinner` or `withNoProgress`).
155
+ * @param watcher Optional file watcher for watch mode.
156
+ * @param buildAction The library build action function to execute.
157
+ * @returns A promise resolving to the Architect `BuilderOutput`.
158
+ */
159
+ async function executeBuild(message, actionContext, logger, withProgress, watcher, buildAction) {
155
160
  const startTime = process.hrtime.bigint();
156
- const { context, allWatchedFiles, isWatchMode } = actionContext;
161
+ const { buildState, isWatchMode, options } = actionContext;
157
162
  try {
158
- await withProgress(message, () => buildAction(actionContext));
159
- logBuildResult(context.logger, startTime, true);
160
- if (isWatchMode) {
163
+ const result = await withProgress(message, () => buildAction(actionContext));
164
+ logMessages(logger, result);
165
+ const { output } = result;
166
+ logBuildResult(logger, startTime, output.success, options.outputPath);
167
+ if (output.success && isWatchMode) {
161
168
  (0, profiling_1.logCumulativeDurations)();
162
169
  }
163
- return { success: true };
170
+ return output;
164
171
  }
165
172
  catch (error) {
166
173
  (0, error_1.assertIsError)(error);
167
- logBuildResult(context.logger, startTime, false);
174
+ logBuildResult(logger, startTime, false);
168
175
  return { success: false, error: error.message };
169
176
  }
170
177
  finally {
171
- watcher?.add(Array.from(allWatchedFiles));
178
+ if (watcher) {
179
+ watcher.add(Array.from(buildState.watchedCompilationFiles));
180
+ const { assetsToEmit } = actionContext;
181
+ if (assetsToEmit?.length) {
182
+ watcher.add(assetsToEmit.map((asset) => asset.source));
183
+ }
184
+ }
172
185
  }
173
186
  }
174
187
  /**
175
188
  * Runs the watch loop, rebuilding the library as watched files are modified.
189
+ *
190
+ * @param watcher The file watcher instance.
191
+ * @param options The normalized library builder options with POSIX paths.
192
+ * @param stylesheetBundler The component stylesheet bundler instance.
193
+ * @param logger The Architect logger API.
194
+ * @param withProgress Progress wrapper function (`withSpinner` or `withNoProgress`).
195
+ * @param buildState The state preserved across incremental builds.
196
+ * @param buildAction The library build action function to execute.
197
+ * @param signal Abort signal to terminate the watch loop.
198
+ * @returns An async iterator yielding builder output results.
176
199
  */
177
- async function* runWatchLoop(watcher, options, stylesheetBundler, allWatchedFiles, context, withProgress, buildState, buildAction, hasModifiedWatchedFile, signal) {
178
- const { checkAssetChanges } = await Promise.resolve().then(() => __importStar(require('./pipeline/assets')));
200
+ async function* runWatchLoop(watcher, options, stylesheetBundler, logger, withProgress, buildState, buildAction, signal) {
201
+ const { collectAssetsToEmit } = await Promise.resolve().then(() => __importStar(require('./pipeline/assets')));
179
202
  const { workspaceRoot, packageJsonPath, assets, clearScreen } = options;
180
- const posixPackageJsonPath = (0, path_1.toPosixPath)(packageJsonPath);
181
203
  for await (const changes of watcher) {
182
- if (signal?.aborted) {
204
+ if (signal.aborted) {
183
205
  break;
184
206
  }
185
207
  if (clearScreen) {
186
208
  // eslint-disable-next-line no-console
187
209
  console.clear();
188
210
  }
189
- const changedFiles = new Set();
190
- let hasStyleChanges = false;
191
- let hasSassChanges = false;
192
- for (const file of changes.all) {
193
- const posixFile = (0, path_1.toPosixPath)(file);
194
- changedFiles.add(posixFile);
211
+ const rawChangedFiles = changes.all.map(path_1.toPosixPath);
212
+ stylesheetBundler.invalidate(rawChangedFiles);
213
+ const changedFiles = buildState.getAffectedFiles(rawChangedFiles);
214
+ for (const posixFile of changedFiles) {
195
215
  if (/\.(?:scss|sass)$/i.test(posixFile)) {
196
- hasStyleChanges = true;
197
- hasSassChanges = true;
198
- }
199
- else if (/\.(?:less|css)$/i.test(posixFile)) {
200
- hasStyleChanges = true;
201
- }
202
- }
203
- if (hasStyleChanges) {
204
- if (hasSassChanges) {
205
216
  (0, sass_language_1.resetSassWorkerPoolCaches)();
206
- }
207
- const invalidatedStyles = stylesheetBundler.invalidate(changedFiles);
208
- if (invalidatedStyles) {
209
- for (const styleFile of invalidatedStyles) {
210
- changedFiles.add((0, path_1.toPosixPath)(styleFile));
211
- }
217
+ break;
212
218
  }
213
219
  }
214
220
  // Check if package.json was modified
215
- let hasPackageJsonChanges = false;
216
- if (changedFiles.has(posixPackageJsonPath)) {
221
+ if (changedFiles.has(packageJsonPath)) {
222
+ buildState.hasEmittedManifests = false;
217
223
  try {
218
- const packageJson = await loadPackageJson(packageJsonPath);
219
- options.packageJson = packageJson;
220
- if (!packageJson.name) {
221
- throw new Error(`The package.json at '${packageJsonPath}' must contain a 'name'.`);
222
- }
223
- options.packageName = packageJson.name;
224
- (0, entry_points_1.updateWatchedEntryPoints)(packageJson, options, buildState, allWatchedFiles, packageJsonPath);
225
- hasPackageJsonChanges = true;
224
+ const packageJson = await (0, utils_2.loadPackageJson)(packageJsonPath);
225
+ (0, entry_points_1.updateWatchedEntryPoints)(packageJson, options, buildState);
226
226
  }
227
227
  catch (error) {
228
228
  (0, error_1.assertIsError)(error);
229
229
  await buildState.singleProgramCache?.compilationInstance.update?.(changedFiles);
230
- buildState.hasEmittedManifests = false;
230
+ if (buildState.shouldCompileEntryPoints(packageJsonPath, changedFiles)) {
231
+ buildState.hasCompilationError = true;
232
+ }
231
233
  yield {
232
234
  success: false,
233
235
  error: `Failed to reload 'package.json': ${error.message}`,
@@ -235,45 +237,61 @@ async function* runWatchLoop(watcher, options, stylesheetBundler, allWatchedFile
235
237
  continue;
236
238
  }
237
239
  }
238
- const hasSourceChanges = !buildState.singleProgramCache ||
239
- buildState.hasCompilationError ||
240
- buildState.hasEntryPointsChanges ||
241
- hasModifiedWatchedFile(changedFiles, allWatchedFiles, posixPackageJsonPath);
242
- if (!hasSourceChanges &&
243
- !hasPackageJsonChanges &&
244
- !checkAssetChanges(assets, workspaceRoot, changedFiles)) {
240
+ const hasSourceChanges = buildState.shouldCompileEntryPoints(packageJsonPath, changedFiles);
241
+ if (!hasSourceChanges) {
242
+ await buildState.singleProgramCache?.compilationInstance.update?.(changedFiles);
243
+ }
244
+ const assetsToEmit = await collectAssetsToEmit(assets, workspaceRoot, buildState.hasEmittedAssets ? changedFiles : undefined);
245
+ if (!hasSourceChanges && buildState.hasEmittedManifests && assetsToEmit.length === 0) {
245
246
  continue;
246
247
  }
247
248
  yield await executeBuild('Changes detected. Rebuilding...', {
248
249
  options,
249
250
  stylesheetBundler,
250
- allWatchedFiles,
251
251
  isWatchMode: true,
252
- context,
253
252
  buildState,
254
253
  modifiedFiles: changedFiles,
255
- }, withProgress, watcher, buildAction);
254
+ assetsToEmit,
255
+ }, logger, withProgress, watcher, buildAction);
256
256
  }
257
257
  }
258
258
  /**
259
- * Loads and parses a JSON file from disk.
259
+ * Logs informational, warning, and error messages produced during a build iteration.
260
+ *
261
+ * @param logger The Architect logger API.
262
+ * @param result The build execution result containing logs, warnings, and errors.
260
263
  */
261
- async function loadPackageJson(packageJsonPath) {
262
- const content = await promises_1.default.readFile(packageJsonPath, 'utf-8');
263
- return JSON.parse(content);
264
+ function logMessages(logger, { logs, warnings, errors }) {
265
+ if (logs.length) {
266
+ logger.info(logs.join('\n'));
267
+ }
268
+ if (warnings.length) {
269
+ logger.warn(warnings.join('\n'));
270
+ }
271
+ if (errors.length) {
272
+ logger.error(errors.join('\n'));
273
+ }
264
274
  }
265
275
  /**
266
276
  * Logs the build completion time and status.
277
+ *
278
+ * @param logger The Architect logger API.
279
+ * @param startTime High-resolution timestamp recorded when the build iteration started.
280
+ * @param success Whether the build iteration succeeded without errors.
281
+ * @param outputPath Optional POSIX output directory path to log on successful builds.
267
282
  */
268
- function logBuildResult(logger, startTime, success) {
269
- const durationMs = Number(process.hrtime.bigint() - startTime) / 1_000_000;
270
- const durationSec = (durationMs / 1000).toFixed(2);
283
+ function logBuildResult(logger, startTime, success, outputPath) {
284
+ const buildTime = Number(process.hrtime.bigint() - startTime) / 10 ** 9;
285
+ const message = `Library bundle generation ${success ? 'complete' : 'failed'}.` +
286
+ ` [${buildTime.toFixed(3)} seconds] - ${new Date().toISOString()}`;
271
287
  if (success) {
272
- logger.info(`Build at: ${new Date().toISOString()} - Time: ${durationMs.toFixed(0)}ms`);
273
- logger.info(`Built Angular library in ${durationSec}s.`);
288
+ logger.info(message);
289
+ if (outputPath) {
290
+ logger.info(`Output location: ${outputPath}\n`);
291
+ }
274
292
  }
275
293
  else {
276
- logger.error(`Build failed after ${durationSec}s.`);
294
+ logger.error(message);
277
295
  }
278
296
  }
279
297
  //# sourceMappingURL=builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
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
+ import type { BuilderOutput } from '@angular-devkit/architect';
9
+ /**
10
+ * Encapsulates the diagnostic messages (`errors`, `warnings`, and `logs`) and
11
+ * builder output status for a single library build iteration.
12
+ */
13
+ export declare class ExecutionResult {
14
+ #private;
15
+ /** Formatted error messages produced during the build iteration. */
16
+ get errors(): readonly string[];
17
+ /** Formatted warning messages produced during the build iteration. */
18
+ get warnings(): readonly string[];
19
+ /** Informational log messages produced during the build iteration. */
20
+ get logs(): readonly string[];
21
+ /** Whether any errors have been recorded in the build iteration. */
22
+ get hasErrors(): boolean;
23
+ /** Architect builder output status for the build iteration. */
24
+ get output(): BuilderOutput;
25
+ /** Records an informational log message. */
26
+ addLog(value: string): void;
27
+ /** Records a formatted error message. */
28
+ addError(error: string): void;
29
+ /** Records multiple formatted error messages. */
30
+ addErrors(errors: Iterable<string>): void;
31
+ /** Records a formatted warning message. */
32
+ addWarning(warning: string): void;
33
+ /** Records multiple formatted warning messages. */
34
+ addWarnings(warnings: Iterable<string>): void;
35
+ }
@@ -0,0 +1,67 @@
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.ExecutionResult = void 0;
11
+ /**
12
+ * Encapsulates the diagnostic messages (`errors`, `warnings`, and `logs`) and
13
+ * builder output status for a single library build iteration.
14
+ */
15
+ class ExecutionResult {
16
+ #errors = [];
17
+ #warnings = [];
18
+ #logs = [];
19
+ /** Formatted error messages produced during the build iteration. */
20
+ get errors() {
21
+ return this.#errors;
22
+ }
23
+ /** Formatted warning messages produced during the build iteration. */
24
+ get warnings() {
25
+ return this.#warnings;
26
+ }
27
+ /** Informational log messages produced during the build iteration. */
28
+ get logs() {
29
+ return this.#logs;
30
+ }
31
+ /** Whether any errors have been recorded in the build iteration. */
32
+ get hasErrors() {
33
+ return this.#errors.length > 0;
34
+ }
35
+ /** Architect builder output status for the build iteration. */
36
+ get output() {
37
+ return {
38
+ success: !this.hasErrors,
39
+ };
40
+ }
41
+ /** Records an informational log message. */
42
+ addLog(value) {
43
+ this.#logs.push(value);
44
+ }
45
+ /** Records a formatted error message. */
46
+ addError(error) {
47
+ this.#errors.push(error);
48
+ }
49
+ /** Records multiple formatted error messages. */
50
+ addErrors(errors) {
51
+ for (const error of errors) {
52
+ this.#errors.push(error);
53
+ }
54
+ }
55
+ /** Records a formatted warning message. */
56
+ addWarning(warning) {
57
+ this.#warnings.push(warning);
58
+ }
59
+ /** Records multiple formatted warning messages. */
60
+ addWarnings(warnings) {
61
+ for (const warning of warnings) {
62
+ this.#warnings.push(warning);
63
+ }
64
+ }
65
+ }
66
+ exports.ExecutionResult = ExecutionResult;
67
+ //# sourceMappingURL=execution-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-result.js","sourceRoot":"","sources":["execution-result.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH;;;GAGG;AACH,MAAa,eAAe;IACjB,OAAO,GAAa,EAAE,CAAC;IACvB,SAAS,GAAa,EAAE,CAAC;IACzB,KAAK,GAAa,EAAE,CAAC;IAE9B,oEAAoE;IACpE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,sEAAsE;IACtE,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,oEAAoE;IACpE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,+DAA+D;IAC/D,IAAI,MAAM;QACR,OAAO;YACL,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,yCAAyC;IACzC,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,iDAAiD;IACjD,SAAS,CAAC,MAAwB;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,mDAAmD;IACnD,WAAW,CAAC,QAA0B;QACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AA5DD,0CA4DC"}
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import { Builder } from '@angular-devkit/architect';
8
+ import { type Builder } from '@angular-devkit/architect';
9
9
  import { executeLibraryBuilder } from './builder';
10
10
  import type { Schema as LibraryBuilderOptions } from './schema';
11
11
  export { type LibraryBuilderOptions, executeLibraryBuilder, executeLibraryBuilder as execute };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,yDAAmE;AACnE,uCAAkD;AAGb,sGAH5B,+BAAqB,OAG4B;AAA2B,wFAH5E,+BAAqB,OAG8D;AAE5F,MAAM,OAAO,GAAmC,IAAA,yBAAa,EAAC,+BAAqB,CAAC,CAAC;AAErF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,yDAAwE;AACxE,uCAAkD;AAGb,sGAH5B,+BAAqB,OAG4B;AAA2B,wFAH5E,+BAAqB,OAG8D;AAE5F,MAAM,OAAO,GAAmC,IAAA,yBAAa,EAAC,+BAAqB,CAAC,CAAC;AAErF,kBAAe,OAAO,CAAC"}
@@ -8,4 +8,13 @@
8
8
  import type { BuilderContext } from '@angular-devkit/architect';
9
9
  import type { Schema as LibraryBuilderOptions } from './schema';
10
10
  import type { NormalizedLibraryOptions } from './types';
11
+ /**
12
+ * Normalizes raw library builder options into {@link NormalizedLibraryOptions} with all
13
+ * file and directory paths normalized to POSIX format.
14
+ *
15
+ * @param context The Architect builder context.
16
+ * @param projectName The name of the library project.
17
+ * @param options The raw library builder schema options.
18
+ * @returns A promise resolving to the normalized library options.
19
+ */
11
20
  export declare function normalizeLibraryOptions(context: BuilderContext, projectName: string, options: LibraryBuilderOptions): Promise<NormalizedLibraryOptions>;
@@ -11,35 +11,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.normalizeLibraryOptions = normalizeLibraryOptions;
14
- const promises_1 = __importDefault(require("node:fs/promises"));
15
14
  const node_path_1 = __importDefault(require("node:path"));
16
- const utils_1 = require("../../utils");
17
15
  const color_1 = require("../../utils/color");
18
16
  const error_1 = require("../../utils/error");
17
+ const normalize_asset_patterns_1 = require("../../utils/normalize-asset-patterns");
19
18
  const normalize_cache_1 = require("../../utils/normalize-cache");
20
19
  const path_1 = require("../../utils/path");
21
20
  const postcss_configuration_1 = require("../../utils/postcss-configuration");
22
21
  const project_metadata_1 = require("../../utils/project-metadata");
23
22
  const entry_points_1 = require("./pipeline/entry-points");
23
+ const utils_1 = require("./pipeline/utils");
24
+ /**
25
+ * Normalizes raw library builder options into {@link NormalizedLibraryOptions} with all
26
+ * file and directory paths normalized to POSIX format.
27
+ *
28
+ * @param context The Architect builder context.
29
+ * @param projectName The name of the library project.
30
+ * @param options The raw library builder schema options.
31
+ * @returns A promise resolving to the normalized library options.
32
+ */
24
33
  async function normalizeLibraryOptions(context, projectName, options) {
25
- const { workspaceRoot } = context;
34
+ const workspaceRoot = (0, path_1.toPosixPath)(context.workspaceRoot);
26
35
  const projectMetadata = await context.getProjectMetadata(projectName);
27
- const { projectRoot, projectSourceRoot } = (0, project_metadata_1.getProjectRootPaths)(workspaceRoot, projectMetadata);
28
- const outputPath = options.outputPath ?? node_path_1.default.join(workspaceRoot, 'dist', projectName);
29
- const resolvedOutputPath = node_path_1.default.resolve(workspaceRoot, outputPath);
30
- if (resolvedOutputPath === projectRoot ||
31
- (0, path_1.isSubDirectory)(resolvedOutputPath, projectRoot) ||
32
- (0, path_1.isSubDirectory)(projectRoot, resolvedOutputPath)) {
33
- throw new Error(`The 'outputPath' (${resolvedOutputPath}) cannot be the project root, ` +
34
- `contain the project root, or be located within the project root.`);
35
- }
36
- const { tsConfig, assets: rawAssets, stylePreprocessorOptions, inlineStyleLanguage = 'css', compilationMode = 'partial', declarationMap = false, allowedNonPeerDependencies: rawAllowedNonPeerDependencies = [], keepLifecycleScripts = false, watch = false, poll, preserveSymlinks = process.execArgv.includes('--preserve-symlinks'), deleteOutputPath = true, progress = true, clearScreen, } = options;
37
- const resolvedTsConfigPath = node_path_1.default.resolve(workspaceRoot, tsConfig);
38
- const packageJsonPath = node_path_1.default.join(projectRoot, 'package.json');
36
+ const projectRootPaths = (0, project_metadata_1.getProjectRootPaths)(workspaceRoot, projectMetadata);
37
+ const projectRoot = (0, path_1.toPosixPath)(projectRootPaths.projectRoot);
38
+ const projectSourceRoot = (0, path_1.toPosixPath)(projectRootPaths.projectSourceRoot);
39
+ const { tsConfig, assets: rawAssets, stylePreprocessorOptions, inlineStyleLanguage = 'css', compilationMode, declarationMap, allowedNonPeerDependencies: rawAllowedNonPeerDependencies = [], keepLifecycleScripts = false, watch = false, poll, preserveSymlinks = process.execArgv.includes('--preserve-symlinks'), deleteOutputPath = true, progress = true, clearScreen, } = options;
40
+ const resolvedTsConfigPath = (0, path_1.toPosixPath)(node_path_1.default.resolve(workspaceRoot, tsConfig));
41
+ const packageJsonPath = node_path_1.default.posix.join(projectRoot, 'package.json');
39
42
  let packageJson;
40
43
  try {
41
- const packageJsonContent = await promises_1.default.readFile(packageJsonPath, 'utf8');
42
- packageJson = JSON.parse(packageJsonContent);
44
+ packageJson = await (0, utils_1.loadPackageJson)(packageJsonPath);
43
45
  }
44
46
  catch (error) {
45
47
  (0, error_1.assertIsError)(error);
@@ -72,24 +74,28 @@ async function normalizeLibraryOptions(context, projectName, options) {
72
74
  }
73
75
  defaultAssets.push({
74
76
  glob: 'README.md',
75
- input: node_path_1.default.dirname(entryPoint.entryFilePath),
77
+ input: node_path_1.default.posix.dirname(entryPoint.entryFilePath),
76
78
  output: entryPoint.name,
77
79
  });
78
80
  }
79
- const assets = (0, utils_1.normalizeAssetPatterns)([...defaultAssets, ...(rawAssets ?? [])], workspaceRoot, projectRoot, projectSourceRoot);
80
- const cacheOptions = (0, normalize_cache_1.normalizeCacheOptions)(projectMetadata, workspaceRoot);
81
- const styleIncludePaths = (stylePreprocessorOptions?.includePaths ?? []).map((p) => node_path_1.default.resolve(workspaceRoot, p));
81
+ const assets = (0, normalize_asset_patterns_1.normalizeAssetPatterns)([...defaultAssets, ...(rawAssets ?? [])], workspaceRoot, projectRoot, projectSourceRoot).map((asset) => ({
82
+ ...asset,
83
+ input: (0, path_1.toPosixPath)(node_path_1.default.resolve(workspaceRoot, asset.input)),
84
+ output: (0, path_1.toPosixPath)(asset.output),
85
+ }));
86
+ const cacheOptions = (0, normalize_cache_1.normalizeCacheOptions)(projectMetadata, workspaceRoot, projectName, context.builder.builderName);
87
+ const styleIncludePaths = (stylePreprocessorOptions?.includePaths ?? []).map((p) => (0, path_1.toPosixPath)(node_path_1.default.resolve(workspaceRoot, p)));
82
88
  const searchDirectories = await (0, postcss_configuration_1.generateSearchDirectories)([projectRoot, workspaceRoot]);
83
89
  const postcssConfiguration = await (0, postcss_configuration_1.loadPostcssConfiguration)(searchDirectories);
84
90
  const tailwindConfiguration = postcssConfiguration
85
91
  ? undefined
86
- : await (0, postcss_configuration_1.getTailwindConfig)(searchDirectories, workspaceRoot, context.logger);
92
+ : (0, postcss_configuration_1.getTailwindConfig)(searchDirectories, workspaceRoot, context.logger);
87
93
  return {
88
94
  workspaceRoot,
89
95
  projectRoot,
90
96
  packageName,
91
97
  packageJson,
92
- outputPath: resolvedOutputPath,
98
+ outputPath: (0, path_1.toPosixPath)(node_path_1.default.resolve(workspaceRoot, options.outputPath ?? node_path_1.default.posix.join('dist', projectName))),
93
99
  deleteOutputPath,
94
100
  packageJsonPath,
95
101
  tsConfigPath: resolvedTsConfigPath,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["options.ts"],"names":[],"mappings":"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"}