028e4f7f6d
Projects opened in the LS are often larger in scope than the compilation units seen by the compiler when actually building. For example, in the LS it's not uncommon for the project to include both application as well as test files. This can create issues when the combination of files results in errors that are not otherwise present - for example, if test files have inline NgModules that re-declare components (a common Angular pattern). Such code is valid when compiling the app only (test files are excluded, so only one declaration is seen by the compiler) or when compiling tests only (since tests run in JIT mode and are not seen by the AOT compiler), but when both sets of files are mixed into a single compilation unit, the compiler sees the double declaration as an error. This commit attempts to mitigate the problem by forcing the compiler flag `compileNonExportedClasses` to `false` in a LS context. When tests contain duplicate declarations, often such declarations are inline in specs and not exported from the top level, so this flag can be used to greatly improve the IDE experience. PR Close #40092 |
||
---|---|---|
.. | ||
animations | ||
bazel | ||
benchpress | ||
common | ||
compiler | ||
compiler-cli | ||
core | ||
docs | ||
elements | ||
examples | ||
forms | ||
language-service | ||
localize | ||
misc/angular-in-memory-web-api | ||
platform-browser | ||
platform-browser-dynamic | ||
platform-server | ||
private/testing | ||
router | ||
service-worker | ||
upgrade | ||
zone.js | ||
BUILD.bazel | ||
README.md | ||
circular-deps-test.conf.js | ||
empty.ts | ||
goog.d.ts | ||
license-banner.txt | ||
system.d.ts | ||
tsconfig-build-no-strict.json | ||
tsconfig-build.json | ||
tsconfig-test.json | ||
tsconfig.json | ||
types.d.ts |
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