From b9c61a96082e62c4f1bec3a8ebb358ea30c315f0 Mon Sep 17 00:00:00 2001 From: Karolis Ramanauskas Date: Tue, 10 Sep 2024 19:15:10 +0300 Subject: [PATCH] fix(explorer): world address cli option as hex (#3155) Co-authored-by: Kevin Ingersoll --- .changeset/itchy-trees-retire.md | 5 + package.json | 5 - packages/explorer/README.md | 1 + packages/explorer/bin/explorer.ts | 99 ++++++++---- packages/explorer/package.json | 3 +- patches/minimist@1.2.8-allow-hex-values.patch | 12 -- pnpm-lock.yaml | 146 +++++------------- 7 files changed, 123 insertions(+), 148 deletions(-) create mode 100644 .changeset/itchy-trees-retire.md delete mode 100644 patches/minimist@1.2.8-allow-hex-values.patch diff --git a/.changeset/itchy-trees-retire.md b/.changeset/itchy-trees-retire.md new file mode 100644 index 0000000000..28d31b7d7a --- /dev/null +++ b/.changeset/itchy-trees-retire.md @@ -0,0 +1,5 @@ +--- +"@latticexyz/explorer": patch +--- + +Fixed an issue with `--worldAddress` CLI flag being incorrectly interpreted as a number rather a hex string. Additionally, added `--hostname` option for specifying the hostname on which to start the application. diff --git a/package.json b/package.json index 7af5ad1c23..ff3e249430 100644 --- a/package.json +++ b/package.json @@ -58,10 +58,5 @@ "engines": { "node": "^18.20.1", "pnpm": "^9.6.0" - }, - "pnpm": { - "patchedDependencies": { - "minimist@1.2.8": "patches/minimist@1.2.8-allow-hex-values.patch" - } } } diff --git a/packages/explorer/README.md b/packages/explorer/README.md index 00908ebdf4..fa5377abe4 100644 --- a/packages/explorer/README.md +++ b/packages/explorer/README.md @@ -45,6 +45,7 @@ The World Explorer accepts the following CLI arguments: | `indexerDatabase` | Path to your SQLite indexer database | "indexer.db" | | `chainId` | The chain ID of the network | 31337 | | `port` | The port on which to run the World Explorer | 13690 | +| `hostname` | The host on which to run the World Explorer | 0.0.0.0 | | `dev` | Run the World Explorer in development mode | false | ## Contributing diff --git a/packages/explorer/bin/explorer.ts b/packages/explorer/bin/explorer.ts index 13ff25ec10..e7b3bcc06f 100755 --- a/packages/explorer/bin/explorer.ts +++ b/packages/explorer/bin/explorer.ts @@ -1,46 +1,93 @@ #!/usr/bin/env node import { watchFile } from "fs"; import { readFile } from "fs/promises"; -import minimist from "minimist"; import path from "path"; import process from "process"; import { fileURLToPath } from "url"; +import yargs from "yargs"; import { ChildProcess, spawn } from "child_process"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -const argv = minimist(process.argv.slice(2)); -const port = argv.port || process.env.PORT || 13690; -const chainId = argv.chainId || process.env.CHAIN_ID || 31337; -const indexerDatabase = argv.indexerDatabase || process.env.INDEXER_DATABASE || "indexer.db"; -const worldsFile = argv.worldsFile || process.env.WORLDS_FILE || "worlds.json"; -const isDev = !!argv.dev; +const argv = yargs(process.argv.slice(2)) + .options({ + port: { + alias: "p", + description: "Port number for the server", + type: "number", + default: process.env.PORT || 13690, + }, + hostname: { + alias: "H", + description: "Host for the server", + type: "string", + }, + chainId: { + alias: "c", + description: "Chain ID", + type: "number", + default: process.env.CHAIN_ID || 31337, + }, + indexerDatabase: { + alias: "i", + description: "Path to the indexer database", + type: "string", + default: process.env.INDEXER_DATABASE || "indexer.db", + }, + worldsFile: { + alias: "w", + description: "Path to the worlds.json file", + type: "string", + default: process.env.WORLDS_FILE || "worlds.json", + }, + dev: { + alias: "D", + description: "Run in development mode", + type: "boolean", + default: false, + }, + worldAddress: { + alias: "a", + description: "World address", + type: "string", + default: process.env.WORLD_ADDRESS, + }, + }) + .parseSync(); -let worldAddress = argv.worldAddress || process.env.WORLD_ADDRESS || null; +const { port, hostname, chainId, indexerDatabase, worldsFile, dev } = argv; +let worldAddress = argv.worldAddress; let explorerProcess: ChildProcess; async function startExplorer() { - let command, args; - - if (isDev) { - command = "pnpm"; - args = ["dev"]; + const env = { + ...process.env, + WORLD_ADDRESS: worldAddress?.toString(), + INDEXER_DATABASE: path.join(process.cwd(), indexerDatabase), + }; + + if (dev) { + explorerProcess = spawn( + "node_modules/.bin/next", + ["dev", "--port", port.toString(), ...(hostname ? ["--hostname", hostname] : [])], + { + cwd: path.join(__dirname, ".."), + stdio: "inherit", + env, + }, + ); } else { - command = "pnpm"; - args = ["start"]; + explorerProcess = spawn("node", [".next/standalone/packages/explorer/server.js"], { + cwd: path.join(__dirname, ".."), + stdio: "inherit", + env: { + ...env, + PORT: port.toString(), + HOSTNAME: hostname, + }, + }); } - - explorerProcess = spawn(command, args, { - cwd: __dirname, - stdio: "inherit", - env: { - ...process.env, - PORT: port, - WORLD_ADDRESS: worldAddress, - INDEXER_DATABASE: path.join(process.cwd(), indexerDatabase), - }, - }); } async function readWorldsJson() { diff --git a/packages/explorer/package.json b/packages/explorer/package.json index 5bed4e5d84..f467b3cadb 100644 --- a/packages/explorer/package.json +++ b/packages/explorer/package.json @@ -45,7 +45,6 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "lucide-react": "^0.408.0", - "minimist": "^1.2.8", "next": "14.2.5", "query-string": "^9.1.0", "react": "^18", @@ -56,6 +55,7 @@ "tsup": "^6.7.0", "viem": "catalog:", "wagmi": "^2.11.1", + "yargs": "^17.7.1", "zod": "3.23.8", "zustand": "^4.3.7" }, @@ -66,6 +66,7 @@ "@types/node": "^18.15.11", "@types/react": "18.2.22", "@types/react-dom": "18.2.7", + "@types/yargs": "^17.0.10", "eslint-config-next": "14.2.3", "postcss": "^8", "prettier": "3.2.5", diff --git a/patches/minimist@1.2.8-allow-hex-values.patch b/patches/minimist@1.2.8-allow-hex-values.patch deleted file mode 100644 index 208c306e1a..0000000000 --- a/patches/minimist@1.2.8-allow-hex-values.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/index.js b/index.js -index f020f3940e129c361dc89226efaf8775a4af8752..b36b76708f93042f46e7de501d832635016a4931 100644 ---- a/index.js -+++ b/index.js -@@ -12,7 +12,6 @@ function hasKey(obj, keys) { - - function isNumber(x) { - if (typeof x === 'number') { return true; } -- if ((/^0x[0-9a-f]+$/i).test(x)) { return true; } - return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x); - } - diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7abba8e677..24daa0b8d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,11 +22,6 @@ catalogs: specifier: 2.19.8 version: 2.19.8 -patchedDependencies: - minimist@1.2.8: - hash: tkbpkgnnti52zmnvbq3uwanedm - path: patches/minimist@1.2.8-allow-hex-values.patch - importers: .: @@ -521,9 +516,6 @@ importers: lucide-react: specifier: ^0.408.0 version: 0.408.0(react@18.2.0) - minimist: - specifier: ^1.2.8 - version: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) next: specifier: 14.2.5 version: 14.2.5(@babel/core@7.21.4)(@opentelemetry/api@1.8.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -554,6 +546,9 @@ importers: wagmi: specifier: ^2.11.1 version: 2.12.7(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.52.0(react@18.2.0))(@types/react@18.2.22)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react-native@0.75.2(@babel/core@7.21.4)(@babel/preset-env@7.25.3(@babel/core@7.21.4))(@types/react@18.2.22)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.2.0)(typescript@5.4.2)(utf-8-validate@5.0.10))(react@18.2.0)(rollup@3.21.8)(typescript@5.4.2)(utf-8-validate@5.0.10)(viem@2.19.8(bufferutil@4.0.8)(typescript@5.4.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + yargs: + specifier: ^17.7.1 + version: 17.7.2 zod: specifier: 3.23.8 version: 3.23.8 @@ -579,6 +574,9 @@ importers: '@types/react-dom': specifier: 18.2.7 version: 18.2.7 + '@types/yargs': + specifier: ^17.0.10 + version: 17.0.24 eslint-config-next: specifier: 14.2.3 version: 14.2.3(eslint@8.57.0)(typescript@5.4.2) @@ -1621,10 +1619,6 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.21.4': - resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.2': resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} engines: {node: '>=6.9.0'} @@ -1653,12 +1647,6 @@ packages: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.21.4': - resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-compilation-targets@7.25.2': resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} @@ -1708,18 +1696,10 @@ packages: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.18.6': - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.21.2': - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.2': resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} @@ -1750,10 +1730,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.20.2': - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.24.7': resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} @@ -1786,10 +1762,6 @@ packages: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.21.0': - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} @@ -10926,8 +10898,8 @@ snapshots: '@ampproject/remapping@2.2.1': dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 '@ark/attest@0.12.1(typescript@5.4.2)': dependencies: @@ -11368,27 +11340,25 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - '@babel/compat-data@7.21.4': {} - '@babel/compat-data@7.25.2': {} '@babel/core@7.21.4': dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-module-transforms': 7.21.2 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.21.4) '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.4 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/parser': 7.25.3 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -11423,15 +11393,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4)': - dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.0 - '@babel/helper-compilation-targets@7.25.2': dependencies: '@babel/compat-data': 7.25.2 @@ -11502,10 +11463,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.18.6': - dependencies: - '@babel/types': 7.21.4 - '@babel/helper-module-imports@7.24.7': dependencies: '@babel/traverse': 7.25.3 @@ -11513,19 +11470,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.21.2': - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-transforms@7.25.2(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 @@ -11562,10 +11506,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.20.2': - dependencies: - '@babel/types': 7.21.4 - '@babel/helper-simple-access@7.24.7': dependencies: '@babel/traverse': 7.25.3 @@ -11596,8 +11536,6 @@ snapshots: '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.21.0': {} - '@babel/helper-validator-option@7.24.8': {} '@babel/helper-wrap-function@7.25.0': @@ -11610,9 +11548,9 @@ snapshots: '@babel/helpers@7.21.0': dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -11708,7 +11646,7 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.4)': dependencies: @@ -11718,7 +11656,7 @@ snapshots: '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4)': dependencies: @@ -11758,12 +11696,12 @@ snapshots: '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.4)': dependencies: @@ -11778,32 +11716,32 @@ snapshots: '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4)': dependencies: @@ -11813,7 +11751,7 @@ snapshots: '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.4)': dependencies: @@ -12112,12 +12050,12 @@ snapshots: '@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.4)': dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.21.4)': dependencies: @@ -18352,7 +18290,7 @@ snapshots: handlebars@4.7.7: dependencies: - minimist: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) + minimist: 1.2.8 neo-async: 2.6.2 source-map: 0.6.1 wordwrap: 1.0.0 @@ -19431,7 +19369,7 @@ snapshots: json5@1.0.2: dependencies: - minimist: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) + minimist: 1.2.8 json5@2.2.3: {} @@ -20051,7 +19989,7 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimist@1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm): {} + minimist@1.2.8: {} minipass-collect@1.0.2: dependencies: @@ -20100,7 +20038,7 @@ snapshots: mkdirp@0.5.6: dependencies: - minimist: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) + minimist: 1.2.8 mkdirp@1.0.4: {} @@ -20539,7 +20477,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -20746,7 +20684,7 @@ snapshots: detect-libc: 2.0.2 expand-template: 2.0.3 github-from-package: 0.0.0 - minimist: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) + minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 node-abi: 3.45.0 @@ -20927,7 +20865,7 @@ snapshots: dependencies: deep-extend: 0.6.0 ini: 1.3.8 - minimist: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) + minimist: 1.2.8 strip-json-comments: 2.0.1 react-devtools-core@5.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): @@ -21456,7 +21394,7 @@ snapshots: shx@0.3.4: dependencies: - minimist: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) + minimist: 1.2.8 shelljs: 0.8.5 side-channel@1.0.4: @@ -22111,7 +22049,7 @@ snapshots: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 - minimist: 1.2.8(patch_hash=tkbpkgnnti52zmnvbq3uwanedm) + minimist: 1.2.8 strip-bom: 3.0.0 tslib@1.14.1: {}