Expected usage of the canary is to check multiple versions of webpack against a set of dependencies and squawk if there are any failures. The squawk
task is a runner to just that. Webpack versions are stored in webpack-versions.json
and dependency versions are stored in dependency-versions.json
.
Use npm run squawk
to run all dependencies against all versions of webpack, and generate a report with successes and failures. This command does not take any flags.
To run a specific dependency version against a specific version of webpack, use the canary CLI interface
node index.js --webpack=<webpack_reference> --dependency=<dependency_reference>
--webpack
can be a version or path to remote repository--dependency
can be a dependency name (with or without version) or path to remote repository
# Published versions in registry
node index.js --webpack=2.2 --dependency=raw-loader
# Development versions in remote repositories
node index.js --webpack=webpack/webpack#master --dependency=https://github.com/alistairjcbrown/raw-loader/
A dependency must include an examples
directory which contains an example setup with corresponding webpack config. This config is run with the installed webpack version to confirm compatibility.
- ES6
- Tests
- Flag to control log level verbosity
- Programatic interface (split CLI flags from app)
- Script to run for multiple dependencies
- Linting
- Show summary successes / failure after running squawk
- Change logLevel to loglevel
- Investigate why failing on webpack 1 causes failure in webpack 2 (cache?)
- Update summary to use progress bar and collapse table if all success
- Update readme
- Output recreation command when squawk failure
- Support multiple examples and output in table
- Split webpack 1 configs and 2 configs in examples - support non-suported examples
- Add ability to run more than just loaders / plugins
- Move from callbacks to promises
- Don't use npm cli for installing of webpack & dependency
- Install webpack & dependency somewhere else (not
node_modules
- avoid potential colisions) - Add more folders as example targets (e.g.
demo
) - Allow running dependency tests with the specific webpack version *
- Refactor
InstallObject
- Add
--progress
option with a progress bar - Add
--versions
to change the versions file path forsquawk
- Expose
canary
andsquawk
as binaries
*
- Not sure if possible
Alistair Brown |
Juho Vepsäläinen |
Joshua Wiens |
Kees Kluskens |
Sean Larkin |