css-dep-tree
v1.0.0-beta.6
Published
Generates a CSS dependency tree and dependency file/URL lists based on CSS imports
Downloads
27
Maintainers
Readme
css-dep-tree
Generates a CSS dependency tree and dependency file/URL lists based on CSS imports
Install
Project Install
$ npm install --save css-dep-tree
Global Install
$ npm install -g css-dep-tree
Usage
Node Library:
let cssDepTree = require('css-dep-tree');
// `cssDepTree` returns a `Promise`
cssDepTree('main.css').then((results) => {
console.log(results);
})
.catch((err) => {
console.error(err);
});
// `cssDepTree` will also accept a callback
cssDepTree('main.css', (err, results) => {
if (err) {
console.error(err);
return;
}
console.log(results);
});
Command Line Tool:
$ cssdt -h
Usage:
(cssdt|cssdeptree) <cssFile> [options]
Options:
-r --relative Output files paths relative to current directory
-l --files-list Only show list of file dependencies
-u --urls-list Only show list of URL dependencies
-L --exclude-files Exclude all files from output
-U --exclude-urls Exclude all URL dependencies from output
-T --exclude-tree Exclude dependency tree from output (only file and URL lists will be present)
-c --compress Compress output JSON
-h --help Show this message
-V --version Show version number
API
cssDepTree(filePath, [options], [callback])
Builds a dependency tree and lists of all file and URL dependencies.
Parameters
filePath
String
Path to entry CSS file.options
Object
orFunction
Operation options. (Ifoptions
is aFunction
, then it is assumed to be thecallback
parameter).- relative
Boolean
(Default:false
) Iftrue
, all file paths in results are expressed relative to the current directory. - excludeTree
Boolean
(Default:false
) Iftrue
, full dependency tree object is excluded from results. - excludeFiles
Boolean
(Default:false
) Iftrue
, all file dependency paths are excluded from results. - excludeURLs
Boolean
(Default:false
) Iftrue
, all URL dependency paths are excluded from results.
- relative
callback(err, results)
Function
Callback function to execute when operation has completed.
Return Value
Type: Promise<Object>
The Object
returned by the callback
function parameter and Promise
resolved callback
has three properties:
tree
Object
Represents the full dependency tree. (Not present ifoptions.excludeTree
istrue
)urls
String[]
Contains all dependency URL paths found in the dependency tree. (Not present ifoptions.excludeFiles
istrue
)files
String[]
Contains all dependency file paths found in the dependency tree. (Not present ifoptions.excludeURLs
istrue
)
NOTE: Each unique URL and file path will appear only once in the
urls
&files
lists, regardless of how many times it appears ion the dependency tree.
Example Results Object
{
tree: {
"file/path/root.css": {
"urls": [
"//example.com/my/css/url0.css",
"http://example.com/my/css/url1.css",
"https://example.com/my/css/url2.css"
],
files: {
"file/path/otherRootFile0.css": null,
"file/path/otherRootFile1.css": null,
"file/path/otherRootFile2.css": null,
"file/path/sub-dir/subDirFile.css": {
urls: [
"//example.com/my/css/url0.css",
"//example.com/some/url"
],
files: {
"file/path/otherRootFile1.css": null
}
}
}
}
},
urls: [
"//example.com/my/css/url0.css",
"http://example.com/my/css/url1.css",
"https://example.com/my/css/url2.css",
"//example.com/some/url"
],
files: [
"file/path/otherRootFile0.css",
"file/path/otherRootFile1.css",
"file/path/otherRootFile2.css",
"file/path/sub-dir/subDirFile.css"
]
}
cssDepTree.files(filePath, [relative], [callback])
Builds a flat list of all file dependencies found in the dependency tree.
Parameters
filePath
String
Path to entry CSS file.relative
Boolean
orFunction
(Default:false
) Iftrue
, all file paths in results are expressed relative to the current directory. (Ifrelative
is aFunction
, then it is assumed to be thecallback
parameter).callback(err, results)
Function
Callback function to execute when operation has completed.
Return Value
Type: Promise<String[]>
NOTE: Each unique file path will appear only once in the returned
String[]
, regardless of how many times it appears ion the dependency tree.
cssDepTree.urls(filePath, [relative], [callback])
Builds a flat list of all URL dependencies found in the dependency tree.
Parameters
filePath
String
Path to entry CSS file.relative
Boolean
orFunction
(Default:false
) Iftrue
, all file paths in results are expressed relative to the current directory. (Ifrelative
is aFunction
, then it is assumed to be thecallback
parameter).callback(err, results)
Function
Callback function to execute when operation has completed.
Return Value
Type: Promise<String[]>
NOTE: Each unique URL will appear only once in the returned
String[]
, regardless of how many times it appears ion the dependency tree.
License
ISC License (ISC)
Copyright (c) 2017 Brandon Sara (http://bsara.github.io/)
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.