Skip to content

Commit 7e20197

Browse files
authored
Merge pull request #415 from ixartz/improve-check
feat: validate i18n files
2 parents 66310d1 + 71a34c8 commit 7e20197

File tree

9 files changed

+3372
-1209
lines changed

9 files changed

+3372
-1209
lines changed

.github/workflows/CI.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,13 @@ jobs:
7171
run: npm run lint
7272

7373
- name: Type checking
74-
run: npm run check-types
74+
run: npm run check:types
75+
76+
- name: Check dependencies
77+
run: npm run check:deps
78+
79+
- name: I18n check
80+
run: npm run check:i18n
7581

7682
unit:
7783
strategy:

.vscode/extensions.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"yoavbls.pretty-ts-errors",
99
"ms-playwright.playwright",
1010
"github.vscode-github-actions",
11-
"lokalise.i18n-ally"
11+
"lokalise.i18n-ally",
12+
"ms-ossdata.vscode-pgsql"
1213
]
1314
}

.vscode/tasks.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
{
77
"label": "Project wide type checking with TypeScript",
88
"type": "npm",
9-
"script": "check-types",
9+
"script": "check:types",
1010
"problemMatcher": ["$tsc"],
1111
"group": {
1212
"kind": "build",

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,12 +155,15 @@ Developer experience first, extremely flexible code structure and only keep what
155155
- 🚫 Lint-staged for running linters on Git staged files
156156
- 🚓 Lint git commit with Commitlint
157157
- 📓 Write standard compliant commit messages with Commitizen
158+
- 🔍 Unused files and dependencies detection with Knip
159+
- 🌍 I18n validation and missing translation detection with i18n-check
158160
- 🦺 Unit Testing with Vitest and Browser mode (replacing React Testing Library)
159161
- 🧪 Integration and E2E Testing with Playwright
160162
- 👷 Run tests on pull request with GitHub Actions
161163
- 🎉 Storybook for UI development
162164
- 🐰 AI-powered code reviews with [CodeRabbit](https://www.coderabbit.ai?utm_source=next_js_starter&utm_medium=github&utm_campaign=next_js_starter_oss_2025)
163165
- 🚨 Error Monitoring with [Sentry](https://sentry.io/for/nextjs/?utm_source=github&utm_medium=paid-community&utm_campaign=general-fy25q1-nextjs&utm_content=github-banner-nextjsboilerplate-logo)
166+
- 🔍 Local development error monitoring with Sentry Spotlight
164167
- ☂️ Code coverage with [Codecov](https://about.codecov.io/codecov-free-trial/?utm_source=github&utm_medium=paid-community&utm_campaign=general-fy25q1-nextjs&utm_content=github-banner-nextjsboilerplate-logo)
165168
- 📝 Logging with Pino.js and Log Management with [Better Stack](https://betterstack.com/?utm_source=github&utm_medium=sponsorship&utm_campaign=next-js-boilerplate)
166169
- 🖥️ Monitoring as Code with [Checkly](https://www.checklyhq.com/?utm_source=github&utm_medium=sponsorship&utm_campaign=next-js-boilerplate)

knip.config.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import type { KnipConfig } from 'knip';
2+
3+
const config: KnipConfig = {
4+
ignore: [
5+
'checkly.config.ts',
6+
'src/libs/I18n.ts',
7+
'src/types/I18n.ts',
8+
'tests/**/*.ts',
9+
],
10+
ignoreDependencies: [
11+
'@commitlint/types',
12+
'@clerk/types',
13+
'conventional-changelog-conventionalcommits',
14+
'vite',
15+
],
16+
compilers: {
17+
css: (text: string) => [...text.matchAll(/(?<=@)import[^;]+/g)].join('\n'),
18+
},
19+
};
20+
21+
export default config;

lefthook.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ pre-commit:
1414
priority: 1
1515
check-types:
1616
glob: '*.{ts,tsx}'
17-
run: npm run check-types
17+
run: npm run check:types
1818
priority: 2

0 commit comments

Comments
 (0)