angular-cn/packages/core/test/bundling
Andrew Kushnir 3bd1992218 perf(forms): avoid direct references to the `Validators` class (#41189)
Currently the `Validators` class contains a number of static methods that represent different validators as well as some helper methods. Since class methods are not tree-shakable, any reference to the `Validator` class retains all of its methods (even if you've used just one).

This commit refactors the code to extract the logic into standalone functions and use these functions in the code instead of referencing them via `Validators` class. That should make the code more tree-shakable. The `Validators` class still retains its structure and calls these standalone methods internally to keep this change backwards-compatible.

PR Close #41189
2021-03-15 11:12:55 -07:00
..
animation_world build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
core_all build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
cyclic_import feat(compiler): emit @__PURE__ or @pureOrBreakMyCode annotations in the generated code (#41096) 2021-03-08 10:30:08 -08:00
forms_reactive perf(forms): avoid direct references to the `Validators` class (#41189) 2021-03-15 11:12:55 -07:00
forms_template_driven perf(forms): avoid direct references to the `Validators` class (#41189) 2021-03-15 11:12:55 -07:00
hello_world feat(compiler): emit @__PURE__ or @pureOrBreakMyCode annotations in the generated code (#41096) 2021-03-08 10:30:08 -08:00
hello_world_i18n build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
hello_world_r2 build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
injection refactor(compiler): move factory out of injector definition (#41022) 2021-03-08 15:31:30 -08:00
router fix(core): remove duplicated EMPTY_ARRAY constant (#40991) 2021-03-01 09:00:43 -08:00
todo fix(core): remove duplicated EMPTY_ARRAY constant (#40991) 2021-03-01 09:00:43 -08:00
todo_i18n fix(compiler-cli): downlevel angular decorators to static properties (#37382) 2020-06-10 09:24:11 -07:00
todo_r2 build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
util build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
README.md docs(core): Update instructions on updating symbol tests (#38707) 2020-09-28 16:15:59 -04:00

README.md

Bundle

js_expected_symbol_test

This folder contains tests which assert that most of the code is tree shaken away. This is asserted by keeping gold files of all symbols which are expected to be retained. When doing renaming it is often necessary to update the gold files, to do so use these commands:

yarn bazel run --config=ivy //packages/core/test/bundling/injection:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/cyclic_import:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/forms:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/hello_world:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/router:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/todo:symbol_test.accept

Running all symbol tests

To run all symbol tests with one command, you can use the following scripts:

yarn run symbol-extractor:check
yarn run symbol-extractor:update