Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(build): Update build system #17

Merged
merged 8 commits into from
Jan 22, 2025
Merged

Conversation

donmccurdy
Copy link
Member

@donmccurdy donmccurdy commented Jan 21, 2025

Dependencies on this repository have gotten stale, with unsupported Node.js and a babel+webpack build with a lot of moving pieces. I ran into trouble trying to make a PR on the repository because ts-node doesn't report useful information for errors in test files, and the old Node.js requirement made updating to a better test runner challenging.

Changes:

  • update local development to Node.js v20
  • update minimum engine to Node.js v18
  • update dependency manager to Yarn v4
  • replace ts-node with tsx
  • replace babel+webpack with microbundle
  • remove old config files
  • update CI and create npm publish job on GitHub Actions

Microbundle is optional here, but greatly simplifies things and builds faster. I've considered Vite, but I don't think Vite's "Library Mode" is ready for prime time yet, see CartoDB/carto-api-client#60... it's much better as an application build system, not a library build system, today. The main downside of Microbundle, from my perspective, is the long tail of transient dependencies (as seen in yarn.lock).

A future PR should probably replace both [tape, tsx] with just vitest.

Copy link

@padawannn padawannn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@donmccurdy donmccurdy merged commit 08d7c55 into master Jan 22, 2025
4 checks passed
@donmccurdy donmccurdy deleted the chore/update-build-system branch January 22, 2025 21:34
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.

2 participants