Programmatic API
Use @heco-gen/features directly in your Node.js code instead of the CLI.
Installation
bash
npm install @heco-gen/featuresUsage
ts
import { generateFeature, loadConfig, validateConfig } from "@heco-gen/features"
// Load configuration
const config = await loadConfig()
// Generate a feature
await generateFeature("user-profile", config)
// Validate configuration
const result = validateConfig(config)
console.log(result.success)API Reference
generateFeature(name, config)
Generate files for a feature.
ts
import { generateFeature } from "@heco-gen/features"
await generateFeature("blog-post", {
folderNames: {
components: "components",
hooks: "hooks",
},
basePath: "src/features",
})loadConfig(path?)
Load configuration from a file.
ts
import { loadConfig } from "@heco-gen/features"
// Load from default location
const config = await loadConfig()
// Load from custom path
const config = await loadConfig("./custom-config.json")validateConfig(config)
Validate configuration against the schema.
ts
import { validateConfig } from "@heco-gen/features"
const result = validateConfig(userConfig)
if (!result.success) {
console.error(result.error)
}registerGenerator(name, definition)
Register a custom generator programmatically.
ts
import { registerGenerator } from "@heco-gen/features"
registerGenerator("api-endpoint", {
files: [
{
template: "api/handler.ts.hbs",
outputPath: "api/{{camelName}}.ts",
},
],
})registerTemplateEngine(name, engine)
Register a custom template engine.
ts
import { registerTemplateEngine } from "@heco-gen/features"
registerTemplateEngine("ejs", myEjsEngine)