1.0.0 • Published 6 years ago
stylus-bundle v1.0.0
stylus-bundle
Bundles all SCSS imports into a single file recursively. This is a fork of scss-bundle which now only supports non-cli usage. Any help appreciated.
Non-CLI usage
This package now supports only non-CLI usage.
Simple example
import path from "path";
import { Bundler } from "stylus-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.styl");
})();API
Bundler
import { Bundler } from "stylus-bundle";Constructor
constructor(fileRegistry: FileRegistry = {}, projectDirectory?: string) {}Arguments
fileRegistry?:Registry - Dictionary of files contents by full pathprojectDirectory?: string- Absolute project location, wherenode_modulesare located. Used for resolving tilde imports
Methods
bundle
public async bundle(file: string, fileRegistry: Registry = {}): Promise<BundleResult>Arguments
file: string- Main file full pathfileRegistry:Registry - Dictionary of files contents by full path
Returns
Promise<BundleResult>
Contracts
BundleResult
import { BundleResult } from "stylus-bundle";interface BundleResult {
imports?: BundleResult[];
tilde?: boolean;
filePath: string;
content?: string;
found: boolean;
}Properties
imports:BundleResult[]- File imports arraytilde?: boolean- Used tilde importfilePath: string- Full file pathcontent: string- File contentfound: boolean- Is file found
Registry
import { Registry } from "stylus-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.