@n6k.io/build
v0.1.0
Published
Static build pipeline (.mdx + ts/tsx/js/jsx → esbuild bundle → HTML) for n6k apps
Readme
@n6k.io/build
Static build pipeline for n6k apps. Preprocesses
.mdx pages (and passes .ts/.tsx/.js/.jsx entries through), bundles them
with esbuild, and optionally renders static HTML.
Install
bun add @n6k.io/buildThe package ships raw TypeScript source (no build step) — your bundler
compiles it. esbuild, react, and react-dom are peer dependencies resolved
from the consuming app's node_modules.
Usage
As a CLI (the n6k-build bin):
n6k-build [appDir] [--debug]appDir defaults to the current working directory. Configuration is read from
<appDir>/build/n6k.build.json.
As a library:
import { build } from "@n6k.io/build";
await build(process.cwd());MDX components
The MDX provider (useMDXComponents) is resolved, in order:
mdxComponentsinn6k.build.json— a package specifier or path, e.g."@n6k.io/ui/lib/mdx-components".<appDir>/mdx-components.tsx, if present.- Otherwise none — MDX renders with its built-in default components.
This package has no dependency on @n6k.io/ui; apps opt into a component set
via the mdxComponents config field.
Peer dependencies
esbuild, react, and react-dom are resolved from the consuming app's
node_modules. Optional integrations (@n6k.io/db, @tanstack/react-query,
@storybook/react, storybook, vite) are declared as optional peers and only
needed when you use the matching entry point.
Development
bun install
bun test # run the test suite
bun run typecheck
bun run fmt # format with prettier
bun run ci # fmt:check + typecheck + test (the CI gate)CI runs bun ci on every push and pull request to main. Pushing a v* tag
runs the same gate and then publishes the package to npm
(.github/workflows/publish.yml).
License
MIT
