Parses Sass files in a directory and exposes a graph of dependencies
Install with npm
npm install --save-dev sass-graph
Usage as a Node library:
var sassGraph = require('./sass-graph');
Usage as a command line tool:
The command line tool will parse a graph and then either display ancestors, descendents or both.
$ ./bin/sassgraph --help
Usage: bin/sassgraph <command> [options] <dir> [file]
Commands:
ancestors Output the ancestors
descendents Output the descendents
Options:
-I, --load-path Add directories to the sass load path
-e, --extensions File extensions to include in the graph
-j, --json Output the index in json
-h, --help Show help
-v, --version Show version number
Examples:
./bin/sassgraph descendents test/fixtures test/fixtures/a.scss
/path/to/test/fixtures/b.scss
/path/to/test/fixtures/_c.scss
Parses a directory and builds a dependency graph of all requested file extensions.
Parses a file and builds its dependency graph.
Type: Array
Default: [process.cwd]
Directories to use when resolved @import
directives.
Type: Array
Default: ['scss', 'css', 'sass']
File types to be parsed.
Type: Boolean
Default: false
Follow symbolic links.
Type: RegExp
Default: undefined
Exclude files matching regular expression.
var sassGraph = require('./sass-graph');
console.log(sassGraph.parseDir('test/fixtures'));
//{ index: {,
// '/path/to/test/fixtures/a.scss': {
// imports: ['b.scss'],
// importedBy: [],
// },
// '/path/to/test/fixtures/b.scss': {
// imports: ['_c.scss'],
// importedBy: ['a.scss'],
// },
// '/path/to/test/fixtures/_c.scss': {
// imports: [],
// importedBy: ['b/scss'],
// },
//}}
You can run the tests by executing the following commands:
npm install
npm test
Sass graph was originally written by Lachlan Donald. It is now maintained by Michael Mifsud.
MIT