This is really a Federalist issue. We moved a bunch of the dependencies that we use to build the site (gulp, fractal, etc.) from devDependencies into dependencies ("from dev to production") after Federalist changed the way that it invokes npm install to include the --only=prod flag. This definitely saves time on build containers, but it hurts us because our npm releases now include a ton of dependencies that aren't actually _required_ to use the package. For instance, it's preventing folks like the USDS-FSA from upgrading to 1.x because they're stuck on Node v0.12, but (for instance) Fractal requires v4 or greater.
In a nutshell:
dependencies must include all of the third-party modules that we require() in src/js/**/*.js. I think this is just: array-*, classlist-polyfill, domready, elem-dataset, lodash.debounce, object-assign, receptor, and resolve-id-refs.normalize.css are included in our published releases, so the bourbon, bourbon-neat, and normalize.css dependencies can move to dev.gulp or vinyl in its name, cross-spawn, del, run-sequence, browserify, and babel*) should move to dev.@fractal/* dependency should move to dev.We might be able to fix this on the Federalist side by slipping an npm install --dev into the federalist npm script, but I don't know offhand if that will work.
cc @jmhooper @wslack
For reference, the Federalist PR that disabled installation of dev dependencies on build containers is https://github.com/18F/federalist-docker-build/pull/31, and https://github.com/18F/federalist-docker-build/pull/35 updates npm install to use the more future-friendly --production flag.
Hey @jmhooper, I don't have sufficient experience to triage this. Should we prioritize it while you are still on Federalist and open a companion issue in our own repo? cc @brandocalrissian @jseppi
@jmhooper @brandocalrissian @jseppi I was able to work around this by calling npm install --dev in our federalist npm script, as you can see in #1942. Let us know if this isn't a good idea, but I'm happy to call this done because it builds successfully.
Most helpful comment
@jmhooper @brandocalrissian @jseppi I was able to work around this by calling
npm install --devin ourfederalistnpm script, as you can see in #1942. Let us know if this isn't a good idea, but I'm happy to call this done because it builds successfully.