Build Setup
Integrate Atscript into your build process using unplugin-atscript. This plugin automatically compiles .as files during the build, using your configuration file.
Installation
npm install -D unplugin-atscriptVite — Node.js Library
The most common setup: build a Node.js library with external dependencies. The plugin compiles .as files while Vite handles bundling.
// vite.config.js
import { defineConfig } from 'vite'
import atscript from 'unplugin-atscript/vite'
export default defineConfig({
plugins: [atscript()],
build: {
lib: {
entry: 'src/index.ts',
formats: ['es'],
},
rollupOptions: {
external: [/node_modules/],
},
},
})Vite — UI Application
For frontend projects (e.g. Vue, React), add the Atscript plugin alongside your framework plugin:
// vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import atscript from 'unplugin-atscript/vite'
export default defineConfig({
plugins: [atscript(), vue()],
})This lets you import .as types directly in your components — for example, to drive form rendering from metadata or validate user input against your type definitions.
Other Bundlers
unplugin-atscript supports all major bundlers. Import from the bundler-specific entry point:
// rollup.config.js
import atscript from 'unplugin-atscript/rollup'
export default {
plugins: [atscript()],
}// build.js
import { build } from 'esbuild'
import atscript from 'unplugin-atscript/esbuild'
build({
plugins: [atscript()],
entryPoints: ['src/index.ts'],
bundle: true,
outdir: 'dist',
})// rolldown.config.js
import atscript from 'unplugin-atscript/rolldown'
export default {
plugins: [atscript()],
}// webpack.config.js
import atscript from 'unplugin-atscript/webpack'
export default {
plugins: [atscript()],
}// rspack.config.js
import atscript from 'unplugin-atscript/rspack'
export default {
plugins: [atscript()],
}// farm.config.js
import atscript from 'unplugin-atscript/farm'
export default {
plugins: [atscript()],
}How It Works
- Config Discovery — the plugin finds your
atscript.config.jsby searching upward from each.asfile - Plugin Execution — runs all plugins defined in your configuration
- File Generation — generates output based on the
formatsetting in your configuration - Import Resolution — allows importing
.asfiles directly in TypeScript/JavaScript
In development, the plugin compiles on-demand with hot module replacement. In production, it pre-compiles during the build for optimal performance.
Next Steps
- Configuration — config file options
- CLI — build from the command line