3 Commits

Author SHA1 Message Date
Matt Isenhower
b8753da78d Preserve original Vue component formatting 2026-09-07 13:48:03 -07:00
Matt Isenhower
000f21e0c3 Make the whole package an ES module
Replaces the four nested package.json scopes with "type": "module" at
the root. The three CommonJS config files become .cjs. Webpack would
otherwise treat src/web as strict ESM, which forbids the require() calls
used for locale files and image assets and demands extensions on every
import, so the Vue config keeps the js rule in webpack's mixed mode.
Build, tests, lint, and the built site were verified, including the
dialogs, a language switch, and the screenshots page.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 11:07:10 -07:00
Matt Isenhower
ea3639ea99 Upgrade to ESLint 10 and import bundled JSON with import attributes
ESLint moves to a flat config (eslint.config.mjs) with the same rules,
run directly by npm run lint; @vue/cli-plugin-eslint is dropped since the
Vue build does not need it. With a parser that understands import
attributes, the bundled data files (brands, skills, gear, finalFest,
shiftyStations) are imported with `with { type: 'json' }`, which Node and
the Workers bundler both support, instead of being read through node:fs.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 09:59:09 -07:00