18 Commits

Author SHA1 Message Date
renovate[bot]
b8c5fd9656 chore(deps)!: update actions/setup-node (v5.0.0 → v6.2.0)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-15 04:41:13 +00:00
renovate[bot]
a54c79acdd chore(deps): update node.js (v22.21.1 → v22.22.0) (#21)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-15 04:40:17 +00:00
renovate[bot]
d419ee69a7 chore(deps): update softprops/action-gh-release action (v2.4.2 → v2.5.0) (#19)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-03 06:32:30 +00:00
renovate[bot]
a5c0fb1320 chore(deps): update davelosert/vitest-coverage-report-action action (v2.8.3 → v2.9.0) (#18)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-01 21:01:06 +00:00
renovate[bot]
02338683de chore(deps): update actions/checkout action (v5.0.0 → v5.0.1) (#16)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 08:38:56 +00:00
renovate[bot]
599f57ba8b chore(deps): update softprops/action-gh-release action (v2.4.1 → v2.4.2) (#15)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-10 04:35:51 +00:00
renovate[bot]
21a5b2cb01 chore(deps): update node.js (v22.20.0 → v22.21.0) (#10)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 19:15:46 +00:00
renovate[bot]
bce003d3e9 chore(deps): update softprops/action-gh-release action (v2.4.0 → v2.4.1) (#8)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-13 01:11:00 +00:00
renovate[bot]
5c592981da chore(deps): update softprops/action-gh-release action (v2.3.4 → v2.4.0) (#6)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-10 02:28:50 +00:00
renovate[bot]
4840f1bb0e chore(deps): update softprops/action-gh-release action (v2.3.3 → v2.3.4) (#5)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-05 04:35:11 +00:00
renovate[bot]
7dece07672 chore(deps): update softprops/action-gh-release action (v2.2.0 → v2.3.3) (#4)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 02:41:42 +00:00
bb1deabc35 chore: release v1.0.1 2025-09-30 23:56:28 +03:00
42f087eb5a fix: running with npx 2025-09-30 23:55:59 +03:00
renovate[bot]
d007e6ae76 chore(deps): update node.js (v22.18.0 → v22.20.0) (#3)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-30 23:22:05 +03:00
fca04856a8 chore: fixes to release workflow and release shortcuts 2025-09-30 23:18:56 +03:00
ivuorinen
91727e3863 style: auto-fix biome issues [skip ci] 2025-09-30 19:58:28 +00:00
739cf20efc fix(ci): codeql reported problems 2025-09-30 22:52:48 +03:00
renovate[bot]
e776d222de chore(deps): add .github/renovate.json (#1)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-30 22:41:36 +03:00
7 changed files with 88 additions and 25 deletions

4
.github/renovate.json vendored Normal file
View File

@@ -0,0 +1,4 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>ivuorinen/renovate-config"]
}

View File

@@ -11,14 +11,16 @@ jobs:
lint: lint:
name: Lint & Auto-fix name: Lint & Auto-fix
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with: with:
node-version: 'lts/*' node-version: 'lts/*'
cache: 'npm' cache: 'npm'
@@ -40,14 +42,16 @@ jobs:
name: Test name: Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: lint needs: lint
permissions:
contents: read
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with: with:
ref: ${{ github.head_ref || github.ref_name }} ref: ${{ github.head_ref || github.ref_name }}
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with: with:
node-version: 'lts/*' node-version: 'lts/*'
cache: 'npm' cache: 'npm'
@@ -69,14 +73,16 @@ jobs:
name: Build name: Build
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: lint needs: lint
permissions:
contents: read
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with: with:
ref: ${{ github.head_ref || github.ref_name }} ref: ${{ github.head_ref || github.ref_name }}
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with: with:
node-version: 'lts/*' node-version: 'lts/*'
cache: 'npm' cache: 'npm'
@@ -103,7 +109,7 @@ jobs:
pull-requests: write pull-requests: write
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Download coverage artifacts - name: Download coverage artifacts
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
@@ -112,7 +118,7 @@ jobs:
path: coverage/ path: coverage/
- name: Vitest Coverage Report - name: Vitest Coverage Report
uses: davelosert/vitest-coverage-report-action@8ab049ff5a2c6e78f78af446329379b318544a1a # v2.8.3 uses: davelosert/vitest-coverage-report-action@5b6122e3a819a3be7b27fc961b7faafb3bf00e4d # v2.9.0
with: with:
json-summary-path: coverage/coverage-summary.json json-summary-path: coverage/coverage-summary.json
json-final-path: coverage/coverage-final.json json-final-path: coverage/coverage-final.json

View File

@@ -1,8 +1,6 @@
name: Release name: Release
on: on:
release:
types: [published]
push: push:
tags: tags:
- 'v*.*.*' - 'v*.*.*'
@@ -11,12 +9,14 @@ jobs:
lint: lint:
name: Lint name: Lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: read
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with: with:
node-version: 'lts/*' node-version: 'lts/*'
cache: 'npm' cache: 'npm'
@@ -31,12 +31,14 @@ jobs:
name: Test name: Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: lint needs: lint
permissions:
contents: read
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with: with:
node-version: 'lts/*' node-version: 'lts/*'
cache: 'npm' cache: 'npm'
@@ -58,12 +60,14 @@ jobs:
name: Build name: Build
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: lint needs: lint
permissions:
contents: read
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with: with:
node-version: 'lts/*' node-version: 'lts/*'
cache: 'npm' cache: 'npm'
@@ -80,19 +84,42 @@ jobs:
name: dist name: dist
path: dist/ path: dist/
create-release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: [lint, test, build]
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Download build artifacts
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: dist
path: dist/
- name: Create GitHub Release
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
with:
generate_release_notes: true
files: |
dist/**/*
publish: publish:
name: Publish to npm name: Publish to npm
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [lint, test, build] needs: [lint, test, build, create-release]
permissions: permissions:
contents: read contents: read
id-token: write id-token: write
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with: with:
node-version: 'lts/*' node-version: 'lts/*'
cache: 'npm' cache: 'npm'
@@ -104,7 +131,24 @@ jobs:
- name: Build project - name: Build project
run: npm run build run: npm run build
- name: Check if version exists on npm
id: check-version
run: |
PACKAGE_VERSION=$(node -p "require('./package.json').version")
PACKAGE_NAME=$(node -p "require('./package.json').name")
echo "version=$PACKAGE_VERSION" >> $GITHUB_OUTPUT
echo "name=$PACKAGE_NAME" >> $GITHUB_OUTPUT
if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version 2>/dev/null; then
echo "exists=true" >> $GITHUB_OUTPUT
echo "⚠️ Version $PACKAGE_VERSION already exists on npm, skipping publish"
else
echo "exists=false" >> $GITHUB_OUTPUT
echo "✅ Version $PACKAGE_VERSION does not exist on npm, will publish"
fi
- name: Publish to npm - name: Publish to npm
if: steps.check-version.outputs.exists == 'false'
run: npm publish --provenance --access public run: npm publish --provenance --access public
env: env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

2
.nvmrc
View File

@@ -1 +1 @@
22.18 22.22

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@ivuorinen/gh-codeql-report", "name": "@ivuorinen/gh-codeql-report",
"version": "1.0.0", "version": "1.0.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@ivuorinen/gh-codeql-report", "name": "@ivuorinen/gh-codeql-report",
"version": "1.0.0", "version": "1.0.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@types/yargs": "^17.0.33", "@types/yargs": "^17.0.33",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ivuorinen/gh-codeql-report", "name": "@ivuorinen/gh-codeql-report",
"version": "1.0.0", "version": "1.0.1",
"description": "Collect repository CodeQL findings as a LLM ready report for easier fixing.", "description": "Collect repository CodeQL findings as a LLM ready report for easier fixing.",
"keywords": [ "keywords": [
"cli", "cli",
@@ -32,7 +32,10 @@
"lint": "biome check src/", "lint": "biome check src/",
"lint:fix": "biome check --write .", "lint:fix": "biome check --write .",
"format": "biome format --write .", "format": "biome format --write .",
"prepare": "husky" "prepare": "husky",
"release:patch": "npm version patch -m 'chore: release v%s' && git push origin main --follow-tags",
"release:minor": "npm version minor -m 'chore: release v%s' && git push origin main --follow-tags",
"release:major": "npm version major -m 'chore: release v%s' && git push origin main --follow-tags"
}, },
"dependencies": { "dependencies": {
"@types/yargs": "^17.0.33", "@types/yargs": "^17.0.33",

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env node #!/usr/bin/env node
import { writeFile } from 'node:fs/promises'; import { writeFile } from 'node:fs/promises';
import { fileURLToPath } from 'node:url';
import { Octokit } from 'octokit'; import { Octokit } from 'octokit';
import yargs from 'yargs'; import yargs from 'yargs';
import { hideBin } from 'yargs/helpers'; import { hideBin } from 'yargs/helpers';
@@ -114,7 +115,12 @@ export async function main(): Promise<number> {
} }
// Only run if this is the main module (not imported for testing) // Only run if this is the main module (not imported for testing)
if (import.meta.url === `file://${process.argv[1]}`) { const modulePath = fileURLToPath(import.meta.url);
const isMainModule =
process.argv[1] &&
(modulePath === process.argv[1] || modulePath === fileURLToPath(`file://${process.argv[1]}`));
if (isMainModule) {
main().then((exitCode) => { main().then((exitCode) => {
process.exit(exitCode); process.exit(exitCode);
}); });