1
0
Fork 0
Commit graph

11 commits

Author SHA1 Message Date
Joost De Cock
e4035b2509 chore: Re-structure workspaces, enforce build order
These are some changes in the way the monorepo is structured,
that are aimed at making it easier to get started.

There are two important changes:

**Multiple workspaces**

We had a yarn workspaces setup at `packages/*`. But our monorepo has
grown to 92 packages which can be overwhelming for people not familiar
with the package names.

To remedy this, I've split it into 4 different workspaces:

- `designs/*`: Holds FreeSewing designs (think patterns)
- `plugins/*`: Holds FreeSewing plugins
- `packages/*`: Holds other packages published on NPM
- `sites/*`: Holds software that is not published as an NPM package,
  such as our various websites and backend API

This should make it easier to find things, and to answer questions like
*where do I find the code for the plugins*.

**Updated reconfigure script to handle build order**

One problem when bootstrapping the repo is inter-dependencies between
packages. For example, building a pattern will only work once
`plugin-bundle` is built. Which will only work once all plugins in the
bundle or built. And that will only work when `core` is built, and so
on.

This can be frustrating for new users as `yarn buildall` will fail.
And it gets overlooked by seasoned devs because they're likely to have
every package built in their repo so this issue doesn't concern them.

To remedy this, we now have a `config/build-order.mjs` file and the
updated `/scripts/reconfigure.mjs` script will enforce the build order
so that things *just work*.
2022-06-16 17:11:31 +02:00
Joost De Cock
5d4b254481 chore(tutorial): Migrated to esbuild & removed legacy devenv 2022-06-14 13:09:17 +02:00
Joost De Cock
2a220392d4 chore: Switched to default inport for version
The previous import of the version number from package.json
looked like a named import, but was actually object destructuring
that was supported by the rollup json plugin.

This causes issues when importing patterns with webpack (as we
do with our new NextJS based frontend) so this commit switches
to importing JSON as the default export, which is also ok with webpack
2022-01-23 13:22:13 +01:00
Joost De Cock
652190a318 fix(tutorial): Set department to one of the new values 2021-06-06 15:35:29 +02:00
Joost De Cock
f191151ee4 chore: Linter changes 2021-04-24 10:16:31 +02:00
Joost De Cock
2ef20d5693 chore(tutorial) Removed circumference suffix from measurements 2020-06-28 12:27:34 +02:00
Joost De Cock
09951e70bb fix: Issues in some more workflows 2020-03-15 10:53:05 +01:00
Joost De Cock
f9e867d631 🐛 Added missing part to tutorial config 2019-05-31 18:07:29 +02:00
Joost De Cock
d3a1ea6554 🔧 Reconfigure packages 2019-05-31 16:09:41 +02:00
Joost De Cock
b8c8f741aa 🔧 Reconfigure packages 2019-05-31 10:20:20 +02:00
Joost De Cock
7d9e41ec6f Added tutorial pattern 2019-05-30 21:19:06 +02:00