-
Notifications
You must be signed in to change notification settings - Fork 72
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
chore(public): SDK monorepo initial migration #1
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This patch ensures our unique monorepo setup + SDK dependencies doesn't trigger internal mismatches, only internal consistency
module.exports = [ | ||
{ type: "feat", scope: "!", release: "major" }, | ||
{ scope: "public", release: "patch" }, | ||
]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These custom release rulesc can be tuned as we like!
sdks/router-sdk/package.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This SDK has the following dependency changes:
@uniswap/swap-router-contracts
:1.1.0
->1.3.0
sdks/permit2-sdk/package.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This SDK has the following dependency changes:
ethers
:^5.3.1
->^5.7.0
tiny-invariant
:^1.3.1
->^1.1.0
sdks/sdk-core/package.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This SDK has no dependency changes.
sdks/uniswapx-sdk/package.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This SDK has the following dependency changes:
@uniswap/sdk-core
:4.0.2
->4.2.0
Development dependencies:
@types/jest
:29.0.3
->24.0.25
jest
:29.0.3
->25.5.0
typescript
:4.0.2
->4.3.3
ts-jest
:29.0.1
->25.5.0
prettier
:2.1.1
->2.4.1
husky
:8.0.1
->8.0.3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This SDK has the following dependency changes:
@uniswap/v2-sdk
:4.2.0
->4.3.0
ethers
:5.3.1
->5.7.0
Development dependencies:
@types/chai
:4.2.18
->4.3.3
@types/mocha
:8.2.2
->9.1.1
@types/node
:15.12.2
->18.7.6
chai
:4.3.4
->4.3.6
eslint-plugin-prettier
:3.4.0
->3.4.1
hardhat
:2.6.8
->2.14.0
prettier
:2.3.1
->2.4.1
ts-node
:10.0.0
->10.9.1
sdks/v2-sdk/package.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This SDK has the following dependency changes:
@ethersproject/address
:5.0.0
->5.0.2
@ethersproject/solidity
:5.0.0
->5.0.9
sdks/v3-sdk/package.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This SDK has the following dependency changes:
@ethersproject/abi
:5.0.12
->5.5.0
@uniswap/swap-router-contracts
:1.2.1
->1.3.0
@@ -38,7 +38,7 @@ const _abi = [ | |||
stateMutability: "nonpayable", | |||
type: "constructor", | |||
}, | |||
]; | |||
] as const; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit - do we need type casting here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should just be making this immutable, no type change beyond that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these files are autogenerated fyi so might be overwritten
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So looks like there will be a single sdks to be published to npmjs repo right? I'd be curious to see and test out the new sdks in smart-order-router, since sor pretty much uses all the sdks except for uniswapx-sdk
Correct, these will be published as beta to the existing SDK packages once we're ready to test and SOR is a great place to test! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all looks fine to me!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Really excited to use this
@@ -38,7 +38,7 @@ const _abi = [ | |||
stateMutability: "nonpayable", | |||
type: "constructor", | |||
}, | |||
]; | |||
] as const; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these files are autogenerated fyi so might be overwritten
🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎ To accept the risk, merge this PR and you will not be notified again.
Next stepsWhat is an install script?Install scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts. Packages should not be running non-essential scripts during install and there are often solutions to problems people solve with install scripts that can be run at publish time instead. Take a deeper look at the dependencyTake a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev. Remove the packageIf you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency. Mark a package as acceptable riskTo ignore an alert, reply with a comment starting with
|
🎉 This PR is included in version @uniswap/universal-router-sdk-v2.0.4-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/v3-sdk-v3.11.1-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/permit2-sdk-v1.2.1-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/sdk-core-v4.2.1-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/router-sdk-v1.9.1-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/v2-sdk-v4.3.1-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/uniswapx-sdk-v1.0.0-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/uniswapx-sdk-v1.0.0-alpha.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/sdk-core-v4.2.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/permit2-sdk-v1.2.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/v3-sdk-v3.11.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version @uniswap/v2-sdk-v4.3.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Overview
Moves from subtrees with histories to a complete monorepo setup with the following main features:
Before this PR was polished, the latest SDK's were pulled in on 3/11/24 to ensure freshness.
Monorepo Tooling + Standardization
Dependency Standardization
package.json
ordering, contents, and dependenciesCI / Repo Settings
Publishing
semantic-release
andsemantic-release-monorepo
based onangular
commit messages. More info can be found in the README.Open Questions / Focus
Testing
Next Steps