refactor(website): convert to ES modules with TypeScript

- Replace all inline scripts with TypeScript modules
- Create page-specific modules for agents, prompts, instructions, skills, collections, index
- Create core modules: utils.ts, search.ts, modal.ts, choices.ts, jszip.ts, theme.ts
- Remove window global exports, use proper ES module imports
- Add type interfaces for all data structures
- Use data-base-path attribute on body for base URL handling
- Bundle Choices.js and JSZip via npm instead of CDN
- Astro pages now just have single script import each
This commit is contained in:
Aaron Powell
2026-01-28 16:38:49 +11:00
parent 875219812e
commit 6bcb6ffc37
69 changed files with 42046 additions and 3 deletions

View File

@@ -16,8 +16,11 @@
"skill:validate": "node ./eng/validate-skills.mjs",
"skill:create": "node ./eng/create-skill.mjs",
"website:build-data": "node ./eng/generate-website-data.mjs",
"website:build": "npm run build && npm run website:build-data",
"website:serve": "npx serve website -l 3000"
"website:build-old": "npm run build && npm run website:build-data",
"website:serve-old": "npx serve website -l 3000",
"website:dev": "npm run website:build-data && cp website/data/*.json website-astro/public/data/ && npm run --prefix website-astro dev",
"website:build": "npm run build && npm run website:build-data && cp website/data/*.json website-astro/public/data/ && npm run --prefix website-astro build",
"website:preview": "npm run --prefix website-astro preview"
},
"repository": {
"type": "git",