Slack Desktop 是使用 Electron 開發的 ,但是隨著 codebase 越來越大,Slack 桌面 App 團隊開始將原有的 javascript 轉移到 TypeScript ,這篇文章分享了他們的轉移經驗,還有獲得了哪些好處,在文章看到幾個重點
1. TypeScript 是有型別的,在安裝了編輯器 plugin 支援下可以動態檢查是否會呼叫到不存在的屬性或是 function
2. TypeScript 可以與 javascript 共存, 所以要從 javascript 轉移到 TypeScript 可以採用漸進式移轉, 而不是將 javascript 完全打掉重練
3. 在將 Javascript 移轉到 TypeScript 過程中,開發者使用 type checker 找到許多 bugs
4. 在 pre-commit hook 使用 TSLint 檢查修改的 code 是否有符合 linting rules
5. 第三方程式庫也必須是 TypeScript 相容,如果有些程式庫沒有型別定義, 這篇文章提到一個 DefinitelyTyped 專案可以找到 The repository for high quality TypeScript type definitions. 可以使用 npm install @types/react 安裝
▶對於 Typescript 有興趣可以參考這門熱門課程 Understanding TypeScript https://goo.gl/Q8GfI2
https://slack.engineering/typescript-at-slack-a81307fa288d
「pre-commit npm」的推薦目錄:
- 關於pre-commit npm 在 軟體開發學習資訊分享 Facebook 的最讚貼文
- 關於pre-commit npm 在 Husky - Git hooks 的評價
- 關於pre-commit npm 在 fastify/pre-commit - GitHub 的評價
- 關於pre-commit npm 在 add husky pre-commit hook with npm@6 on windows 的評價
- 關於pre-commit npm 在 Build a robust React app with Husky pre-commit hooks and ... 的評價
- 關於pre-commit npm 在 Add Prettier, Eslint, and pre-commit hooks - YouTube 的評價
- 關於pre-commit npm 在 Edit #1 - Salesforce Stack Exchange 的評價
- 關於pre-commit npm 在 pre commit npm的推薦與評價,GITHUB - 居家網紅推薦指南 的評價
pre-commit npm 在 fastify/pre-commit - GitHub 的推薦與評價
@fastify/pre-commit is a pre-commit hook installer for git . It will ensure that your npm test (or other specified scripts) passes before you can commit ... ... <看更多>
pre-commit npm 在 Husky - Git hooks 的推薦與評價
It will setup husky, modify package.json and create a sample pre-commit hook that you can edit. By default, it will run npm test when you commit. ... <看更多>