@angular-devkit/build-angular 17.0.4 → 17.0.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.
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@angular-devkit/build-angular",
3
- "version": "17.0.4",
3
+ "version": "17.0.5",
4
4
  "description": "Angular Webpack Build Facade",
5
5
  "main": "src/index.js",
6
6
  "typings": "src/index.d.ts",
7
7
  "builders": "builders.json",
8
8
  "dependencies": {
9
9
  "@ampproject/remapping": "2.2.1",
10
- "@angular-devkit/architect": "0.1700.4",
11
- "@angular-devkit/build-webpack": "0.1700.4",
12
- "@angular-devkit/core": "17.0.4",
10
+ "@angular-devkit/architect": "0.1700.5",
11
+ "@angular-devkit/build-webpack": "0.1700.5",
12
+ "@angular-devkit/core": "17.0.5",
13
13
  "@babel/core": "7.23.2",
14
14
  "@babel/generator": "7.23.0",
15
15
  "@babel/helper-annotate-as-pure": "7.22.5",
@@ -20,7 +20,7 @@
20
20
  "@babel/preset-env": "7.23.2",
21
21
  "@babel/runtime": "7.23.2",
22
22
  "@discoveryjs/json-ext": "0.5.7",
23
- "@ngtools/webpack": "17.0.4",
23
+ "@ngtools/webpack": "17.0.5",
24
24
  "@vitejs/plugin-basic-ssl": "1.0.1",
25
25
  "ansi-colors": "4.1.3",
26
26
  "autoprefixer": "10.4.16",
@@ -9,7 +9,6 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.createWatcher = exports.ChangedFiles = void 0;
11
11
  const chokidar_1 = require("chokidar");
12
- const node_path_1 = require("node:path");
13
12
  class ChangedFiles {
14
13
  added = new Set();
15
14
  modified = new Set();
@@ -38,64 +37,19 @@ function createWatcher(options) {
38
37
  const nextQueue = [];
39
38
  let currentChanges;
40
39
  let nextWaitTimeout;
41
- /**
42
- * We group the current events in a map as on Windows with certain IDE a file contents change can trigger multiple events.
43
- *
44
- * Example:
45
- * rename | 'C:/../src/app/app.component.css'
46
- * rename | 'C:/../src/app/app.component.css'
47
- * change | 'C:/../src/app/app.component.css'
48
- *
49
- */
50
- let currentEvents;
51
- /**
52
- * Using `watcher.on('all')` does not capture some of events fired when using Visual studio and this does not happen all the time,
53
- * but only after a file has been changed 3 or more times.
54
- *
55
- * Also, some IDEs such as Visual Studio (not VS Code) will fire a rename event instead of unlink when a file is renamed or changed.
56
- *
57
- * Example:
58
- * ```
59
- * watcher.on('raw')
60
- * Change 1
61
- * rename | 'C:/../src/app/app.component.css'
62
- * rename | 'C:/../src/app/app.component.css'
63
- * change | 'C:/../src/app/app.component.css'
64
- *
65
- * Change 2
66
- * rename | 'C:/../src/app/app.component.css'
67
- * rename | 'C:/../src/app/app.component.css'
68
- * change | 'C:/../src/app/app.component.css'
69
- *
70
- * Change 3
71
- * rename | 'C:/../src/app/app.component.css'
72
- * rename | 'C:/../src/app/app.component.css'
73
- * change | 'C:/../src/app/app.component.css'
74
- *
75
- * watcher.on('all')
76
- * Change 1
77
- * change | 'C:\\..\\src\\app\\app.component.css'
78
- *
79
- * Change 2
80
- * unlink | 'C:\\..\\src\\app\\app.component.css'
81
- *
82
- * Change 3
83
- * ... (Nothing)
84
- * ```
85
- */
86
- watcher.on('raw', (event, path, { watchedPath }) => {
40
+ watcher.on('all', (event, path) => {
87
41
  switch (event) {
88
42
  case 'add':
43
+ currentChanges ??= new ChangedFiles();
44
+ currentChanges.added.add(path);
45
+ break;
89
46
  case 'change':
90
- // When using Visual Studio the rename event is fired before a change event when the contents of the file changed
91
- // or instead of `unlink` when the file has been renamed.
47
+ currentChanges ??= new ChangedFiles();
48
+ currentChanges.modified.add(path);
49
+ break;
92
50
  case 'unlink':
93
- case 'rename':
94
- // When polling is enabled `watchedPath` can be undefined.
95
- // `path` is always normalized unlike `watchedPath`.
96
- const changedPath = watchedPath ? (0, node_path_1.normalize)(watchedPath) : path;
97
- currentEvents ??= new Map();
98
- currentEvents.set(changedPath, event);
51
+ currentChanges ??= new ChangedFiles();
52
+ currentChanges.removed.add(path);
99
53
  break;
100
54
  default:
101
55
  return;
@@ -105,25 +59,10 @@ function createWatcher(options) {
105
59
  nextWaitTimeout = setTimeout(() => {
106
60
  nextWaitTimeout = undefined;
107
61
  const next = nextQueue.shift();
108
- if (next && currentEvents) {
109
- const events = currentEvents;
110
- currentEvents = undefined;
111
- const currentChanges = new ChangedFiles();
112
- for (const [path, event] of events) {
113
- switch (event) {
114
- case 'add':
115
- currentChanges.added.add(path);
116
- break;
117
- case 'change':
118
- currentChanges.modified.add(path);
119
- break;
120
- case 'unlink':
121
- case 'rename':
122
- currentChanges.removed.add(path);
123
- break;
124
- }
125
- }
126
- next(currentChanges);
62
+ if (next) {
63
+ const value = currentChanges;
64
+ currentChanges = undefined;
65
+ next(value);
127
66
  }
128
67
  }, 250);
129
68
  nextWaitTimeout?.unref();
@@ -82,4 +82,6 @@ exports.useLegacySass = (() => {
82
82
  const debugPerfVariable = process.env['NG_BUILD_DEBUG_PERF'];
83
83
  exports.debugPerformance = isPresent(debugPerfVariable) && isEnabled(debugPerfVariable);
84
84
  const watchRootVariable = process.env['NG_BUILD_WATCH_ROOT'];
85
- exports.shouldWatchRoot = isPresent(watchRootVariable) && isEnabled(watchRootVariable);
85
+ exports.shouldWatchRoot = process.platform === 'win32'
86
+ ? !isPresent(watchRootVariable) || !isDisabled(watchRootVariable)
87
+ : isPresent(watchRootVariable) && isEnabled(watchRootVariable);