Bladeren bron

chore: move prettier to individual packages & upgrade prettier

This commit makes the following connected changes:

- Removes prettier from `pre-commit` and instead moves it to be run by `turbo`,
  hooking into `test:format` and `fix:format`
- Fixes some of the linting scripts where they were incorrectly configured for
  turbo (i.e. renames the scripts to `fix:lint` and `test:lint` as needed)
- Upgrades prettier in all packgaes
Connor Prussin 8 maanden geleden
bovenliggende
commit
b1dc4c27f5
48 gewijzigde bestanden met toevoegingen van 551 en 194 verwijderingen
  1. 0 10
      .pre-commit-config.yaml
  2. 34 20
      .prettierignore
  3. 1 1
      apps/api-reference/package.json
  4. 4 2
      apps/hermes/client/js/package.json
  5. 4 2
      apps/price_pusher/package.json
  6. 1 1
      apps/staking/package.json
  7. 5 3
      contract_manager/package.json
  8. 1 1
      governance/pyth_staking_sdk/package.json
  9. 2 1
      governance/xc_admin/packages/crank_executor/package.json
  10. 2 1
      governance/xc_admin/packages/crank_pythnet_relayer/package.json
  11. 2 1
      governance/xc_admin/packages/proposer_server/package.json
  12. 3 2
      governance/xc_admin/packages/xc_admin_cli/package.json
  13. 5 4
      governance/xc_admin/packages/xc_admin_common/package.json
  14. 3 1
      governance/xc_admin/packages/xc_admin_frontend/package.json
  15. 1 1
      lazer/contracts/solana/package.json
  16. 6 4
      lazer/sdk/js/package.json
  17. 3 1
      package.json
  18. 333 80
      pnpm-lock.yaml
  19. 1 0
      pnpm-workspace.yaml
  20. 10 0
      prettier.config.mjs
  21. 4 2
      price_service/client/js/package.json
  22. 3 2
      price_service/sdk/js/package.json
  23. 4 2
      pythnet/message_buffer/package.json
  24. 4 2
      target_chains/aptos/cli/package.json
  25. 4 2
      target_chains/aptos/sdk/js/package.json
  26. 5 2
      target_chains/cosmwasm/deploy-scripts/package.json
  27. 3 1
      target_chains/cosmwasm/tools/package.json
  28. 3 2
      target_chains/ethereum/abi_generator/package.json
  29. 5 1
      target_chains/ethereum/contracts/package.json
  30. 5 0
      target_chains/ethereum/contracts/prettier.config.mjs
  31. 6 4
      target_chains/ethereum/entropy_sdk/solidity/package.json
  32. 5 0
      target_chains/ethereum/entropy_sdk/solidity/prettier.config.js
  33. 4 2
      target_chains/ethereum/sdk/js/package.json
  34. 6 4
      target_chains/ethereum/sdk/solidity/package.json
  35. 5 0
      target_chains/ethereum/sdk/solidity/prettier.config.js
  36. 9 0
      target_chains/ethereum/sdk/stylus/pyth-mock-solidity/package.json
  37. 5 0
      target_chains/ethereum/sdk/stylus/pyth-mock-solidity/prettier.config.js
  38. 4 3
      target_chains/fuel/sdk/js/package.json
  39. 4 2
      target_chains/solana/sdk/js/pyth_solana_receiver/package.json
  40. 4 2
      target_chains/solana/sdk/js/solana_utils/package.json
  41. 7 6
      target_chains/starknet/sdk/js/package.json
  42. 4 2
      target_chains/sui/cli-iota/package.json
  43. 4 2
      target_chains/sui/cli/package.json
  44. 4 2
      target_chains/sui/sdk/js-iota/package.json
  45. 4 2
      target_chains/sui/sdk/js/package.json
  46. 1 0
      target_chains/ton/contracts/.prettierignore
  47. 6 4
      target_chains/ton/contracts/package.json
  48. 8 7
      target_chains/ton/sdk/js/package.json

+ 0 - 10
.pre-commit-config.yaml

@@ -23,16 +23,6 @@ repos:
             target_chains/sui/vendor/|
             patches/
           )
-  # Hook to format many type of files in the repo
-  # including solidity contracts.
-  - repo: https://github.com/pre-commit/mirrors-prettier
-    rev: "v2.7.1"
-    hooks:
-      - id: prettier
-        additional_dependencies:
-          - "prettier@2.7.1"
-          - "prettier-plugin-solidity@1.0.0-rc.1"
-        exclude: target_chains/sui/vendor/
   - repo: local
     hooks:
       # Hooks for the remote executor

+ 34 - 20
.prettierignore

@@ -1,25 +1,39 @@
 pnpm-lock.yaml
 patches/
 .turbo/
+target_chains/sui/vendor/
 
-# These apps have their own prettier config that uses a later version of
-# prettier
-#
-# TODO(cprussin): eventually I'll figure out how to upgrade prettier everywhere
-# and hook it in to pre-commit.  For now, I don't want to downgrade prettier in
-# the packages that are using the later version, and pre-commit doesn't support
-# later versions of prettier directly.
-#
-# Ideally, we should probably hook up a pre-commit script to run auto-fixes in a
-# generic way that packages can hook into by defining lifecycle scripts, or by
-# using the nx task graph.  Then, packages can use their own formatters /
-# formatter versions and can also hook up other auto-fixes like eslint, etc.
-#
-# I'll explore doing this when I get around to spending some time on our nx
-# build graph config.
-apps/api-reference
-apps/staking
-apps/insights
-apps/entropy-debugger
-governance/pyth_staking_sdk
+# This should stay in sync with the list of workspaces from
+# `pnpm-workspace.yaml`
+apps/*
 packages/*
+apps/hermes/client/js
+governance/xc_admin/packages/*
+governance/pyth_staking_sdk
+price_service/sdk/js
+price_service/client/js
+pythnet/message_buffer
+target_chains/aptos/cli
+target_chains/aptos/sdk/js
+target_chains/cosmwasm/tools
+target_chains/cosmwasm/deploy-scripts
+target_chains/ethereum/contracts
+target_chains/ethereum/abi_generator
+target_chains/ethereum/entropy_sdk/solidity
+target_chains/ethereum/sdk/js
+target_chains/ethereum/sdk/solidity
+target_chains/ethereum/sdk/stylus/pyth-mock-solidity
+target_chains/ethereum/examples/coin_flip/app
+target_chains/fuel/sdk/js
+target_chains/starknet/sdk/js
+target_chains/sui/sdk/js
+target_chains/sui/sdk/js-iota
+target_chains/sui/cli
+target_chains/sui/cli-iota
+target_chains/solana/sdk/js/solana_utils
+target_chains/solana/sdk/js/pyth_solana_receiver
+target_chains/ton/contracts
+target_chains/ton/sdk/js
+contract_manager
+lazer/contracts/solana
+lazer/sdk/js

+ 1 - 1
apps/api-reference/package.json

@@ -60,7 +60,7 @@
     "eslint": "^9.5.0",
     "jest": "^29.7.0",
     "postcss": "^8.4.38",
-    "prettier": "^3.3.2",
+    "prettier": "catalog:",
     "tailwindcss": "^3.4.4",
     "typescript": "^5.5.2",
     "vercel": "^34.2.7"

+ 4 - 2
apps/hermes/client/js/package.json

@@ -24,8 +24,10 @@
     "build:schemas": "openapi-zod-client ./schema.json --output src/zodSchemas.ts",
     "pull:schema": "curl -o schema.json -z schema.json https://hermes.pyth.network/docs/openapi.json",
     "example": "node lib/examples/HermesClient.js",
-    "format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
     "prepublishOnly": "pnpm run build:typescript && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -44,7 +46,7 @@
     "eslint": "^8.14.0",
     "jest": "^29.4.0",
     "openapi-zod-client": "^1.18.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
     "typescript": "catalog:",
     "yargs": "^17.4.1"

+ 4 - 2
apps/price_pusher/package.json

@@ -21,7 +21,9 @@
   },
   "scripts": {
     "build": "tsc",
-    "format": "prettier --write \"src/**/*.ts\"",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
     "start": "node lib/index.js",
     "dev": "ts-node src/index.ts",
@@ -50,7 +52,7 @@
     "eslint": "^8.13.0",
     "jest": "^29.7.0",
     "pino-pretty": "^11.2.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.1.1",
     "ts-node": "^10.9.1",
     "typescript": "^5.3.3"

+ 1 - 1
apps/staking/package.json

@@ -68,7 +68,7 @@
     "eslint": "^9.8.0",
     "jest": "^29.7.0",
     "postcss": "^8.4.40",
-    "prettier": "^3.3.2",
+    "prettier": "catalog:",
     "tailwindcss": "^3.4.7",
     "tailwindcss-animate": "^1.0.7",
     "tailwindcss-react-aria-components": "^1.1.5",

+ 5 - 3
contract_manager/package.json

@@ -11,8 +11,10 @@
   "scripts": {
     "build": "tsc",
     "shell": "ts-node ./src/shell.ts",
+    "fix:lint": "eslint src/ scripts/ --fix --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\" \"scripts/**/*.ts\"",
     "test:lint": "eslint src/ scripts/ --max-warnings 0",
-    "format": "prettier --write \"src/**/*.ts\" \"scripts/**/*.ts\""
+    "test:format": "prettier --check \"src/**/*.ts\" \"scripts/**/*.ts\""
   },
   "author": "",
   "license": "Apache-2.0",
@@ -34,10 +36,10 @@
     "@pythnetwork/hermes-client": "workspace:*",
     "@pythnetwork/price-service-client": "workspace:*",
     "@pythnetwork/pyth-fuel-js": "workspace:*",
+    "@pythnetwork/pyth-iota-js": "workspace:*",
     "@pythnetwork/pyth-sdk-solidity": "workspace:^",
     "@pythnetwork/pyth-starknet-js": "^0.2.1",
     "@pythnetwork/pyth-sui-js": "workspace:*",
-    "@pythnetwork/pyth-iota-js": "workspace:*",
     "@pythnetwork/pyth-ton": "workspace:*",
     "@pythnetwork/pyth-ton-js": "workspace:*",
     "@pythnetwork/solana-utils": "workspace:^",
@@ -67,7 +69,7 @@
   "devDependencies": {
     "@types/web3": "^1.2.2",
     "eslint": "^8.0.0",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "typedoc": "^0.25.7"
   }
 }

+ 1 - 1
governance/pyth_staking_sdk/package.json

@@ -30,7 +30,7 @@
     "@typescript-eslint/parser": "^8.3.0",
     "eslint": "^9.8.0",
     "jest": "^29.7.0",
-    "prettier": "^3.3.2",
+    "prettier": "catalog:",
     "typescript": "^5.5.4"
   },
   "dependencies": {

+ 2 - 1
governance/xc_admin/packages/crank_executor/package.json

@@ -17,7 +17,8 @@
   "scripts": {
     "build": "tsc",
     "start": "node lib/index.js",
-    "format": "prettier --write \"src/**/*.ts\""
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "test:format": "prettier --check \"src/**/*.ts\""
   },
   "dependencies": {
     "@certusone/wormhole-sdk": "^0.10.15",

+ 2 - 1
governance/xc_admin/packages/crank_pythnet_relayer/package.json

@@ -17,7 +17,8 @@
   "scripts": {
     "build": "tsc",
     "start": "node lib/index.js",
-    "format": "prettier --write \"src/**/*.ts\""
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "test:format": "prettier --check \"src/**/*.ts\""
   },
   "dependencies": {
     "@certusone/wormhole-sdk": "^0.10.15",

+ 2 - 1
governance/xc_admin/packages/proposer_server/package.json

@@ -17,7 +17,8 @@
   "scripts": {
     "build": "tsc",
     "start": "node lib/index.js",
-    "format": "prettier --write \"src/**/*.ts\""
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "test:format": "prettier --check \"src/**/*.ts\""
   },
   "dependencies": {
     "@coral-xyz/anchor": "^0.29.0",

+ 3 - 2
governance/xc_admin/packages/xc_admin_cli/package.json

@@ -16,8 +16,9 @@
   },
   "scripts": {
     "build": "tsc",
-    "format": "prettier --write \"src/**/*.ts\"",
-    "cli": "pnpm run build && node lib/index.js"
+    "cli": "pnpm run build && node lib/index.js",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "test:format": "prettier --check \"src/**/*.ts\""
   },
   "dependencies": {
     "@coral-xyz/anchor": "^0.29.0",

+ 5 - 4
governance/xc_admin/packages/xc_admin_common/package.json

@@ -16,8 +16,9 @@
   },
   "scripts": {
     "build": "tsc",
-    "format": "prettier --write \"src/**/*.ts\"",
-    "test:unit": "jest"
+    "test:unit": "jest",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "test:format": "prettier --check \"src/**/*.ts\""
   },
   "//": [
     "The injectivelabs/token-metadata package is pinned to a specific version to ensure that",
@@ -30,6 +31,7 @@
     "@injectivelabs/token-metadata": "~1.10.42",
     "@project-serum/anchor": "^0.25.0",
     "@pythnetwork/client": "catalog:",
+    "@pythnetwork/pyth-lazer-sdk": "workspace:*",
     "@pythnetwork/pyth-solana-receiver": "workspace:*",
     "@pythnetwork/solana-utils": "workspace:*",
     "@solana/buffer-layout": "^4.0.1",
@@ -40,7 +42,6 @@
     "ethers": "^5.7.2",
     "lodash": "^4.17.21",
     "message_buffer": "workspace:^",
-    "@pythnetwork/pyth-lazer-sdk": "workspace:*",
     "typescript": "^4.9.4"
   },
   "devDependencies": {
@@ -49,7 +50,7 @@
     "@types/lodash": "^4.14.191",
     "fast-check": "^3.10.0",
     "jest": "^29.3.1",
-    "prettier": "^2.8.1",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.3"
   }
 }

+ 3 - 1
governance/xc_admin/packages/xc_admin_frontend/package.json

@@ -10,6 +10,8 @@
     "pull:env": "[ $CI ] || VERCEL_ORG_ID=team_BKQrg3JJFLxZyTqpuYtIY0rj VERCEL_PROJECT_ID=prj_TCjesnm3pxM7Ay8oxlTH4xLkkmP9 vercel env pull",
     "start:dev": "next dev --port 3004",
     "start:prod": "next start --port 3004",
+    "fix:format": "prettier --write .",
+    "test:format": "prettier --check .",
     "test:lint": "next lint --max-warnings 0"
   },
   "dependencies": {
@@ -54,7 +56,7 @@
     "eslint": "8.56.0",
     "eslint-config-next": "^14.2.3",
     "postcss": "^8.4.16",
-    "prettier": "^2.7.1",
+    "prettier": "catalog:",
     "prettier-plugin-tailwindcss": "^0.1.13",
     "tailwindcss": "^3.1.8",
     "typescript": "^5.4.5",

+ 1 - 1
lazer/contracts/solana/package.json

@@ -19,7 +19,7 @@
     "@types/yargs": "^17.0.33",
     "chai": "^4.3.4",
     "mocha": "^9.0.3",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-mocha": "^10.0.0",
     "ts-node": "^10.9.2",
     "typescript": "^4.3.5",

+ 6 - 4
lazer/sdk/js/package.json

@@ -26,6 +26,8 @@
     "fix:lint": "eslint --fix . --max-warnings 0",
     "test:lint": "eslint . --max-warnings 0",
     "test:types": "tsc",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write .",
     "example": "node --loader ts-node/esm examples/index.js",
     "doc": "typedoc --out docs/typedoc src",
     "publish": "pnpm run script -- publish"
@@ -38,7 +40,7 @@
     "@types/node": "^18.19.54",
     "@types/ws": "^8.5.12",
     "eslint": "^9.12.0",
-    "prettier": "^3.3.3",
+    "prettier": "catalog:",
     "ts-node": "^10.9.2",
     "typedoc": "^0.26.8",
     "typescript": ">=5.5.0 < 5.6.0",
@@ -60,11 +62,11 @@
   ],
   "license": "Apache-2.0",
   "dependencies": {
+    "@isaacs/ttlcache": "^1.4.1",
     "@solana/buffer-layout": "^4.0.1",
     "@solana/web3.js": "^1.98.0",
     "isomorphic-ws": "^5.0.0",
-    "ws": "^8.18.0",
-    "@isaacs/ttlcache": "^1.4.1",
-    "ts-log": "^2.2.7"
+    "ts-log": "^2.2.7",
+    "ws": "^8.18.0"
   }
 }

+ 3 - 1
package.json

@@ -17,8 +17,10 @@
     "test:ci": "turbo test"
   },
   "devDependencies": {
+    "@cprussin/prettier-config": "^2.2.1",
     "lerna": "^8.1.8",
-    "prettier": "2.7.1",
+    "prettier": "catalog:",
+    "prettier-plugin-solidity": "catalog:",
     "turbo": "^2.2.3"
   },
   "pnpm": {

File diff suppressed because it is too large
+ 333 - 80
pnpm-lock.yaml


+ 1 - 0
pnpm-workspace.yaml

@@ -78,6 +78,7 @@ catalog:
   pino: 9.5.0
   postcss-loader: 8.1.1
   postcss: 8.4.47
+  prettier-plugin-solidity: ^1.4.2
   prettier: 3.3.3
   react-aria-components: 1.5.0
   react-aria: 3.36.0

+ 10 - 0
prettier.config.mjs

@@ -0,0 +1,10 @@
+import { base, mergeConfigs } from "@cprussin/prettier-config";
+import solidity from "prettier-plugin-solidity";
+
+const config = mergeConfigs([
+  base,
+  {
+    plugins: [solidity],
+  },
+]);
+export default config;

+ 4 - 2
price_service/client/js/package.json

@@ -23,7 +23,9 @@
     "test:e2e": "jest --testPathPattern=.*.e2e.test.ts",
     "build": "tsc",
     "example": "pnpm run build && node lib/examples/PriceServiceClient.js",
-    "format": "prettier --write \"src/**/*.ts\"",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
     "prepublishOnly": "pnpm run build && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
@@ -41,7 +43,7 @@
     "@typescript-eslint/parser": "^5.21.0",
     "eslint": "^8.14.0",
     "jest": "^29.4.0",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
     "typescript": "^4.6.3",
     "yargs": "^17.4.1"

+ 3 - 2
price_service/sdk/js/package.json

@@ -18,10 +18,11 @@
   },
   "scripts": {
     "build": "tsc",
-    "format": "prettier --write \"src/**/*.ts\"",
     "gen-ts-schema": "quicktype --src-lang schema src/schemas/price_feed.json -o src/schemas/PriceFeed.ts --raw-type any --converters all-objects && prettier --write \"src/schemas/*.ts\"",
     "test:unit": "jest",
     "test:lint": "eslint src/ --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
     "prepublishOnly": "pnpm run build && pnpm test:unit && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -38,7 +39,7 @@
     "@typescript-eslint/parser": "^5.20.0",
     "eslint": "^8.13.0",
     "jest": "^29.4.0",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "quicktype": "^23.0.76",
     "ts-jest": "^29.0.5",
     "typescript": "^4.6.3"

+ 4 - 2
pythnet/message_buffer/package.json

@@ -3,7 +3,9 @@
   "version": "0.1.0",
   "private": "true",
   "scripts": {
-    "init-buffer": "pnpm exec ts-node scripts/setup_message_buffer.ts"
+    "init-buffer": "pnpm exec ts-node scripts/setup_message_buffer.ts",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "dependencies": {
     "@coral-xyz/anchor": "^0.27.0",
@@ -17,7 +19,7 @@
     "@types/mocha": "^9.0.0",
     "chai": "^4.3.4",
     "mocha": "^9.0.3",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-mocha": "^10.0.0",
     "typescript": "^4.3.5"
   }

+ 4 - 2
target_chains/aptos/cli/package.json

@@ -6,7 +6,9 @@
   "main": "index.js",
   "scripts": {
     "cli": "ts-node src/cli.ts",
-    "build": "tsc"
+    "build": "tsc",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "author": "",
   "license": "ISC",
@@ -16,7 +18,7 @@
   "devDependencies": {
     "@types/node": "^18.7.21",
     "@types/yargs": "^17.0.13",
-    "prettier": "2.8.0",
+    "prettier": "catalog:",
     "typescript": "^5.3.3"
   },
   "dependencies": {

+ 4 - 2
target_chains/aptos/sdk/js/package.json

@@ -22,7 +22,9 @@
   "scripts": {
     "build": "tsc",
     "example-relay": "pnpm run build && node lib/examples/AptosRelay.js",
-    "format": "prettier --write \"src/**/*.ts\"",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
     "prepublishOnly": "pnpm run build && pnpm test:lint",
     "preversion": "pnpm run test:lint",
@@ -44,7 +46,7 @@
     "@typescript-eslint/parser": "^5.21.0",
     "eslint": "^8.14.0",
     "jest": "^29.4.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
     "typescript": "^4.6.3",
     "web3": "^1.8.2",

+ 5 - 2
target_chains/cosmwasm/deploy-scripts/package.json

@@ -7,7 +7,9 @@
     "build": "tsc",
     "build-contract": "ts-node ./src/build-contract.ts",
     "instantiate-wormhole": "ts-node ./src/instantiate-wormhole.ts",
-    "instantiate-pyth": "ts-node ./src/instantiate-pyth.ts"
+    "instantiate-pyth": "ts-node ./src/instantiate-pyth.ts",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "author": "",
   "license": "Apache-2.0",
@@ -25,6 +27,7 @@
   },
   "devDependencies": {
     "@types/adm-zip": "^0.5.0",
-    "@types/yargs": "^17.0.18"
+    "@types/yargs": "^17.0.18",
+    "prettier": "catalog:"
   }
 }

+ 3 - 1
target_chains/cosmwasm/tools/package.json

@@ -6,7 +6,9 @@
   "private": "true",
   "scripts": {
     "build": "tsc",
-    "deploy": "ts-node ./src/ci/deploy.ts"
+    "deploy": "ts-node ./src/ci/deploy.ts",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "author": "",
   "license": "Apache-2.0",

+ 3 - 2
target_chains/ethereum/abi_generator/package.json

@@ -18,11 +18,12 @@
     "generate-abis": "src/generate.js"
   },
   "scripts": {
-    "format": "prettier --write .",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write .",
     "generate": "node src/generate.js"
   },
   "devDependencies": {
-    "prettier": "^2.7.1",
+    "prettier": "catalog:",
     "solc": "^0.8.15"
   }
 }

+ 5 - 1
target_chains/ethereum/contracts/package.json

@@ -10,6 +10,8 @@
     "@types/chai": "^4.3.4",
     "chai": "^4.2.0",
     "mocha": "^8.2.1",
+    "prettier": "catalog:",
+    "prettier-plugin-solidity": "catalog:",
     "truffle": "^5.7.4",
     "truffle-deploy-registry": "^0.5.1",
     "truffle-plugin-stdjsonin": "github:mhrsalehi/truffle-plugin-stdjsonin",
@@ -22,7 +24,9 @@
     "receiver-submit-guardian-sets": "truffle exec scripts/receiverSubmitGuardianSetUpgrades.js",
     "verify": "truffle run verify $npm_config_module@$npm_config_contract_address --network $npm_config_network",
     "install-forge-deps": "forge install foundry-rs/forge-std@v1.7.6 --no-git --no-commit",
-    "coverage": "./coverage.sh"
+    "coverage": "./coverage.sh",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "author": "",
   "license": "Apache-2.0",

+ 5 - 0
target_chains/ethereum/contracts/prettier.config.mjs

@@ -0,0 +1,5 @@
+import solidity from "prettier-plugin-solidity";
+
+export default {
+  plugins: [solidity],
+};

+ 6 - 4
target_chains/ethereum/entropy_sdk/solidity/package.json

@@ -2,6 +2,7 @@
   "name": "@pythnetwork/entropy-sdk-solidity",
   "version": "1.5.0",
   "description": "Generate secure random numbers with Pyth Entropy",
+  "type": "module",
   "repository": {
     "type": "git",
     "url": "https://github.com/pyth-network/pyth-crosschain",
@@ -11,7 +12,8 @@
     "access": "public"
   },
   "scripts": {
-    "format": "prettier --write .",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write .",
     "build": "generate-abis IEntropy IEntropyConsumer EntropyErrors EntropyEvents EntropyStructs PRNG",
     "test": "git diff --exit-code abis"
   },
@@ -27,8 +29,8 @@
   },
   "homepage": "https://github.com/pyth-network/pyth-crosschain/tree/main/target_chains/ethereum/entropy_sdk/solidity",
   "devDependencies": {
-    "prettier": "^2.7.1",
-    "prettier-plugin-solidity": "^1.0.0-rc.1",
-    "abi_generator": "workspace:*"
+    "abi_generator": "workspace:*",
+    "prettier": "catalog:",
+    "prettier-plugin-solidity": "catalog:"
   }
 }

+ 5 - 0
target_chains/ethereum/entropy_sdk/solidity/prettier.config.js

@@ -0,0 +1,5 @@
+import solidity from "prettier-plugin-solidity";
+
+export default {
+  plugins: [solidity],
+};

+ 4 - 2
target_chains/ethereum/sdk/js/package.json

@@ -24,8 +24,10 @@
     "example-client": "pnpm run build && node lib/examples/EvmPriceServiceClient.js",
     "example-relay": "pnpm run build && node lib/examples/EvmRelay.js",
     "example-benchmark": "pnpm run build && node lib/examples/EvmBenchmark.js",
-    "format": "prettier --write \"src/**/*.ts\"",
+    "test:format": "prettier --check \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
     "prepublishOnly": "pnpm run build && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -47,7 +49,7 @@
     "@typescript-eslint/parser": "^5.21.0",
     "eslint": "^8.14.0",
     "jest": "^29.4.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
     "typescript": "^4.6.3",
     "web3": "^1.8.2",

+ 6 - 4
target_chains/ethereum/sdk/solidity/package.json

@@ -2,6 +2,7 @@
   "name": "@pythnetwork/pyth-sdk-solidity",
   "version": "4.0.0",
   "description": "Read prices from the Pyth oracle",
+  "type": "module",
   "repository": {
     "type": "git",
     "url": "https://github.com/pyth-network/pyth-crosschain",
@@ -9,8 +10,9 @@
   },
   "scripts": {
     "build:abis": "generate-abis IPyth IPythEvents AbstractPyth MockPyth PythErrors PythUtils PythAggregatorV3",
-    "build:bin:": "solcjs --bin MockPyth.sol --base-path . -o build/",
-    "format": "prettier --write .",
+    "build:bin": "solcjs --bin MockPyth.sol --base-path . -o build/",
+    "fix:format": "prettier --write .",
+    "test:format": "prettier --check .",
     "test": "git diff --exit-code abis"
   },
   "keywords": [
@@ -26,8 +28,8 @@
   "homepage": "https://github.com/pyth-network/pyth-crosschain/tree/main/target_chains/ethereum/sdk/solidity",
   "devDependencies": {
     "abi_generator": "workspace:*",
-    "prettier": "^2.7.1",
-    "prettier-plugin-solidity": "^1.0.0-rc.1",
+    "prettier": "catalog:",
+    "prettier-plugin-solidity": "catalog:",
     "solc": "^0.8.25"
   }
 }

+ 5 - 0
target_chains/ethereum/sdk/solidity/prettier.config.js

@@ -0,0 +1,5 @@
+import solidity from "prettier-plugin-solidity";
+
+export default {
+  plugins: [solidity],
+};

+ 9 - 0
target_chains/ethereum/sdk/stylus/pyth-mock-solidity/package.json

@@ -2,14 +2,23 @@
   "name": "pyth-mock-solidity",
   "version": "1.0.0",
   "description": "** Deploy mock solidity pyth contract using the pyth solidity sdk **",
+  "type": "module",
   "directories": {
     "lib": "lib",
     "test": "test"
   },
+  "scripts": {
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
+  },
   "keywords": [],
   "author": "",
   "license": "ISC",
   "dependencies": {
     "@pythnetwork/pyth-sdk-solidity": "^4.0.0"
+  },
+  "devDependencies": {
+    "prettier": "catalog:",
+    "prettier-plugin-solidity": "catalog:"
   }
 }

+ 5 - 0
target_chains/ethereum/sdk/stylus/pyth-mock-solidity/prettier.config.js

@@ -0,0 +1,5 @@
+import solidity from "prettier-plugin-solidity";
+
+export default {
+  plugins: [solidity],
+};

+ 4 - 3
target_chains/fuel/sdk/js/package.json

@@ -23,8 +23,9 @@
     "usage-example": "ts-node src/examples/usage.ts",
     "build": "pnpm run generate-fuel-types && tsc && copyfiles -u 1 \"src/**/*.d.ts\" lib",
     "test:format": "prettier --check \"src/**/*.ts\"",
-    "fix:format": "prettier --write \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
     "prepublishOnly": "pnpm run build && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run test:format && git add -A src",
@@ -36,12 +37,12 @@
   ],
   "license": "Apache-2.0",
   "devDependencies": {
+    "@pythnetwork/hermes-client": "workspace:*",
     "@typescript-eslint/eslint-plugin": "^7.7.0",
     "@typescript-eslint/parser": "^7.7.0",
-    "@pythnetwork/hermes-client": "workspace:*",
     "copyfiles": "^2.4.1",
     "eslint": "^8.14.0",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-node": "^10.9.2",
     "typescript": "^5.4.5"
   },

+ 4 - 2
target_chains/solana/sdk/js/pyth_solana_receiver/package.json

@@ -18,8 +18,10 @@
   },
   "scripts": {
     "build": "tsc",
-    "format": "prettier --write \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
     "prepublishOnly": "pnpm run build && pnpm test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -36,7 +38,7 @@
     "@typescript-eslint/parser": "^5.20.0",
     "eslint": "^8.13.0",
     "jest": "^29.4.0",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "quicktype": "^23.0.76",
     "ts-jest": "^29.0.5",
     "ts-node": "^10.9.2",

+ 4 - 2
target_chains/solana/sdk/js/solana_utils/package.json

@@ -18,9 +18,11 @@
   },
   "scripts": {
     "build": "tsc",
-    "format": "prettier --write \"src/**/*.ts\"",
     "test:unit": "jest",
     "test:lint": "eslint src/ --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
     "prepublishOnly": "pnpm run build && pnpm test:unit && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -38,7 +40,7 @@
     "@typescript-eslint/parser": "^5.20.0",
     "eslint": "^8.13.0",
     "jest": "^29.4.0",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "quicktype": "^23.0.76",
     "ts-jest": "^29.0.5",
     "typescript": "^4.6.3"

+ 7 - 6
target_chains/starknet/sdk/js/package.json

@@ -22,8 +22,10 @@
   "scripts": {
     "build": "tsc",
     "usage-example": "ts-node src/examples/usage.ts",
-    "format": "prettier --write \"src/**/*.ts\"",
+    "test:format": "prettier --check \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
     "prepublishOnly": "pnpm run build && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -39,10 +41,9 @@
     "@typescript-eslint/parser": "^5.21.0",
     "eslint": "^8.14.0",
     "jest": "^29.4.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
-    "typescript": "^4.6.3",
-    "ts-node": "^10.9.2"
-  },
-  "dependencies": {}
+    "ts-node": "^10.9.2",
+    "typescript": "^4.6.3"
+  }
 }

+ 4 - 2
target_chains/sui/cli-iota/package.json

@@ -6,7 +6,9 @@
   "license": "Apache-2.0",
   "scripts": {
     "cli": "ts-node src/cli.ts",
-    "build": "tsc"
+    "build": "tsc",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "private": "true",
   "dependencies": {
@@ -16,7 +18,7 @@
     "@pythnetwork/price-service-client": "^1.4.0",
     "@pythnetwork/price-service-sdk": "^1.2.0",
     "@pythnetwork/xc-admin-common": "workspace:*",
-    "prettier": "^2.8.7",
+    "prettier": "catalog:",
     "ts-node": "^10.9.1",
     "typescript": "^5.0.4",
     "yargs": "^17.7.2"

+ 4 - 2
target_chains/sui/cli/package.json

@@ -6,7 +6,9 @@
   "license": "Apache-2.0",
   "scripts": {
     "cli": "ts-node src/cli.ts",
-    "build": "tsc"
+    "build": "tsc",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "private": "true",
   "dependencies": {
@@ -16,7 +18,7 @@
     "@pythnetwork/price-service-client": "^1.4.0",
     "@pythnetwork/price-service-sdk": "^1.2.0",
     "@pythnetwork/xc-admin-common": "workspace:*",
-    "prettier": "^2.8.7",
+    "prettier": "catalog:",
     "ts-node": "^10.9.1",
     "typescript": "^5.0.4",
     "yargs": "^17.7.2"

+ 4 - 2
target_chains/sui/sdk/js-iota/package.json

@@ -22,8 +22,10 @@
   "scripts": {
     "build": "tsc",
     "example-relay": "pnpm run build && node lib/examples/SuiRelay.js",
-    "format": "prettier --write \"src/**/*.ts\"",
     "test:lint": "eslint src/",
+    "test:format": "prettier --check \"src/**/*.ts\"",
+    "fix:lint": "eslint --fix src/",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
     "prepublishOnly": "pnpm run build && pnpm test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -45,7 +47,7 @@
     "@typescript-eslint/parser": "^6.0.0",
     "eslint": "^8.14.0",
     "jest": "^29.4.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
     "typescript": "^5.3.3",
     "web3": "^1.8.2",

+ 4 - 2
target_chains/sui/sdk/js/package.json

@@ -22,8 +22,10 @@
   "scripts": {
     "build": "tsc",
     "example-relay": "node lib/examples/SuiRelay.js",
-    "format": "prettier --write \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
     "prepublishOnly": "pnpm run build && pnpm test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -45,7 +47,7 @@
     "@typescript-eslint/parser": "^6.0.0",
     "eslint": "^8.14.0",
     "jest": "^29.4.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
     "typescript": "^5.3.3",
     "web3": "^1.8.2",

+ 1 - 0
target_chains/ton/contracts/.prettierignore

@@ -0,0 +1 @@
+build/

+ 6 - 4
target_chains/ton/contracts/package.json

@@ -5,13 +5,15 @@
   "scripts": {
     "start": "blueprint run",
     "build": "blueprint build Main",
-    "test:unit": "jest --verbose"
+    "test:unit": "jest --verbose",
+    "test:format": "prettier --check .",
+    "fix:format": "prettier --write ."
   },
   "devDependencies": {
-    "@pythnetwork/pyth-ton-js": "workspace:*",
+    "@pythnetwork/hermes-client": "workspace:*",
     "@pythnetwork/price-service-sdk": "workspace:*",
+    "@pythnetwork/pyth-ton-js": "workspace:*",
     "@pythnetwork/xc-admin-common": "workspace:*",
-    "@pythnetwork/hermes-client": "workspace:*",
     "@ton/blueprint": "^0.22.0",
     "@ton/core": "^0.59.0",
     "@ton/crypto": "^3.3.0",
@@ -22,7 +24,7 @@
     "@types/node": "^20.14.10",
     "@wormhole-foundation/sdk-definitions": "^0.10.7",
     "jest": "^29.7.0",
-    "prettier": "^3.3.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.2.0",
     "ts-node": "^10.9.2",
     "typescript": "^5.5.3"

+ 8 - 7
target_chains/ton/sdk/js/package.json

@@ -21,8 +21,10 @@
   },
   "scripts": {
     "build": "tsc",
-    "format": "prettier --write \"src/**/*.ts\"",
     "test:lint": "eslint src/ --max-warnings 0",
+    "test:format": "prettier --check \"src/**/*.ts\"",
+    "fix:lint": "eslint src/ --fix --max-warnings 0",
+    "fix:format": "prettier --write \"src/**/*.ts\"",
     "prepublishOnly": "pnpm run build && pnpm run test:lint",
     "preversion": "pnpm run test:lint",
     "version": "pnpm run format && git add -A src"
@@ -34,17 +36,16 @@
   "license": "Apache-2.0",
   "devDependencies": {
     "@ton/core": "^0.59.0",
-    "@ton/ton": "^15.1.0",
     "@ton/crypto": "^3.3.0",
+    "@ton/ton": "^15.1.0",
     "@types/node": "^18.11.18",
     "@typescript-eslint/eslint-plugin": "^5.21.0",
     "@typescript-eslint/parser": "^5.21.0",
     "eslint": "^8.14.0",
     "jest": "^29.4.1",
-    "prettier": "^2.6.2",
+    "prettier": "catalog:",
     "ts-jest": "^29.0.5",
-    "typescript": "^4.6.3",
-    "ts-node": "^10.9.2"
-  },
-  "dependencies": {}
+    "ts-node": "^10.9.2",
+    "typescript": "^4.6.3"
+  }
 }

Some files were not shown because too many files changed in this diff