auto-svelte-pages-ts
v2.2.2
Published
Generate Svelte TypeScript entry/component files from HTML pages and sync Vite multi-page inputs.
Maintainers
Readme
auto-svelte-pages-ts
Generate Svelte TypeScript entry + component files from root HTML pages and auto-sync Vite multi-page rollupOptions.input.
Features
- Scan root
*.htmlfiles and generate:- HTML boilerplate (
#app+ script to./src/entry/<name>.ts) for empty HTML files src/entry/<name>.tssrc/component/<Name>.svelte
- HTML boilerplate (
- Targeted mode: generate only selected files (
auto-svelte-pages-ts file1 file2) - Auto-update
vite.config.jsinput block using markers - Reusable as CLI or JavaScript module
Install
npm i -D auto-svelte-pages-tsRequired Vite Markers
In vite.config.ts, add this marker block inside build.rollupOptions.input:
build: {
rollupOptions: {
input: {
// AUTO-GENERATED VITE INPUT START
// AUTO-GENERATED VITE INPUT END
},
},
},The CLI replaces only the content between those markers.
CLI Options
--no-viteskip updatingvite.config.ts--root-onlyonly use root HTML files for Vite input (no recursive scan)--root <path>project root (default: current directory)--src-dir <dir>source directory under root (default:src)--entry-dir <dir>entry directory under src (default:entry)--component-dir <dir>component directory under src (default:component)--vite-config <file>Vite config path from root (default:vite.config.ts)--css-import <path>CSS import path for generated entry files (default:../app.css)--config <file>config file path (default:auto-svelte-pages.config.ts, fallback.js)--watchwatch root HTML files and regenerate on changes
Script Setup Example
{
"scripts": {
"generate:all": "auto-svelte-pages-ts",
"generate:": "auto-svelte-pages-ts",
"generate:watch:ts": "auto-svelte-pages-ts --watch"
}
}Config File
Create auto-svelte-pages.config.ts in project root:
export default {
dirs: {
src: 'src',
entry: 'entry',
component: 'component',
},
cssImport: '../app.css',
markers: {
start: '// AUTO-GENERATED VITE INPUT START',
end: '// AUTO-GENERATED VITE INPUT END',
},
};Priority order:
- CLI args
- config file
- built-in defaults
Use
Single file:
npm run generate: -- fileMultiple files:
npm run generate: -- file1 file2All files:
npm run generate:allWatch mode:
npm run generate:watch:tsProgrammatic API
import { generatePages } from "auto-svelte-pages-ts";
await generatePages({
force: false,
updateVite: true,
});Changelog
- See
CHANGELOG.mdfor release notes.
