Commit graph

30334 commits

Author SHA1 Message Date
JoostK
ec0d1bf6f3 fix(compiler-cli): insert constant statements after the first group of imports (#56431)
The linker inserts the constant statements that are needed to support compiled templates
after the import statements of an ESM file, but it failed to account for import statements
that are not at the top of the file. This is typically seen in FESM files where multiple
individual ESMs have been concatenated into a single ESM file, with imports in various places.
The linker would then find the very last import statement to insert the constant statements
after, but this may result in TDZ errors for component templates that have been emitted
earlier in the file.

This commit updates the Babel linker plugin to insert constant statements after the last
import of the first import group, therefore avoiding the TDZ error.

Fixes #56403

PR Close #56431
2024-06-13 10:15:02 -07:00
Paul Gschwendtner
571d06b6c3 refactor(compiler-cli): allow generating same import specifier in different files (#56406)
The import manager ensures generation of unique identifiers when
inserting imports. This is done by inspecting existing identifiers
within the original source file, while also checking if a similar
identifier was generated at an earlier time. This is correct behavior.

We can improve the detection so that the same identifier can be
generated in different files. This is beneficial for schematic/migration
use-cases where we wouldn't want to generate import aliases in multiple
files just because we generated an import to e.g. `input` previously.

E.g. it's fine to generate

```ts
// a.ts
import {input} from '@angular/core';

// b.ts
import {input} from `@angular/core';

// instead of `input as input_1`.

```

PR Close #56406
2024-06-13 10:14:11 -07:00
Paul Gschwendtner
ef660d1db2 refactor(compiler): expose shorthand object metadata in expression AST (#56405)
Whenever we parse object property assignment shorthands in expression
ASTs, the AST will have no information about whether the property read
for the `LiteralMap` is built based on the shorthand or not.

Exposing this information in the AST is useful for migrations as those
might need to decompose the shorthand into its longer form to e.g.
invoke a signal read.

PR Close #56405
2024-06-13 10:12:54 -07:00
Viktor T
34dc7007be docs: language-service - Fix quick info URLs (#56416)
- Made the links more specific
- Removed the AIO notation

PR Close #56416
2024-06-13 09:23:46 -07:00
Jens Kuehlers
072f6c79c6 docs: add v18.x and v19. release dates (#56429)
Add planned approximate v18 minor and v19 major
release dates.

PR Close #56429
2024-06-13 09:22:16 -07:00
Pawel Kozlowski
7c76eb55f2 refactor: add select scenario to the js-web-frameworks benchmark (#56362)
Add the row selection scenario to the existing benchmark so we can
automate perf measurements during experiments.

PR Close #56362
2024-06-13 08:59:19 -07:00
Pawel Kozlowski
d4761806e2 refactor: run js-web-frameworks with noop zone (#56362)
Align setup of this benchmark with
https://github.com/krausest/js-framework-benchmark/tree/master/frameworks/keyed/angular-cf-nozone
by running without zone.js using noop zone.

PR Close #56362
2024-06-13 08:59:19 -07:00
Jessica Janiuk
f5b6433d3a ci: bump github action commit message labels hash (#56435)
This updates to the latest git hash for the github action for commit messages.

PR Close #56435
2024-06-13 08:55:29 -07:00
Tom Wilkinson
247dce0023 refactor(core): Use ActionResolver in Dispatcher. (#56369)
`EventContract` usages in Angular now use `false` for
`useActionResolver`. Tests have been updated, with functionality that
depends on `ActionResolver` moving to dispatcher_test.ts.

PR Close #56369
2024-06-13 08:50:46 -07:00
Alex Rickabaugh
be09f0b3cb release: cut the v18.0.3 release 2024-06-12 16:17:49 -07:00
Sasidharan SD
0a8d30ed65 docs: fix configure routes link (#56415)
PR Close #56415
2024-06-12 13:36:27 -07:00
Angular Robot
7fabf5991b build: update io_bazel_rules_sass digest to 221f949 (#56393)
See associated pull request for more information.

PR Close #56393
2024-06-12 13:35:34 -07:00
Angular Robot
995b7fccc2 build: update babel dependencies to v7.24.7 (#56373)
See associated pull request for more information.

PR Close #56373
2024-06-12 13:11:13 -07:00
Andrew Kushnir
8b8fd167a2 refactor(core): inject PendingTasks as optional in EventEmitter class (#56411)
This commit makes `PendingTasks` dependency in the `EventEmitter` class optional to make sure this code works with various test setups.

PR Close #56411
2024-06-12 13:10:40 -07:00
arturovt
de2ed152a0 fix(zone.js): allow enabling default beforeunload handling (#55875)
Prior to this commit, when zone.js was included, it wasn't possible to handle `beforeunload`
events correctly if event handlers returned strings to prompt the user.

With this change, we introduce a global configuration flag,
`__zone_symbol__enable_beforeunload`, to allow consumers to enable the default
`beforeunload` handling behavior.

This flag is necessary to prevent any breaking changes resulting from this modification.
The previous attempt to fix it caused a large number of failures in G3. Hence, we're
hiding that fix behind the configuration flag.

Closes #47579

PR Close #55875
2024-06-12 13:06:21 -07:00
Alex Rickabaugh
e49a81bc5f docs(service-worker): fix formatting of directory structure example (#56412)
This example was using the `<code-example>` tag from AIO instead of the
`<docs-code>` tag from ADEV.

Fixes #56398

PR Close #56412
2024-06-12 12:01:22 -07:00
Joey Perrott
882cae1cd3 ci: use depth 100 to allow for some history in artifact repos (#56414)
Use depth 100 to allow for some history in the artifact repos, without the entire history being necessary
which caused us to run out of space on the CI runner.

PR Close #56414
2024-06-12 11:45:26 -07:00
Matthieu Riegler
bf6f778e02 docs(docs-infra): generate valid HTML for the update guide. (#56390)
Nested block elements in a `p` element are not valid.
The p block automatically closes if another block-level element is parsed before the closing.

PR Close #56390
2024-06-11 17:17:03 -07:00
Joey Perrott
409ce86fff fix(docs-infra): use anchors instead of button for version picker links (#56368)
Use anchors as links instead of buttons

PR Close #56368
2024-06-11 17:16:21 -07:00
Andrew Kushnir
4204bee346 ci: update payload size for a couple integration apps (#56391)
This commit updates the payload size for a couple integration apps. Those apps were likely close to a threshold already and the most recent commit added a few extra bytes to go over the limit.

PR Close #56391
2024-06-11 16:50:20 -07:00
Andrew Scott
dbd0fa00f8 fix(core): async EventEmitter should contribute to app stability (#56308)
async `EventEmitter` should contribute to app stability.

fixes #56290

PR Close #56308
2024-06-11 15:10:21 -07:00
Angular Robot
5ec24c9b00 build: update github/codeql-action action to v3.25.8 (#56374)
See associated pull request for more information.

PR Close #56374
2024-06-11 12:39:32 -07:00
Paul Gschwendtner
80618b0469 build: update cross-repo angular dependencies (#56365)
This commit also performs lock file maintenance on all integration
tests, fixing some ambigous ESM/CJS dependency graph issues.

e.g.

```
Unknown error: Error [ERR_REQUIRE_ESM]: require() of ES Module /tmp/ng-integration-test-aTpQOT/test-sandbox/node_modules/string-width/index.js from /tmp/ng-integration-test-aTpQOT/test-sandbox/node_modules/cliui/build/index.cjs not supported.
Instead change the require of index.js in /tmp/ng-integration-test-aTpQOT/test-sandbox/node_modules/cliui/build/index.cjs to a dynamic import() which is available in all CommonJS modules.
------------------------------------------
```

Closes #56261.

PR Close #56365
2024-06-11 12:37:14 -07:00
Andrew Scott
625ca3e2b3 fix(core): signals should be tracked when embeddedViewRef.detectChanges is called (#55719)
This commit fixes an issue where signals in embedded views are not
tracked if they are refreshed with `EmbeddedViewRef.detectChanges`
directly. We had previously assumed that embedded views were always
refreshed along with their hosts.

PR Close #55719
2024-06-11 12:35:03 -07:00
Joey Perrott
65bf5ecdad ci: remove tmp directory after publishing artifacts (#56385)
Remove teh tmp directory after publishing artifacts to prevent runner from running out of space.

PR Close #56385
2024-06-11 17:48:27 +00:00
Matthieu Riegler
5717ff6a83 docs(docs-infra): guard access to navigator for prerendering (#56333)
PR Close #56333
2024-06-11 17:08:35 +00:00
Joey Perrott
ca78553a12 ci: use full depth repositories for artifact publishing (#56383)
Use full depth repositories for artifact publishing to prevent the commits from not being able to find the path between commits during push.

PR Close #56383
2024-06-11 16:42:15 +00:00
Matthieu Riegler
96135e8af9 refactor(compiler): Extract return type description (#56287)
Thie commit extracts return type description from the jsDoc.

Compiler part of #56277, will also need as dev-infra update.

PR Close #56287
2024-06-11 08:29:22 -07:00
Aristeidis Bampakos
3267c28d5e docs: use language-agnostic links for external docs (#56377)
PR Close #56377
2024-06-11 08:26:30 -07:00
Pawel Kozlowski
ebf00aa065 fix(benchpress): adjust supported browser names for headless chrome (#56360)
The chrome version controlled by selenium reports chrome-headless-shell in the
current setup. This fix accounts for the updated browser name.

PR Close #56360
2024-06-11 08:25:11 -07:00
Angular Robot
cc0db4f5f4 docs: update Angular CLI help [18.0.x] (#56326)
Updated Angular CLI help contents.

PR Close #56326
2024-06-11 08:22:37 -07:00
Angular Robot
a61863058b build: update all non-major dependencies (#56118)
See associated pull request for more information.

PR Close #56118
2024-06-11 08:21:49 -07:00
Jeremy Elbourn
9f515c15f7 docs: update and reorganize contributor docs (#56141)
* Move from `docs/` to `contributing-docs/`
* Updated file names to better communicate their content
* Consolidated content into fewer docs
* Updated and/or deleted obsolete info

PR Close #56141
2024-06-11 08:21:00 -07:00
Matthieu Riegler
e3a6937eb1 docs: add NG0913 error doc (#56352)
File copied from AIO.

fixes #56351

PR Close #56352
2024-06-10 15:11:45 -07:00
vladboisa
d6cc8b4dec docs(docs-infra): add missing context (#56367)
Added some missing context for statement regarding base href

Fixes#56336

PR Close #56367
2024-06-10 15:08:38 -07:00
WilliamDecker
9d7c86f8e2 ci: correct invalid attributes in prettierrc configuration (#56279)
Corrected options for "tabs" to "useTabs" (https://prettier.io/docs/en/options#tabs) and "semicolon" to "semi" (https://prettier.io/docs/en/options#semicolons) as outlined in the Prettier documentation.

PR Close #56279
2024-06-10 14:05:17 -07:00
Risqi Romadhoni
e756f04cba docs: update link for Vite and esbuild in Angular CLI introduction (#56346)
PR Close #56346
2024-06-10 14:04:29 -07:00
Sasidharan SD
6c8ffb8911 docs: fix input validation link in reactive forms (#56334)
PR Close #56334
2024-06-10 14:02:57 -07:00
Preston West
ed3aa95305 docs: fix 3 typos and a format issue (#56329)
PR Close #56329
2024-06-10 14:00:04 -07:00
arturovt
6bc76f2079 docs: update event-binding (#56322)
This commit updates the event binding part, where all `scroll` listeners are marked
as passive using the special zone.js configuration flag. The configuration has been
moved from the `polyfills` file to `index.html`. Since new apps no longer include a
`polyfills.ts` file but instead have a `polyfills` property in the builder, setting
the flag in `index.html` ensures compatibility with both configurations.

PR Close #56322
2024-06-10 13:57:25 -07:00
Denis Bendrikov
d86a553269 refactor(devtools): use dark scrollbars in dark mode (#56225)
Opt the devtools into the user's color scheme preferences

PR Close #56225
2024-06-10 13:55:43 -07:00
Angular Robot
0a6f278a3e build: lock file maintenance (#56361)
See associated pull request for more information.

PR Close #56361
2024-06-10 13:54:12 -07:00
Preston West
d9a29bda03 docs: fix typo in testing/services.md (#56316)
PR Close #56316
2024-06-07 09:34:16 -07:00
Kristiyan Kostadinov
c07e1b3356 fix(migrations): resolve error in standalone migration (#56302)
This is related to an issue that was reported internally. We were assuming that `hasNgModuleMetadataElements` will return true only for property assignments initialized to arrays, but that's not the case.

These changes update the type and our assertions to more accurately reflect the AST and to avoid the error.

PR Close #56302
2024-06-07 09:33:42 -07:00
Aristeidis Bampakos
4c133091e4 docs: use new link for update guide (#56054)
PR Close #56054
2024-06-07 09:32:46 -07:00
arturovt
68decfd977 docs: update NG0506 (#55973)
Provide a thorough explanation of why an application may remain unstable and
why developers should consider not running asynchronous code on the server outside
of the Angular zone, as this may lead to memory leaks.

PR Close #55973
2024-06-07 09:32:20 -07:00
Matthieu Riegler
e0cccc4cc1 docs(docs-infra): Go zoneless and enable the zoneless scheduler (#55161)
PR Close #55161
2024-06-07 09:31:15 -07:00
Alan Agius
d6dd3dbdb0 fix(localize): add @angular/localize/init as polyfill in angular.json (#56300)
This commit addresses an issue where the `@angular/localize/init` polyfill is not included when there are no polyfills specified in the `angular.json` file.

PR Close #56300
2024-06-06 13:41:12 -07:00
Jessica Janiuk
c71d687db4 release: cut the v18.0.2 release 2024-06-05 12:56:00 -07:00
Dylan Hunn
8c9b7110c3 docs(zone.js): update release guide for zone.js (#55846)
Update the releasing guide for zone.js, because one of the release commands was outdated.
PR Close #55846
2024-06-05 19:33:28 +00:00