@goodie-ts/vite-plugin
v2.0.0
Published
Vite plugin for goodie-ts compile-time dependency injection
Readme
@goodie-ts/vite-plugin
Vite plugin for goodie-ts compile-time dependency injection.
Install
pnpm add -D @goodie-ts/vite-pluginOverview
Runs the goodie-ts transformer automatically during Vite builds and re-runs on HMR when .ts files change. This is the recommended way to integrate goodie-ts into your project.
Usage
// vite.config.ts
import { defineConfig } from 'vite';
import { diPlugin } from '@goodie-ts/vite-plugin';
export default defineConfig({
plugins: [diPlugin()],
});Options
diPlugin({
tsConfigPath: 'tsconfig.json', // default
outputPath: 'src/AppContext.generated.ts', // default
include: ['src/**/*.ts'], // source file globs
debounceMs: 100, // HMR rebuild debounce
configDir: 'config', // JSON config file directory
});configDir
When set, the generated code loads JSON config files (default.json, {NODE_ENV}.json) from this directory at startup. Config values are flattened to dot-separated keys and merged with process.env. See @goodie-ts/core for loadConfigFiles() details.
Behavior
buildStart— full transform, fails the build on errorshandleHotUpdate— debounced rebuild on.tschanges, logs errors without crashing (better DX in dev)- The generated output file is excluded from HMR triggers to prevent infinite rebuild loops
