Make a shortcut for installing compat-tests' fixtures
This commit is contained in:
parent
72222e5eeb
commit
8ab1de79ce
3 changed files with 4 additions and 3 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -116,4 +116,4 @@ jobs:
|
||||||
yarn workspace @theatre/compatibility-tests run install-fixtures
|
yarn workspace @theatre/compatibility-tests run install-fixtures
|
||||||
--verbose
|
--verbose
|
||||||
# after that, we run the jest tests for each fixture
|
# after that, we run the jest tests for each fixture
|
||||||
- run: yarn test:compat
|
- run: yarn test:compat:run
|
||||||
|
|
|
@ -14,7 +14,7 @@ This setup helps us test whether Theatre.js is compatible with popular tools in
|
||||||
|
|
||||||
1. First, we run `yarn run install-fixtures`, which tries to install Theatre.js on a fixture as if `@theatre/core|studio|r3f` were installed through npm. This script runs a [local npm registry](https://github.com/verdaccio/verdaccio) and publishes a production build of all the Theatre.js packages to it. Then, it iterates through `./fixtures/*/package` and runs `$ npm install` on them, using that local npm registry.
|
1. First, we run `yarn run install-fixtures`, which tries to install Theatre.js on a fixture as if `@theatre/core|studio|r3f` were installed through npm. This script runs a [local npm registry](https://github.com/verdaccio/verdaccio) and publishes a production build of all the Theatre.js packages to it. Then, it iterates through `./fixtures/*/package` and runs `$ npm install` on them, using that local npm registry.
|
||||||
**If this step fails**, that usually means one of `@theatre/*` packages has a `dependency/peerDependency` that cannot be satisfied by `npm/yarn`. So this is always the first thing to fix.
|
**If this step fails**, that usually means one of `@theatre/*` packages has a `dependency/peerDependency` that cannot be satisfied by `npm/yarn`. So this is always the first thing to fix.
|
||||||
1. Then, we run `$ yarn test:compat`, which will run jest on all of `*.compat-test.ts` files, each of which tests an aspect of a test setup.
|
1. Then, we run `$ yarn test:compat:run`, which will run jest on all of `*.compat-test.ts` files, each of which tests an aspect of a test setup.
|
||||||
2. Most of our fixtures don't actually have `.compat-test.ts` files, so we'll have to run them manually and see if Theatre still works in them, jut like a manual QA pass.
|
2. Most of our fixtures don't actually have `.compat-test.ts` files, so we'll have to run them manually and see if Theatre still works in them, jut like a manual QA pass.
|
||||||
|
|
||||||
> **Gotchas**
|
> **Gotchas**
|
||||||
|
|
|
@ -18,7 +18,8 @@
|
||||||
"clean": "zx scripts/clean.mjs",
|
"clean": "zx scripts/clean.mjs",
|
||||||
"build:ts": "tsc --build ./devEnv/typecheck-all-projects/tsconfig.all.json",
|
"build:ts": "tsc --build ./devEnv/typecheck-all-projects/tsconfig.all.json",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"test:compat": "jest --config jest.compat-tests.config.js",
|
"test:compat:install": "yarn workspace @theatre/compatibility-tests run install-fixtures",
|
||||||
|
"test:compat:run": "jest --config jest.compat-tests.config.js",
|
||||||
"postinstall": "husky install",
|
"postinstall": "husky install",
|
||||||
"release": "zx scripts/release.mjs",
|
"release": "zx scripts/release.mjs",
|
||||||
"lint:all": "eslint . --ext ts,tsx --ignore-path=.gitignore --rulesdir ./devEnv/eslint/rules"
|
"lint:all": "eslint . --ext ts,tsx --ignore-path=.gitignore --rulesdir ./devEnv/eslint/rules"
|
||||||
|
|
Loading…
Reference in a new issue