Skip to content

BREAKING: Bump to Node 16 - #1262

Merged
FrederikBolding merged 8 commits into
mainfrom
fb/bump-to-node16
Apr 26, 2023
Merged

BREAKING: Bump to Node 16#1262
FrederikBolding merged 8 commits into
mainfrom
fb/bump-to-node16

Conversation

@FrederikBolding

@FrederikBoldingFrederikBolding commented Apr 25, 2023

Copy link
Copy Markdown
Member

Description

Bumps the minimum Node version of the packages to 16.18.24.

Changes

  • BREAKING: Bumps the minimum Node version of all packages to 16.18.24

@FrederikBolding
FrederikBolding requested a review from a team as a code ownerApril 25, 2023 10:13
legobeat
legobeat previously approved these changes Apr 25, 2023

@legobeatlegobeat left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@FrederikBolding

Copy link
Copy Markdown
MemberAuthor

ty for the updates! I swear I looked for docs that mentioned Node 14 but didn't find any 😅

@legobeat

Copy link
Copy Markdown
Contributor

...However, should we make sure each package has a non-major release published before merging this @FrederikBolding ? Considering this repo does not have as straightforward a flow for backports, we might as well get any pending non-breaking changes published first.

WDYT?

@FrederikBolding

FrederikBolding commented Apr 25, 2023

Copy link
Copy Markdown
MemberAuthor

...However, should we make sure each package has a non-major release published before merging this @FrederikBolding ? Considering this repo does not have as straightforward a flow for backports, we might as well get any pending non-breaking changes published first.

WDYT?

Both the extension and mobile are to my knowledge ready for Node 16. So not sure if there is a reason to wait? 🤔 As in, why would be doing backports anyway?

@legobeat

legobeat commented Apr 25, 2023

Copy link
Copy Markdown
Contributor

I don't have a scenario in mind - I just view is as standard practice and you never know when The Unknown Unknown rears a head (and version rollbacks wouldn't be unheard of I think).

And in the off-chance we have external dependents of these packages with different runtime constraints, this may make a big change for such users.

@FrederikBolding

Copy link
Copy Markdown
MemberAuthor

I don't have a scenario in mind - I just view is as standard practice and you never know when The Unknown Unknown rears a head.

And in the off-chance we have external dependents of these packages with different runtime constraints, this may be a big change for such users.

Fair enough, I am merely trying to unblock #1184 and thought it was easier to do a release after all had been merged. But I'm also fine with us publishing a release first. Doesn't look like many packages have outstanding changes though

@legobeatlegobeat mentioned this pull request Apr 25, 2023
Comment threaddocs/contributing.md Outdated

> **Note**
> `workspaceName` in these commands is the `name` field within a package's `package.json`, e.g., `@metamask/address-book-controller`, not the directory where it is located, e.g., `packages/address-book-controller`.
> **Note** > `workspaceName` in these commands is the `name` field within a package's `package.json`, e.g., `@metamask/address-book-controller`, not the directory where it is located, e.g., `packages/address-book-controller`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Seems that a newline was accidentally removed here

Suggested change
> **Note** > `workspaceName` in these commands is the `name` field within a package's `package.json`, e.g., `@metamask/address-book-controller`, not the directory where it is located, e.g., `packages/address-book-controller`.
> **Note**
> `workspaceName` in these commands is the `name` field within a package's `package.json`, e.g., `@metamask/address-book-controller`, not the directory where it is located, e.g., `packages/address-book-controller`.

@legobeatlegobeatApr 26, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lint is drunk

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, not sure what is going on here. This is what Prettier wants

@Gudahtt

Copy link
Copy Markdown
Member

I have applied the DO-NOT-MERGE label for now, until the next release is published. I'll ensure we get it published tomorrow.

FrederikBoldingand others added 2 commits April 26, 2023 14:15
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
@FrederikBolding

Copy link
Copy Markdown
MemberAuthor

This should be good to review now!

@socket-security

Copy link
Copy Markdown

New dependency changes detected. Learn more about Socket for GitHub ↗︎


👍 No new dependency issues detected in pull request

Bot Commands

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of package-name@version specifiers. e.g. @SocketSecurity ignore foo@1.0.0 bar@* or ignore all packages with @SocketSecurity ignore-all

    Pull request alert summary
    IssueStatus
    Install scripts✅ 0 issues
    Native code✅ 0 issues
    Bin script shell injection✅ 0 issues
    Unresolved require✅ 0 issues
    Invalid package.json✅ 0 issues
    HTTP dependency✅ 0 issues
    Git dependency✅ 0 issues
    Potential typo squat✅ 0 issues
    Known Malware✅ 0 issues
    Telemetry✅ 0 issues
    Protestware/Troll package✅ 0 issues

    📊 Modified Dependency Overview:

    🚮 Removed packages:@types/node@14.18.43

    Gudahtt
    Gudahtt previously approved these changes Apr 26, 2023

    @GudahttGudahtt left a comment

    Copy link
    Copy Markdown
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    LGTM!

    legobeat
    legobeat previously approved these changes Apr 26, 2023

    @legobeatlegobeat left a comment

    Copy link
    Copy Markdown
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    LGTM

    @Gudahtt

    Copy link
    Copy Markdown
    Member

    Looks like we need to run lint:fix

    @FrederikBolding

    Copy link
    Copy Markdown
    MemberAuthor

    @Gudahtt That is what resulted in the contributing.md change that you requested reverted 😅

    Comment threaddocs/contributing.md
    Co-authored-by: Mark Stacey <markjstacey@gmail.com>
    @FrederikBolding
    FrederikBolding dismissed stale reviews from legobeat and Gudahtt via c059e66April 26, 2023 13:16
    @FrederikBolding
    FrederikBolding merged commit 5a68e16 into mainApr 26, 2023
    @FrederikBolding
    FrederikBolding deleted the fb/bump-to-node16 branch April 26, 2023 13:30
    @GudahttGudahtt mentioned this pull request Sep 26, 2023
    3 tasks
    Gudahtt added a commit that referenced this pull request Sep 26, 2023
    The `AbortController` polyfill has not been required since updating to
    a minimum Node.js version of v16 in #1262. This API has been built into
    Node.js since v15.4.0, and is included in all versions of v16. It is
    also supported by all browsers that our extension supports, and has
    been supported by React Native since v0.60.0.
    This helps unblock the TypeScript update to v4.8.4. The update resulted
    in some type errors from this polyfill package.
    Gudahtt added a commit that referenced this pull request Sep 26, 2023
    ## Explanation
    The `AbortController` polyfill has not been required since updating to a
    minimum Node.js version of v16 in #1262. This API has been [built into
    Node.js since
    v15.4.0](https://nodejs.org/docs/latest-v16.x/api/globals.html#class-abortcontroller),
    and is included in all versions of v16. It is also supported by [all
    browsers that our extension
    supports](https://developer.mozilla.org/en-US/docs/Web/API/AbortController#browser_compatibility),
    and has been [supported by React Native since
    v0.60.0](https://github.com/react-native-community/releases/blob/master/CHANGELOG.md#v0600).
    This helps unblock the TypeScript update to v4.8.4. The update resulted
    in some type errors from this polyfill package.
    ## References
    None
    ## Changelog
    ### `@metamask/assets-controllers`
    ### Removed
    - **BREAKING:** Remove AbortController polyfill
    - This package now assumes that the AbortController global exists
    ## Checklist
    - [x] I've updated the test suite for new or updated code as appropriate
    - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
    updated code as appropriate
    - [x] I've highlighted breaking changes using the "BREAKING" category
    above as appropriate
    Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

    Labels

    None yet

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    3 participants

    @FrederikBolding@legobeat@Gudahtt