Version 6.0.0-alpha.1
Pre-release
Pre-release
·
449 commits
to master
since this release
Big thanks to new collaborator @mike-marcacci for his help solving tricky bugs and edge-cases!
Major
- Updated Node.js support from v6.10+ to v8.5+ for native ESM, object rest/spread properties, and async functions.
- Removed the
@babel/runtimedependency and config. - Fixed #45, #77 and #83 via #81:
- Add
errorevent listeners to file streams to prevent server crashes on aborted requests or parser errors. - Use
fs-capacitorto ensure the server doesn’t hang if an uploadawaitis out of order, or is never consumed.
- Add
Minor
- Refactored package scripts to use
prepareto support installation via Git (e.g.npm install jaydenseric/apollo-upload-server).
Patch
- Updated dependencies.
- Use single instead of double typographic quotes in error messages.
- Use
babel.config.jsinstead of.babelrc.js. - Enabled
shippedProposalsin@babel/preset-envconfig. - Improved testing:
- Use
tapinstead ofava. Tests no longer transpile on the fly, are faster and AVA no longer dictates the Babel version. - Tests run against the actual dist
.mjsand.jsfiles in native ESM (--experimental-modules) and CJS environments. - Removed
get-portdev dependency. - Added Express tests.
- Test middleware error response status codes.
- Test behavior of aborted HTTP requests.
- Test that the app can respond if an upload is not handled.
- Test files to upload are created in context, rather than using arbitrary project files, via #89.
- Use
- Improved
package.jsonscripts:- Leveraged
npm-run-allmore for parallelism and reduced noise. - Removed the clean script
rimrafdev dependency in favour of nativerm -rf. Leaner and faster; we only support *nix now for contributing anyway. - No longer use
cross-env; contributors with Windows may setup and use a Bash shell. - Renamed the
ESMenvironment variable toBABEL_ESMto be more specific. - Removed linting fix scripts.
- Linting included in the test script; Travis CI will fail PR's with lint errors.
- Custom watch script.
- Leveraged
- Improved ESLint config:
- Simplified ESLint config with
eslint-config-env. - Removed redundant
eslint-plugin-avadev dependency and config. - Undo overriding ESLint ignoring dotfiles by default as there are none now.
- Simplified ESLint config with
- Use
.prettierignoreto leavepackage.jsonformatting to npm. - Tweaked package
descriptionandkeywords. - Compact package
repositoryfield. - Improved documentation.
- Readme badge changes to deal with shields.io unreliability:
- Use the official Travis build status badge.
- Use badgen.now.sh for the npm version badge.
- Removed the licence badge. The licence can be found in
package.jsonand rarely changes. - Removed the Github issues and stars badges. The readme is most viewed on Github anyway.
changelog.mdversion entries now have “Major”, “Minor” and “Patch” subheadings.