-
Notifications
You must be signed in to change notification settings - Fork 73
Changelog
Jonathan Sharpe edited this page Aug 24, 2024
·
1 revision
The main entrypoint scripts for development and use (dev
, e2e
, lint
, test
, serve
) have deliberately remained the same, but some of the underlying details have changed. The following table summarises the main changes between v1 and v2.
What | Why | Notes |
---|---|---|
Dropped support for Node <20.9 and npm <10 | Encourage LTS use, brings more native functionality (e.g. node --watch instead of Nodemon) |
- |
Repo setup now uses npm workspaces | Makes each workspace's package.json more manageable, clearer dev/prod split for each one |
You can install a dependency/run a script for a specific workspace with npm --workspace {name} ...
|
Base directories changed from client/ -> web/ and server/ -> api/
|
Support more deployment options (Vercel requires api/ directory) |
- |
Client transpiling/bundling has migrated from a custom Babel+Webpack setup to Vite | Faster, fewer files to maintain | Similarly tests moved from Jest to Vitest, which is mostly API-compatible |
Server transpiling no longer happens | Node 20+ JS syntax support is now good enough it's not really needed |
dist/ directory is gone, everything now runs from api/ in production mode |
Global test watching has been dropped | No longer using Jest for everything | Use npm --workspace {api-or-web} run test:watch to run one or the other in watch mode |
Content Security Policy has been disabled by default | It caused a disproportionate amount of confusion | Update configuredHelmet as needed, according to the docs
|
E2E tests migrated from Cypress to Playwright | Partly experimenting with new tools, partly to avoid some of the limitations of Cypress (see Cypress's trade offs) | - |
Postgres database/migration support is now in the core | Most apps will need a DB, this now shows all the moving parts needed | - |