FreeSewing now uses NodeJS 18 -- specifically lts/hydrogen -- for its
development.
There is no specific reason to run 18, things will still work in 16
(lts/gallium) but Vercel who hosts/builds our sites will be dropping
support for Node 16 in about 6 months, so since we're gearing up for
a new major release (v3) this is the best time for us to also move
to Node 18.
This wraps up the initial work on a new annotations plugin that replaces
other plugins that provide annotations. As a result, the following
plugins are now no longer available:
- plugin-banner
- plugin-bartack
- plugin-buttons
- plugin-cutonfold
- plugin-dimension
- plugin-grainine
- plugin-logo
- plugin-notches
- plugin-scalebox
- plugin-title
The new plugin-annotations package provides all these plugins used to
provide. In addition, it also includes the following new macros:
- bannerbox
- pleat
- sewTogether
The current GitHub linting workflow (which, thanks to its reliance on lerna, only runs lint in workspaces that specify a `lint` command--needs to be fixed) has been failing for a new reason since commit dd9510537c9857a9f41c155c933b893c5855d32d (the workflow was already failing in the `develop` branch for unrelated reasons).
dd9510537c9857a9f41c155c933b893c5855d32d reintroduced Babel to the monorepo, not for any kind of transpilation step but for usage by `eslint`. This wasn't an issue for `eslint` commands executed from the monorepo root, but it's an issue for the lint workflow: that workflow uses `lerna run lint` to run `eslint` from within workspace directories, and the workspace directories that implement `lint` commands also happen to have legacy `.babelrc` files that reference no-longer-installed Babel plugins.
This commit removes the old `.babelrc` files, which should fix the lint workflow in its current form. (I will soon be updating the lint workflow to cover all workspaces, but I've yet to decide what that will look like.)