canonical / vanilla-framework

From community websites to web applications, this CSS framework will help you achieve a consistent look and feel.
https://vanillaframework.io
GNU Lesser General Public License v3.0
841 stars 167 forks source link

Switch from NPM2 to NPM3 #470

Closed barrymcgee closed 8 years ago

barrymcgee commented 8 years ago

We should upgrade to NPM 3. The improvements and key differences over NPM2 are documented here:

https://docs.npmjs.com/how-npm-works/npm3

nottrobin commented 8 years ago

The NPM module nesting change does not effect vanilla-framework itself, as it has no sass dependencies, and no-where in this project either specifies an NPM version or is dependent on any specific version.

Changes to themes

The place where NPM3 support needs to be implemented is in each Vanilla theme. Lines like this one

@import '../node_modules/vanilla-framework/scss/vanilla';

Needs to be changed to:

@import 'vanilla-framework/scss/vanilla';

E.g.: in ubuntu-vanilla-theme.

The node_modules folder then needs to be included in the sass include path when the sass is built in any project which uses the theme.

It is perfectly safe to update this in each vanilla theme as soon as anyone gets to it. This will not break any sites as all the vanilla themes are versioned. However, when the new version for a theme is published, no site will be able to use the new version until it updates its build system to use NPM3 and set up the sass include path correctly.

Actions

nottrobin commented 8 years ago

I've updated all the themes we currently have with issues to update to the new way of including vanilla:

I've also added issues into all the sites I could find which use vanilla themes to get their SASS building systems updated to set the include-path as needed:

Given that this is now tracked everywhere else that the work actually needs to happen, I'm going to close this.