From 5bddd3acf799fd05f388e8b0086273fd33d8cee5 Mon Sep 17 00:00:00 2001 From: Will Cory Date: Thu, 29 Jun 2023 18:27:08 -0700 Subject: [PATCH] feat: Use tsx instead of ts-node --- packages/chain-mon/package.json | 16 +-- .../src/base-service/base-service-v2.ts | 2 +- packages/contracts-bedrock/STYLE_GUIDE.md | 2 +- packages/contracts-bedrock/package.json | 8 +- packages/fault-detector/README.md | 2 +- packages/replica-healthcheck/package.json | 4 +- pnpm-lock.yaml | 121 ++---------------- 7 files changed, 29 insertions(+), 126 deletions(-) diff --git a/packages/chain-mon/package.json b/packages/chain-mon/package.json index 238d235afbd6..9d02ef874db1 100644 --- a/packages/chain-mon/package.json +++ b/packages/chain-mon/package.json @@ -9,10 +9,10 @@ "dist/*" ], "scripts": { - "start:balance-mon": "ts-node ./src/balance-mon/service.ts", - "start:wallet-mon": "ts-node ./src/wallet-mon/service.ts", - "start:drippie-mon": "ts-node ./src/drippie-mon/service.ts", - "start:wd-mon": "ts-node ./src/wd-mon/service.ts", + "start:balance-mon": "tsx ./src/balance-mon/service.ts", + "start:wallet-mon": "tsx ./src/wallet-mon/service.ts", + "start:drippie-mon": "tsx ./src/drippie-mon/service.ts", + "start:wd-mon": "tsx ./src/wd-mon/service.ts", "test:coverage": "echo 'No tests defined.'", "build": "tsc -p ./tsconfig.json", "clean": "rimraf dist/ ./tsconfig.tsbuildinfo", @@ -35,17 +35,17 @@ }, "dependencies": { "@eth-optimism/common-ts": "0.8.2", - "@eth-optimism/contracts-periphery": "1.0.8", "@eth-optimism/contracts-bedrock": "0.15.0", + "@eth-optimism/contracts-periphery": "1.0.8", "@eth-optimism/core-utils": "0.12.1", "@eth-optimism/sdk": "3.0.0", - "ethers": "^5.7.0", "@types/dateformat": "^5.0.0", "chai-as-promised": "^7.1.1", - "dateformat": "^4.5.1" + "dateformat": "^4.5.1", + "ethers": "^5.7.0" }, "devDependencies": { "@ethersproject/abstract-provider": "^5.7.0", - "ts-node": "^10.9.1" + "tsx": "^3.12.7" } } diff --git a/packages/common-ts/src/base-service/base-service-v2.ts b/packages/common-ts/src/base-service/base-service-v2.ts index 67098aa95d02..e6b34a0d44f1 100644 --- a/packages/common-ts/src/base-service/base-service-v2.ts +++ b/packages/common-ts/src/base-service/base-service-v2.ts @@ -156,7 +156,7 @@ export abstract class BaseServiceV2< } // Use commander as a way to communicate info about the service. We don't actually *use* - // commander for anything besides the ability to run `ts-node ./service.ts --help`. + // commander for anything besides the ability to run `tsx ./service.ts --help`. const program = new Command().allowUnknownOption(true) for (const [optionName, optionSpec] of Object.entries(params.optionsSpec)) { // Skip options that are not meant to be used by the user. diff --git a/packages/contracts-bedrock/STYLE_GUIDE.md b/packages/contracts-bedrock/STYLE_GUIDE.md index 2fe752b8b4fe..eafa69b04be5 100644 --- a/packages/contracts-bedrock/STYLE_GUIDE.md +++ b/packages/contracts-bedrock/STYLE_GUIDE.md @@ -102,7 +102,7 @@ All test contracts and functions should be organized and named according to the These guidelines are also encoded in a script which can be run with: ``` -ts-node scripts/forge-test-names.ts +tsx scripts/forge-test-names.ts ``` _Note: This is a work in progress, not all test files are compliant with these guidelines._ diff --git a/packages/contracts-bedrock/package.json b/packages/contracts-bedrock/package.json index 3e76e674588f..38605ad63233 100644 --- a/packages/contracts-bedrock/package.json +++ b/packages/contracts-bedrock/package.json @@ -16,19 +16,19 @@ "build:forge": "forge build", "build:differential": "go build -o ./scripts/differential-testing/differential-testing ./scripts/differential-testing", "build:fuzz": "(cd test-case-generator && go build ./cmd/fuzz.go)", - "autogen:invariant-docs": "ts-node scripts/invariant-doc-gen.ts", + "autogen:invariant-docs": "tsx scripts/invariant-doc-gen.ts", "test": "pnpm build:differential && pnpm build:fuzz && forge test", "coverage": "pnpm build:differential && pnpm build:fuzz && forge coverage", "coverage:lcov": "pnpm build:differential && pnpm build:fuzz && forge coverage --report lcov", "gas-snapshot": "pnpm build:differential && pnpm build:fuzz && forge snapshot --no-match-test 'testDiff|testFuzz|invariant|generateArtifact'", "storage-snapshot": "./scripts/storage-snapshot.sh", "validate-deploy-configs": "./scripts/validate-deploy-configs.sh", - "validate-spacers": "forge build && npx ts-node scripts/validate-spacers.ts", + "validate-spacers": "forge build && npx tsx scripts/validate-spacers.ts", "slither": "./scripts/slither.sh", "slither:triage": "TRIAGE_MODE=1 ./scripts/slither.sh", "clean": "rm -rf ./dist ./artifacts ./forge-artifacts ./cache ./tsconfig.tsbuildinfo ./tsconfig.build.tsbuildinfo ./src/contract-artifacts.ts ./test-case-generator/fuzz", "lint:ts:check": "eslint . --max-warnings=0", - "lint:forge-tests:check": "ts-node scripts/forge-test-names.ts", + "lint:forge-tests:check": "tsx scripts/forge-test-names.ts", "lint:contracts:check": "pnpm solhint -f table 'contracts/**/!(DisputeTypes|RLPReader).sol' && pnpm prettier --check 'contracts/**/!(DisputeTypes|RLPReader).sol' && pnpm lint:forge-tests:check", "lint:check": "pnpm lint:contracts:check && pnpm lint:ts:check", "lint:ts:fix": "eslint --fix .", @@ -50,7 +50,7 @@ "forge-std": "github:foundry-rs/forge-std#e8a047e3f40f13fa37af6fe14e6e06283d9a060e", "solhint": "^3.4.1", "solhint-plugin-prettier": "^0.0.5", - "ts-node": "^10.9.1", + "tsx": "^3.12.7", "typescript": "^4.9.3" } } diff --git a/packages/fault-detector/README.md b/packages/fault-detector/README.md index 3d7a7ad6423a..6ec8d80f0a74 100644 --- a/packages/fault-detector/README.md +++ b/packages/fault-detector/README.md @@ -48,7 +48,7 @@ Check the list of available metrics via `pnpm start --help`: ```sh > pnpm start --help -$ ts-node ./src/service.ts --help +$ tsx ./src/service.ts --help Usage: service [options] Options: diff --git a/packages/replica-healthcheck/package.json b/packages/replica-healthcheck/package.json index 589dbc61009f..432b344e4d26 100644 --- a/packages/replica-healthcheck/package.json +++ b/packages/replica-healthcheck/package.json @@ -9,7 +9,7 @@ "dist/*" ], "scripts": { - "start": "ts-node ./src/service", + "start": "tsx ./src/service", "test:coverage": "echo 'No tests defined.'", "build": "tsc -p tsconfig.json", "clean": "rimraf ./dist ./tsconfig.tsbuildinfo", @@ -37,6 +37,6 @@ "@ethersproject/abstract-provider": "^5.7.0" }, "devDependencies": { - "ts-node": "^10.9.1" + "tsx": "^3.12.7" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba0be42f333f..b6a8fadf409f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -170,9 +170,9 @@ importers: '@ethersproject/abstract-provider': specifier: ^5.7.0 version: 5.7.0 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@12.20.55)(typescript@4.9.5) + tsx: + specifier: ^3.12.7 + version: 3.12.7 packages/common-ts: dependencies: @@ -286,9 +286,9 @@ importers: solhint-plugin-prettier: specifier: ^0.0.5 version: 0.0.5(prettier-plugin-solidity@1.1.3)(prettier@2.8.8) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@12.20.55)(typescript@4.9.3) + tsx: + specifier: ^3.12.7 + version: 3.12.7 typescript: specifier: ^4.9.3 version: 4.9.3 @@ -415,9 +415,9 @@ importers: specifier: ^5.7.0 version: 5.7.0 devDependencies: - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@12.20.55)(typescript@4.9.5) + tsx: + specifier: ^3.12.7 + version: 3.12.7 packages/sdk: dependencies: @@ -1035,13 +1035,6 @@ packages: - typescript dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@defi-wonderland/smock@2.0.7(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.0.6)(ethers@5.7.1)(hardhat@2.9.6): resolution: {integrity: sha512-RVpODLKZ/Cr0C1bCbhJ2aXbAr2Ll/K2WO7hDL96tqhMzCsA7ToWdDIgiNpV5Vtqqvpftu5ddO7v3TAurQNSU0w==} peerDependencies: @@ -2012,13 +2005,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@lerna/child-process@6.6.2: resolution: {integrity: sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag==} engines: {node: ^14.17.0 || >=16.0.0} @@ -3039,22 +3025,6 @@ packages: engines: {node: '>= 10'} dev: true - /@tsconfig/node10@1.0.8: - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} - dev: true - - /@tsconfig/node12@1.0.9: - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} - dev: true - - /@tsconfig/node14@1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true - - /@tsconfig/node16@1.0.2: - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - dev: true - /@tufjs/canonical-json@1.0.0: resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3918,6 +3888,7 @@ packages: /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: false /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -5996,10 +5967,6 @@ packages: sha.js: 2.4.11 dev: true - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - /cross-fetch@2.2.6: resolution: {integrity: sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA==} dependencies: @@ -6439,6 +6406,7 @@ packages: /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + dev: false /diff@5.0.0: resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} @@ -15823,68 +15791,6 @@ packages: tsconfig-paths: 3.14.2 dev: true - /ts-node@10.9.1(@types/node@12.20.55)(typescript@4.9.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - '@types/node': 12.20.55 - acorn: 8.9.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /ts-node@10.9.1(@types/node@12.20.55)(typescript@4.9.5): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - '@types/node': 12.20.55 - acorn: 8.9.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - /ts-node@7.0.1: resolution: {integrity: sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==} engines: {node: '>=4.2.0'} @@ -16470,10 +16376,6 @@ packages: hasBin: true dev: true - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - /v8-compile-cache@2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -17502,6 +17404,7 @@ packages: /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} + dev: false /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}