angular-cn/integration/language_service_plugin
George Kalpakas 7eb3e3bce6 build: fix build scripts on macOS (#33854)
In #33823, `scripts/package-builds.sh` (which is used by both
`build-packages-dist.sh` and `build-ivy-npm-packages.sh`) was updated to
use `realpath`. It turns out that `realpath` does not exist on macOS, so
the build scripts do not work there.

In order to fix this (and also reduce the likelihood of introducing
similar issues in the future), this commit changes these bash scripts to
Node.js scripts (using [ShellJS](https://github.com/shelljs/shelljs) for
a cross-platform implementation of Unix shell commands where necessary).

PR Close #33854
2019-11-15 16:05:00 -08:00
..
goldens feat: typescript 3.6 support (#32946) 2019-10-18 13:15:16 -04:00
project feat(language-service): add definitions for styleUrls (#32464) 2019-09-09 16:04:14 -04:00
.gitignore test(language-service): Improve integration test (#28168) 2019-01-17 14:11:28 -08:00
README.md feat(language-service): add script to rebuild, refresh Angular dist (#32515) 2019-09-06 18:28:06 -04:00
generate.ts test(language-service): Improve integration test (#28168) 2019-01-17 14:11:28 -08:00
matcher.ts test(language-service): Add tests for quickinfo and definition (#29990) 2019-04-19 19:28:46 -07:00
package.json build: fix build scripts on macOS (#33854) 2019-11-15 16:05:00 -08:00
test.ts feat(language-service): add definitions for styleUrls (#32464) 2019-09-09 16:04:14 -04:00
tsclient.ts feat: typescript 3.6 support (#32946) 2019-10-18 13:15:16 -04:00
tsconfig.json build: remove vendored Babel typings (#33226) 2019-10-17 18:45:52 -04:00
yarn.lock feat: typescript 3.6 support (#32946) 2019-10-18 13:15:16 -04:00

README.md

Angular Language Service Test

This directory is an integration test for @angular/language-service to ensure that the language service works correctly as a tsserver plugin.

To use the tests:

  • Use yarn install to install all dependencies in this directory and in the Angular repo root directory.
  • Build an Angular distribution with yarn build-dist. This needs to be done after changes to Angular, but not after changes to integration tests. This is an expensive build.
  • In this directory, run the integration tests with yarn test.

Update golden files

If the expected output needs to be updated, run yarn golden my-golden.json, replacing my-golden.json with the golden file to be updated. Do not qualify the file with a directory path. See generate.ts for more information.

Adding a new fixture

Currently there is no automated way to produce a new fixture. The way the current fixtures were created was to hack a version of tsserver.js to write the commands from VSCode to a file while performing the operation to be tested. I also hand modified the input to remove superfluous request.

Once a new fixture is created:

  1. Add the fixture name to goldens/
  2. Run yarn golden my-golden.json, replacing my-golden.json with the new fixture name, to produce the expected output files.
  3. Hand validate that the expected output is reasonable.