From 6aa0199aa187cbc053f6804fd205e2d6bb382405 Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Fri, 23 Aug 2024 18:54:21 -0500 Subject: [PATCH 1/5] provide support for Node 18 LTS --- packages/shared/src/utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/shared/src/utils.ts b/packages/shared/src/utils.ts index 0e7a9754..4e108e01 100644 --- a/packages/shared/src/utils.ts +++ b/packages/shared/src/utils.ts @@ -1,5 +1,6 @@ import { base32hexnopad } from '@scure/base'; import type { CodeLanguageType } from './types/cells.js'; +import * as crypto from 'crypto'; export function randomid(byteSize = 16) { const bytes = crypto.getRandomValues(new Uint8Array(byteSize)); From 965a465dc2881504cd15155e2c120f36e1be27a8 Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Fri, 23 Aug 2024 18:55:11 -0500 Subject: [PATCH 2/5] update min node docs --- srcbook/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcbook/README.md b/srcbook/README.md index d77bab9c..bb38b574 100644 --- a/srcbook/README.md +++ b/srcbook/README.md @@ -22,7 +22,7 @@ Srcbook runs locally on your machine as a CLI application with a web interface. ### Requirements -- Node.js v20+ +- Node.js v18+ - We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage local node versions ### Installing From 7543ffd78007ca91635d6419bfefbcbda69276bf Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Sun, 25 Aug 2024 16:46:40 -0500 Subject: [PATCH 3/5] fixup the final issues with the crypto fallbacks and warnings --- packages/shared/src/utils.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/shared/src/utils.ts b/packages/shared/src/utils.ts index 4e108e01..1183010e 100644 --- a/packages/shared/src/utils.ts +++ b/packages/shared/src/utils.ts @@ -2,8 +2,14 @@ import { base32hexnopad } from '@scure/base'; import type { CodeLanguageType } from './types/cells.js'; import * as crypto from 'crypto'; +export function isBrowser(): boolean { + return typeof window !== 'undefined'; +} + export function randomid(byteSize = 16) { - const bytes = crypto.getRandomValues(new Uint8Array(byteSize)); + const bytes = isBrowser() + ? globalThis.crypto.getRandomValues(new Uint8Array(byteSize)) + : crypto.getRandomValues(new Uint8Array(byteSize)); return base32hexnopad.encode(bytes).toLowerCase(); } From 1d1ae94121aa1e486d26712860785a735fff031b Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Sun, 25 Aug 2024 16:48:40 -0500 Subject: [PATCH 4/5] change readme min node & add to CI --- .github/workflows/run-tests.yml | 8 ++++++-- README.md | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 74d142cd..dc3147bf 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -17,6 +17,10 @@ jobs: # TURBO_TEAM: ${{ vars.TURBO_TEAM }} # TURBO_REMOTE_ONLY: true + strategy: + matrix: + node-version: ['18.x', '20.x', '22.x'] + steps: - name: Check out code uses: actions/checkout@v4 @@ -27,10 +31,10 @@ jobs: with: version: 9 - - name: Setup Node.js environment + - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: - node-version: 22 + node-version: ${{ matrix.node-version }} cache: 'pnpm' - name: Install dependencies diff --git a/README.md b/README.md index fab42f05..eba252fa 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Srcbook runs locally on your machine as a CLI application with a web interface. ### Requirements -- Node 20+, we recommend using [nvm](https://github.com/nvm-sh/nvm) to manage local node versions +- Node 18+, we recommend using [nvm](https://github.com/nvm-sh/nvm) to manage local node versions - [corepack](https://nodejs.org/api/corepack.html) to manage package manager versions ### Installing From f943a90fee90c5e4fc80d5d86f3cd7ad937dcf43 Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Sun, 25 Aug 2024 16:51:27 -0500 Subject: [PATCH 5/5] update engines rules --- package.json | 2 +- srcbook/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e4c61c17..7ba95c46 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,6 @@ }, "packageManager": "pnpm@9.8.0", "engines": { - "node": ">=20" + "node": ">=18" } } diff --git a/srcbook/package.json b/srcbook/package.json index 9efbe9af..8c9fbaf9 100644 --- a/srcbook/package.json +++ b/srcbook/package.json @@ -34,6 +34,6 @@ "@types/express": "^4.17.21" }, "engines": { - "node": ">=20" + "node": ">=18" } }