Bundles all SCSS imports into a single file recursively.
A few of the projects who use the package:
If you want to use scss-bundle
globally
$ npm install scss-bundle -g
$ scss-bundle -h
Without config file:
If you want to use scss-bundle
without configuration file, entry
and dest
arguments are required.
$ scss-bundle -e ./src/main.scss -d bundled.scss
Or specifying output verbosity
level.
$ scss-bundle -e ./src/main.scss -d bundled.scss --verbosity Errors
With config file:
$ scss-bundle -c scss-bundle.config.json
{
"entry": "./src/main.scss",
"dest": "bundled.scss"
}
Argument | Type | Description | Values | Default |
---|---|---|---|---|
entry * |
string | Main entry file where to start bundling. | |
|
dest * |
string | Destination file when bundling is done. | |
|
verbosity | string choices | Destination file when bundling is done. | None, Errors, Verbose | Verbose |
*
- Required
CLI option verbosity
is used to control how much output you get. By default, you will get Verbose
level of verbosity with the most output.
Value | Description |
---|---|
None | Produces no output, only process success/error return code. |
Errors | Outputs all errors and skips any additional information. |
Verbose | Outputs the most information. This is the default value for verbosity level. |
import { Bundler } from "scss-bundle";
import * as path from "path";
const fullPath = path.resolve("./examples/simple/main.scss");
Bundler.Bundle(fullPath)
.then(result => {
console.log("Bundled SCSS content: ", result.content);
}).catch(error => {
console.error(error);
});
import { Bundler } from "scss-bundle";
public static async Bundle(file: string, fileRegistry: Registry = {}): Promise<BundleResult>
file: string
- Main file full pathfileRegistry:
Registry - Dictionary of files contents by full path
Promise<
BundleResult>
public static async BundleAll(files: string[], fileRegistry: Registry = {}): Promise<BundleResult[]>
files: string[]
- Array of full path filesfileRegistry:
Registry - Dictionary of files contents by full path
Promise<
BundleResult[]>
import { BundleResult } from "scss-bundle";
interface BundleResult {
imports?: BundleResult[];
filePath: string;
content?: string;
found: boolean;
}
imports:
BundleResult[]
- File imports arrayfilePath: string
- Full file pathcontent: string
- File contentfound: boolean
- Is file found
import { Registry } from "scss-bundle";
interface Registry {
[id: string]: string | undefined;
}
id: string
- File full path as dictionary id
string | undefined
- File content
Released under the MIT license.