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

chore: drop node v14 and add node v20 #4459

Merged
merged 14 commits into from
Aug 5, 2023
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
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 [email protected]: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