Skip to content

Modernize build tooling and drop ES5 output - #1044

Open
mschroeder wants to merge 5 commits into
kewisch:mainfrom
mschroeder:build-and-test-changes
Open

mschroeder wants to merge 5 commits into
kewisch:mainfrom
mschroeder:build-and-test-changes

Conversation

@mschroeder

Copy link
Copy Markdown
Collaborator

Summary

Modernize the package build and remove the ES5 bundle. This is a breaking packaging/runtime change; the package version is bumped to 3.0.0.

Changes

  • Require Node.js >=22.12.0.
  • Replace the Rollup/Babel build with Vite 8/Rolldown.
  • Publish modern ESM, CommonJS, and browser-global IIFE bundles, with minified variants and source maps.
  • Preserve direct script/CDN use and the global ICAL API for modern browsers; remove the ES5-era compatibility promise.
  • Generate TypeScript declarations directly with tsc.
  • Update package exports, release assets, and README examples.
  • Extract Mocha and JSDoc configuration into dedicated configs and a build script.

Validation

  • npm run build
  • npm test
  • npm run test-browser (Chromium, Firefox, WebKit)
  • npm run lint
  • npm ci --dry-run
  • npm audit --omit=optional
  • npm pack --dry-run

Build ESM, CommonJS, and browser-global bundles with Vite/Rolldown, including minified variants and source maps. Emit declarations with tsc, drop ES5 support, and raise the Node.js minimum to 22.12. Update exports, docs, CI, and release assets.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant