Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

Commit

Permalink
chore: drop node v14 and add node v20 (#4459)
Browse files Browse the repository at this point in the history
  • Loading branch information
davidmurdoch authored Aug 5, 2023
1 parent 4df5260 commit 30de957
Show file tree
Hide file tree
Showing 64 changed files with 89,497 additions and 18,931 deletions.
4 changes: 2 additions & 2 deletions .github/actions/docker-publish/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ runs:
# https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
using: "composite"
steps:
- name: Use npm 14
- name: Use node 16
uses: actions/setup-node@v3
with:
node-version: 14
node-version: 16

- name: Run installation
run: npm ci
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [14.0.0, 14.x, 16.x, 18.x]
node: [16.0.0, 16.x, 18.x, 20.x]
os: [windows-2019, ubuntu-20.04, ubuntu-22.04, macos-12]

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -43,7 +43,7 @@ jobs:

- name: Check bundle size
# this should match the os and version used in the release.yml
if: startsWith(matrix.os, 'ubuntu-22.04') && startsWith(matrix.node, '14.') && matrix.node != '14.0.0'
if: startsWith(matrix.os, 'ubuntu-22.04') && startsWith(matrix.node, '20.') && matrix.node != '20.0.0'
# 1. build ganache
# 2. pack it into a tarball
# 3. measure the _unpacked_ tarball's size
Expand All @@ -65,7 +65,7 @@ jobs:
INFURA_KEY: "badc0de0deadc0debadc0de0deadc0de"
- name: Upload artifact
# this should match the os and version used in the release.yml
if: startsWith(matrix.os, 'ubuntu-22.04') && startsWith(matrix.node, '14.') && matrix.node != '14.0.0'
if: startsWith(matrix.os, 'ubuntu-22.04') && startsWith(matrix.node, '20.') && matrix.node != '20.0.0'
uses: actions/upload-artifact@v3
with:
name: Candidate
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [14.0.0, 14.x, 16.x, 18.x]
node: [16.0.0, 16.x, 18.x, 20.x]
os: [ubuntu-22.04]

runs-on: ${{ matrix.os }}
Expand All @@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [14.0.0, 14.x, 16.x, 18.x]
node: [16.0.0, 16.x, 18.x, 20.x]
os: [windows-2019, ubuntu-20.04, ubuntu-22.04, macos-12]

runs-on: ${{ matrix.os }}
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,9 @@ jobs:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
# use node 14 until we can evaluate using npm 7+ and lock file version 2
# this should match the node version used by the "check bundle size"
# step in pr.yml
node-version: 14
node-version: 20

- name: Import Robot GPG key
uses: crazy-max/ghaction-import-gpg@v4
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v14.0.0
v16.0.0
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

## Getting set up

- Use Node.js v14.0.0.
- Why v14.0.0? Because this is the first LTS release of Node.js v14 and is the earliest version Ganache supports.
- Use Node.js v16.0.0.
- Why v16.0.0? Because this is the first LTS release of Node.js v16 and is the earliest version Ganache supports.
- recommendation: use [nvm](https://github.com/nvm-sh/nvm) on Linux and macOS, and [nvm-windows](https://github.com/coreybutler/nvm-windows) on
Windows, to configure your node version.
- On Linux and macOS, if you have `nvm` installed, just run `nvm use` to switch to Node.js v14.0.0.
- On Linux and macOS, if you have `nvm` installed, just run `nvm use` to switch to Node.js v16.0.0.
- `git clone git@github.com:trufflesuite/ganache.git`
- `cd ganache`
- `npm install` (use npm v6)
- `npm install` (use npm v7)

## Solving node-gyp issues

Expand Down Expand Up @@ -163,7 +163,7 @@ index 2a2aa9e..57cbf21 100644

These are guidelines, not rules. :-)

- Use Node.js v14.0.0 for most local development.
- Use Node.js v16.0.0 for most local development.
- Use `bigint` literals, e.g., `123n`; if the number is externally configurable and/or could exceed
`Number.MAX_SAFE_INTEGER`.
- Write tests.
Expand Down
12 changes: 8 additions & 4 deletions UPGRADE-GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ depending on how you originally installed ganache-cli or ganache-core._

#### Locally installed

A local installation makes it possible to `import` or `require` Ganache
A local installation makes it possible to `import` or `require` Ganache
programmatically from JavaScript or TypeScript. Additionally, you can run the
command line version of Ganache from your [package.json scripts](https://docs.npmjs.com/cli/v8/using-npm/scripts) or directly
from the command line using `npx ganache` ([what is npx?](https://www.npmjs.com/package/npx)).
Expand Down Expand Up @@ -113,7 +113,7 @@ and it defaulted to `true`.

Ganache now _disables_ the `vmErrorsOnRPCResponse` functionality by default.

If your code relies on these non-standard errors on transaction failure, you'll
If your code relies on these non-standard errors on transaction failure, you'll
need to _enable_ the `vmErrorsOnRpcResponse` flag to restore this behavior:

```console
Expand All @@ -140,6 +140,10 @@ As of v7.0.0 we no longer support Node v8-v10. You'll need to update to Node v12

We no longer support Node v12. You'll need to update to Node v14.0.0 or later. NOTE: Support for Node.js v14.x.x will be dropped shortly after the Node.js Foundation stops supporting it in April 2023.

#### v7.8.0+, Dropped support for Node v14

We no longer support Node v14. You'll need to update to Node v16.0.0 or later. NOTE: Support for Node.js v16.x.x will be dropped shortly after the Node.js Foundation stops supporting it in April 2024.

#### DockerHub repo has been moved to trufflesuite/ganache

You may want to remove your old Docker images and containers and then pull
Expand Down Expand Up @@ -288,7 +292,7 @@ likely enable this in the future.

Ganache's old database format is incompatible with this version. We've decided
to hold off on building migration tools for this. If you will need a migration
tool (you use the `db` flag or the `db_path` option and are unable to recreate
tool (you use the `db` flag or the `db_path` option and are unable to recreate
your initial DB state) please
[open an issue](https://github.com/trufflesuite/ganache/issues/new)
to let us know.
Expand Down Expand Up @@ -343,7 +347,7 @@ If you send a transaction with `eth_sendTransaction` and that transaction doesn'

```typescript
// send a "legacy" transaction
const hash = await provider.request("eth_sendTransaction", [{ from }]);
const hash = await provider.request("eth_sendTransaction", [{ from }]);
const tx = await provider.request("eth_getTransactionByHash", [hash]);
// The returned `type` field indicates it was updated to a type 2 transaction
assert.strictEqual(tx.type, "0x2");
Expand Down
2 changes: 1 addition & 1 deletion docs/assets/js/ganache/ganache.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/assets/js/ganache/ganache.min.js.map

Large diffs are not rendered by default.

Loading

0 comments on commit 30de957

Please sign in to comment.