گیت - چگونه قبل از کامیت نوع تایپاسکریپت را بررسی کنیم؟


من میخواهم نوع TypeScript را قبل از کامیت بررسی کنم، بنابراین از tsc --noEmit $ (changedFile) استفاده میکنم. با این حال، این دستور نمیتواند فایل config را مشخص کند.

من گزینه --project را پیدا کردم، اما این گزینه کل پروژه را بررسی میکند و من فقط میخواهم changedFile را بررسی کنم، چون بعضی old files خطای نوع دارند اما نیازی به رسیدگی ندارند.

پس چگونه فقط نوع changedFile را قبل از کامیت چک کنم؟

پاسخ شماره ۱

شما میتوانید از یک ابزار فوقالعاده به نام lint-staged استفاده کنید.
این کتابخانه پروندههای شما را قبل از هر commit بررسی میکند. https://github.com/okonet/lint-staged

نصب

npx mrm lint-staged

استفاده برای تایپاسکریپت

// lint-staged.config.js
module.exports = {
  '**/*.ts?(x)': () => 'tsc -p tsconfig.json --noEmit'
}

پاسخ شماره ۲

من همان مشکل را داشتم و این بسته به من برای بررسی نوعها در lint-staged کمک کرد:

"**/*.ts?(x)": [
  "tsc-files --noEmit"
]

شما میتوانید بسته tsc-files را با npm i tsc-files نصب کنید