entropyxyz / sdk

Official JavaScript SDK for Entropy blockchain.
GNU Affero General Public License v3.0
7 stars 0 forks source link

node 19 is unsupported #247

Closed benschac closed 6 months ago

benschac commented 8 months ago

https://nodejs.org/en/about/previous-releases

After six months, odd-numbered releases (9, 11, etc.) become unsupported, and even-numbered releases (10, 12, etc.) move to Active LTS status and are ready for general use. LTS release status is "long-term support", which typically guarantees that critical bugs will be fixed for a total of 30 months. Production applications should only use Active LTS or Maintenance LTS releases.

Not sure why we are using node@19 https://github.com/nodejs/node/tree/v19.x is an active development branch. Which, if we're pulling changes from, can cause unexpected breaking changes. Additionally, cause our users issues.

benschac commented 8 months ago

using node@18 is recommended by node

frankiebee commented 8 months ago

using node 18 breaks ethers update #245 ethers requires node >=20. conflicting issues

frankiebee commented 8 months ago

closing in favor of node 20 LTS

benschac commented 8 months ago

using node 18 breaks ethers update #245 ethers requires node >=20. conflicting issues

dumb question: What is breaking exactly?

I searched around ethers github for a bit, and their documentation, but I'm not seeing any specific issue where nodejs 18 doesn't work, but 19 does. Could you link it? Feels like it could possibly be something else?

Looking at ethers github actions file https://github.com/ethers-io/ethers.js/blob/v5.7.2/.github/workflows/nodejs.yml

    strategy:
      fail-fast: false
      matrix:
        node-version: [ 12.x, 14.x, 16.x ]

    steps:
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}

It would make sense if ethers 5.7.2 didn't work on anything above 16, which makes me think there might be something else breaking?

Looking at their types: "@types/node": "^12.7.4", https://github.com/ethers-io/ethers.js/blob/v5.7.2/package.json it look like 5.7.2 supports all the way back to node 12.

Last bit: 18 would make more sense to use. Looking at adoption numbers CleanShot 2023-11-30 at 14 30 57@2x https://nodedownloads.nodeland.dev/

frankiebee commented 7 months ago

we will actually be removing ethers and as far as node versions. i would like to use the recommend lts for 20

benschac commented 7 months ago

If I were starting a project from scratch, I'd use node 20. That makes sense.

Looking at the numbers posted above, a business decision not to support node 18 limits the reach of entropy-js by literal orders of magnitude.

We should support node 18 because a project looking to use entropy-js likely has a hard requirement on node 18 since it's still supported, LTS, and used by most of the developer community.

We can support 18, 20, etc.

On Tue, Dec 5, 2023 at 1:52 PM Frankie @.***> wrote:

we will actually be removing ethers and as far as node versions. i would like to use the recommend lts for 20

— Reply to this email directly, view it on GitHub https://github.com/entropyxyz/entropy-js/issues/247#issuecomment-1841675951, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATDCIZ3T3ZEHDKHI5EIXNTYH6JS5AVCNFSM6AAAAAA7MTR4YOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBRGY3TKOJVGE . You are receiving this because you modified the open/close state.Message ID: @.***>

-- Benjamin