angular/packages/compiler-cli
George Kalpakas 2bc3522e16 refactor(ngcc): make it easy to support more UMD wrapper function formats
Previously, ngcc could only handle UMD modules whose wrapper function
was implemented as a `ts.ConditionalExpression` (i.e. using a ternary
operator). This is the format emitted by popular bundlers, such as
Rollup. However, this failed to account for a different format, using
`if/else` statements, such as the one [emitted by Webpack][1].

This commit prepares ngcc for supporting different UMD wrapper function
formats by decoupling the operation of parsing the wrapper function body
to capture the various factory function calls and that of operating on
the factory function calls (for example, to read or update their
arguments). In a subsequent commit, this will be used to add support for
the Webpack format.

[1]: https://webpack.js.org/configuration/output/#type-umd
2021-11-26 19:54:13 +02:00
..
integrationtest test: remove Ivy/ViewEngine switch helpers and obsolete tests (#44120) 2021-11-24 19:42:39 +00:00
linker refactor: delete the View Engine runtime (#43884) 2021-11-23 21:10:06 +00:00
ngcc refactor(ngcc): make it easy to support more UMD wrapper function formats 2021-11-26 19:54:13 +02:00
private refactor(compiler-cli): expose tooling code through private entry-point (#43431) 2021-10-01 18:28:46 +00:00
src refactor(compiler-cli): remove Ivy switch transform (#43891) 2021-11-24 19:26:25 +00:00
test refactor(compiler-cli): remove Ivy switch transform (#43891) 2021-11-24 19:26:25 +00:00
BUILD.bazel build: enable code splitting for esbuild bundling of compiler-cli (#43932) 2021-10-26 23:58:27 +00:00
esbuild.config.js refactor: setup bundling for @angular/compiler-cli package (#43431) 2021-10-01 18:28:42 +00:00
import_meta_url.d.ts refactor(compiler-cli): do not use __filename or __dirname global for ESM compatibility (#43431) 2021-10-01 18:28:45 +00:00
index.ts refactor(compiler-cli): expose tooling code through private entry-point (#43431) 2021-10-01 18:28:46 +00:00
package.json feat(core): update node version support range to support v16 (#43740) 2021-10-06 10:55:44 -07:00
tsconfig-build.json build: update tsconfigs to use ES2020 as target and module (#43431) 2021-10-01 18:28:42 +00:00
tsconfig.json build: update tsconfigs to use ES2020 as target and module (#43431) 2021-10-01 18:28:42 +00:00