chore: scaffold Vite + TS + Vitest project

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
sjat 2026-06-08 22:08:36 +02:00
parent 940b0b2fbe
commit 959c1fa44e
8 changed files with 1402 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
node_modules
dist

11
index.html Normal file
View file

@ -0,0 +1,11 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>G-Code Overlay</title>
</head>
<body>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

1346
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

17
package.json Normal file
View file

@ -0,0 +1,17 @@
{
"name": "gcode-overlay",
"version": "0.1.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc --noEmit && vite build",
"preview": "vite preview",
"test": "vitest run",
"test:watch": "vitest"
},
"devDependencies": {
"typescript": "^5.5.0",
"vite": "^5.4.0",
"vitest": "^2.1.0"
}
}

1
src/main.ts Normal file
View file

@ -0,0 +1 @@
console.log('gcode-overlay booting');

7
src/smoke.test.ts Normal file
View file

@ -0,0 +1,7 @@
import { describe, it, expect } from 'vitest';
describe('harness', () => {
it('runs', () => {
expect(1 + 1).toBe(2);
});
});

13
tsconfig.json Normal file
View file

@ -0,0 +1,13 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"noUncheckedIndexedAccess": true,
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"types": ["vitest/globals"],
"skipLibCheck": true
},
"include": ["src", "vite.config.ts"]
}

5
vite.config.ts Normal file
View file

@ -0,0 +1,5 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: { globals: true, environment: 'node' },
});