Skip to content

chynacho/optimism

Repository files navigation

Optimism Monorepo (VERY WIP)

Quickstart

git clone [email protected]:ethereum-optimism/optimism.git
cd optimism
yarn
yarn build # this is needed to generate the dist files locally
yarn test

If you get dependency errors: git clean -fx && yarn clean && rm -rf node_modules/@eth-optimism/* && yarn install --force

Taming the Monorepo

  1. You solely use yarn workspaces for the Mono-Repo workflow.
  2. You use lerna’s utility commands to optimize managing of multiple packages, e.g., selective execution of npm scripts for testing.
  3. You use lerna for publishing packages since lerna provides sophisticated features with its version and publish commands.

Incremental Tests

BRANCH_POINT="$(git merge-base $(git rev-parse --abbrev-ref HEAD) $(git describe origin/master))"
changedPackages="$(npx lerna ls -p --since $BRANCH_POINT --include-dependents)"

About

Optimism is Ethereum, scaled.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 74.7%
  • TypeScript 8.9%
  • Solidity 6.8%
  • C 4.3%
  • JavaScript 2.9%
  • Shell 0.7%
  • Other 1.7%