scss-bundle
Bundling SCSS files to one bundled file.
Last updated 3 months ago by reactway-dev .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install scss-bundle 
SYNC missed versions from official npm registry.

scss-bundle

Bundles all SCSS imports into a single file recursively.

NPM version NPM version

Total downloads Build Status Code coverage

Dependencies Dev dependencies

Who uses scss-bundle

Projects

Community plugins

Get started

If you want to use scss-bundle globally

$ npm install scss-bundle -g

Latest dev build is published under canary tag.

$ npm install scss-bundle@canary

To start using the tool, create a config file and run command:

$ scss-bundle

It will bundle all scss files in specified outFile location.

CLI Usage

$ scss-bundle -h

Configuration

Config file properties can be overridden with CLI flags.

CLI Flag Bundler options Type Description Values Default
-p, --project <path> string Project location where scss-bundle.config.json and node_modules are located. cwd
-e, --entryFile <path> * entryFile * string Bundle entry file location.
-o, --outFile <path> * outFile * string Bundle output location.
--rootDir <path> rootDir string Specifies the root directory of input files.
-w, --watch [boolean] watch boolean Watch files for changes. Works with rootDir.
--ignoreImports <list> ignoreImports string[] Ignore resolving import content by matching a regular expression.
--includePaths <list> includePaths string[] Include paths for resolving imports.
--dedupeGlobs <list> dedupeGlobs string[] Files that will be emitted in a bundle once.
--logLevel <level> logLevel string Console log level. silent, error, warning, info, debug, trace info

* - Required

Example config

Default name for configuration is scss-bundle.config.json.

{
    "bundlerOptions": {
        "entryFile": "./tests/cases/simple/main.scss",
        "rootDir": "./tests/cases/simple/",
        "outFile": "./bundled.scss",
        "ignoreImports": ["~@angular/.*"],
        "logLevel": "silent"
    }
}

Non-CLI usage

Simple example

import path from "path";
import { Bundler } from "scss-bundle";

(async () => {
    // Absolute project directory path.
    const projectDirectory = path.resolve(__dirname, "./cases/tilde-import");
    const bundler = new Bundler(undefined, projectDirectory);
    // Relative file path to project directory path.
    const result = await bundler.bundle("./main.scss");
})();

API

Bundler

import { Bundler } from "scss-bundle";

Constructor

constructor(fileRegistry: FileRegistry = {}, projectDirectory?: string) {}
Arguments
  • fileRegistry?: Registry - Dictionary of files contents by full path
  • projectDirectory?: string - Absolute project location, where node_modules are located. Used for resolving tilde imports

Methods

bundle

public async bundle(file: string, fileRegistry: Registry = {}): Promise<BundleResult>
Arguments
  • file: string - Main file full path
  • fileRegistry: Registry - Dictionary of files contents by full path
Returns

Promise<BundleResult>

Contracts

BundleResult

import { BundleResult } from "scss-bundle";
interface BundleResult {
    imports?: BundleResult[];
    tilde?: boolean;
    filePath: string;
    content?: string;
    found: boolean;
}
Properties
  • imports: BundleResult[] - File imports array
  • tilde?: boolean - Used tilde import
  • filePath: string - Full file path
  • content: string - File content
  • found: boolean - Is file found

Registry

import { Registry } from "scss-bundle";
interface Registry {
    [id: string]: string | undefined;
}
Key

id: string - File full path as dictionary id

Value

string | undefined - File content

License

Released under the MIT license.

Current Tags

  • 0.0.0-canary.ad13f8e                                ...           canary (2 months ago)
  • 3.0.2                                ...           latest (3 months ago)
  • 2.5.0-beta                                ...           next (a year ago)

48 Versions

  • 0.0.0-canary.ad13f8e                                ...           2 months ago
  • 0.0.0-canary.9f111cb                                ...           2 months ago
  • 3.0.2                                ...           3 months ago
  • 0.0.0-canary.cae5b9e                                ...           4 months ago
  • 0.0.0-canary.048dc82                                ...           4 months ago
  • 3.0.1                                ...           6 months ago
  • 0.0.0-canary.3100315                                ...           6 months ago
  • 0.0.0-canary.e3c9a99                                ...           6 months ago
  • 0.0.0-canary.53afdbe                                ...           6 months ago
  • 0.0.0-canary.68aba9f                                ...           6 months ago
  • 3.0.0                                ...           6 months ago
  • 0.0.0-canary.2466c2b                                ...           6 months ago
  • 0.0.0-canary.a99866c                                ...           6 months ago
  • 2.5.1                                ...           10 months ago
  • 2.5.0                                ...           a year ago
  • 2.5.0-beta                                ...           a year ago
  • 2.4.0                                ...           2 years ago
  • 2.3.3                                ...           2 years ago
  • 2.3.2                                ...           2 years ago
  • 2.3.1                                ...           2 years ago
  • 2.3.0-beta                                ...           2 years ago
  • 2.2.0                                ...           2 years ago
  • 2.2.0-beta.2                                ...           2 years ago
  • 2.2.0-beta                                ...           2 years ago
  • 2.1.3                                ...           2 years ago
  • 2.1.2                                ...           2 years ago
  • 2.1.1                                ...           2 years ago
  • 2.1.0                                ...           2 years ago
  • 2.0.1-beta.7                                ...           3 years ago
  • 2.0.1-beta.6                                ...           3 years ago
  • 2.0.1-beta.5                                ...           3 years ago
  • 2.0.1-beta.4                                ...           3 years ago
  • 2.0.1-beta.3                                ...           3 years ago
  • 2.0.1-beta                                ...           3 years ago
  • 2.0.0-beta                                ...           3 years ago
  • 1.1.2                                ...           3 years ago
  • 1.1.1                                ...           3 years ago
  • 1.1.0                                ...           3 years ago
  • 1.0.1                                ...           3 years ago
  • 1.0.0                                ...           3 years ago
  • 1.0.0-beta.3                                ...           3 years ago
  • 1.0.0-beta.2                                ...           3 years ago
  • 1.0.0-beta                                ...           3 years ago
  • 0.2.3-beta                                ...           3 years ago
  • 0.2.2                                ...           3 years ago
  • 0.2.1                                ...           3 years ago
  • 0.2.0                                ...           4 years ago
  • 0.1.2                                ...           4 years ago

Copyright 2014 - 2016 © taobao.org |