The current test suite takes a while to startup and run - in order, it:
Deletes the dist directory
Builds the source and test files and outputs to the dist directory
Copies the test fixtures to the dist directory
Runs ESLint
Runs Ava
With steps 1-4, it can take 5-10 seconds before any test even runs! When working on a feature, it would be great to be able to run a set of tests in watch mode, so you could have quick feedback on the changes you're making. Currently, that's hard to do, as parts of steps 2 and 3 can't be run in watch mode.
Some potential solutions:
Update cpy-cli to add a watch mode
see sindresorhus/cpy-cli#16, which says the feature must first be added in sindresorhus/cpy
cpy has a blocker on sindresorhus/cpy#99
Use a bundler for building/testing
Something like Rollup would make building/copying/watching (and in the right order) fairly straightforward
Restructure the fixtures directory to allow symlinking to the dist directory
I'd be open to making a PR for any of these, but I'm not familiar with the issue in cpy to add test cases for it. Personally, I'm fairly familiar with Rollup.
The current test suite takes a while to startup and run - in order, it:
dist
directorydist
directorydist
directoryESLint
Ava
With steps 1-4, it can take 5-10 seconds before any test even runs! When working on a feature, it would be great to be able to run a set of tests in watch mode, so you could have quick feedback on the changes you're making. Currently, that's hard to do, as parts of steps 2 and 3 can't be run in watch mode.
Some potential solutions:
cpy-cli
to add a watch modecpy
has a blocker on sindresorhus/cpy#99fixtures
directory to allow symlinking to thedist
directoryts-node
to test TypeScript files directly, without a build stepI'd be open to making a PR for any of these, but I'm not familiar with the issue in
cpy
to add test cases for it. Personally, I'm fairly familiar with Rollup.