{
  "name": "optimism",
  "version": "1.0.0",
  "author": "Optimism PBC",
  "license": "MIT",
  "private": true,
  "engines": {
    "node": ">=16",
    "pnpm": ">=8"
  },
  "scripts": {
    "clean": "pnpm recursive run clean; rm -rf node_modules packages/*/node_modules && echo 'Finished cleaning. Run `pnpm install && pnpm build` from root of repo to rebuild the repo.'",
    "bindings": "nx bindings @eth-optimism/contracts-bedrock",
    "build": "npx nx run-many --target=build",
    "test": "npx nx run-many --target=test",
    "issues": "./ops/scripts/todo-checker.sh",
    "lint": "npx nx run-many --target=lint",
    "test:coverage": "npx nx run-many --target=test:coverage",
    "lint:ts:check": "npx nx run-many --target=lint:ts:check",
    "lint:check": "npx nx run-many --target=lint:check",
    "lint:fix": "npx nx run-many --target=lint:fix",
    "lint:specs:fix": "npx markdownlint-cli2-fix \"./specs/**/*.md\"",
    "lint:specs:check": "npx markdownlint-cli2  \"./specs/**/*.md\"",
    "lint:specs:toc": "npx doctoc '--title=**Table of Contents**' ./specs",
    "preinstall": "npx only-allow pnpm",
    "postinstall": "patch-package",
    "ready": "pnpm lint && pnpm test",
    "prepare": "husky install",
    "release": "npx nx run-many --target=build --skip-nx-cache && pnpm changeset publish",
    "release:check": "changeset status --verbose --since=origin/main",
    "release:publish": "pnpm install --frozen-lockfile && npx nx run-many --target=build && pnpm build && changeset publish",
    "release:version": "changeset version && pnpm install --lockfile-only",
    "install:foundry": "curl -L https://foundry.paradigm.xyz | bash && pnpm update:foundry",
    "update:foundry": "bash ./ops/scripts/install-foundry.sh",
    "install:abigen": "go install github.com/ethereum/go-ethereum/cmd/abigen@$(cat .abigenrc)",
    "print:abigen": "abigen --version | sed -e 's/[^0-9]/ /g' -e 's/^ *//g' -e 's/ *$//g' -e 's/ /./g' -e 's/^/v/'",
    "check:abigen": "[[ $(abigen --version | sed -e 's/[^0-9]/ /g' -e 's/^ *//g' -e 's/ *$//g' -e 's/ /./g' -e 's/^/v/') = $(cat .abigenrc) ]] && echo '✓ abigen versions match' || (echo '✗ abigen version mismatch. Run `pnpm upgrade:abigen` to upgrade.' && exit 1)",
    "upgrade:abigen": "abigen --version | sed -e 's/[^0-9]/ /g' -e 's/^ *//g' -e 's/ *$//g' -e 's/ /./g' -e 's/^/v/' > .abigenrc",
    "install:slither": "pip3 install slither-analyzer==$(cat .slitherrc)",
    "print:slither": "slither --version",
    "check:slither": "[[ $(slither --version) = $(cat .slitherrc) ]] && echo '✓ slither versions match' || (echo '✗ slither version mismatch. Run `pnpm upgrade:slither` to upgrade.' && exit 1)",
    "upgrade:slither": "slither --version > .slitherrc"
  },
  "devDependencies": {
    "@babel/eslint-parser": "^7.23.3",
    "@changesets/changelog-github": "^0.4.8",
    "@types/chai": "^4.3.11",
    "@types/chai-as-promised": "^7.1.8",
    "@types/mocha": "^10.0.6",
    "@types/node": "^20.10.4",
    "@typescript-eslint/eslint-plugin": "^6.13.2",
    "@typescript-eslint/parser": "^6.13.2",
    "chai": "^4.3.10",
    "depcheck": "^1.4.7",
    "doctoc": "^2.2.0",
    "eslint": "^8.55.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-config-standard": "^16.0.3",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-jsdoc": "^35.1.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prefer-arrow": "^1.2.3",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-promise": "^5.1.0",
    "eslint-plugin-react": "^7.24.0",
    "eslint-plugin-unicorn": "^49.0.0",
    "husky": "^8.0.3",
    "lint-staged": "15.2.0",
    "markdownlint": "^0.32.1",
    "markdownlint-cli2": "0.4.0",
    "mocha": "^10.2.0",
    "nx": "17.1.3",
    "nyc": "^15.1.0",
    "patch-package": "^8.0.0",
    "prettier": "^2.8.0",
    "rimraf": "^5.0.5",
    "ts-mocha": "^10.0.0",
    "typescript": "^5.3.3",
    "nx-cloud": "latest"
  },
  "dependencies": {
    "@changesets/cli": "^2.26.0",
    "@codechecks/client": "^0.1.11"
  }
}
