UNPKG

node-sass-glob-importer

Version:

Custom importer for node-sass which makes it possible to use glob syntax in Sass import statements

100 lines (76 loc) 3.23 kB
# node-sass-glob-importer [![Patreon](https://img.shields.io/badge/patreon-donate-blue.svg)](https://www.patreon.com/maoberlehner) [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/maoberlehner) [![Build Status](https://travis-ci.org/maoberlehner/node-sass-magic-importer.svg?branch=master)](https://travis-ci.org/maoberlehner/node-sass-magic-importer) [![Coverage Status](https://coveralls.io/repos/github/maoberlehner/node-sass-magic-importer/badge.svg?branch=master)](https://coveralls.io/github/maoberlehner/node-sass-magic-importer?branch=master) [![GitHub stars](https://img.shields.io/github/stars/maoberlehner/node-sass-magic-importer.svg?style=social&label=Star)](https://github.com/maoberlehner/node-sass-magic-importer) Custom node-sass importer to which allows you to use glob syntax in imports Globbing allows pattern matching operators to be used to match multiple files at once. ```scss // Import all files inside the `scss` directory and subdirectories. @import: 'scss/**/*.scss'; ``` ## Usage ```js const sass = require('node-sass'); const globImporter = require('node-sass-glob-importer'); sass.render({ ... importer: globImporter() ... }); ``` ### webpack ```js // webpack.config.js const globImporter = require('node-sass-glob-importer'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); module.exports = { module: { rules: [ { test: /\.scss$/, use: [ { loader: MiniCssExtractPlugin.loader, }, { loader: 'css-loader' }, { loader: 'sass-loader', options: { sassOptions: { importer: globImporter() } } } ] } ] }, plugins: [ new MiniCssExtractPlugin({ filename: 'style.css' }) ] } ``` ### CLI ```bash node-sass --importer node_modules/node-sass-glob-importer/dist/cli.js -o dist src/index.scss ``` ## Upgrade from 3.x.x to 5.x.x It is not possible anymore to set the `includePaths` option when initializing the importer. Use the [node-sass includePaths option](https://github.com/sass/node-sass#includepaths) instead. ## Why is there no 4.x version? This module is maintained in [one repository](https://github.com/maoberlehner/node-sass-magic-importer) together with multiple other node-sass custom importers. The node-sass-magic-importer repository is using a [monorepo approach](https://medium.com/@maoberlehner/monorepos-in-the-wild-33c6eb246cb9) with fixed versions for all packages. The projects maintained in the node-sass-magic-importer monorepo started out as separate repositories with separate versioning, so when they were integrated into the monorepo, the versions of all projects were raised to 5.0.0 and are in sync since then. ## node-sass-magic-importer This module is powered by [node-sass-magic-importer](https://github.com/maoberlehner/node-sass-magic-importer). ## About ### Author Markus Oberlehner Website: https://markus.oberlehner.net Twitter: https://twitter.com/MaOberlehner PayPal.me: https://paypal.me/maoberlehner Patreon: https://www.patreon.com/maoberlehner ### License MIT