Commit Graph

27506 Commits

Author SHA1 Message Date
Charles Lyding ec071319f4 docs: update esbuild developer preview known issues (#51006)
Updates the esbuild-based browser application builder developer preview guide's known issue section as follows:
* Removed global script/style hashing problem (fixed)
* Added long build times with Sass and pnpm/Yarn PnP

PR Close #51006
2023-07-13 09:33:20 -07:00
Kristiyan Kostadinov b14a78ebb0 refactor(compiler): implement block syntax in html ast (#50953)
⚠️Disclaimer⚠️ this PR implements syntax that is still in an open RFC. It will be adjusted once the RFC is closed.

These changes implement the `BlockGroup` and `Block` AST nodes that will then be used to generate instructions based on the new syntax. A `BlockGroup` is a container for `Block` instances. The first block of a block is always implicit and required while any subsequent blocks are optional.

PR Close #50953
2023-07-13 09:32:53 -07:00
Charles Lyding 5bd530ab32 refactor(compiler-cli): add internal compiler option to control NgModule selector scope emit (#51007)
An internal compiler option named `supportJitMode` is now available for use by the Angular CLI.
This option currently controls the emit of NgModule selector scope information. This emitted
information is only needed in AOT mode when an application also uses JIT. However, AOT mode
combined with JIT mode is not currently supported nor will work in the Angular CLI. With
the Angular CLI, JIT mode is only supported if the entire application is built in JIT mode.
Without this option, the CLI needs to manually perform a code transform to remove the information
and also replicate TypeScript's import eliding. This is can be a complicated operation and must
be continually kept up to date with any changes to both the Angular compiler and TypeScript.
The introduction of this new option alleviates these concerns while also removing several build
time actions that would otherwise need to be performed on every application build.

PR Close #51007
2023-07-13 09:32:11 -07:00
Joey Perrott 25153e94f6 ci: use frozen-lockfile in CI (#51012)
Use frozen-lockfile for the CI yarn install

PR Close #51012
2023-07-11 19:05:30 +00:00
Joey Perrott d9f832d55c ci: remove GHA lint job from required statuses (#51011)
Remove the GHA lint job from required statuses as it is a Github Check and Angular Robot doesn't find it

PR Close #51011
2023-07-11 18:01:42 +00:00
Alan Agius f1b629961f perf(platform-browser): do not remove renderer from cache when REMOVE_STYLES_ON_COMPONENT_DESTROY is enabled. (#51005)
Removing the renderer from cache is not needed when `REMOVE_STYLES_ON_COMPONENT_DESTROY` is enabled. This change retains the behaviour of keeping the renderer cached for the entire lifecycle of the application the same way it is done when `REMOVE_STYLES_ON_COMPONENT_DESTROY` is disabled.

This seems to have be causing an increase in scripting. See: http://b/290666638

PR Close #51005
2023-07-11 10:11:51 -07:00
Joey Perrott 6c76a83e31 ci: migrate lint job from CircleCI to GHA (#50891)
Migrate the lint job to Github Actions

PR Close #50891
2023-07-11 17:06:16 +00:00
Alex Castle 1837efb9da feat(common): Allow ngSrc to be changed post-init (#50683)
Remove thrown error when ngSrc is modified after an NgOptimizedImage image is initialized

PR Close #50683
2023-07-11 08:30:49 -07:00
Daniel Puckowski c27a1e61d6 feat(compiler): scope selectors in @scope queries (#50747)
make sure selectors inside @scope queries are correctly scoped

PR Close #50747
2023-07-11 08:29:53 -07:00
Matthieu Riegler 3dafc14e84 refactor(core): Log a warning when multiple pipes match a name (#50389)
Since this might be too breaking, let's log for now and wait for a major to throw an actual error.

Fixes #13569

PR Close #50389
2023-07-11 08:29:07 -07:00
Antonio Pekeljevic 1ec2aa902d docs: add missing jsdocs for static ngzone methods (#50924)
PR Close #50924
2023-07-11 08:28:38 -07:00
Matthieu Riegler a14bdfe859 fix(animations): Ensure elements are removed from the cache after leave animation. (#50929)
This commit fixes a memory leak.

`_namespaceLookup` was cleared before the call to `processLeaveNode()` which was using the lookup.
Without that lookup `clearElementCache()` wasn't called thus keeping a reference to the element.

Fixes #24197 & #50533

PR Close #50929
2023-07-11 08:28:10 -07:00
Aristeidis Bampakos 5828eb94a4 docs: fix typos in tutorial lesson 1 (#50986)
PR Close #50986
2023-07-11 08:27:43 -07:00
Aristeidis Bampakos ef45fa8c46 docs: fix typos in tutorial lesson 2 (#50987)
PR Close #50987
2023-07-11 08:27:15 -07:00
Aristeidis Bampakos 16ce6e7e13 docs: fix styling in tutorial lesson 3 (#50999)
PR Close #50999
2023-07-11 08:26:47 -07:00
Aristeidis Bampakos 19fb3e1701 docs: fix styling in tutorial lesson 5 (#51001)
PR Close #51001
2023-07-11 08:26:18 -07:00
Aristeidis Bampakos 02cb0ba232 docs: fix typo in tutorial lesson 6 (#51002)
PR Close #51002
2023-07-11 08:25:48 -07:00
Matthieu Riegler 253d756464 fix(upgrade): Use takeUntil on leaky subscription. (#50901)
Using the life cycling hook `onDestroy` to end the subscription.

fixes #48032

PR Close #50901
2023-07-11 08:24:30 -07:00
Dzhavat Ushev 8bb6b7ddb5 docs: add missing backtick character (#50908)
PR Close #50908
2023-07-11 08:23:48 -07:00
Matthieu Riegler 61be62d621 refactor(core): fix Tnode/TView assertion. (#50914)
The debug data structure was removed in #48281. Before this fix the assertion relied on it.

PR Close #50914
2023-07-11 08:23:18 -07:00
Matthieu Riegler 5d6ec0336b fix(core): handle deref returning null on RefactiveNode. (#50992)
On Safari <16.1 there is a bug where `deref` can return `null`.

Fixes #50989

PR Close #50992
2023-07-11 08:22:47 -07:00
Kristiyan Kostadinov 29aaded0c3 refactor(compiler): introduce block parsing in lexer (#50895)
⚠️Disclaimer⚠️ this PR implements syntax that is still in an open RFC. It will be adjusted once the RFC is closed.

These changes extend the lexer to recognize the concepts of a block group (`{#foo paramA; paramB}{/foo}`) and a block (`{:foo paramA; paramB;}`) which will be useful later on for the control flow and defer proposals. Block groups can be used anywhere and require a closing tag while block can only be used inside of a block.

The idea is that in the next PRs the markup AST will be expanded to have some more specialized node like `ConditionalBlock` or `DeferBlock` which will then be turned into instructions.

PR Close #50895
2023-07-11 08:21:48 -07:00
Dylan Hunn 875851776c refactor(compiler): Generate attribute and attributeInterpolate instructions in template pipeline (#50818)
This commit adds the ability to generate attribute instructions as a result of property bindings such as `[attr.foo]='bar'` or `attr.foo='{{bar}}'`. "Singleton" interpolations, such as the previous example, will also be transformed into a simple `attribute` instruction.

PR Close #50818
2023-07-10 07:17:18 -07:00
alkavats1 581c36e695 docs: updated the i tag with the em tag (#50923)
PR Close #50923
2023-07-10 07:15:49 -07:00
Matthieu Riegler daea7dcd54 docs: remove mention of deprecated providedIn: module. (#50925)
Only 'any' and 'platform' are valid values.

PR Close #50925
2023-07-10 07:12:35 -07:00
Matthieu Riegler 394ca3b49a docs: Improve documentation about Injection context / inject (#49782)
Injection context has gain public visibility with the exposure of `inject`. Lets provide some insights.

Closes  #49774

PR Close #49782
2023-07-10 07:09:31 -07:00
aanchal c4103cf394 docs: omit repetitions (#50629)
PR Close #50629
2023-07-10 07:08:59 -07:00
Paul Gschwendtner 8a0c5c710a refactor: improve type safety of interpolation AST (#50903)
Instead of using `any`, we should use the actual types that
are available from the parser.

PR Close #50903
2023-07-10 07:08:28 -07:00
Andrew Kushnir 031b599a55 fix(core): ensure that standalone components get correct injector instances (#50954)
Prior to this change, we've used `componentDef.id` as a key in a Map that acts as a cache to avoid re-creating injector instances for standalone components. In v16, the logic that generates the id has changed from an auto-incremental to a generation based on metadata. If multiple components have similar metadata, their ids might overlap.

This commit updates the logic to stop using `componentDef.id` as a key and instead, use the `componentDef` itself. This would ensure that we always have a correct instance of an injector associated with a standalone component instance.

Resolves #50724.

PR Close #50954
2023-07-10 07:07:44 -07:00
Alan Agius 5528b72979 docs: add link to critters (#50958)
This commit add a link to critters which is used by the CLI to perform inlining of critical CSS.

PR Close #50958
2023-07-10 07:06:43 -07:00
Alex Rickabaugh 2b08503311 docs: release notes for the v16.1.4 release 2023-07-06 16:51:37 -07:00
Matthieu Riegler 5d11844a7c docs: update link to the TS config. (#50933)
This TS config doc is now at https://angular.io/guide/typescript-configuration

PR Close #50933
2023-07-05 13:58:35 +02:00
Muhammed Umar 941659f5fd docs: Router tutorial tour of heroes - doc bug fix suggestion #50794 (#50846)
:#

PR Close #50846
2023-07-05 13:57:31 +02:00
alkavats1 f9175dd3b3 docs: updated the b tag with the strong tag (#50921)
PR Close #50921
2023-07-05 13:55:52 +02:00
Angular Robot 6538e67e30 build: update eslint dependencies to v5.61.0 (#50931)
See associated pull request for more information.

PR Close #50931
2023-07-05 13:53:59 +02:00
Terry e77cb75c54 docs(forms): FormBuilder is not associated with ReactiveFormsModule (#50941)
PR Close #50941
2023-07-05 13:53:10 +02:00
Alex e47dfa09e7 docs: corrected line 4 by adding 'to' (#50937)
PR Close #50937
2023-07-05 13:51:17 +02:00
Hassen Gaaya 125fe19086 docs(docs-infra): add a missing @ to SkipSelf() (#50898)
PR Close #50898
2023-06-30 11:50:24 -07:00
Hassen Gaaya 0028b6d4d4 docs(docs-infra): add a missing dot (#50898)
PR Close #50898
2023-06-30 11:50:24 -07:00
Hassen Gaaya 4f31952779 docs(docs-infra): move the child closing </view> tag to the right position (#50898)
move the child component </view> tag just before the closing </app-child> and after the </app-inspector> tag since the app-inspector component is a child of the app-child component

PR Close #50898
2023-06-30 11:50:24 -07:00
Hassen Gaaya 1c30df2a5f docs(docs-infra): fix wrong mention of the parent component instead of child one (#50898)
replace the word Parent with Child in the code example since it's the child component that should be mentioned at this level of the code

PR Close #50898
2023-06-30 11:50:24 -07:00
Matthieu Riegler 925dad91a8 refactor(platform-browser-dynamic): Fix JSDoc comment (#50893)
JSDoc comments should start with 2 stars or the annotations would not be picked up by the AIO workflow.

With this fix, the internal methods are no longer visible in the doc.

PR Close #50893
2023-06-30 11:49:29 -07:00
Matthieu Riegler 01e2bde0c0 refactor(animations): Fix JSDoc comment (#50893)
JSDoc comments should start with 2 stars or the annotations would not be picked up by the AIO workflow.

With this fix, the internal methods are no longer visible in the doc.

PR Close #50893
2023-06-30 11:49:29 -07:00
Matthieu Riegler 0bfd3f537c docs: Use id instead of name for anchor targets (#50885)
This commit also fixes a minor layout issue.

fixes #50727

PR Close #50885
2023-06-30 11:47:32 -07:00
Angular Robot 4782336fe4 build: update cross-repo angular dependencies (#50881)
See associated pull request for more information.

PR Close #50881
2023-06-30 11:43:29 -07:00
Angular Robot 471cdff082 build: update scorecard action dependencies (#50880)
See associated pull request for more information.

PR Close #50880
2023-06-30 11:42:48 -07:00
Angular Robot 4dcce63665 build: update all non-major dependencies (#50879)
See associated pull request for more information.

PR Close #50879
2023-06-30 11:41:51 -07:00
Payam Valadkhan 5724dbc82d test(compiler-cli): add compliance tests for NgModule only scenarios in local mode (#50577)
Reused the existing compliance tests for full compilation.

PR Close #50577
2023-06-30 11:38:36 -07:00
Payam Valadkhan c1d46b8c08 refactor(compiler-cli): add local option to compliance test infra (#50577)
The option 'local compile' is added for the test cases, and the locally compiled file for an input `abc.ts` is compared by default with the file `abc.local.js`. This allows to use the same input `abc.ts` for both full compilation (compared with `abc.js`) and local compilation (compared with `abc.local.js`). An example is provided in the next commit when compliance tests are added for the NgModule local compilation.

PR Close #50577
2023-06-30 11:38:35 -07:00
Payam Valadkhan a15a56cb5d refactor(compiler): add a new interface for NgModule metadata to t rebase be used in local compilation mode (#50577)
The new interface is discrete-unioned with the existing interface to cover the cases for local and global (i.e., full and partial) compilation modes.

This change of interface required some adjustmeents cross repo which explains the changes made to other files.

PR Close #50577
2023-06-30 11:38:35 -07:00