diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..2352744 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @iveelsm diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md deleted file mode 100644 index 350609f..0000000 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Documentation Issue -about: Report issues with documentation -title: "[DOCS] " -labels: documentation -assignees: "" ---- - -## Summary - - - -## Where Docs are Wrong - - - -## How To Make Docs Correct - - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1fe447f..520ee24 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,9 +1,3 @@ -## Related Issues - - - -## Description - -## Type of Change - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] Documentation update - -## Testing Notes - - - -## Checklist +## Related Issues -- [ ] Tests written (both integration and unit) -- [ ] Manual testing performed -- [ ] Documentation updated -- [ ] Code follows the project's style guidelines -- [ ] Self-review of code completed + diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..aca442d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,70 @@ +name: Build + +on: + push: + branches: + - "*" + pull_request: + branches: + - main + +jobs: + build: + name: Compile + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [18.x, 20.x, 22.x, 24.x] + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v6 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version-file: .nvmrc + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Lint + run: npm run lint + + test: + name: Test + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version-file: .nvmrc + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Lint + run: npm run test diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 27414d9..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,91 +0,0 @@ -name: CI - -on: - push: - branches: [main, master] - pull_request: - branches: [main, master] - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18.x, 20.x, 22.x] - - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node-version }} - cache: "npm" - - - name: Install dependencies - run: npm ci - - - name: Build - run: npm run build:compile - - - name: Lint - run: npm run lint - - - name: Unit Tests - run: npm run unit - - - name: Integration Tests - run: npm run integration - - coverage: - runs-on: ubuntu-latest - needs: build - - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js 20.x - uses: actions/setup-node@v4 - with: - node-version: 20.x - cache: "npm" - - - name: Install dependencies - run: npm ci - - - name: Run coverage - run: npm run coverage - - - name: Upload coverage reports - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: false - - dependency-graph: - runs-on: ubuntu-latest - needs: build - - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js 20.x - uses: actions/setup-node@v4 - with: - node-version: 20.x - cache: "npm" - - - name: Install dependencies - run: npm ci - - - name: Install Graphviz - run: sudo apt-get update && sudo apt-get install -y graphviz - - - name: Generate dependency graph - run: npm run build:dependency - - - name: Upload dependency graph - uses: actions/upload-artifact@v4 - with: - name: dependency-graph - path: dependencygraph.svg diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..32f8c50 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24.13.1 diff --git a/package.json b/package.json index 44604ff..ced5c1f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "node": ">=18.0.0" }, "scripts": { - "build": "npm run clean && npm run build:compile && npm run test", + "build": "npm run clean && npm run build:compile", "build:compile": "npm run build:esm && npm run build:cjs && npm run build:cjs-package", "build:esm": "tsc --project tsconfig.json", "build:cjs": "tsc --project tsconfig.cjs.json", diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..005e810 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,56 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "include-component-in-tag": false, + "include-v-in-tag": true, + "tag-separator": "/", + "release-type": "node", + "packages": { + ".": {} + }, + "changelog-sections": [ + { + "type": "feat", + "section": "Features" + }, + { + "type": "fix", + "section": "Bug Fixes" + }, + { + "type": "revert", + "section": "Reverts" + }, + { + "type": "perf", + "section": "Refactors" + }, + { + "type": "refactor", + "section": "Refactors" + }, + { + "type": "chore", + "section": "Chores" + }, + { + "type": "ci", + "section": "Chores" + }, + { + "type": "build", + "section": "Chores" + }, + { + "type": "style", + "section": "Chores" + }, + { + "type": "docs", + "section": "Docs" + }, + { + "type": "test", + "section": "Tests" + } + ] +}