All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
outputs.export
toOutputOptions
so Rollup no longer throws a warning.
- Updated dependencies, including bumping TypeScript to
^4.0.0
. - The default value of
--target
is now unset (previouslycurrent
), meaning when this option is not passed@babel/preset-env
is not used at all. It is now optional for the code to be transpiled (except for class properties for TypeScript compatibility). Users should only opt-in (by passing--target
) when they know for certain code they are writing is not compatible with versions of Node they are targeting and would like@babel/preset-env
to handle it. Otherwise Babel is primarily being used to strip types. rollup-plugin-terser
's options have been updated to match the new types, and the defaultecma
option is now2019
.
rollup-plugin-dts
needs to be told to ignore built-in modules so it doesn't throw a warning when it comes across one. I don't think this was actually breaking anything, but no noise is the best noise.
rollup-plugin-babel
has been migrated to its new namespaced version@rollup/plugin-babel
to squash a warning.- Other dependency updates.
- Added Babel support for the class properties proposal with
@babel/plugin-proposal-class-properties
inloose
mode. - Added the
--external
parameter to the CLI, which makes it possible to pass additional external dependencies to not bundle. This will get passed to a precompiled regular expression so partial matches are permitted. Typically not needed, but a helpful escape hatch if you have nested dependencies causing circular dependencies or errors (which Typebundle itself was suffering from).
- Updated to features available in TypeScript 3.8. Your mileage may vary with lesser versions.
- The addition of class properties means Typebundle no longer crashes when class properties (without TypeScript 3.8's
declare
) are used.
- Updated Babel, Rollup and TypeScript dependencies to take advantaged of latest features.
- The
fs-extra
library has been removed and replaced by native functions.
- Terser is now told to compress and output with
ES2017
in mind. This seems like a safe level to be at because Node v10 supports nearly all features up toES2017
.
- Thanks to an update to
rollup-plugin-dts
, type generation in scenarios where there are local declaration files works again.
- The new monorepo versions of the Rollup plugins have been swapped in.
typebundle
is now building itself with anodeTarget
of10
.
- Type declarations are now generated using
rollup
androllup-plugin-dts
, meaning our generated types also get tree-shaking and are converted into a single file.
- Fixed output of TypeScript types with multi-entry inputs.
- Added support for watch mode. Can be activated by passing the
--watch
in the command. When this mode is activated type declaration is skipped.
- Added support for importing
.json
files withrollup-plugin-json
.
- TypeScript declaration files (
.d.ts
) are now automatically generated as part of the bundle.
- No longer required to provide a "main" field in your
package.json
. This is still messy but at least works well enough for a single entrypoint.
- Loosened up
typescript
dependency to^3
. - Internally now tracks whether multiple entrypoints are passed to simplify some code.
- Initial release