Swapping `anonymous` for `pseudonymous` to align with privacy communication guidelines.
(cherry picked from commit da271addf04832da5176f6a30894b31e49ca86c4)
PR #23691 introduced a regression that caused paranthesis in url not to be handled correctly.
This change correct this behaviour and adds a test case to valid this.
Closes#23773
(cherry picked from commit 147f8c3ebbad883826da1a94f09054938ed9b534)
The RxJS `empty` function is deprecated and will be removed in future versions.
The `EMPTY` constant is the recommended replacement.
(cherry picked from commit ddf1257d14f8b52c441c0df8c8dc10510a25f94f)
This commit updates to bundle stats logic to skip checking chunks with no files.
Closes#23717
(cherry picked from commit 7de9b470cb54d974027a8baf88b611585fc526c7)
With this change we disable running UTs on multiple node.js versions. This is mainly an interim solution until we find the root cause of the memory increase and OOM errors during bazel test.
During this change I also noticed that the toolchain was configured incorrectly. Setting the toolchain to use Node.js 16 causes the App-shell tests to fail when used under Bazel. See: https://app.circleci.com/pipelines/github/angular/angular-cli/25009/workflows/4ea86ec8-d1f7-4c91-8810-76f10f8e878c/jobs/325982
(cherry picked from commit 167887d5f1f1c90d62cc92391d8b3b73c5fa6df1)
Stylesheet url tokens (`url(....)`) will now be processed when using the esbuild-based experimental browser
application builder. The paths will be resolved via the bundler's resolution system and then loaded
via the bundler's `file` loader. The functionality is implemented using an esbuild plugin to allow for all
file types to be supported without the need to manually specify each current and future file extension within
the build configuration.
The `externalDependencies` option also applies to the referenced resources. This allows for resource paths
specified with the option to remain unprocessed within the application output. This is useful if the relative
path for the resource does not exist on disk but will be available when the application is deployed.
(cherry picked from commit f474bf532f89a296eb1b47f941998d73c1c51e8a)
With this change we fix an issue where type only named imports were being emitted. As a result webpack failed to resolve such symbols as they don't exist in JavaScript.
Closes#23667
(cherry picked from commit cf9afeec20c035386a081fdeec98c9f26f82692e)
This dependency is only used to valid that node packages are resolved correctly.
With this change we mock the structure of font-awesome to avoid having to install it.
(cherry picked from commit 173823d772761cc26fd9f8e997e50ecd70c1e969)
When using the experimental esbuild-based browser application builder, babel transformation
is now only performed on a file if the file requires the specific transformations enabled
for the build. This has the benefit of removing the need to parse and process files that
will not be affected by the enabled transformations.
From initial testing, this provides a 30% build time improvement for development builds of a
newly generated application and a 10% improvement for production builds.
(cherry picked from commit 3e3dc6962d49cb8e8575146b22d134732cfff39f)
esbuild now allows specifying whether individual JavaScript features should be supported in addition
to specifying the target JavaScript version for the output. This capability is now used to provide
the native async/await downleveling that is required by Zone.js when using the experimental esbuild-
based browser application builder. Since esbuild does not yet support downleveling async iteration
or async generators, Babel is still used when either of these syntax features are detected.
(cherry picked from commit 8f9cee351e5cc7da5a75b1a9b06306bc224e6b56)
Previously, the RegExp didn't correctly handle cases where data URIs had escaped quotes like the below
```css
url("data:image/svg+xml;charset=utf-8,<svg width=/"16/" height=/"15/"></svg>")
```
Closes#23680
(cherry picked from commit 70bc35456aa5b58ce1a0e2440ebb6533c7f5e48b)
The large resource class consumes significantly more credits than the medium resource class.
(cherry picked from commit 095bb7fb0d39c3e2a702cd578305bc0b1839f653)
With this commit, we add a middleware that handles preflight requests as currently responses for this type of requests returning 404.
This is a temporary workaround until this issue is fixed upstream. See: https://github.com/webpack/webpack-dev-server/issues/4180Closes#23639
(cherry picked from commit b4a1b0f1040970201929362bd1210917962fbcea)
With this change we replace the live-reload proxy tests to use the new test harness. This is an effort to reduce the flakiness of these tests.
(cherry picked from commit cdbb48f7b2998dd46bd341dd95cec596b96b8fac)
Errors thrown in RxJs are not instanceof Error and therefore the check will always fail.
Closes#23631
(cherry picked from commit 8fd3e9fb3c15c848ac5d5e2ae1ee4b06daa2c957)
Errors thrown in RxJs are not instanceof Error and therefore the check will always fail.
Closes#23631
(cherry picked from commit 44f918612a43566c7e761cdcbc7fc87f8cc172f9)
Adjust the internal `readJsonWorkspace` to allow for future generalization
of the allowed unprefixed extension fields for the workspace and project objects.
Custom fields that start with a one to three lowercase letter prefix are still
allowed in both locations.
(cherry picked from commit fa0404daf4c56277e4b083b2de8448d75cb532a5)
This avoids having to manually declare the `platform`. We specifically
added support for the network platform due to the CLI needs.
The CLI repository should long-term set
`--sandbox_default_allow_network=false` in the `bazelrc` so that
internet access is only granted targets explicitly. We should discourage
reliance on internet as much as possible to help with hermetic tests.
The dev-infra build tooling is now decoupled from `ng-dev`. This will
make it easier to update `ng-dev` without necessarily needing to upgrade
the whole build system, Bazel etc. This is useful when e.g. new release
tool features have been added and should also be ported to active LTS
branches.
Previously, NPM was always used to install dependencies even when using `yarn create` or `pnpm create`.
Closes#23617
(cherry picked from commit f93de8071f58a176764bfeab5c63bb208c3a6765)
During development we should not set `ngDevMode` to `true`, as this is expected to be an object literal.
Closes#23627
(cherry picked from commit aa83feb373e7c7680b92d0d53248f12b703f60e0)
The esbuild-based experimental builder will now leverage the bundler to perform resolution of CSS imports.
This allows for more comprehensive resolution including packages which use the `sass` and/or `style` custom
conditions within a `package.json` exports field.
(cherry picked from commit 6a142a22f8f1005f5a40a06a5bba85213f77ce3f)
With this change we prevent creating classes with invalid characters.
Closes#12868
(cherry picked from commit e995bdad32c0cfb1515ab7091e796b1f2d88bc59)
`.` is not a valid character in ES6 class names.
Prior to this change `foo.module` before used to be incorrectly classified to `Foo.Module` instead of `FooModule`.
Closes#13824
(cherry picked from commit e63375ea397338b71569d2c849a19e2dec18b273)
With this commit, we create different matrices for our e2e tests. This reduces the duration of the workflow by ~7mins
More information: https://circleci.com/docs/using-matrix-jobs
(cherry picked from commit 0cfea883074846f3cbc17f6ce1d50fdb34a1bdcd)
This commits changes the CI workflow to run all the complete E2E test suit on Windows for PRs.
The also increase the parallelism for Windows tests to 16 to reduce the time taken for this step and removes the requirement for the `build` step before running `e2e-cli-win`.
Based on the current timings, this change will not increase PR CI times.
(cherry picked from commit d40635145504bf2f1fc5224266585e86e541b646)
The E2E schematic will now (as it did previously) skip adding dependencies
if they already exist within the `package.json` regardless of the specifier.
This is accomplished with the `existing` option for the `addDependency` rule
which allows defining the behavior for when a dependency already exists.
Currently the two option behaviors are skip and replace with replace being
the default to retain behavior for existing rule usages.
(cherry picked from commit c9b2aa41dac0e296d87a4122ce3af281e59cb7a3)
Currently fail_fast doesn't work in Windows as the shell is set to Powershell
```
#!powershell.exe -ExecutionPolicy Bypass
curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}"
Invoke-WebRequest : A parameter cannot be found that matches parameter name 'X'.
At line:1 char:6
+ curl -X POST --header "Content-Type: application/json" "https://circl ...
+ ~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Exited with code exit status 1
CircleCI received exit code 1
```
(cherry picked from commit 08ce5670d865a9003a42c43ccdcb343907040e7d)
This PR includes a webpack plugin which adds a field to source maps that identifies which sources are vendored or runtime-injected (aka third-party) sources. These will be consumed by Chrome DevTools to automatically ignore-list sources.
When vendor source map processing is enabled, this is interpreted as the developer intending to debug third-party code; in this case, the feature is disabled.
Signed-off-by: Victor Porof <victorporof@chromium.org>
(cherry picked from commit f3087dc4343f0dac26ffd7c633e7dcf3618db2b7)
This was relying on undocumented behaviour in copy_to_directory which
now needs to be enabled with a flag.
(cherry picked from commit 58612663b2e9368a82338f396d73ea027d08a041)
NPM doesn't correctly handle version specifier for scoped packages when using the `init` command
See: https://github.com/npm/cli/issues/5175
(cherry picked from commit 467ba5af8278399c1fcf11137644f7c61af8f59c)