@foxystar/build
v0.1.0
Published
A modular collection of esbuild plugins and build utilities for FoxyStar projects.
Readme
@foxystar/build
A modular collection of esbuild plugins and build utilities for FoxyStar projects.
Installation
npm install @foxystar/build esbuild
esbuildis required as a peer dependency.
Usage
import { PreprocessorPlugin } from "@foxystar/build";
import esbuild from "esbuild";
await esbuild.build({
entryPoints: [ "src/index.ts" ],
bundle: true,
plugins: [
PreprocessorPlugin()
]
});Current Plugins
Processor
A safe compile-time preprocessor with support for conditional code stripping.
//#if,//#elif,//#else,//#endif- Feature flags via esbuild
define - Safe expression evaluation (no
eval)
Supported Operators
- Logical:
&&,||,! - Comparison:
==,!=,<,>,<=,>= - Literals: numbers,
true,false
Using Feature Flags
Define flags using esbuild:
define: {
__DEBUG__: "true",
__VERSION__: "2"
}Preprocessor Syntax
Basic condition:
//#if defined(DEBUG)
console.log("Debug")
//#else
console.log("Production")
//#endifMultiple conditions:
//#if VERSION == 1
console.log("v1")
//#elif VERSION == 2
console.log("v2")
//#endif