-
Notifications
You must be signed in to change notification settings - Fork 75
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 | - |