sass-globber

2.0.2 • Public • Published

Sass Globber

This module provides a simple globbing functionality for sass files like the ruby gem sass-globbing.

It reads a file from a defined directory and creates a new sass file with all @import statements.

It also has a build-in watcher which watches your changes in your sassRoot directory.

Installation

npm install sass-globber

Usage

Read a source file from a provided directory, process its content, glob all files and output the paths as content to a custom output file.

 
var sassGlobbing = require('sass-globber');
 
sassGlobbing.compiled({
    sassRoot: 'src/sass',
    source: "_all.scss",
    output: 'styles.scss'
});
 

When your Sass/SCSS file looks like this:

@import "../bower-components/pg-scss/resources/scss/pg-reset";
@import "../bower-components/pg-scss/resources/scss/_helpers/**/*";
@import "global/vars";
@import "../bower-components/pg-scss/resources/scss/pg";
 
@import "utils/**/*";
 
@import "global/base";
@import "global/font-face";
@import "global/modifiers";
@import "global/get-media";
 
@import "regions**/*";
 
@import "components/**/*";
 
@import "panels/**/*";
 
@import "blocks/**/*";
 
@import "global/print";

You will get the following output:

// This file is generated by sass-globber. 
// Do not edit this file manually! 
// Just add your styles/imports to your source file: styles.scss. 
 
@import "../bower-components/pg-scss/resources/scss/pg-reset";
@import "../bower-components/pg-scss/resources/scss/_helpers/_breakpoint";
@import "../bower-components/pg-scss/resources/scss/_helpers/_cp";
@import "global/vars";
@import "../bower-components/pg-scss/resources/scss/pg";
 
@import "utils/extends/_ex-fonts";
@import "utils/mixins/_mx-fonts";
 
@import "global/base";
@import "global/font-face";
@import "global/modifiers";
@import "global/get-media";
 
@import "regions/_r-footer-bottom";
@import "regions/_r-footer-top";
 
@import "components/_c-accordion";
@import "components/_c-cta";
@import "components/_c-text-image";
@import "components/form/_select";
 
@import "panels/_p-segment";
@import "panels/_p-zone";
 
@import "blocks/_b-footer-metalinks";
@import "blocks/_b-footer-nav";
 
@import "global/print";

Options

sassRoot

Type: string

Default value: scss

Define a string value which represents the path to your Sass/SCSS files.

Example: src/sass

source

Type: string

Default value: styles.scss

Define a string value which is the filename of your source file. In this file you have your glob patterns.

Example: _all.scss

output

Type: string

Default value: styles.tmp.scss

Define a string value which is the filename of your output file.

Example: styles-final.scss

hint

Type: string

Default value: // This file is generated by sass-globber.\n// Do not edit this file manually! ...

Define a string value which will be prepend to your output file.

Example: // This file is generated. \n

watch

Type: boolean

Default value: false

SassGlobbler has a build-in watcher which you can use. Under the hood I use chokidar to watch the files in sassRoot.

Example: true

Grunt Plugin

There is also a grunt module available: see grunt-sass-globber

License

Copyright (c) 2015 Sebastian Fitzner. Licensed under the MIT license.

Package Sidebar

Install

npm i sass-globber

Weekly Downloads

63

Version

2.0.2

License

MIT

Last publish

Collaborators

  • sebastian-fitzner