@angular/build
Advanced tools
Comparing version 18.2.8 to 18.2.9
{ | ||
"name": "@angular/build", | ||
"version": "18.2.8", | ||
"version": "18.2.9", | ||
"description": "Official build system for Angular", | ||
@@ -26,3 +26,3 @@ "keywords": [ | ||
"@ampproject/remapping": "2.3.0", | ||
"@angular-devkit/architect": "0.1802.8", | ||
"@angular-devkit/architect": "0.1802.9", | ||
"@babel/core": "7.25.2", | ||
@@ -29,0 +29,0 @@ "@babel/helper-annotate-as-pure": "7.24.7", |
@@ -317,5 +317,18 @@ "use strict"; | ||
} | ||
let loader; | ||
if (useTypeScriptTranspilation || isJS) { | ||
// TypeScript has transpiled to JS or is already JS | ||
loader = 'js'; | ||
} | ||
else if (request.at(-1) === 'x') { | ||
// TSX and TS have different syntax rules. Only set if input is a TSX file. | ||
loader = 'tsx'; | ||
} | ||
else { | ||
// Otherwise, directly bundle TS | ||
loader = 'ts'; | ||
} | ||
return { | ||
contents, | ||
loader: useTypeScriptTranspilation || isJS ? 'js' : 'ts', | ||
loader, | ||
}; | ||
@@ -322,0 +335,0 @@ }); |
@@ -43,3 +43,22 @@ "use strict"; | ||
}); | ||
// Wait for the main thread to set the signal to 1 and notify, which tells | ||
// us that a message can be received on the port. | ||
// If the main thread is fast, the signal will already be set to 1, and no | ||
// sleep/notify is necessary. | ||
// However, there can be a race condition here: | ||
// - the main thread sets the signal to 1, but does not get to the notify instruction yet | ||
// - the worker does not pause because the signal is set to 1 | ||
// - the worker very soon enters this method again | ||
// - this method sets the signal to 0 and sends the message | ||
// - the signal is 0 and so the `Atomics.wait` call blocks | ||
// - only now the main thread runs the `notify` from the first invocation, so the | ||
// worker continues. | ||
// - but there is no message yet in the port, because the thread should not have been | ||
// waken up yet. | ||
// To combat this, wait for a non-0 value _twice_. | ||
// Almost every time, this immediately continues with "not-equal", because | ||
// the signal is still set to 1, except during the race condition, when the second | ||
// wait will wait for the correct notify. | ||
Atomics.wait(importerChannel.signal, 0, 0); | ||
Atomics.wait(importerChannel.signal, 0, 0); | ||
const result = (0, node_worker_threads_1.receiveMessageOnPort)(importerChannel.port)?.message; | ||
@@ -46,0 +65,0 @@ return result ? (0, node_url_1.pathToFileURL)(result) : null; |
@@ -13,3 +13,3 @@ "use strict"; | ||
/** Version placeholder is replaced during the build process with actual package version */ | ||
const VERSION = '18.2.8'; | ||
const VERSION = '18.2.9'; | ||
function hasCacheMetadata(value) { | ||
@@ -16,0 +16,0 @@ return (!!value && |
@@ -22,2 +22,3 @@ "use strict"; | ||
'last 2 iOS major versions', | ||
'last 2 Android major versions', | ||
'Firefox ESR', | ||
@@ -24,0 +25,0 @@ ]; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
884578
20443
+ Added@angular-devkit/architect@0.1802.9(transitive)
+ Added@angular-devkit/core@18.2.9(transitive)
- Removed@angular-devkit/architect@0.1802.8(transitive)
- Removed@angular-devkit/core@18.2.8(transitive)