7eb3e3bce6
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 |
||
---|---|---|
.. | ||
goldens | ||
project | ||
.gitignore | ||
README.md | ||
generate.ts | ||
matcher.ts | ||
package.json | ||
test.ts | ||
tsclient.ts | ||
tsconfig.json | ||
yarn.lock |
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:
- Add the fixture name to
goldens/
- Run
yarn golden my-golden.json
, replacingmy-golden.json
with the new fixture name, to produce the expected output files. - Hand validate that the expected output is reasonable.