Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update typescript v4.8 #1718

Merged
merged 6 commits into from
Sep 27, 2023
Merged

Update typescript v4.8 #1718

merged 6 commits into from
Sep 27, 2023

Conversation

Gudahtt
Copy link
Member

@Gudahtt Gudahtt commented Sep 26, 2023

Explanation

The typescript package has been updated to v4.8.4 to align with the module template. This was done to simplify the process of migrating libraries into the monorepo.

References

None

Changelog

N/A

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've highlighted breaking changes using the "BREAKING" category above as appropriate

@socket-security
Copy link

socket-security bot commented Sep 26, 2023

Updated dependencies detected. Learn more about Socket for GitHub ↗︎

Packages Version New capabilities Transitives Size Publisher
typescript 4.6.4...4.8.4 None +0/-0 68.8 MB typescript-bot

@Gudahtt

This comment was marked as outdated.

Base automatically changed from update-typedoc to main September 26, 2023 12:32
@Gudahtt Gudahtt changed the title Update typescript v4.8 [WIP] Update typescript v4.8 Sep 26, 2023
@Gudahtt Gudahtt marked this pull request as ready for review September 26, 2023 15:11
@Gudahtt Gudahtt requested review from a team as code owners September 26, 2023 15:11
Mrtenz
Mrtenz previously approved these changes Sep 26, 2023
MajorLift added a commit to MetaMask/eth-json-rpc-provider that referenced this pull request Sep 26, 2023
@@ -144,6 +147,7 @@ export class EtherscanNameProvider implements NameProvider {

return { responseData };
} catch (error) {
assertIsError(error);
Copy link
Member Author

Choose a reason for hiding this comment

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

The update to v4.8.4 seems to have changed the effective type of this error variable for some reason. It was now triggering a lint error in a function that called this one, due to the @typescript-eslint/no-throw-literal rule (the error was typed as {}, as it was unknown and then we confirmed that it was not falsy).

We now ensure it's explicitly typed as an Error, as we would expect.

Copy link
Contributor

@legobeat legobeat left a comment

Choose a reason for hiding this comment

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

LGTM!

The `typescript` package has been updated to v4.8.4 to align with the
module template. This was done to simplify the process of migrating
libraries into the monorepo.
@Gudahtt Gudahtt merged commit b3fffa7 into main Sep 27, 2023
107 checks passed
@Gudahtt Gudahtt deleted the update-typescript-v4.8 branch September 27, 2023 12:06
legobeat added a commit that referenced this pull request Oct 2, 2023
## Explanation

- Bump `@metamask/eslint-config*` packages to latest.
  - Bump `typedoc`,`typedoc-plugin-missing-exports` to satisfy peerDeps

## References

#### Related
- #1730
- #1718 
 
## Changelog

## 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

---------

Co-authored-by: Maarten Zuidhoorn <maarten@zuidhoorn.com>
MajorLift pushed a commit that referenced this pull request Oct 11, 2023
## Explanation

The `typescript` package has been updated to v4.8.4 to align with the
module template. This was done to simplify the process of migrating
libraries into the monorepo.
MajorLift pushed a commit that referenced this pull request Oct 11, 2023
## Explanation

- Bump `@metamask/eslint-config*` packages to latest.
  - Bump `typedoc`,`typedoc-plugin-missing-exports` to satisfy peerDeps

## References

#### Related
- #1730
- #1718 
 
## Changelog

## 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

---------

Co-authored-by: Maarten Zuidhoorn <maarten@zuidhoorn.com>
MajorLift pushed a commit that referenced this pull request Oct 11, 2023
## Explanation

The `typescript` package has been updated to v4.8.4 to align with the
module template. This was done to simplify the process of migrating
libraries into the monorepo.
MajorLift pushed a commit that referenced this pull request Oct 11, 2023
## Explanation

- Bump `@metamask/eslint-config*` packages to latest.
  - Bump `typedoc`,`typedoc-plugin-missing-exports` to satisfy peerDeps

## References

#### Related
- #1730
- #1718 
 
## Changelog

## 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

---------

Co-authored-by: Maarten Zuidhoorn <maarten@zuidhoorn.com>
MajorLift pushed a commit that referenced this pull request Oct 12, 2023
## Explanation

- Bump `@metamask/eslint-config*` packages to latest.
  - Bump `typedoc`,`typedoc-plugin-missing-exports` to satisfy peerDeps

## References

#### Related
- #1730
- #1718 
 
## Changelog

## 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

---------

Co-authored-by: Maarten Zuidhoorn <maarten@zuidhoorn.com>
MajorLift added a commit that referenced this pull request Oct 13, 2023
## Explanation

This PR implements the following incremental steps in the process for
migrating `eth-json-rpc-provider` into the core monorepo:

***

### Phase B: Staging from `merged-packages/`

#### 5. Port tags 
  - See: #1800
  
<details>  
  <summary>Push ported tags to core repo</summary>
  
- [x]
https://github.com/MetaMask/core/releases/tag/@metamask/eth-json-rpc-provider@2.2.0
- [x]
https://github.com/MetaMask/core/releases/tag/@metamask/eth-json-rpc-provider@2.1.0
- [x]
https://github.com/MetaMask/core/releases/tag/@metamask/eth-json-rpc-provider@2.0.0
- [x]
https://github.com/MetaMask/core/releases/tag/@metamask/eth-json-rpc-provider@1.0.1
- [x]
https://github.com/MetaMask/core/releases/tag/@metamask/eth-json-rpc-provider@1.0.0
</details>

<details>
<summary>Verify that the tag diff links in CHANGELOG are
working</summary>
  
- [x] **WONTFIX**:
https://github.com/MetaMask/core/compare/@metamask/eth-json-rpc-provider@2.2.0...HEAD
- [x]
https://github.com/MetaMask/core/compare/@metamask/eth-json-rpc-provider@2.1.0...@metamask/eth-json-rpc-provider@2.2.0
- [x]
https://github.com/MetaMask/core/compare/@metamask/eth-json-rpc-provider@2.0.0...@metamask/eth-json-rpc-provider@2.1.0
- [x]
https://github.com/MetaMask/core/compare/@metamask/eth-json-rpc-provider@1.0.1...@metamask/eth-json-rpc-provider@2.0.0
- [x]
https://github.com/MetaMask/core/compare/@metamask/eth-json-rpc-provider@1.0.0...@metamask/eth-json-rpc-provider@1.0.1
</details>

### Phase C: Integration into `packages/`

#### 1. The big leap
- [x] **Move migration target from `migrated-packages/` to
`packages/`.**
- [x] Run `yarn install` in the root directory.
- [x] Check that all tests are passing in migration target by running
`yarn workspace @metamask/<package-name> test`.

#### 2. Update downstream repos
- [x] Add tsconfig reference paths for migration target in downstream
packages and root.
- [x] Bump migration target version in downstream packages and root.

#### 3. Linter fixes
- [x] Apply yarn constraints fixes to migration target package.json
file: `yarn constraints --fix` (run twice).
- [x] Identify validator fixes for CHANGELOG using `yarn workspace
@metamask/<package-name> changelog:validate` and apply the diffs.

#### 4. Resolve downstream errors
- [x] #1653
  - If introducing the migration target breaks any downstream repos:
    - [x] Resolve simple errors
- [x] Mark and ignore complex errors using `@ts-expect-error TODO:`
annotations.
- [x] Create a separate issue for resolving the marked errors as soon as
the migration is completed.

#### 5. Finalize merge
- [x] Check that all tests are passing in all subpackages of core and
CI.
- [x] Merge `packages/<package-name>` directory into core main branch.

***

See #1551 (comment)
for an outline of the entire process.

## Next Steps

- The next PR(s) will implement the final steps of the migration process
(D-1 in the migration checklist).

## Blocked by
- Dependencies:
  - [x] typescript bump: #1718
- [x] `@metamask/utils` bump: #1639
- Downstream type errors:
  - [x] #1653
- [ ] MetaMask/eth-json-rpc-provider#14
(ignored)
  - [ ] MetaMask/utils#140 (ignored)
- Tag porting:
  - [x] #1802
- [x] "Unreleased" tag diff link shows entire history of core:
https://github.com/MetaMask/core/compare/@metamask/eth-json-rpc-provider@2.2.0...HEAD

## References

- Contributes to #1685
- Contributes to #1551

## Changelog

<!--
If you're making any consumer-facing changes, list those changes here as
if you were updating a changelog, using the template below as a guide.

(CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or
FIXED. For security-related issues, follow the Security Advisory
process.)

Please take care to name the exact pieces of the API you've added or
changed (e.g. types, interfaces, functions, or methods).

If there are any breaking changes, make sure to offer a solution for
consumers to follow once they upgrade to the changes.

Finally, if you're only making changes to development scripts or tests,
you may replace the template below with "None".
-->

### `@metamask/eth-json-rpc-provider`

- **ADDED**: Migrated into the core monorepo.

## 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 free to 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