Go to file
Alex Rickabaugh e648a0c4ca refactor(compiler-cli): extract NgCompilerAdapter interface (#37118)
`NgCompiler` is the heart of ngtsc and can be used to analyze and compile
Angular programs in a variety of environments. Most of these integrations
rely on `NgProgram` and the creation of an `NgCompilerHost` in order to
create a `ts.Program` with the right shape for `NgCompiler`.

However, certain environments (such as the Angular Language Service) have
their own mechanisms for creating `ts.Program`s that don't make use of a
`ts.CompilerHost`. In such environments, an `NgCompilerHost` does not make
sense.

This commit breaks the dependency of `NgCompiler` on `NgCompilerHost` and
extracts the specific interface of the host on which `NgCompiler` depends
into a new interface, `NgCompilerAdapter`. This interface includes methods
from `ts.CompilerHost`, the `ExtendedTsCompilerHost`, as well as APIs from
`NgCompilerHost`.

A consumer such as the language service can implement this API without
needing to jump through hoops to create an `NgCompilerHost` implementation
that somehow wraps its specific environment.

PR Close #37118
2020-06-03 13:29:44 -07:00
.circleci docs(dev-infra): update .circleci/README.md (#37212) 2020-05-20 09:40:51 -07:00
.devcontainer build: update the recommended `Dockerfile` for VSCode remote development (#34697) 2020-01-09 13:31:14 -08:00
.github fix(dev-infra): do not run the `lock-closed` GitHub action on forks (#36000) 2020-03-11 14:45:47 -04:00
.ng-dev build: update requiredBaseCommit for patch branch merges (#37316) 2020-05-28 16:06:08 -04:00
.vscode build: fix @bazel/bazel to bazelisk leftovers (#36132) 2020-03-19 08:58:47 -07:00
.yarn build: update to latest version of yarn (#36464) 2020-04-14 12:47:30 -07:00
aio docs: refactor template-driven forms doc as a tutorial (#36732) 2020-06-03 12:27:28 -07:00
dev-infra refactor(dev-infra): small changes and fixes (#36800) 2020-06-03 13:12:30 -07:00
docs docs: fix typo in committer.md (#37171) 2020-05-28 18:43:05 -04:00
goldens build: fix integration payload sizes 2020-06-02 10:51:06 -07:00
integration fix(core): reenable decorator downleveling for Angular npm packages (#37317) 2020-05-29 18:52:01 -04:00
modules refactor(dev-infra): small changes and fixes (#36800) 2020-06-03 13:12:30 -07:00
packages refactor(compiler-cli): extract NgCompilerAdapter interface (#37118) 2020-06-03 13:29:44 -07:00
scripts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
third_party ci: Remove old vendoring solution in favor of relying on yarn-path (#35083) 2020-02-06 15:30:51 -08:00
tools refactor(dev-infra): small changes and fixes (#36800) 2020-06-03 13:12:30 -07:00
.bazelignore build: add npm package manifest to npm_integration_test (#35669) 2020-02-26 12:58:35 -08:00
.bazelrc build: do not build runfile trees unnecessarily (#36914) 2020-05-05 12:00:04 -07:00
.bazelversion build: depend on bazelisk rather than directly on Bazel (#36078) 2020-03-16 10:58:06 -07:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig build: use https link to editorconfig.org in .editorconfig (#27664) 2018-12-18 09:30:09 -08:00
.gitattributes test: fix ts api guardian and public guard tests on windows (#30105) 2019-04-26 16:32:22 -07:00
.gitignore ci: do not run benchmark measurements in circleci (#34753) 2020-01-29 09:22:27 -08:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.nvmrc build: migrate to node@12.14.1 (#34955) 2020-01-27 09:31:22 -08:00
.pullapprove.yml revert: "revert: "feat(dev-infra): exposed new rule 'component_benchmark' via dev_infra (#36434)" (#36798)" (#36800) 2020-06-03 13:12:30 -07:00
.yarnrc build: update to latest version of yarn (#36464) 2020-04-14 12:47:30 -07:00
BUILD.bazel revert: "revert: "feat(dev-infra): exposed new rule 'component_benchmark' via dev_infra (#36434)" (#36798)" (#36800) 2020-06-03 13:12:30 -07:00
CHANGELOG.md docs: release notes for the v10.0.0-rc.2 release 2020-06-01 11:14:39 -07:00
CODE_OF_CONDUCT.md docs: fix community tab in GitHub by copying CoC 2018-02-27 19:02:30 -08:00
CONTRIBUTING.md docs(dev-infra): update triage and contributing docs for dev-infra (#35995) 2020-03-10 21:02:17 -04:00
LICENSE build: bump year (#34651) 2020-01-13 07:21:43 -08:00
README.md docs: remove browserstack badge from readme (#35684) 2020-03-17 09:29:43 -07:00
WORKSPACE refactor(dev-infra): small changes and fixes (#36800) 2020-06-03 13:12:30 -07:00
browser-providers.conf.js ci: temporarily disable Android 10 browser unit tests on Saucelabs (#37399) 2020-06-02 17:32:34 -04:00
gulpfile.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
karma-js.conf.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
package.json release: cut the v10.0.0-rc.0 release 2020-05-21 10:00:31 -07:00
shims_for_IE.js Revert "refactor: add license header to JS files & format files (#12035)" 2016-10-04 14:06:41 -07:00
test-events.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
test-main.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
tslint.json build: Update file-header lint rule to Google LLC (#37205) 2020-05-26 14:26:58 -04:00
yarn.lock fix(core): disable tsickle pass when producing APF packages (#37221) 2020-05-21 09:14:47 -07:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

README.md

CircleCI Join the chat at https://gitter.im/angular/angular npm version

Angular

Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages.

Quickstart

Get started in 5 minutes.

Changelog

Learn about the latest improvements.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.