From eb9de961e6eb394f35426f11a5bfe23b68c56481 Mon Sep 17 00:00:00 2001 From: Thibault Le Ouay Date: Mon, 14 Apr 2025 09:46:41 +0200 Subject: [PATCH 1/2] chore: update dep remove hard coded deps --- deno.jsonc | 23 ++-- deno.lock | 156 +++++++++++++++++++--- src/commands/buildgraph/run.ts | 6 +- src/commands/pkg.ts | 2 +- src/commands/script.ts | 4 +- src/commands/uasset/extract-eventgraph.ts | 8 +- src/commands/uasset/parse.ts | 2 +- src/lib/types.ts | 6 +- 8 files changed, 162 insertions(+), 45 deletions(-) diff --git a/deno.jsonc b/deno.jsonc index 08250cf..69f9732 100644 --- a/deno.jsonc +++ b/deno.jsonc @@ -30,17 +30,20 @@ "@cliffy/command": "jsr:@cliffy/command@1.0.0-rc.7", "@cliffy/testing": "jsr:@cliffy/testing@1.0.0-rc.7", "@david/dax": "jsr:@david/dax@0.42.0", - "@rebeccastevens/deepmerge": "jsr:@rebeccastevens/deepmerge@^7.1.5", - "@std/assert": "jsr:@std/assert@^1.0.8", - "@std/dotenv": "jsr:@std/dotenv@^0.225.3", - "@std/fmt": "jsr:@std/fmt@^1.0.6", - "@std/jsonc": "jsr:@std/jsonc@^1.0.1", - "@std/path": "jsr:@std/path@^1.0.8", - "@std/streams": "jsr:@std/streams@^1.0.9", - "@std/testing": "jsr:@std/testing@^1.0.5", + "@luca/esbuild-deno-loader": "jsr:@luca/esbuild-deno-loader@0.11.1", + "@rebeccastevens/deepmerge": "jsr:@rebeccastevens/deepmerge@7.1.5", + "@std/assert": "jsr:@std/assert@1.0.12", + "@std/dotenv": "jsr:@std/dotenv@0.225.3", + "@std/fmt": "jsr:@std/fmt@1.0.6", + "@std/fs": "jsr:@std/fs@^1.0.16", + "@std/jsonc": "jsr:@std/jsonc@1.0.1", + "@std/path": "jsr:@std/path@1.0.8", + "@std/streams": "jsr:@std/streams@1.0.9", + "@std/testing": "jsr:@std/testing@1.0.11", + "esbuild": "npm:esbuild@0.25.2", "ueblueprint":"npm:ueblueprint@2.0.0", - "zod": "npm:zod@3.23.8", - "zod-to-json-schema": "npm:zod-to-json-schema@3.23.5", + "zod": "npm:zod@3.24.2", + "zod-to-json-schema": "npm:zod-to-json-schema@3.24.5", "ndjson": "https://deno.land/x/ndjson@1.1.0/mod.ts", "ulid": "https://deno.land/x/ulid@v0.3.0/mod.ts", "xml2js": "https://deno.land/x/xml2js@1.0.0/mod.ts", diff --git a/deno.lock b/deno.lock index 19e2a56..3d5a1ac 100644 --- a/deno.lock +++ b/deno.lock @@ -11,8 +11,9 @@ "jsr:@david/path@0.2": "0.2.0", "jsr:@david/which@~0.4.1": "0.4.1", "jsr:@luca/esbuild-deno-loader@0.11.1": "0.11.1", - "jsr:@rebeccastevens/deepmerge@^7.1.5": "7.1.5", + "jsr:@rebeccastevens/deepmerge@7.1.5": "7.1.5", "jsr:@std/assert@0.221": "0.221.0", + "jsr:@std/assert@1.0.12": "1.0.12", "jsr:@std/assert@^1.0.12": "1.0.12", "jsr:@std/assert@^1.0.2": "1.0.12", "jsr:@std/assert@^1.0.8": "1.0.12", @@ -22,35 +23,40 @@ "jsr:@std/bytes@^1.0.2": "1.0.5", "jsr:@std/bytes@^1.0.5": "1.0.5", "jsr:@std/data-structures@^1.0.6": "1.0.6", - "jsr:@std/dotenv@~0.225.3": "0.225.3", + "jsr:@std/dotenv@0.225.3": "0.225.3", "jsr:@std/encoding@^1.0.5": "1.0.9", "jsr:@std/encoding@~1.0.5": "1.0.9", "jsr:@std/fmt@1": "1.0.6", + "jsr:@std/fmt@1.0.6": "1.0.6", "jsr:@std/fmt@^1.0.6": "1.0.6", "jsr:@std/fmt@~1.0.2": "1.0.6", "jsr:@std/fs@*": "1.0.16", "jsr:@std/fs@1": "1.0.16", "jsr:@std/fs@^1.0.1": "1.0.16", "jsr:@std/fs@^1.0.16": "1.0.16", + "jsr:@std/fs@^1.0.5": "1.0.16", "jsr:@std/internal@^1.0.1": "1.0.6", + "jsr:@std/internal@^1.0.5": "1.0.6", "jsr:@std/internal@^1.0.6": "1.0.6", "jsr:@std/io@0.221": "0.221.0", "jsr:@std/json@1": "1.0.1", - "jsr:@std/jsonc@^1.0.1": "1.0.1", + "jsr:@std/jsonc@1.0.1": "1.0.1", "jsr:@std/path@*": "1.0.8", "jsr:@std/path@1": "1.0.8", + "jsr:@std/path@1.0.8": "1.0.8", "jsr:@std/path@^1.0.2": "1.0.8", "jsr:@std/path@^1.0.6": "1.0.8", "jsr:@std/path@^1.0.8": "1.0.8", "jsr:@std/streams@0.221": "0.221.0", - "jsr:@std/streams@^1.0.9": "1.0.9", + "jsr:@std/streams@1.0.9": "1.0.9", "jsr:@std/testing@1.0.0": "1.0.0", - "jsr:@std/testing@^1.0.5": "1.0.11", + "jsr:@std/testing@1.0.11": "1.0.11", "jsr:@std/text@~1.0.7": "1.0.12", "npm:@types/node@*": "22.12.0", + "npm:esbuild@0.25.2": "0.25.2", "npm:ueblueprint@2.0.0": "2.0.0", - "npm:zod-to-json-schema@3.23.5": "3.23.5_zod@3.23.8", - "npm:zod@3.23.8": "3.23.8" + "npm:zod-to-json-schema@3.24.5": "3.24.5_zod@3.24.2", + "npm:zod@3.24.2": "3.24.2" }, "jsr": { "@cliffy/ansi@1.0.0-rc.7": { @@ -226,6 +232,81 @@ } }, "npm": { + "@esbuild/aix-ppc64@0.25.2": { + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==" + }, + "@esbuild/android-arm64@0.25.2": { + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==" + }, + "@esbuild/android-arm@0.25.2": { + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==" + }, + "@esbuild/android-x64@0.25.2": { + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==" + }, + "@esbuild/darwin-arm64@0.25.2": { + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==" + }, + "@esbuild/darwin-x64@0.25.2": { + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==" + }, + "@esbuild/freebsd-arm64@0.25.2": { + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==" + }, + "@esbuild/freebsd-x64@0.25.2": { + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==" + }, + "@esbuild/linux-arm64@0.25.2": { + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==" + }, + "@esbuild/linux-arm@0.25.2": { + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==" + }, + "@esbuild/linux-ia32@0.25.2": { + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==" + }, + "@esbuild/linux-loong64@0.25.2": { + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==" + }, + "@esbuild/linux-mips64el@0.25.2": { + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==" + }, + "@esbuild/linux-ppc64@0.25.2": { + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==" + }, + "@esbuild/linux-riscv64@0.25.2": { + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==" + }, + "@esbuild/linux-s390x@0.25.2": { + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==" + }, + "@esbuild/linux-x64@0.25.2": { + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==" + }, + "@esbuild/netbsd-arm64@0.25.2": { + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==" + }, + "@esbuild/netbsd-x64@0.25.2": { + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==" + }, + "@esbuild/openbsd-arm64@0.25.2": { + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==" + }, + "@esbuild/openbsd-x64@0.25.2": { + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==" + }, + "@esbuild/sunos-x64@0.25.2": { + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==" + }, + "@esbuild/win32-arm64@0.25.2": { + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==" + }, + "@esbuild/win32-ia32@0.25.2": { + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==" + }, + "@esbuild/win32-x64@0.25.2": { + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==" + }, "@lit-labs/ssr-dom-shim@1.3.0": { "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==" }, @@ -244,6 +325,36 @@ "@types/trusted-types@2.0.7": { "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, + "esbuild@0.25.2": { + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "dependencies": [ + "@esbuild/aix-ppc64", + "@esbuild/android-arm", + "@esbuild/android-arm64", + "@esbuild/android-x64", + "@esbuild/darwin-arm64", + "@esbuild/darwin-x64", + "@esbuild/freebsd-arm64", + "@esbuild/freebsd-x64", + "@esbuild/linux-arm", + "@esbuild/linux-arm64", + "@esbuild/linux-ia32", + "@esbuild/linux-loong64", + "@esbuild/linux-mips64el", + "@esbuild/linux-ppc64", + "@esbuild/linux-riscv64", + "@esbuild/linux-s390x", + "@esbuild/linux-x64", + "@esbuild/netbsd-arm64", + "@esbuild/netbsd-x64", + "@esbuild/openbsd-arm64", + "@esbuild/openbsd-x64", + "@esbuild/sunos-x64", + "@esbuild/win32-arm64", + "@esbuild/win32-ia32", + "@esbuild/win32-x64" + ] + }, "lit-element@3.3.3": { "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", "dependencies": [ @@ -279,14 +390,14 @@ "undici-types@6.20.0": { "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" }, - "zod-to-json-schema@3.23.5_zod@3.23.8": { - "integrity": "sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==", + "zod-to-json-schema@3.24.5_zod@3.24.2": { + "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", "dependencies": [ "zod" ] }, - "zod@3.23.8": { - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==" + "zod@3.24.2": { + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==" } }, "remote": { @@ -341,17 +452,20 @@ "jsr:@cliffy/command@1.0.0-rc.7", "jsr:@cliffy/testing@1.0.0-rc.7", "jsr:@david/dax@0.42.0", - "jsr:@rebeccastevens/deepmerge@^7.1.5", - "jsr:@std/assert@^1.0.8", - "jsr:@std/dotenv@~0.225.3", - "jsr:@std/fmt@^1.0.6", - "jsr:@std/jsonc@^1.0.1", - "jsr:@std/path@^1.0.8", - "jsr:@std/streams@^1.0.9", - "jsr:@std/testing@^1.0.5", + "jsr:@luca/esbuild-deno-loader@0.11.1", + "jsr:@rebeccastevens/deepmerge@7.1.5", + "jsr:@std/assert@1.0.12", + "jsr:@std/dotenv@0.225.3", + "jsr:@std/fmt@1.0.6", + "jsr:@std/fs@^1.0.16", + "jsr:@std/jsonc@1.0.1", + "jsr:@std/path@1.0.8", + "jsr:@std/streams@1.0.9", + "jsr:@std/testing@1.0.11", + "npm:esbuild@0.25.2", "npm:ueblueprint@2.0.0", - "npm:zod-to-json-schema@3.23.5", - "npm:zod@3.23.8" + "npm:zod-to-json-schema@3.24.5", + "npm:zod@3.24.2" ] } } diff --git a/src/commands/buildgraph/run.ts b/src/commands/buildgraph/run.ts index b866592..0323e39 100644 --- a/src/commands/buildgraph/run.ts +++ b/src/commands/buildgraph/run.ts @@ -62,17 +62,17 @@ function generateMarkdownReport(logs: AutomationToolLogs[]): string { for (const log of groupLogs) { markdown += `#### Error: ${log.message}\n` - if (log.properties && log.properties.file) { + if (log.properties?.file) { const file = log.properties.file.$text const line = log.properties.line?.$text || log.line markdown += `- **File**: ${file}${line ? `:${line}` : ''}\n` } - if (log.properties && log.properties.code) { + if (log.properties?.code) { markdown += `- **Code**: ${log.properties.code.$text}\n` } - if (log.properties && log.properties.severity) { + if (log.properties?.severity) { markdown += `- **Severity**: ${log.properties.severity.$text}\n` } diff --git a/src/commands/pkg.ts b/src/commands/pkg.ts index e329e91..5f8cb32 100644 --- a/src/commands/pkg.ts +++ b/src/commands/pkg.ts @@ -2,7 +2,7 @@ import { Command, EnumType, ValidationError } from '@cliffy/command' import { createEngine, Engine, EngineConfiguration, EnginePlatform, EngineTarget } from '../lib/engine.ts' import { findProjectFile } from '../lib/utils.ts' import { Config } from '../lib/config.ts' -import type { CliOptions, GlobalOptions } from '../lib/types.ts' +import type { GlobalOptions } from '../lib/types.ts' const defaultBCRArgs = [ '-build', diff --git a/src/commands/script.ts b/src/commands/script.ts index a2f3ceb..ce80f1c 100644 --- a/src/commands/script.ts +++ b/src/commands/script.ts @@ -4,9 +4,9 @@ import * as path from '@std/path' import type { GlobalOptions, Script, ScriptContext } from '../lib/types.ts' import { logger } from '../lib/logger.ts' -import * as esbuild from 'https://deno.land/x/esbuild@v0.24.0/mod.js' +import * as esbuild from 'esbuild' -import { denoPlugins } from 'jsr:@luca/esbuild-deno-loader@0.11.1' +import { denoPlugins } from '@luca/esbuild-deno-loader' import { Config } from '../lib/config.ts' export const script = new Command() diff --git a/src/commands/uasset/extract-eventgraph.ts b/src/commands/uasset/extract-eventgraph.ts index d147baa..8426533 100644 --- a/src/commands/uasset/extract-eventgraph.ts +++ b/src/commands/uasset/extract-eventgraph.ts @@ -2,8 +2,8 @@ import { Command } from '@cliffy/command' import type { GlobalOptions } from '../../lib/types.ts' import { generateBlueprintHtml } from '../../lib/utils.ts' import { logger } from '../../lib/logger.ts' -import * as path from 'jsr:@std/path' -import * as fs from 'jsr:@std/fs' +import * as path from '@std/path' +import * as fs from '@std/fs' export type ExtractEventGraphOptions = typeof extractEventGraph extends Command, [], GlobalOptions> ? Options @@ -66,7 +66,7 @@ function findEventGraph(fileContent: string): string | null { if ( insideEventGraph && insideBeginObjectBlock && !line.startsWith('Begin Object') && !line.startsWith('End Object') ) { - eventGraphNodes.push(' ' + line) + eventGraphNodes.push(` ${line}`) continue } @@ -108,7 +108,7 @@ export const extractEventGraph = new Command() try { const isDirectory = await fs.exists(options.input, { isDirectory: true }) if (isDirectory) { - const files = await Deno.readDir(options.input) + const files = Deno.readDir(options.input) for await (const file of files) { if (file.isFile) { await extractEventGraphFromFile(path.join(options.input, file.name), options.render) diff --git a/src/commands/uasset/parse.ts b/src/commands/uasset/parse.ts index 485c73d..9768a68 100644 --- a/src/commands/uasset/parse.ts +++ b/src/commands/uasset/parse.ts @@ -118,7 +118,7 @@ function parseBlueprint(fileContent: string) { const arrayMatch = key.match(/([^\(]+)\((\d+)\)/) if (arrayMatch) { const arrayName = arrayMatch[1] - const arrayIndex = parseInt(arrayMatch[2]) + const arrayIndex = Number.parseInt(arrayMatch[2]) if (!currentObject.properties[arrayName]) { currentObject.properties[arrayName] = [] diff --git a/src/lib/types.ts b/src/lib/types.ts index 0ccab1c..97fdfe9 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,6 +1,6 @@ -import { Command } from '@cliffy/command' -import * as path from '@std/path' -import { $ } from '@david/dax' +import type { Command } from '@cliffy/command' +import type * as path from '@std/path' +import type { $ } from '@david/dax' import type { z } from 'zod' import type { cmd } from '../cmd.ts' From 6f3109fef50aaf5cb5b20bd559ce453007bc30cf Mon Sep 17 00:00:00 2001 From: Thibault Le Ouay Date: Mon, 14 Apr 2025 09:57:34 +0200 Subject: [PATCH 2/2] chore: fix deno fmt --- src/commands/uasset/parse.ts | 2 +- src/lib/types.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commands/uasset/parse.ts b/src/commands/uasset/parse.ts index 9768a68..46b2c47 100644 --- a/src/commands/uasset/parse.ts +++ b/src/commands/uasset/parse.ts @@ -100,7 +100,7 @@ function parseBlueprint(fileContent: string) { let complexValue = value while (!complexValue.endsWith(')') && i < lines.length - 1) { i++ - complexValue += ' ' + lines[i].trim() + complexValue += ` ${lines[i].trim()}` } currentObject.properties[key] = parseComplexProperty(complexValue) } else if (value.startsWith('(')) { diff --git a/src/lib/types.ts b/src/lib/types.ts index 97fdfe9..dc9b7cb 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,4 +1,4 @@ -import type { Command } from '@cliffy/command' +import type { Command } from '@cliffy/command' import type * as path from '@std/path' import type { $ } from '@david/dax' import type { z } from 'zod'