A thin wrapper around node-sass to replicate the --watch using chokidar instead of Gaze
Clone or download
michaelwayman Merge pull request #79 from michaelwayman/mw-bugs
Fix bug with chokidar glob pattern recognition
Latest commit 8b35c91 Oct 8, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Merge pull request #79 from michaelwayman/mw-bugs Oct 8, 2018
test Cleanup and add tests Apr 16, 2017
.gitignore Initial commit :) Apr 16, 2017
.travis.yml Dropping support for node 0.10.. it's 2018 people.. Mar 6, 2018
CHANGELOG.md update changelog Mar 20, 2018
LICENSE Initial commit Apr 16, 2017
NODE_SASS_LICENSE Initial commit :) Apr 16, 2017
README.md closes #53 May 8, 2018
package.json Merge pull request #79 from michaelwayman/mw-bugs Oct 8, 2018

README.md

node-sass-chokidar

Build Status

A thin wrapper around node-sass executable to use chokidar instead of Gaze when watching files.

All the functionality of the node-sass executable is still intact, the only difference being chokidar instead of Gaze for watching files.

Why? Because Gaze in docker and various virtual machines uses a lot of resources whereas chokidar does not. Read about the advantages of chokidar

When using node-sass --watch in docker for mac you will get really high CPU usage with com.docker.hyperkit and com.docker.osxfs (I've seen reports of up to 300%). The cause of this is the node-sass dependency on Gaze. This package fixes this issue by using chokidar with node-sass instead of Gaze.

Examples

# Build a directory
node-sass-chokidar ./src -o ./build

# Watch a directory:
node-sass-chokidar ./src -o ./build --watch

# Watch a directory, don't perform an initial build until a change has occured:
node-sass-chokidar ./src -o ./build --watch --skip-initial

# Watch a directory, include node_modules import path so we can import from there e.g. @import 'bulma/bulma.sass';
node-sass-chokidar --include-path ./node_modules/ ./src -o ./src --watch

# Build a file
node-sass-chokidar ./src/index.scss ./build/index.css

# Watch a single file and don't perform an initial build until a change has occured:
node-sass-chokidar ./src/index.scss ./build/index.css --watch --skip-initial

Options

    -w, --watch                Watch a directory or file,
    -m, --match-regex          Only watches files in a directory that match the regular expression,
    -o, --output               Output directory,
    -x, --omit-source-map-url  Omit source map URL comment from output,
    -i, --indented-syntax      Treat data from stdin as sass code (versus scss),
    -q, --quiet                Suppress log output except on error,
    -v, --version              Prints version info,
    --skip-initial             Skips initial build when passing the --watch flag,
    --output-style             CSS output style (nested | expanded | compact | compressed),
    --indent-type              Indent type for output CSS (space | tab),
    --indent-width             Indent width; number of spaces or tabs (maximum value: 10),
    --linefeed                 Linefeed style (cr | crlf | lf | lfcr),
    --source-comments          Include debug info in output,
    --source-map               Emit source map,
    --source-map-contents      Embed include contents in map,
    --source-map-embed         Embed sourceMappingUrl as data URI,
    --source-map-root          Base path, will be emitted in source-map as is,
    --include-path             Path to look for imported files,
    --follow                   Follow symlinked directories,
    --precision                The amount of precision allowed in decimal numbers,
    --error-bell               Output a bell character on errors,
    --importer                 Path to .js file containing custom importer,
    --functions                Path to .js file containing custom functions,
    --use-polling              Watch using polling (chokidar's polling option),
    --polling-interval         Interval of filesystem folling if polling is being used,
    --help                     Print usage info

Contributing

Feel free.