yutaro-sakamoto / cdk-book

0 stars 0 forks source link

メモ #1

Closed yutaro-sakamoto closed 4 months ago

yutaro-sakamoto commented 4 months ago

CDKのプロジェクトの作成後にやること

eslintとprettierのインストール

npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin typescript-eslint
npm install --save-dev --save-exact prettier
node --eval "fs.writeFileSync('.prettierrc','{}\n')"

eslint.config.mjsに下記の設定を書く

 // @ts-check

import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';

export default tseslint.config(
    eslint.configs.recommended,
    ...tseslint.configs.recommended,
);

package.jsonに下記のような記述を追加する

  "scripts": {
    // 途中は割愛
    "lint": "eslint bin/ lib/",
    "check-lint": "eslint --fix-dry-run bin/ lib/",
    "format": "prettier --ignore-path .gitignore --write '+(bin|lib)/*.+(js|ts|json)'",
    "check-format": "prettier --check --ignore-path .gitignore '+(bin|lib)/*.+(js|ts|json)'"
  },

.git/hook/pre-commitに下記の内容を書き込み、chmod +x .git/hook/pre-commitを実行して実行権限をつける

npm run format
git add -u

GitHub Actionsの設定を行う

name: test 
on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4

      - name: npm ci
        run: npm ci

      - name: Format
        run: npm run check-format

      - name: ESLint
        run: npm run check-lint
yutaro-sakamoto commented 4 months ago

参考リンク

yutaro-sakamoto commented 4 months ago

以降はリポジトリ内のNote.mdに記載する