34 lines
1.8 KiB
Markdown
34 lines
1.8 KiB
Markdown
|
# Compatibility tests
|
||
|
|
||
|
This setup helps us test whether Theatre.js is compatible with popular tools in the JS ecosystem, such as Vite, webpack, react, vue, etc.
|
||
|
|
||
|
> This setup is 3/10 complete.
|
||
|
|
||
|
The currentr workflow is:
|
||
|
|
||
|
1. Run a local npm registry, and build and publish the @theatre/* packages to it. All packages will have the 0.0.1-COMPAT.1 version
|
||
|
|
||
|
```sh
|
||
|
yarn workspace @theatre/compatibility-tests run registry:start
|
||
|
```
|
||
|
|
||
|
This script will keep running until it is terminated. While running, npm will be configured to point to the local registry that contains the `@theatre/*@0.0.1-COMPAT.1` packages.
|
||
|
|
||
|
2. `cd` into any test project (either use those in `./test-*` or make a new npm package elsewhere via `npm init`.)
|
||
|
3. Install `@theatre/*` from the local registry:
|
||
|
|
||
|
```sh
|
||
|
npm install @theatre/core@0.0.1-COMPAT.1 @theatre/studio@0.0.1-COMPAT.1 @theatre/r3f@0.0.1-COMPAT.1
|
||
|
```
|
||
|
|
||
|
4. Test your local build of Thatre.js against your setup by manually building, running a dev server, and using Theatre.js on a browser pointing to the dev server.
|
||
|
|
||
|
|
||
|
Inspired by the
|
||
|
[#help channel on our Discord](https://discord.com/channels/870988717190426644/870988717190426647)
|
||
|
we collect examples for including `Theatre.js` in project that use different
|
||
|
tools (`parcel`, `Next.js`, `vanilla Rollup`, etc...) to build them in the CI
|
||
|
(these are the _compatibility tests_).
|
||
|
|
||
|
> **Gotchas**
|
||
|
> Some bundlers like webpack are not configured to work well with yarn workspaces by default. For example, the webpack config of create-react-app, tries to look up the node_modules chain to find missing dependencies, which is not a behavior that we want in build-tests setups. So if a setup doesn't work, try running it outside the monorepo to see if being in the monorepo is what's causing it to fail.
|