delta
delta copied to clipboard
build: switch to vite, vitest and api-extractor; add esm output
Build tools simpification
- Use vite for bundling cjs and esm ouput
- Use vitest for testing & coverage report
- TS is supported out of the box so
ts-nodeis no longer necessary - Native v8 instrumentation is used for coverage, so
nycis no longer necessary
- TS is supported out of the box so
- Use api-extractor for .d.ts rollup
Minor changes
- Replace TS
namespaceas plain object TS it self is migrating away from namespaces. Since it's considered a legacy feature and not part of ES spec, it's better to migrate away too. - Change
requiretoimport
@luin I added esm output despite potential dual package hazard because there're no instanceof checks, and Delta is small enough to not cause perf issues even if loaded twice.
The only issue now is usage in node would become
const Delta = require('quill-delta').default
I was wondering if it would be better to remove the default export, so it's simply
const { Delta } = require('quill-delta')
which would mirror normal esm import
import { Delta } from 'quill-delta'