@oribuild/api
Provides a Node API surface for the Ori bundler.
Usage
import { build } from '@oribuild/api';
async function buildProject() {
const result = await build({
absWorkingDir: '/Users/david/git/project',
outdir: './lib',
outbase: './src',
minify: false,
externals: [],
entryPoints: {
index: './src/index.tsx',
},
});
}
Incremental build usage
For incremental builds, you can provide an incremental
option, and use the rebuild
method from the response to trigger a rebuild.
Note for incremental builds, you must call dispose
on the returned result once you are done with it.
Example:
import { build } from '@oribuild/api';
let result = await build({ ..., incremental: true });
result = result.rebuild();
result.close();
API
build(options: BuildOptions): Promise<BuildResult>
Builds a project given the provided options, and returns a promise that resolves to the build result.
build
options
absWorkingDir
: The absolute working directory of the project. (The root package folder.)entryPoints
: A map of entry points to the absolute path of the source file.outdir
: The output directory.outbase
: The output base directory relative to the working directory. (E.g. "./src")minify
: Whether to minify the output.externals
: An array of external modules to exclude from the bundle.incremental
: Whether to use incremental build
build
output
outputFilePaths
: The bundle.errors
: An array of error definitions.warnings
: An array of warning definitions.metafile: string
: The bundle stats, if the metafile
flag is specified in options.
Note that for incremental builds, the rebuild
and dispose
methods are available on the returned result.
rebuild: () => Promise<BuildResult>
: A method to rebuild the bundle quickly after files have changed.dispose: () => void
: A method to call in incremental build scenarios when you are done with the result.