diff --git a/.eslintignore b/.eslintignore index 763301f..64f046d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ dist/ -node_modules/ \ No newline at end of file +node_modules/ +coverage/ \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index ed2cee4..d768f01 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -12,6 +12,8 @@ "plugins": ["unused-imports"], "rules": { "@typescript-eslint/strict-boolean-expressions": "off", + "@typescript-eslint/no-unsafe-argument": "warn", + "@typescript-eslint/return-await": "off", "@typescript-eslint/no-unused-vars": "off", "unused-imports/no-unused-imports": "error", "unused-imports/no-unused-vars": [ diff --git a/.github/workflows/ci-workflow.yaml b/.github/workflows/ci-workflow.yaml new file mode 100644 index 0000000..4e503dd --- /dev/null +++ b/.github/workflows/ci-workflow.yaml @@ -0,0 +1,50 @@ +name: CI Pipeline + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +jobs: + lint-and-test: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [16.x, 18.x, 20.x] + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - uses: pnpm/action-setup@v3 + name: Install pnpm + with: + version: 8.15.4 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + # - uses: actions/cache@v3 + # name: Setup pnpm cache + # with: + # path: ${{ env.STORE_PATH }} + # key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + # restore-keys: | + # ${{ runner.os }}-pnpm-store- + + # - name: Install + # run: pnpm install --frozen-lockfile --strict-peer-dependencies + # - run: pnpm build + # - run: pnpm lint + # - run: pnpm prettier + # - run: pnpm test:cov + + # - name: Update Coverage Badge + # if: github.ref == format('refs/heads/{0}', github.event.repository.default_branch) + # uses: we-cli/coverage-badge-action@main diff --git a/.gitignore b/.gitignore index fc4006e..fd7850a 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ logs # Misc .DS_Store .npmrc +coverage/ \ No newline at end of file diff --git a/package.json b/package.json index dc4d82f..9454e8b 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,9 @@ "scripts": { "test": "pnpm --filter @node-idempotency/* test", "test:e2e": "pnpm --filter @node-idempotency/* test:e2e", - "lint": "eslint packages/**/*.ts", + "test:cov": "pnpm --filter @node-idempotency/* test:e2e --coverage --coverageReporters=\"json-summary\"", + "lint": "eslint -v", + "prettier": "prettier -c .", "lint:fix": "eslint packages/**/*.ts --fix", "format": "prettier --write .", "build": "pnpm --filter @node-idempotency/* build", diff --git a/packages/plugin-express/package.json b/packages/plugin-express/package.json index 381e337..3ed6d3c 100644 --- a/packages/plugin-express/package.json +++ b/packages/plugin-express/package.json @@ -50,7 +50,7 @@ "@node-idempotency/shared": "1.0.1", "@node-idempotency/storage": "1.0.2", "@node-idempotency/storage-adapter-memory": "1.0.1", - "express": "^4.19.1" + "express": "^4.19.2" }, "devDependencies": { "@types/express": "^4.17.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54a2176..0f0cd67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -102,8 +102,8 @@ importers: specifier: 1.0.1 version: link:../storage-adapter-memory express: - specifier: ^4.19.1 - version: 4.19.1 + specifier: ^4.19.2 + version: 4.19.2 devDependencies: "@types/express": specifier: ^4.17.21 @@ -4167,10 +4167,10 @@ packages: transitivePeerDependencies: - supports-color - /express@4.19.1: + /express@4.19.2: resolution: { - integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==, + integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==, } engines: { node: ">= 0.10.0" } dependencies: