UNPKG

nhb-express

Version:

Minimal Express + TypeScript scaffolder with modular structure and flexible stack choices.

45 lines (42 loc) 1.24 kB
// @ts-check import { defineScriptConfig, parsePackageJson } from 'nhb-scripts'; import { expressMongooseZodTemplate } from './scripts/moduleTemplate.mjs'; import { updateCollection, updateRoutes } from './scripts/updateTemplate.mjs'; export default defineScriptConfig({ format: { args: ['--write'], files: ['src', 'nhb.scripts.config.mjs'], ignorePath: '.prettierignore', }, lint: { folders: ['src'], patterns: ['**/*.ts'] }, fix: { folders: ['src'], patterns: ['**/*.ts'] }, commit: { runFormatter: !!parsePackageJson()?.devDependencies?.prettier, emojiBeforePrefix: true, wrapPrefixWith: '`', }, build: { distFolder: 'dist', commands: [{ cmd: 'tsc' }, { cmd: 'tsc-alias' }], waitingMessage: ' 📦 Building Your Express Application...', }, count: { defaultPath: 'src', excludePaths: ['node_modules', 'dist', 'public'], }, module: { force: false, defaultTemplate: 'express-mongoose-zod', templates: { 'express-mongoose-zod': { createFolder: true, destination: 'src/app/modules', files: (moduleName) => expressMongooseZodTemplate(moduleName, true), onComplete: (moduleName) => { updateCollection(moduleName); updateRoutes(moduleName, true); }, }, }, }, });