ea22807a3f
The Flutter client (#356) needs to consume the same FabledSword tokens the web SPA uses. Move the data into a structured tokens.json file and generate tokens.generated.css from it on every Vite build. The Flutter side gets its own generator pointed at the same JSON. No visual change — generated CSS matches the previous hand-written file. Also installs @types/node devDependency: tsconfig already declared "types": ["node"] but no Node builtins were referenced in TS until now, so the missing types were latent. The new vite.config.ts plugin imports node:child_process, surfacing the gap.
28 lines
588 B
TypeScript
28 lines
588 B
TypeScript
import { sveltekit } from '@sveltejs/kit/vite';
|
|
import { defineConfig } from 'vite';
|
|
import { execSync } from 'node:child_process';
|
|
|
|
const tokensPlugin = {
|
|
name: 'minstrel-tokens',
|
|
buildStart() {
|
|
execSync('node scripts/tokens-to-css.js', { stdio: 'inherit' });
|
|
}
|
|
};
|
|
|
|
export default defineConfig({
|
|
plugins: [tokensPlugin, sveltekit()],
|
|
server: {
|
|
port: 5173,
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:4533',
|
|
changeOrigin: true
|
|
},
|
|
'/rest': {
|
|
target: 'http://localhost:4533',
|
|
changeOrigin: true
|
|
}
|
|
}
|
|
}
|
|
});
|