aaac7fed
liuqimichale
add
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# Sass Graph
Parses Sass files in a directory and exposes a graph of dependencies
[](https://travis-ci.org/xzyfer/sass-graph)
[](https://coveralls.io/github/xzyfer/sass-graph?branch=master)
[](http://badge.fury.io/js/sass-graph)
[](https://david-dm.org/xzyfer/sass-graph)
[](https://david-dm.org/xzyfer/sass-graph#info=devDependencies)
## Install
Install with [npm](https://npmjs.org/package/sass-graph)
```
npm install --save-dev sass-graph
```
## Usage
Usage as a Node library:
```js
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
```
## API
#### parseDir
Parses a directory and builds a dependency graph of all requested file extensions.
#### parseFile
Parses a file and builds its dependency graph.
## Options
#### loadPaths
Type: `Array`
Default: `[process.cwd]`
Directories to use when resolved `@import` directives.
#### extensions
Type: `Array`
Default: `['scss', 'css', 'sass']`
File types to be parsed.
#### follow
Type: `Boolean`
Default: `false`
Follow symbolic links.
## Example
```js
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'],
// },
//}}
```
## Running Mocha tests
You can run the tests by executing the following commands:
```
npm install
npm test
```
## Authors
Sass graph was originally written by [Lachlan Donald](http://lachlan.me).
It is now maintained by [Michael Mifsud](http://twitter.com/xzyfer).
## License
MIT
|