Refer to the CHANGELOG for all info.
---------
Co-authored-by: Wouter van Wageningen <wouter.vdub@yahoo.com>
Co-authored-by: Josh Munic <jpmunic@gmail.com>
Co-authored-by: Jonathan Haas <haasjona@gmail.com>
Recently I refactored the prebuild code. One thing I did not touch (yet)
was the various site dependencies. They were then ported to NX over the
previous system with build priorities we had in place. And while that
was a welcome improvement, it did not really address the bigger picture:
we don't actually need to build any of these dependencies to build the
site.
All we need to do is help NodeJS so it can resolve everything from the
source. So this commit does that by adding a top-level run script
`yarn buildsiteconfigure` which calls `yarn reconfigure` but with the
BUILDSITE variable set.
When that variable is set, the reconfigure script will skip all optional
steps and generate a slightly different package.json file that tells
NodeJS to looks the package from source, rather than to look for the
build files.
After running this script, the prebuild step for the various sites will
run without problems, even on a fresh repo where nothing has ever been
build.
So I've updated the prebuild script in the sites to run this. For local
development, please use `uyarn predev` so that you don't muck with all
the package.json files.
If you do so (by accident or not) a `yarn reconfigure` run will put
everything back in its place.
This moves resolving of the config from the pattern constructor to the
init() method. The idea is that adding a part to a pattern is exactly
the same as adding a part to a design. In other words, late-stage adding
of parts would be no different as the config gets resolved after that.
This is currently broken in many different ways, but the unit tests
particular to this new way of resolving the config do pass.