During the investigation for #388, I realized that this project might have been converted to the v2 addon format before it was agreed (e.g. via embroider-build/addon-blueprint) that workspaces are a good option for v2 addons.
Using workspaces helps with maintenance in the following ways:
The dependencies of the source code are cleanly separated from those of the test app. (Before, the root package.json mixed the two sets of dependencies.)
We don't need to run yarn sync-dev-deps anymore. (sync-dev-deps doesn't remove unused dependencies from the root package.json. Before, maintainers risked forgetting to manually remove unused dependencies.)
The folder structure in this project aligns with that of many v2 addons. This will ease future onboarding.
Using workspaces does increase the project's complexity in these ways:
release-it needs a special plugin called @release-it-plugins/workspaces.
Documentations, such as README and CONTRIBUTING, need to be updated.
Description
During the investigation for #388, I realized that this project might have been converted to the v2 addon format before it was agreed (e.g. via
embroider-build/addon-blueprint
) that workspaces are a good option for v2 addons.Using workspaces helps with maintenance in the following ways:
package.json
mixed the two sets of dependencies.)yarn sync-dev-deps
anymore. (sync-dev-deps
doesn't remove unused dependencies from the rootpackage.json
. Before, maintainers risked forgetting to manually remove unused dependencies.)Using workspaces does increase the project's complexity in these ways:
release-it
needs a special plugin called@release-it-plugins/workspaces
.README
andCONTRIBUTING
, need to be updated.References
ember addon my-addon -b @embroider/addon-blueprint --yarn --skip-npm
)