Node Sass importer for npm packages
This is ALPHA software.
It's messy. It's probably slow. It's probably buggy.
Give it a shot. File bugs. Be patient.
- Node >= 6
- node-sass >= 4.9.0
This package has a peer dependency on Node Sass for ensure import API compatibility.
npm install @node-sass/node-module-importer node-sass
Install an npm package with the Sass files you want to import.
npm install foundation
When Node Sass parses an @import
in will try to match the first part of the URL with an installed npm package. The rest of the URL will be resolved relative to the where the package is installed.
@import "foundation/scss/foundation.scss";
var sass = require('node-sass');
var nodeModuleImport = require('@node-sass/node-module-importer');
sass.render({
file: 'index.scss',
importer: [nodeModuleImport],
}, function (err, result) {
if (err) throw err;
console.log(result.css.toString());
});
$ node-sass index.scss --importer node_modules/@node-sass/node-module-importer/index.js
npm can install packages in nested node_modules
folders i.e. node_modules/package_1/node_modules/package_2
.