Skip to content

@kubb/core 🦙 ​

The core contains the building blocks for all plugins.

Features ​

  • Read and write to the file system(Windows, Mac and Linux support).
  • Format code/source with Prettier.
  • Types needed to create a plugin and the types needed for the lifecycle/pluginManager.
  • Basic utilities such as isPromise, isURL, createJSDocBlockText, cache,...
  • createPlugin functionality to set up a plugin.
  • defineConfig functionality to set up the kubb.config.js file.
  • Abstract classes for plugins
    • Generator which contains the base with a getter for options and a build function.
  • Managers classes as the base for all logic

Installation ​

shell
bun add @kubb/core
shell
pnpm add @kubb/core
shell
npm install @kubb/core
shell
yarn add @kubb/core

Usage ​

typescript
import { 
write
} from '@kubb/core/fs'
import {
build
} from '@kubb/core'
const {
error
,
files
,
pluginManager
} = await
build
({
config
: {
root
: '.',
input
: {
data
: '',
},
output
: {
path
: './gen',
}, }, }) for (const
file
of
files
) {
await
write
(
file
.
source
,
file
.
path
)
}

Start the build process based on a defined config(see UserConfig type). This will trigger the different plugins and their created lifecycle methods.

Released under the MIT License.