From 57d95e63a894ee0300367de0cc2d8eab2bd02b7e Mon Sep 17 00:00:00 2001 From: Shinigami92 Date: Sat, 31 Aug 2024 11:54:43 +0200 Subject: [PATCH] chore!: drop node v18 support --- .github/workflows/ci.yml | 2 +- .github/workflows/postgres-test.yml | 2 +- README.md | 2 +- docs/src/getting-started.md | 2 +- package.json | 4 +- pnpm-lock.yaml | 66 ++++++++++++++--------------- tsconfig.json | 4 +- tsconfig.lint.json | 4 +- tsup-bin.config.ts | 2 +- tsup.config.ts | 2 +- 10 files changed, 45 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5461910e..7ed0be3b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node_version: [18, 20] + node_version: [20, 22] fail-fast: false timeout-minutes: 10 diff --git a/.github/workflows/postgres-test.yml b/.github/workflows/postgres-test.yml index d634f0de..b4ff3e33 100644 --- a/.github/workflows/postgres-test.yml +++ b/.github/workflows/postgres-test.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node_version: [18, 20] + node_version: [20, 22] postgres_version: [12.18, 13.14, 14.11, 15.6, 16.2] fail-fast: false timeout-minutes: 10 diff --git a/README.md b/README.md index 3128101d..5638d0dd 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Started by [Theo Ephraim](https://github.com/theoephraim/), then handed over to ## Preconditions -- Node.js 18 or higher +- Node.js 20.11 or higher - PostgreSQL 12.8 or higher (lower versions may work but are not supported officially) If you don't already have the [`pg`](https://node-postgres.com/) library installed, you will need to add pg as either a direct or dev dependency diff --git a/docs/src/getting-started.md b/docs/src/getting-started.md index e2497ca4..5fc0909b 100644 --- a/docs/src/getting-started.md +++ b/docs/src/getting-started.md @@ -2,7 +2,7 @@ ## Preconditions -- Node.js 18 or higher +- Node.js 20.11 or higher - PostgreSQL 12.8 or higher (lower versions may work but are not supported officially) If you don't already have the [`pg`](https://node-postgres.com/) library installed, you will need to add pg as either a direct or dev dependency diff --git a/package.json b/package.json index eff94aa6..b751ccf7 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "@eslint-types/typescript-eslint": "7.5.0", "@eslint-types/unicorn": "52.0.0", "@types/config": "3.3.4", - "@types/node": "18.19.47", + "@types/node": "20.16.2", "@types/pg": "8.11.8", "@types/yargs": "17.0.33", "@typescript-eslint/eslint-plugin": "7.18.0", @@ -146,6 +146,6 @@ }, "packageManager": "pnpm@9.9.0", "engines": { - "node": ">=18.19.0" + "node": ">=20.11.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17fa7b25..649ed32c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,8 +25,8 @@ importers: specifier: 3.3.4 version: 3.3.4 '@types/node': - specifier: 18.19.47 - version: 18.19.47 + specifier: 20.16.2 + version: 20.16.2 '@types/pg': specifier: 8.11.8 version: 8.11.8 @@ -41,7 +41,7 @@ importers: version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) '@vitest/coverage-v8': specifier: 2.0.5 - version: 2.0.5(vitest@2.0.5(@types/node@18.19.47)(@vitest/ui@2.0.5)) + version: 2.0.5(vitest@2.0.5(@types/node@20.16.2)(@vitest/ui@2.0.5)) '@vitest/ui': specifier: 2.0.5 version: 2.0.5(vitest@2.0.5) @@ -98,7 +98,7 @@ importers: version: 6.0.1 ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@18.19.47)(typescript@5.5.4) + version: 10.9.2(@types/node@20.16.2)(typescript@5.5.4) tsup: specifier: 8.2.4 version: 8.2.4(postcss@8.4.41)(tsx@4.19.0)(typescript@5.5.4) @@ -110,10 +110,10 @@ importers: version: 5.5.4 vitepress: specifier: 1.3.4 - version: 1.3.4(@algolia/client-search@4.24.0)(@types/node@18.19.47)(postcss@8.4.41)(search-insights@2.17.0)(typescript@5.5.4) + version: 1.3.4(@algolia/client-search@4.24.0)(@types/node@20.16.2)(postcss@8.4.41)(search-insights@2.17.0)(typescript@5.5.4) vitest: specifier: 2.0.5 - version: 2.0.5(@types/node@18.19.47)(@vitest/ui@2.0.5) + version: 2.0.5(@types/node@20.16.2)(@vitest/ui@2.0.5) packages: @@ -731,8 +731,8 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/node@18.19.47': - resolution: {integrity: sha512-1f7dB3BL/bpd9tnDJrrHb66Y+cVrhxSOTGorRNdHwYTUlTay3HuTDPKo9a/4vX9pMQkhYBcAbL4jQdNlhCFP9A==} + '@types/node@20.16.2': + resolution: {integrity: sha512-91s/n4qUPV/wg8eE9KHYW1kouTfDk2FPGjXbBMfRWP/2vg1rCXNQL1OCabwGs0XSdukuK+MwCDXE30QpSeMUhQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1865,7 +1865,7 @@ packages: 'node-pg-migrate@file:': resolution: {directory: '', type: directory} - engines: {node: '>=18.19.0'} + engines: {node: '>=20.11.0'} hasBin: true peerDependencies: '@types/pg': '>=6.0.0 <9.0.0' @@ -2545,8 +2545,8 @@ packages: unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} update-browserslist-db@1.1.0: resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} @@ -3199,15 +3199,15 @@ snapshots: '@types/mdurl@2.0.0': {} - '@types/node@18.19.47': + '@types/node@20.16.2': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 '@types/normalize-package-data@2.4.4': {} '@types/pg@8.11.8': dependencies: - '@types/node': 18.19.47 + '@types/node': 20.16.2 pg-protocol: 1.6.1 pg-types: 4.0.2 @@ -3304,12 +3304,12 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue@5.1.3(vite@5.4.2(@types/node@18.19.47))(vue@3.4.38(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.3(vite@5.4.2(@types/node@20.16.2))(vue@3.4.38(typescript@5.5.4))': dependencies: - vite: 5.4.2(@types/node@18.19.47) + vite: 5.4.2(@types/node@20.16.2) vue: 3.4.38(typescript@5.5.4) - '@vitest/coverage-v8@2.0.5(vitest@2.0.5(@types/node@18.19.47)(@vitest/ui@2.0.5))': + '@vitest/coverage-v8@2.0.5(vitest@2.0.5(@types/node@20.16.2)(@vitest/ui@2.0.5))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -3323,7 +3323,7 @@ snapshots: std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.0.5(@types/node@18.19.47)(@vitest/ui@2.0.5) + vitest: 2.0.5(@types/node@20.16.2)(@vitest/ui@2.0.5) transitivePeerDependencies: - supports-color @@ -3362,7 +3362,7 @@ snapshots: pathe: 1.1.2 sirv: 2.0.4 tinyrainbow: 1.2.0 - vitest: 2.0.5(@types/node@18.19.47)(@vitest/ui@2.0.5) + vitest: 2.0.5(@types/node@20.16.2)(@vitest/ui@2.0.5) '@vitest/utils@2.0.5': dependencies: @@ -5069,14 +5069,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@18.19.47)(typescript@5.5.4): + ts-node@10.9.2(@types/node@20.16.2)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.47 + '@types/node': 20.16.2 acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 @@ -5174,7 +5174,7 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - undici-types@5.26.5: {} + undici-types@6.19.8: {} update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: @@ -5193,13 +5193,13 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.0.5(@types/node@18.19.47): + vite-node@2.0.5(@types/node@20.16.2): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.4.2(@types/node@18.19.47) + vite: 5.4.2(@types/node@20.16.2) transitivePeerDependencies: - '@types/node' - less @@ -5211,23 +5211,23 @@ snapshots: - supports-color - terser - vite@5.4.2(@types/node@18.19.47): + vite@5.4.2(@types/node@20.16.2): dependencies: esbuild: 0.21.5 postcss: 8.4.41 rollup: 4.21.2 optionalDependencies: - '@types/node': 18.19.47 + '@types/node': 20.16.2 fsevents: 2.3.3 - vitepress@1.3.4(@algolia/client-search@4.24.0)(@types/node@18.19.47)(postcss@8.4.41)(search-insights@2.17.0)(typescript@5.5.4): + vitepress@1.3.4(@algolia/client-search@4.24.0)(@types/node@20.16.2)(postcss@8.4.41)(search-insights@2.17.0)(typescript@5.5.4): dependencies: '@docsearch/css': 3.6.1 '@docsearch/js': 3.6.1(@algolia/client-search@4.24.0)(search-insights@2.17.0) '@shikijs/core': 1.15.1 '@shikijs/transformers': 1.15.1 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.3(vite@5.4.2(@types/node@18.19.47))(vue@3.4.38(typescript@5.5.4)) + '@vitejs/plugin-vue': 5.1.3(vite@5.4.2(@types/node@20.16.2))(vue@3.4.38(typescript@5.5.4)) '@vue/devtools-api': 7.3.9 '@vue/shared': 3.4.38 '@vueuse/core': 11.0.3(vue@3.4.38(typescript@5.5.4)) @@ -5236,7 +5236,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.1.0 shiki: 1.15.1 - vite: 5.4.2(@types/node@18.19.47) + vite: 5.4.2(@types/node@20.16.2) vue: 3.4.38(typescript@5.5.4) optionalDependencies: postcss: 8.4.41 @@ -5268,7 +5268,7 @@ snapshots: - typescript - universal-cookie - vitest@2.0.5(@types/node@18.19.47)(@vitest/ui@2.0.5): + vitest@2.0.5(@types/node@20.16.2)(@vitest/ui@2.0.5): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.5 @@ -5286,11 +5286,11 @@ snapshots: tinybench: 2.9.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.2(@types/node@18.19.47) - vite-node: 2.0.5(@types/node@18.19.47) + vite: 5.4.2(@types/node@20.16.2) + vite-node: 2.0.5(@types/node@20.16.2) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 18.19.47 + '@types/node': 20.16.2 '@vitest/ui': 2.0.5(vitest@2.0.5) transitivePeerDependencies: - less diff --git a/tsconfig.json b/tsconfig.json index cc20782f..3a28e2a4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { - "target": "ES2022", + "target": "ES2023", "module": "CommonJS", "moduleResolution": "Node", - "lib": ["ES2022", "DOM"], + "lib": ["ES2023", "DOM"], "noEmit": true, "resolveJsonModule": true, "esModuleInterop": true, diff --git a/tsconfig.lint.json b/tsconfig.lint.json index 99ffe861..c2a6bdbd 100644 --- a/tsconfig.lint.json +++ b/tsconfig.lint.json @@ -1,11 +1,11 @@ { "compilerOptions": { - "target": "ES2020", + "target": "ES2023", "moduleResolution": "Node", "module": "CommonJS", "strict": true, "noEmit": true, - "lib": ["ES2020"], + "lib": ["ES2023"], "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "noImplicitAny": true, diff --git a/tsup-bin.config.ts b/tsup-bin.config.ts index e531177f..521a815d 100644 --- a/tsup-bin.config.ts +++ b/tsup-bin.config.ts @@ -5,7 +5,7 @@ export default defineConfig({ outDir: 'bin', clean: false, format: ['esm', 'cjs'], - target: ['es2022', 'node18'], + target: ['es2022', 'node20'], dts: false, minify: false, sourcemap: false, diff --git a/tsup.config.ts b/tsup.config.ts index 832712c6..1d00357d 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -7,7 +7,7 @@ export default defineConfig([ outDir: 'dist/esm', clean: true, format: 'esm', - target: ['es2022', 'node18'], + target: ['es2022', 'node20'], dts: false, minify: false, sourcemap: false,