diff --git a/client_v2/package.json b/client_v2/package.json index 5d0f8ea0..cd0ed774 100644 --- a/client_v2/package.json +++ b/client_v2/package.json @@ -12,8 +12,9 @@ "preview": "vite preview", "test": "vitest run", "test:watch": "vitest", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "paraglide": "paraglide-js compile --project ./project.inlang --outdir ./src/lib/paraglide --strategy localStorage preferredLanguage baseLocale", + "check": "npm run paraglide && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "npm run paraglide && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "format": "prettier --write .", "lint": "prettier --check . && eslint .", "lint:eslint": "eslint .", diff --git a/lefthook.yml b/lefthook.yml index 27ebd6a0..8049dbb5 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -36,8 +36,12 @@ pre-commit: stage_fixed: true - name: Run type check on client_v2 files root: "client_v2/" - # svelte-kit sync generates .svelte-kit/tsconfig.json, which svelte-check needs. - run: ./node_modules/.bin/svelte-kit sync && ./node_modules/.bin/svelte-check --tsconfig ./tsconfig.json + # Both prerequisites are gitignored generated code, absent on a fresh + # clone: paraglide compiles $lib/paraglide (normally done by the vite + # plugin, so a non-build check never triggers it), and svelte-kit sync + # generates .svelte-kit/tsconfig.json. npm run keeps the paraglide + # flags in package.json only, so they can't drift from vite.config.ts. + run: npm run paraglide && ./node_modules/.bin/svelte-kit sync && ./node_modules/.bin/svelte-check --tsconfig ./tsconfig.json # Same as pre-commit but no fixes ci: @@ -72,6 +76,6 @@ ci: run: ./node_modules/.bin/prettier --check . - name: Run type check on client_v2 files root: "client_v2/" - # svelte-kit sync generates .svelte-kit/tsconfig.json, which svelte-check needs. - run: ./node_modules/.bin/svelte-kit sync && ./node_modules/.bin/svelte-check --tsconfig ./tsconfig.json + # See the ci hook's copy of this job for why paraglide runs first. + run: npm run paraglide && ./node_modules/.bin/svelte-kit sync && ./node_modules/.bin/svelte-check --tsconfig ./tsconfig.json