angular-cn/packages
Pete Bacon Darwin 3923201f95 refactor(compiler-cli): change how partial-linkers are matched to declaration versions (#41578)
Previously, it was not possible to block a partial-linker from trying to
process a declaration that was defined in a newer version of Angular than
that of the partial-linker. For example, if a partial-linker was published as
part of version 12.0.0, there was no way for a partially-compiled declaration
compiled via version 13.0.0 to tell the 12.0.0 linker that it would be invalid
to attempt to process it.

This commit adds a new `minVersion` property to partial-declarations, which is
interpreted as the "minimum partial-linker version" that can process this
declaration. When selecting a partial-linker for such a declaration, the known
linker version ranges are checked to find the most recent linker whose version
range has an overlap with the interpreted declaration range.

This approach allows us to set a minimum version for a declaration, which
can inform an old partial-linker that will it not be able to accurately
process the declaration.

Note that any pre-release part to versions are ignored in this selection
process.

The file-linker can be configured, via the `unknownDeclarationVersionHandling`
property of `LinkerOptions`, to handle such a situation in one of three ways:

- `error` - the version mismatch is a fatal error
- `warn` - a warning is sent to the logger but the most recent partial-linker
  will attempt to process the declaration anyway.
- `ignore` - the most recent partial-linker will, silently, attempt to process
  the declaration.

The default is to throw an error.

Closes #41497

PR Close #41578
2021-04-14 11:00:40 -07:00
..
animations feat(animations): update supported range of node versions (#41544) 2021-04-14 09:40:17 -07:00
bazel build: `ng_package` no longer generate minified UMDs (#41425) 2021-04-14 10:43:08 -07:00
benchpress fix(dev-infra): update type castings for JSON.parse usage (#40710) 2021-02-09 10:48:43 -08:00
common feat(common): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
compiler refactor(compiler-cli): change how partial-linkers are matched to declaration versions (#41578) 2021-04-14 11:00:40 -07:00
compiler-cli refactor(compiler-cli): change how partial-linkers are matched to declaration versions (#41578) 2021-04-14 11:00:40 -07:00
core feat(core): update supported range of node versions (#41544) 2021-04-14 09:40:17 -07:00
docs docs(di): fix typo in advanced di doc (#36634) 2020-05-01 09:50:28 -07:00
elements feat(elements): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
examples docs: improve description, examples of DecimalPipe's digitsInfo parameter (#40714) 2021-02-26 15:42:29 -08:00
forms feat(forms): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
language-service feat(language-service): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
localize feat(localize): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
misc/angular-in-memory-web-api release: bump angular-in-web-memory-api package to 0.12.0 (#41487) 2021-04-07 09:35:17 -07:00
platform-browser feat(platform-browser): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
platform-browser-dynamic feat(platform-browser-dynamic): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
platform-server feat(platform-server): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
private/testing build: update .bazelversion (#40579) 2021-01-26 11:35:54 -08:00
router feat(router): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
service-worker feat(service-worker): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
upgrade feat(upgrade): update supported range of node versions (#41544) 2021-04-14 09:40:18 -07:00
zone.js build: update several dependencies (#41434) 2021-04-12 16:46:29 -07:00
BUILD.bazel build: replace @types/trusted-types dep with minimal type defs (#39211) 2020-10-15 09:08:00 -07:00
README.md docs: add doc reference to npm package readme (#33911) 2019-11-20 14:46:23 -08:00
circular-deps-test.conf.js fix(platform-webworker): remove platform-webworker and platform-webworker-dynamic (#38846) 2020-09-30 09:13:59 -04:00
empty.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
goog.d.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
license-banner.txt docs: update year (#40925) 2021-02-22 12:37:40 -08:00
system.d.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
tsconfig-build-no-strict.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-build.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-test.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
tsconfig.json fix(platform-webworker): remove platform-webworker and platform-webworker-dynamic (#38846) 2020-09-30 09:13:59 -04:00
types.d.ts build: replace @types/trusted-types dep with minimal type defs (#39211) 2020-10-15 09:08:00 -07:00

README.md

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

Usage information and reference details can be found in Angular documentation.

License: MIT