1.0.0 • Published 5 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_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 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.