7 Commits

Author SHA1 Message Date
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 72 additions and 9 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,6 +11,8 @@ 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -40,6 +42,8 @@ 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -69,6 +73,8 @@ 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

View File

@@ -1,8 +1,6 @@
name: Release name: Release
on: on:
release:
types: [published]
push: push:
tags: tags:
- 'v*.*.*' - 'v*.*.*'
@@ -11,6 +9,8 @@ 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -31,6 +31,8 @@ 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -58,6 +60,8 @@ 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -80,10 +84,33 @@ 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- 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@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.2.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
@@ -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.20

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);
}); });