From 060b82b6d83c25fc4eb7b8f69974c126d63663e3 Mon Sep 17 00:00:00 2001 From: Fabio Gartenmann <137318798+artiphishle@users.noreply.github.com> Date: Mon, 4 May 2026 21:17:24 +0200 Subject: [PATCH 1/6] chore: standardize bun tooling baseline --- package.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 565738f..8c0f5a7 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "lint": "eslint .", "format": "prettier --write .", "format:check": "prettier --check .", - "test": "bun test" + "test": "bun test", + "version-packages": "changeset version" }, "dependencies": { "@eslint/js": "^10.0.1", @@ -41,8 +42,9 @@ }, "devDependencies": { "@changesets/cli": "^2.30.0", + "@types/bun": "^1.3.13", "@types/node": "^25.2.3", - "bun-types": "^1.3.11", "typescript": "^5.9.3" - } + }, + "packageManager": "bun@1.3.13" } From 2a10441a83bbc19318c6240c49e6b01f4f6301dd Mon Sep 17 00:00:00 2001 From: Fabio Gartenmann <137318798+artiphishle@users.noreply.github.com> Date: Mon, 4 May 2026 21:17:49 +0200 Subject: [PATCH 2/6] chore: use bun type library --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 5f05acf..196c29d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, - "types": ["bun-types"] + "types": ["bun"] }, "include": ["src/**/*"], "exclude": ["src/**/*.test.ts"] From 9ebcde6f9777f8494fc34dec4d5cf2451f967517 Mon Sep 17 00:00:00 2001 From: Fabio Gartenmann <137318798+artiphishle@users.noreply.github.com> Date: Mon, 4 May 2026 21:18:24 +0200 Subject: [PATCH 3/6] ci: add standard workflow baseline --- .github/workflows/ci.yml | 77 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..e540a4c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,77 @@ +name: CI + +on: + pull_request: + push: + branches: + - main + +permissions: + contents: read + +jobs: + validate: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: '1.3.13' + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Run build + run: | + if node -e "const p=require('./package.json'); process.exit(p.scripts?.build ? 0 : 1)"; then + bun run build + else + echo "No build script found; skipping." + fi + + - name: Run lint + run: | + if node -e "const p=require('./package.json'); process.exit(p.scripts?.lint ? 0 : 1)"; then + bun run lint + else + echo "No lint script found; skipping." + fi + + - name: Run format check + run: | + if node -e "const p=require('./package.json'); process.exit(p.scripts?.['format:check'] ? 0 : 1)"; then + bun run format:check + else + echo "No format:check script found; skipping." + fi + + - name: Run tests + run: | + if node -e "const p=require('./package.json'); process.exit(p.scripts?.test ? 0 : 1)"; then + bun run test + else + echo "No test script found; skipping." + fi + + - name: Run typecheck + run: | + if node -e "const p=require('./package.json'); process.exit(p.scripts?.typecheck ? 0 : 1)"; then + bun run typecheck + else + echo "No typecheck script found; skipping." + fi + + - name: Check changesets + if: github.event_name == 'pull_request' + run: | + if [ -f ./scripts/check-changeset-status.sh ]; then + bash ./scripts/check-changeset-status.sh + else + echo "No changeset status script found; skipping." + fi From b1bef4d0800fd63ad24de22ed7ba3cd289a1e225 Mon Sep 17 00:00:00 2001 From: Fabio Gartenmann <137318798+artiphishle@users.noreply.github.com> Date: Mon, 4 May 2026 21:18:50 +0200 Subject: [PATCH 4/6] ci: add standard release workflow baseline --- .github/workflows/release.yml | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..71e5870 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,65 @@ +name: Release + +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + id-token: write + +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: false + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: '1.3.13' + + - name: Setup Node for npm publishing + uses: actions/setup-node@v4 + with: + node-version: 24 + registry-url: https://registry.npmjs.org + + - name: Update npm + run: npm install -g npm@latest + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Build package + run: | + if node -e "const p=require('./package.json'); process.exit(p.scripts?.build ? 0 : 1)"; then + bun run build + else + echo "No build script found; skipping." + fi + + - name: Create release pull request or publish to npm + if: hashFiles('.changeset/config.json') != '' + uses: changesets/action@v1 + with: + version: bun run version-packages + publish: bunx changeset publish + commit: Version Packages + title: Version Packages + env: + GITHUB_TOKEN: ${{ github.token }} + + - name: Skip release + if: hashFiles('.changeset/config.json') == '' + run: echo "No Changesets config found; skipping release." From ce4b37dba5130c22a884457b9c2234997822ee69 Mon Sep 17 00:00:00 2001 From: Fabio Gartenmann <137318798+artiphishle@users.noreply.github.com> Date: Mon, 4 May 2026 21:29:35 +0200 Subject: [PATCH 5/6] chore: add workflow standardization changeset --- .changeset/standard-bun-workflows.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/standard-bun-workflows.md diff --git a/.changeset/standard-bun-workflows.md b/.changeset/standard-bun-workflows.md new file mode 100644 index 0000000..d363b43 --- /dev/null +++ b/.changeset/standard-bun-workflows.md @@ -0,0 +1,5 @@ +--- +'@ankhorage/devtools': patch +--- + +Standardize CI/release workflow files and update the Bun tooling baseline. From 60950f626b16fd20a8a44dce139b9e2f967c3a2d Mon Sep 17 00:00:00 2001 From: Fabio Gartenmann <137318798+artiphishle@users.noreply.github.com> Date: Mon, 4 May 2026 21:51:08 +0200 Subject: [PATCH 6/6] chore: standardize package metadata --- package.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package.json b/package.json index 8c0f5a7..5d13533 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,14 @@ "name": "@ankhorage/devtools", "version": "1.0.1", "description": "Shared Lint and Format Configuration for Ankhorage", + "homepage": "https://github.com/ankhorage/devtools#readme", + "bugs": { + "url": "https://github.com/ankhorage/devtools/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ankhorage/devtools.git" + }, "type": "module", "publishConfig": { "access": "public"