Development Notes for ArcoMage HD
- Install dependencies:
bun install
- Start the project in development mode:
bun start
- Before releasing a new version, run the checks:
bun checkall
git add .
git commit -m "<YOURMESSAGE>"
- To bump the version, tag it, and push:
bun version a.b.c
(see tools/version/bump.ts for detailed usage)- This will automatically handle the following tasks:
- check if git dirty
- write new version to package.json
git add package.json
git commit -m "chore: bump version to va.b.c"
git tag -a va.b.c -m "chore: bump version to va.b.c"
git push --follow-tags
- When adding a new language, also update
og:locale:alternate
in ./src/index.html.ejs. - If there are changes to the description, search the first few words in the entire project and replace them:
- The following files should be updated:
- ./assets/logo/manifest.template.ts
- ./webpack.config.js
- ./package.json
- ./src/i18n/main/en.ts
- The following file should be regenerated:
- ./assets/logo/manifest.json
- The following files should be updated:
- Husky and commitlint are no longer used.
bun
: Install dependenciesbun start
: Start the project in development modebun run build
: Build the project in production modebun build:local
: Build the project in both production and local modebun checkall
: Run format with Prettier, lint with ESLint, check types, and run basic tests (see below)bun test
: Run basic tests (Jest tests from < v1.5 are not yet all migrated after v1.5's upgrade/migration to react 19 & bun)bun format
: Format code using Prettierbun lint
: Lint code using ESLintbun typecheck
: Check TypeScript typesbun version a.b.c
: Update the version toa.b.c
inpackage.json
, create a tag, and commit changes (see tools/version/bump.ts for detailed usage)bun tool:zhconvert
: Convert text from zh-Hans to zh-Hant (used for 'cards' & 'main', not 'taverns')bun tool:imgpc
: Extract (crop) images from the original game’s big imagebun tool:imgmin
: Minify images (the minified PNG images are stored in./img-min/original/
before being converted to .webp)bun tool:genimgimports
: Generate card image imports in./src/data/cardImgImports.ts
(unused & not generated for now)bun tool:datapc
: Extract card data from an Excel filebun tool:taverns
: Extract tavern data from an Excel filebun tool:geticelist
: Fetch a free STUN server listbun tool:manifest
: Generatemanifest.json
and iconsbun tool:ocr:pre
: Prepare OCR processingbun tool:ocr
: Extract card text in different languagesbun tool:i18ncheck:card
: Check card localizationbun tool:i18ncheck:main
: Check main localizationbun tool:i18ncheck:specific
: Validate all localization with language-specific rulesbun tool:calcscore
: Compute all card scores (for AI)bun tool:cardbalance
: Analyze accumulated card effect results (for balancing probabilities)bun tool:i18nextract
: Extract tavern translationsbun tool:i18njs2text
: Convert localization scripts to pure textbun tool:i18ntext2js
: Convert pure text back to localization scriptsbun tool:cardsbk
: Backup card data to./__test__/cardsbk.ts
bun tool:resizesvg
: Resize SVG images in./misc/readme_images/
bun tool:reduxreducers
: Remove duplicate auto-generated reducer tests from Redux DevToolsbun linecount
: Get the total line count of the project