Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: "weekly"
assignees:
- "edosrecki"
- package-ecosystem: "github-actions"
directory: "/"
interval: 'weekly'
ignore:
- dependency-name: '@types/node'
update-types: ['version-update:semver-major']

- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: "weekly"
assignees:
- "edosrecki"
interval: 'weekly'
23 changes: 15 additions & 8 deletions .github/workflows/continuous-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,29 @@ jobs:
name: Build and deploy app
runs-on: ubuntu-latest
steps:
- name: Checkout code
- name: 📂 Checkout code
uses: actions/checkout@v6

- name: Setup Node.js
- name: 📦 Setup pnpm
uses: pnpm/action-setup@v4

- name: 💚 Setup Node.js
uses: actions/setup-node@v6
with:
node-version-file: package.json
cache: 'pnpm'

- name: 📦 Install dependencies
run: pnpm install

- name: Install packages
run: npm install
- name: 🔎 Typecheck code
run: pnpm typecheck

- name: Lint
run: npm run lint
- name: 🔎 Lint code
run: pnpm lint

- name: Build & Deploy
run: npx semantic-release
- name: 🚀 Build code and deploy app
run: pnpm exec semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_TOOLS_TOKEN: ${{ secrets.HOMEBREW_TOOLS_TOKEN }}
Expand Down
27 changes: 17 additions & 10 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,30 @@ jobs:
matrix:
node-version: [24, 25]
steps:
- name: Checkout code
- name: 📂 Checkout code
uses: actions/checkout@v6

- name: Setup Node.js
- name: 📦 Setup pnpm
uses: pnpm/action-setup@v4

- name: 💚 Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'

- name: 📦 Install dependencies
run: pnpm install

- name: Install packages
run: npm install
- name: 🔎 Typecheck code
run: pnpm typecheck

- name: Lint
run: npm run lint
- name: 🔎 Lint code
run: pnpm lint

- name: Build
run: npm run build
- name: 🚀 Build code
run: pnpm build

- name: Bundle
- name: 📦 Bundle app
if: ${{ matrix.node-version == 24 }}
run: npm run bundle
run: pnpm bundle
3 changes: 2 additions & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
npm run lint
pnpm typecheck
pnpm lint
10 changes: 0 additions & 10 deletions .npmignore

This file was deleted.

1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

2 changes: 1 addition & 1 deletion .releaserc.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
[
"@semantic-release/exec",
{
"publishCmd": "./tools/package-google-cloud-sql.sh ${nextRelease.version}"
"prepareCmd": "./tools/package-google-cloud-sql.sh ${nextRelease.version}"
}
],
"@semantic-release/npm",
Expand Down
9 changes: 4 additions & 5 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -82,25 +82,24 @@ Migration from v1 to v2 is done automatically when the app is run for the first
== Build
[source,bash]
----
npm run clean
npm run build
pnpm build
----

== Package
=== Pre-configured
Package the app for Node.JS 18 on MacOS, Linux, and Windows.
Package the app for Node.JS 24 on MacOS, Linux, and Windows.

[source,bash]
----
npm run bundle
pnpm bundle
----

=== Manual
See https://www.npmjs.com/package/pkg#targets[pkg] for details.

[source,bash]
----
npx pkg <NODE_RANGE>-<PLATFORM>-<ARCH>
pnpm exec pkg <NODE_RANGE>-<PLATFORM>-<ARCH>
----

== Deploy
Expand Down
3 changes: 2 additions & 1 deletion mise.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
[tools]
node = "24"
node = "24.12.0"
pnpm = "10.28.0"
56 changes: 32 additions & 24 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "google-cloud-sql",
"version": "2.0.0",
"description": "Connect to private Google Cloud SQL/AlloyDB instance through Cloud SQL/AlloyDB Auth Proxy running in GKE cluster.",
"type": "module",
"license": "UNLICENSED",
"author": "Dinko Osrecki <[email protected]>",
"homepage": "https://github.com/edosrecki/google-cloud-sql-cli",
Expand All @@ -13,60 +14,67 @@
"url": "https://github.com/edosrecki/google-cloud-sql-cli/issues"
},
"bin": {
"google-cloud-sql": "dist/index.js"
"google-cloud-sql": "dist/index.cjs"
},
"files": [
"dist"
],
"packageManager": "[email protected]",
"engines": {
"node": "24"
"node": "24.12.0",
"pnpm": "10.28.0"
},
"scripts": {
"clean": "rimraf dist bin",
"prebuild": "npm run clean",
"build": "tsc",
"bundle": "npm run build && pkg . --targets node24-linux,node24-macos,node24-win --out-dir bin",
"exec:dev": "ts-node src/index.ts",
"exec:dist": "node dist/index.js",
"prebuild": "pnpm clean",
"build": "tsdown",
"bundle": "pkg dist/index.cjs --targets node24-linux,node24-macos,node24-win --out-dir bin",
"exec:dev": "tsx src/index.ts",
"exec:dist": "node dist/index.cjs",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"test": "npm run lint",
"test": "pnpm lint",
"typecheck": "tsc --noEmit",
"prepare": "husky",
"prettify-package-json": "prettier-package-json --write"
},
"dependencies": {
"boxen": "5.1.2",
"chalk": "4.1.2",
"boxen": "8.0.1",
"chalk": "5.6.2",
"commander": "14.0.2",
"conf": "10.2.0",
"exit-hook": "2.2.1",
"conf": "15.0.2",
"exit-hook": "5.0.1",
"fuse.js": "7.1.0",
"inquirer": "8.2.5",
"inquirer-autocomplete-prompt": "2.0.0",
"lodash": "4.17.21",
"inquirer": "9.3.8",
"inquirer-autocomplete-prompt": "3.0.1",
"lodash-es": "4.17.22",
"memoizee": "0.4.17",
"shelljs": "0.10.0",
"update-notifier": "5.1.0"
"update-notifier": "7.3.1"
},
"devDependencies": {
"@eslint/js": "9.39.2",
"@semantic-release/changelog": "6.0.3",
"@semantic-release/exec": "7.1.0",
"@semantic-release/git": "10.0.1",
"@stylistic/eslint-plugin": "5.6.1",
"@stylistic/eslint-plugin": "5.7.0",
"@tsconfig/node24": "24.0.3",
"@types/inquirer": "8.2.6",
"@types/inquirer-autocomplete-prompt": "2.0.0",
"@types/lodash": "4.17.21",
"@types/inquirer": "^9.0.9",
"@types/inquirer-autocomplete-prompt": "3.0.3",
"@types/lodash-es": "4.17.12",
"@types/memoizee": "0.4.12",
"@types/node": "24.10.6",
"@types/shelljs": "0.8.17",
"@types/update-notifier": "5.1.0",
"@types/shelljs": "0.10.0",
"@types/update-notifier": "6.0.8",
"@yao-pkg/pkg": "6.11.0",
"eslint": "9.39.2",
"husky": "9.1.7",
"prettier-package-json": "2.8.0",
"rimraf": "6.1.2",
"semantic-release": "25.0.2",
"ts-node": "10.9.2",
"tsdown": "0.19.0",
"tsx": "4.21.0",
"typescript": "5.9.3",
"typescript-eslint": "8.50.0"
"typescript-eslint": "8.52.0"
}
}
Loading