From 29976f1c07326dfa2561fb381e3826a75d142bfb Mon Sep 17 00:00:00 2001 From: "Ricardo Q. Bazan" Date: Sun, 1 Mar 2026 00:31:47 -0500 Subject: [PATCH 1/6] feat: add build:lib command --- packages/clibuddy/src/colors.ts | 13 +- packages/localproxy/src/ui.ts | 8 +- packages/run-run/package.json | 1 + .../run-run/src/program/commands/build-lib.ts | 12 + .../run-run/src/program/commands/check.ts | 7 +- .../run-run/src/program/commands/clean.ts | 5 +- .../run-run/src/program/commands/config.ts | 6 +- .../run-run/src/program/commands/format.ts | 4 +- packages/run-run/src/program/commands/lint.ts | 4 +- .../run-run/src/program/commands/typecheck.ts | 12 +- packages/run-run/src/program/index.ts | 27 +- packages/run-run/src/program/ui.ts | 70 ++- packages/run-run/src/services/biome.ts | 3 +- packages/run-run/src/services/oxfmt.ts | 3 +- packages/run-run/src/services/oxlint.ts | 3 +- packages/run-run/src/services/tool.ts | 11 +- packages/run-run/src/types/tool.ts | 2 + packages/starter/src/program/ui.ts | 6 +- pnpm-lock.yaml | 508 ++++++++++++++++++ run-run.config.ts | 7 + 20 files changed, 656 insertions(+), 56 deletions(-) create mode 100644 packages/run-run/src/program/commands/build-lib.ts create mode 100644 run-run.config.ts diff --git a/packages/clibuddy/src/colors.ts b/packages/clibuddy/src/colors.ts index e5ea1dc..e7a81bb 100644 --- a/packages/clibuddy/src/colors.ts +++ b/packages/clibuddy/src/colors.ts @@ -2,16 +2,17 @@ import chalk, { type ChalkInstance } from "chalk"; import supportsColor from "supports-color"; // https://no-color.org/ -const colorIsSupported = () => supportsColor.stdout && !process.env.NO_COLOR; +export const colorIsSupported = () => supportsColor.stdout && !process.env.NO_COLOR; const identity = (x: T) => x; const safe = (style: ChalkInstance) => (colorIsSupported() ? style : identity); -export const colors = { - blueBright: safe(chalk.blueBright), - redBright: safe(chalk.redBright), - greenBright: safe(chalk.greenBright), +export const colorize = (hex: string) => safe(chalk.hex(hex)); + +export const palette = { bold: safe(chalk.bold), - muted: safe(chalk.dim), + italic: safe(chalk.italic), link: safe(chalk.underline), + muted: safe(chalk.dim), + vland: colorize("#36d399"), }; diff --git a/packages/localproxy/src/ui.ts b/packages/localproxy/src/ui.ts index d1418e3..6c88892 100644 --- a/packages/localproxy/src/ui.ts +++ b/packages/localproxy/src/ui.ts @@ -1,12 +1,12 @@ -import { colors } from "@vlandoss/clibuddy"; +import { palette } from "@vlandoss/clibuddy"; -export const UI_LOGO = `๐Ÿ› ๏ธ ${colors.bold("localproxy")}`; +export const UI_LOGO = `๐Ÿ› ๏ธ ${palette.bold("localproxy")}`; export const BANNER_TEXT = `${UI_LOGO}: Simple local development proxy automation\n`; export const CREDITS_TEXT = `\nAcknowledgment: - Caddy: for being a powerful proxy server - https://caddyserver.com + ${palette.link("https://caddyserver.com")} - hosts: making it easier to manage host file - https://github.com/xwmx/hosts`; + ${palette.link("https://github.com/xwmx/hosts")}`; diff --git a/packages/run-run/package.json b/packages/run-run/package.json index d9cc7e8..b5ee8ce 100644 --- a/packages/run-run/package.json +++ b/packages/run-run/package.json @@ -46,6 +46,7 @@ "oxlint": "1.50.0", "oxlint-tsgolint": "0.15.0", "rimraf": "6.1.3", + "tsdown": "0.21.0-beta.2", "typescript": "5.9.3" }, "publishConfig": { diff --git a/packages/run-run/src/program/commands/build-lib.ts b/packages/run-run/src/program/commands/build-lib.ts new file mode 100644 index 0000000..0e24b6f --- /dev/null +++ b/packages/run-run/src/program/commands/build-lib.ts @@ -0,0 +1,12 @@ +import { createCommand } from "commander"; +import { TOOL_LABELS } from "#/program/ui"; +import type { Context } from "#/services/ctx"; + +export function createBuildLibCommand(ctx: Context) { + return createCommand("build:lib") + .description(`build a ts project ๐Ÿ—๏ธ (${TOOL_LABELS.TSDOWN})`) + .action(async function buildAction() { + await ctx.shell.$`tsdown`; + }) + .addHelpText("afterAll", `\nUnder the hood, this command uses the ${TOOL_LABELS.TSDOWN} CLI to build the project.`); +} diff --git a/packages/run-run/src/program/commands/check.ts b/packages/run-run/src/program/commands/check.ts index 7dc2529..cc5fc68 100644 --- a/packages/run-run/src/program/commands/check.ts +++ b/packages/run-run/src/program/commands/check.ts @@ -4,13 +4,14 @@ import { BiomeService } from "#/services/biome"; import type { Context } from "#/services/ctx"; export function createCheckCommand(ctx: Context) { + const biome = new BiomeService(ctx.shell); + return createCommand("check") .alias("test:static") - .description("check format and lint issues ๐Ÿ”") + .description(`check format and lint ๐Ÿ” (${biome.ui})`) .option("-f, --fix", "try to fix issues automatically") .option("--fix-staged", "try to fix staged files only") .action(async function checkAction(options) { - const biome = new BiomeService(ctx.shell); const toolCmd = (cmd = "check") => `${cmd} --colors=force`; if (options.fix) { @@ -21,5 +22,5 @@ export function createCheckCommand(ctx: Context) { await biome.exec(`${toolCmd(isCI ? "ci" : "check")}`); } }) - .addHelpText("afterAll", "\nUnder the hood, this command uses the biome CLI to check the code."); + .addHelpText("afterAll", `\nUnder the hood, this command uses the ${biome.ui} CLI to check the code.`); } diff --git a/packages/run-run/src/program/commands/clean.ts b/packages/run-run/src/program/commands/clean.ts index 2089b3e..39d74f9 100644 --- a/packages/run-run/src/program/commands/clean.ts +++ b/packages/run-run/src/program/commands/clean.ts @@ -3,6 +3,7 @@ import { createCommand } from "commander"; import { type GlobOptions, glob } from "glob"; import { rimraf } from "rimraf"; import { logger } from "#/services/logger"; +import { TOOL_LABELS } from "../ui"; type Options = { onlyDist: boolean; @@ -11,7 +12,7 @@ type Options = { export function createCleanCommand() { return createCommand("clean") - .description("delete dirty folders or files such as node_modules, etc ๐Ÿ—‘๏ธ") + .description(`delete dirty folders or files ๐Ÿ—‘๏ธ (${TOOL_LABELS.RIMRAF})`) .option("--only-dist", "delete 'dist' folders only") .option("--dry-run", "outputs the paths that would be deleted") .action(async function cleanCommandAction(options: Options) { @@ -47,5 +48,5 @@ export function createCleanCommand() { }); } }) - .addHelpText("afterAll", "\nUnder the hood, this command uses the rimraf.js to delete dirty folders or files."); + .addHelpText("afterAll", `\nUnder the hood, this command uses ${TOOL_LABELS.RIMRAF} to delete dirty folders or files.`); } diff --git a/packages/run-run/src/program/commands/config.ts b/packages/run-run/src/program/commands/config.ts index ba1788d..64262ce 100644 --- a/packages/run-run/src/program/commands/config.ts +++ b/packages/run-run/src/program/commands/config.ts @@ -1,4 +1,4 @@ -import { colors } from "@vlandoss/clibuddy"; +import { palette } from "@vlandoss/clibuddy"; import { createCommand } from "commander"; import type { Context } from "#/services/ctx"; @@ -8,8 +8,8 @@ export function createConfigCommand(ctx: Context) { .description("display the current config ๐Ÿ› ๏ธ") .action(async function configAction() { const { config, meta } = ctx.config; - console.log(colors.muted("Config:")); + console.log(palette.muted("Config:")); console.log(config); - console.log(colors.muted(`Loaded from ${meta.filepath ? colors.link(meta.filepath) : "n/a"}`)); + console.log(palette.muted(`Loaded from ${meta.filepath ? palette.link(meta.filepath) : "n/a"}`)); }); } diff --git a/packages/run-run/src/program/commands/format.ts b/packages/run-run/src/program/commands/format.ts index 6b816fc..44f2e7d 100644 --- a/packages/run-run/src/program/commands/format.ts +++ b/packages/run-run/src/program/commands/format.ts @@ -24,11 +24,11 @@ export function createFormatCommand(ctx: Context) { return createCommand("fmt") .alias("format") - .description("format the code ๐ŸŽจ") + .description(`format the code ๐ŸŽจ (${toolService.ui})`) .option("-c, --check", "check if the code is formatted", true) .option("-f, --fix", "format all the code") .action(async function formatAction(options: ActionOptions) { await toolService.format(options); }) - .addHelpText("afterAll", `\nUnder the hood, this command uses the ${toolService.bin} CLI to format the code.`); + .addHelpText("afterAll", `\nUnder the hood, this command uses the ${toolService.ui} CLI to format the code.`); } diff --git a/packages/run-run/src/program/commands/lint.ts b/packages/run-run/src/program/commands/lint.ts index 0a821f1..653e87c 100644 --- a/packages/run-run/src/program/commands/lint.ts +++ b/packages/run-run/src/program/commands/lint.ts @@ -23,11 +23,11 @@ export function createLintCommand(ctx: Context) { const toolService = getToolService(ctx); return createCommand("lint") - .description("lint the code ๐Ÿงน") + .description(`lint the code ๐Ÿงน (${toolService.ui})`) .option("-c, --check", "check if the code is valid", true) .option("-f, --fix", "try to fix all the code") .action(async function lintAction(options: ActionOptions) { await toolService.lint(options); }) - .addHelpText("afterAll", `\nUnder the hood, this command uses the ${toolService.bin} CLI to lint the code.`); + .addHelpText("afterAll", `\nUnder the hood, this command uses the ${toolService.ui} CLI to lint the code.`); } diff --git a/packages/run-run/src/program/commands/typecheck.ts b/packages/run-run/src/program/commands/typecheck.ts index 1d0b37d..68debed 100644 --- a/packages/run-run/src/program/commands/typecheck.ts +++ b/packages/run-run/src/program/commands/typecheck.ts @@ -4,6 +4,7 @@ import { createCommand } from "commander"; import type { Context } from "#/services/ctx"; import { logger } from "#/services/logger"; import { OxlintService } from "#/services/oxlint"; +import { TOOL_LABELS } from "../ui"; type TypecheckAtOptions = { dir: string; @@ -51,13 +52,12 @@ export function createTypecheckCommand(ctx: Context) { config: { config }, } = ctx; + const toolUi = config.future?.oxc ? TOOL_LABELS.OXLINT : TOOL_LABELS.TSC; + return createCommand("tsc") .alias("typecheck") - .description("check if TypeScript code is well typed ๐ŸŽจ") - .addHelpText( - "afterAll", - `\nUnder the hood, this command uses the ${config.future?.oxc ? "oxlint" : "TypeScript"} CLI to check the code.`, - ) + .description(`check if ts code is well typed ๐ŸŽจ (${toolUi})`) + .addHelpText("afterAll", `\nUnder the hood, this command uses the ${toolUi} CLI to check the code.`) .action(async function typecheckAction() { const isTsProject = (dir: string) => appPkg.hasFile("tsconfig.json", dir); @@ -91,7 +91,7 @@ export function createTypecheckCommand(ctx: Context) { const tsProjects = projects.filter((project) => isTsProject(project.rootDir)); if (!tsProjects.length) { - logger.warn("No TypeScript projects found in the monorepo, skipping typecheck"); + logger.warn("No ts projects found in the monorepo, skipping typecheck"); return; } diff --git a/packages/run-run/src/program/index.ts b/packages/run-run/src/program/index.ts index 5c41418..003dcc4 100644 --- a/packages/run-run/src/program/index.ts +++ b/packages/run-run/src/program/index.ts @@ -1,6 +1,7 @@ import { getVersion } from "@vlandoss/clibuddy"; import { createCommand } from "commander"; import { createContext } from "#/services/ctx"; +import { createBuildLibCommand } from "./commands/build-lib"; import { createCheckCommand } from "./commands/check"; import { createCleanCommand } from "./commands/clean"; import { createConfigCommand } from "./commands/config"; @@ -10,7 +11,7 @@ import { createPkgsCommand } from "./commands/pkgs"; import { createRunCommand } from "./commands/run"; import { createToolsCommand } from "./commands/tools"; import { createTypecheckCommand } from "./commands/typecheck"; -import { BANNER_TEXT, CREDITS_TEXT } from "./ui"; +import { CREDITS_TEXT, getBannerText } from "./ui"; export type Options = { binDir: string; @@ -18,26 +19,30 @@ export type Options = { export async function createProgram(options: Options) { const ctx = await createContext(options.binDir); + const version = getVersion(ctx.binPkg); const program = createCommand("rr") .alias("run-run") .usage("[options] ") - .version(getVersion(ctx.binPkg), "-v, --version") - .addHelpText("before", BANNER_TEXT) + .helpCommand(false) + .version(version, "-v, --version") + .addHelpText("before", getBannerText(version)) .addHelpText("after", CREDITS_TEXT) - .addCommand(createRunCommand(ctx), { - hidden: true, - }) - .addCommand(createConfigCommand(ctx)) - .addCommand(createCheckCommand(ctx)) + // build + .addCommand(createBuildLibCommand(ctx)) + // check .addCommand(createLintCommand(ctx)) .addCommand(createFormatCommand(ctx)) + .addCommand(createCheckCommand(ctx)) .addCommand(createTypecheckCommand(ctx)) + // misc .addCommand(createCleanCommand()) .addCommand(createPkgsCommand(ctx)) - .addCommand(createToolsCommand(ctx), { - hidden: true, - }); + // config + .addCommand(createConfigCommand(ctx)) + // hidden + .addCommand(createRunCommand(ctx), { hidden: true }) + .addCommand(createToolsCommand(ctx), { hidden: true }); return { program, ctx }; } diff --git a/packages/run-run/src/program/ui.ts b/packages/run-run/src/program/ui.ts index 65b77e2..718a221 100644 --- a/packages/run-run/src/program/ui.ts +++ b/packages/run-run/src/program/ui.ts @@ -1,14 +1,66 @@ -import { colors } from "@vlandoss/clibuddy"; - -export const UI_LOGO = `๐ŸฆŠ ${colors.blueBright("R")} ${colors.redBright("U")} ${colors.greenBright("N")} - ${colors.blueBright("R")} ${colors.redBright("U")} ${colors.greenBright("N")}`; - -const COMPANY_LOGO = `${colors.redBright("Variable Land")} ๐Ÿ‘Š`; - -export const BANNER_TEXT = `${UI_LOGO}: The CLI toolbox to fullstack common scripts in ${COMPANY_LOGO}\n`; +import { colorIsSupported, colorize, palette } from "@vlandoss/clibuddy"; export const CREDITS_TEXT = `\nAcknowledgment: - kcd-scripts: for main inspiration - https://github.com/kentcdodds/kcd-scripts + ${palette.link("https://github.com/kentcdodds/kcd-scripts")} - peruvian news: in honor to Run Run - https://es.wikipedia.org/wiki/Run_Run`; + ${palette.link("https://es.wikipedia.org/wiki/Run_Run")}`; + +const tsdownColor = colorize("#FF7E18"); +const biomeColor = colorize("#61A5FA"); +const oxlintColor = colorize("#32F3E9"); +const oxfmtColor = colorize("#32F3E9"); +const tscColor = colorize("#3178C6"); +const rimrafColor = colorize("#7C7270"); + +export const TOOL_LABELS = { + TSDOWN: tsdownColor("tsdown"), + BIOME: biomeColor("biome"), + OXLINT: oxlintColor("oxlint"), + OXFMT: oxfmtColor("oxfmt"), + TSC: tscColor("tsc"), + RIMRAF: rimrafColor("rimraf"), +}; + +export function getBannerText(version: string) { + const uiLogo = `๐ŸฆŠ ${palette.bold("R")} ${palette.bold("U")} ${palette.bold("N")} - ${palette.bold("R")} ${palette.bold("U")} ${palette.bold("N")}`; + const vlandLogo = `${palette.vland("Variable Land")} ๐Ÿ‘Š`; + + const title = `${uiLogo} ${palette.muted(`v${version}`)}`; + const subtitle = `${palette.italic(palette.muted("The CLI toolbox for"))} ${vlandLogo}`; + + if (!colorIsSupported()) { + return `${title}\n${subtitle}\n`; + } + + const FOX_COLORS = { + BLACK: colorize("#39393A"), + ORANGE: colorize("FC7A1e"), + WHITE: colorize("#FFFFFF"), + }; + + const _ = " "; // hole + const B = FOX_COLORS.BLACK("โ–ˆโ–ˆ"); // black + const O = FOX_COLORS.ORANGE("โ–ˆโ–ˆ"); // orange + const W = FOX_COLORS.WHITE("โ–ˆโ–ˆ"); // white + + const grid = [ + [_, B, _, _, _, _, _, B, _], + [_, O, W, _, _, _, W, O, _], + [_, O, W, O, _, O, W, O, _], + [B, O, O, O, O, O, O, O, B], + [O, O, O, O, O, O, O, O, O], + [W, O, B, O, O, O, B, O, W], + [_, W, W, O, O, O, W, W, _], + [_, _, W, W, B, W, W, _, _], + [_, _, _, W, W, W, _, _, _], + ]; + + const lines = grid.map((row) => row.join("")); + + lines[3] += ` ${title}`; + lines[4] += ` ${subtitle}`; + + return `${lines.join("\n")}\n`; +} diff --git a/packages/run-run/src/services/biome.ts b/packages/run-run/src/services/biome.ts index bdd44d6..bcbe013 100644 --- a/packages/run-run/src/services/biome.ts +++ b/packages/run-run/src/services/biome.ts @@ -1,10 +1,11 @@ import type { ShellService } from "@vlandoss/clibuddy"; +import { TOOL_LABELS } from "#/program/ui"; import type { FormatOptions, Formatter, Linter, LintOptions } from "#/types/tool"; import { ToolService } from "./tool"; export class BiomeService extends ToolService implements Formatter, Linter { constructor(shellService: ShellService) { - super({ bin: "biome", shellService }); + super({ bin: "biome", ui: TOOL_LABELS.BIOME, shellService }); } getBinDir() { diff --git a/packages/run-run/src/services/oxfmt.ts b/packages/run-run/src/services/oxfmt.ts index 0394c48..d6c0a92 100644 --- a/packages/run-run/src/services/oxfmt.ts +++ b/packages/run-run/src/services/oxfmt.ts @@ -1,10 +1,11 @@ import type { ShellService } from "@vlandoss/clibuddy"; +import { TOOL_LABELS } from "#/program/ui"; import type { FormatOptions, Formatter } from "#/types/tool"; import { ToolService } from "./tool"; export class OxfmtService extends ToolService implements Formatter { constructor(shellService: ShellService) { - super({ bin: "oxfmt", shellService }); + super({ bin: "oxfmt", ui: TOOL_LABELS.OXFMT, shellService }); } getBinDir() { diff --git a/packages/run-run/src/services/oxlint.ts b/packages/run-run/src/services/oxlint.ts index f30eae1..83fdf53 100644 --- a/packages/run-run/src/services/oxlint.ts +++ b/packages/run-run/src/services/oxlint.ts @@ -1,10 +1,11 @@ import type { ShellService } from "@vlandoss/clibuddy"; +import { TOOL_LABELS } from "#/program/ui"; import type { Linter, LintOptions } from "#/types/tool"; import { ToolService } from "./tool"; export class OxlintService extends ToolService implements Linter { constructor(shellService: ShellService) { - super({ bin: "oxlint", shellService }); + super({ bin: "oxlint", ui: TOOL_LABELS.OXLINT, shellService }); } getBinDir() { diff --git a/packages/run-run/src/services/tool.ts b/packages/run-run/src/services/tool.ts index 74b8079..4881e0e 100644 --- a/packages/run-run/src/services/tool.ts +++ b/packages/run-run/src/services/tool.ts @@ -4,15 +4,18 @@ import { gracefullBinDir } from "#/utils/gracefullBinDir"; type CreateOptions = { bin: string; + ui?: string; shellService: ShellService; }; export abstract class ToolService { #shellService: ShellService; #bin: string; + #ui: string; - constructor({ bin: cmd, shellService }: CreateOptions) { - this.#bin = cmd; + constructor({ bin, ui, shellService }: CreateOptions) { + this.#bin = bin; + this.#ui = ui ?? bin; this.#shellService = shellService; } @@ -37,4 +40,8 @@ export abstract class ToolService { get bin() { return this.#bin; } + + get ui() { + return this.#ui; + } } diff --git a/packages/run-run/src/types/tool.ts b/packages/run-run/src/types/tool.ts index 10966c9..1ac8854 100644 --- a/packages/run-run/src/types/tool.ts +++ b/packages/run-run/src/types/tool.ts @@ -10,10 +10,12 @@ export type LintOptions = { export type Formatter = { bin: string; + ui: string; format(options: FormatOptions): Promise; }; export type Linter = { bin: string; + ui: string; lint(options: LintOptions): Promise; }; diff --git a/packages/starter/src/program/ui.ts b/packages/starter/src/program/ui.ts index 84d014f..2fd6db2 100644 --- a/packages/starter/src/program/ui.ts +++ b/packages/starter/src/program/ui.ts @@ -1,7 +1,7 @@ -import { colors } from "@vlandoss/clibuddy"; +import { palette } from "@vlandoss/clibuddy"; -const UI_LOGO = `โšก ${colors.blueBright("V")} ${colors.redBright("L")} ${colors.greenBright("A")} ${colors.blueBright("N")} ${colors.redBright("D")}`; +const UI_LOGO = `โšก ${palette.bold("V")} ${palette.bold("L")} ${palette.bold("A")} ${palette.bold("N")} ${palette.bold("D")}`; -const COMPANY_LOGO = `${colors.redBright("Variable Land")} ๐Ÿ‘Š`; +const COMPANY_LOGO = `${palette.vland("Variable Land")} ๐Ÿ‘Š`; export const BANNER_TEXT = `${UI_LOGO}: The CLI to init a new project in ${COMPANY_LOGO}\n`; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0ed35ea..1a4dd4b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,6 +126,9 @@ importers: rimraf: specifier: 6.1.3 version: 6.1.3 + tsdown: + specifier: 0.21.0-beta.2 + version: 0.21.0-beta.2(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 @@ -151,14 +154,35 @@ packages: resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} + '@babel/generator@8.0.0-rc.1': + resolution: {integrity: sha512-3ypWOOiC4AYHKr8vYRVtWtWmyvcoItHtVqF8paFax+ydpmUdPsJpLBkBBs5ItmhdrwC3a0ZSqqFAdzls4ODP3w==} + engines: {node: ^20.19.0 || >=22.12.0} + + '@babel/helper-string-parser@8.0.0-rc.2': + resolution: {integrity: sha512-noLx87RwlBEMrTzncWd/FvTxoJ9+ycHNg0n8yyYydIoDsLZuxknKgWRJUqcrVkNrJ74uGyhWQzQaS3q8xfGAhQ==} + engines: {node: ^20.19.0 || >=22.12.0} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.0-rc.1': + resolution: {integrity: sha512-I4YnARytXC2RzkLNVnf5qFNFMzp679qZpmtw/V3Jt2uGnWiIxyJtaukjG7R8pSx8nG2NamICpGfljQsogj+FbQ==} + engines: {node: ^20.19.0 || >=22.12.0} + + '@babel/parser@8.0.0-rc.1': + resolution: {integrity: sha512-6HyyU5l1yK/7h9Ki52i5h6mDAx4qJdiLQO4FdCyJNoB/gy3T3GGJdhQzzbZgvgZCugYBvwtQiWRt94QKedHnkA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + '@babel/runtime@7.28.6': resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} + '@babel/types@8.0.0-rc.1': + resolution: {integrity: sha512-ubmJ6TShyaD69VE9DQrlXcdkvJbmwWPB8qYj0H2kaJi29O7vJT9ajSdBd2W8CG34pwL9pYA74fi7RHC1qbLoVQ==} + engines: {node: ^20.19.0 || >=22.12.0} + '@biomejs/biome@2.4.4': resolution: {integrity: sha512-tigwWS5KfJf0cABVd52NVaXyAVv4qpUXOWJ1rxFL8xF1RVoeS2q/LK+FHgYoKMclJCuRoCWAPy1IXaN9/mS61Q==} engines: {node: '>=14.21.3'} @@ -273,6 +297,15 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} + '@emnapi/core@1.8.1': + resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} + + '@emnapi/runtime@1.8.1': + resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} + + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + '@gwhitney/detect-indent@7.0.1': resolution: {integrity: sha512-7bQW+gkKa2kKZPeJf6+c6gFK9ARxQfn+FKy9ScTBppyKRWH2KzsmweXUoklqeEiHiNVWaeP5csIdsNq6w7QhzA==} engines: {node: '>=12.20'} @@ -432,12 +465,28 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@napi-rs/wasm-runtime@1.1.1': + resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -458,6 +507,9 @@ packages: resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} engines: {node: ^18.17.0 || >=20.5.0} + '@oxc-project/types@0.114.0': + resolution: {integrity: sha512-//nBfbzHQHvJs8oFIjv6coZ6uxQ4alLfiPe6D5vit6c4pmxATHHlVwgB1k+Hv4yoAMyncdxgRBF5K4BYWUCzvA==} + '@oxfmt/binding-android-arm-eabi@0.35.0': resolution: {integrity: sha512-BaRKlM3DyG81y/xWTsE6gZiv89F/3pHe2BqX2H4JbiB8HNVlWWtplzgATAE5IDSdwChdeuWLDTQzJ92Lglw3ZA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1198,6 +1250,9 @@ packages: resolution: {integrity: sha512-zG68fk03ryot7TWUl9S/ShQ91uHWzIL9sVr2aQCuNHJo8G9kjsG6S0p58Zj/voahdDQeakZYYBSJ0mjNZeiJnw==} engines: {node: '>=18.12'} + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + '@reflink/reflink-darwin-arm64@0.1.19': resolution: {integrity: sha512-ruy44Lpepdk1FqDz38vExBY/PVUsjxZA+chd9wozjUH9JjuDT/HEaQYA6wYN9mf041l0yLVar6BCZuWABJvHSA==} engines: {node: '>= 10'} @@ -1250,6 +1305,86 @@ packages: resolution: {integrity: sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==} engines: {node: '>= 10'} + '@rolldown/binding-android-arm64@1.0.0-rc.5': + resolution: {integrity: sha512-zCEmUrt1bggwgBgeKLxNj217J1OrChrp3jJt24VK9jAharSTeVaHODNL+LpcQVhRz+FktYWfT9cjo5oZ99ZLpg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.0-rc.5': + resolution: {integrity: sha512-ZP9xb9lPAex36pvkNWCjSEJW/Gfdm9I3ssiqOFLmpZ/vosPXgpoGxCmh+dX1Qs+/bWQE6toNFXWWL8vYoKoK9Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-rc.5': + resolution: {integrity: sha512-7IdrPunf6dp9mywMgTOKMMGDnMHQ6+h5gRl6LW8rhD8WK2kXX0IwzcM5Zc0B5J7xQs8QWOlKjv8BJsU/1CD3pg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.0-rc.5': + resolution: {integrity: sha512-o/JCk+dL0IN68EBhZ4DqfsfvxPfMeoM6cJtxORC1YYoxGHZyth2Kb2maXDb4oddw2wu8iIbnYXYPEzBtAF5CAg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.5': + resolution: {integrity: sha512-IIBwTtA6VwxQLcEgq2mfrUgam7VvPZjhd/jxmeS1npM+edWsrrpRLHUdze+sk4rhb8/xpP3flemgcZXXUW6ukw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.5': + resolution: {integrity: sha512-KSol1De1spMZL+Xg7K5IBWXIvRWv7+pveaxFWXpezezAG7CS6ojzRjtCGCiLxQricutTAi/LkNWKMsd2wNhMKQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.5': + resolution: {integrity: sha512-WFljyDkxtXRlWxMjxeegf7xMYXxUr8u7JdXlOEWKYgDqEgxUnSEsVDxBiNWQ1D5kQKwf8Wo4sVKEYPRhCdsjwA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.5': + resolution: {integrity: sha512-CUlplTujmbDWp2gamvrqVKi2Or8lmngXT1WxsizJfts7JrvfGhZObciaY/+CbdbS9qNnskvwMZNEhTPrn7b+WA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-musl@1.0.0-rc.5': + resolution: {integrity: sha512-wdf7g9NbVZCeAo2iGhsjJb7I8ZFfs6X8bumfrWg82VK+8P6AlLXwk48a1ASiJQDTS7Svq2xVzZg3sGO2aXpHRA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-openharmony-arm64@1.0.0-rc.5': + resolution: {integrity: sha512-0CWY7ubu12nhzz+tkpHjoG3IRSTlWYe0wrfJRf4qqjqQSGtAYgoL9kwzdvlhaFdZ5ffVeyYw9qLsChcjUMEloQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.0-rc.5': + resolution: {integrity: sha512-LztXnGzv6t2u830mnZrFLRVqT/DPJ9DL4ZTz/y93rqUVkeHjMMYIYaFj+BUthiYxbVH9dH0SZYufETspKY/NhA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.5': + resolution: {integrity: sha512-jUct1XVeGtyjqJXEAfvdFa8xoigYZ2rge7nYEm70ppQxpfH9ze2fbIrpHmP2tNM2vL/F6Dd0CpXhpjPbC6bSxQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.5': + resolution: {integrity: sha512-VQ8F9ld5gw29epjnVGdrx8ugiLTe8BMqmhDYy7nGbdeDo4HAt4bgdZvLbViEhg7DZyHLpiEUlO5/jPSUrIuxRQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.0-rc.5': + resolution: {integrity: sha512-RxlLX/DPoarZ9PtxVrQgZhPoor987YtKQqCo5zkjX+0S0yLJ7Vv515Wk6+xtTL67VONKJKxETWZwuZjss2idYw==} + '@rushstack/worker-pool@0.4.9': resolution: {integrity: sha512-ibAOeQCuz3g0c88GGawAPO2LVOTZE3uPh4DCEJILZS9SEv9opEUObsovC18EHPgeIuFy4HkoJT+t7l8LURZjIw==} peerDependencies: @@ -1261,15 +1396,24 @@ packages: '@total-typescript/tsconfig@1.0.4': resolution: {integrity: sha512-fO4ctMPGz1kOFOQ4RCPBRBfMy3gDn+pegUfrGyUFRMv/Rd0ZM3/SHH3hFCYG4u6bPLG8OlmOGcBLDexvyr3A5w==} + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@types/bun@1.3.9': resolution: {integrity: sha512-KQ571yULOdWJiMH+RIWIOZ7B2RXQGpL1YQrBtLIV3FqDcCu6FsbFUBwhdKUlCKUpS3PJDsHlJ1QKlpxoVR+xtw==} '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/inquirer@9.0.9': resolution: {integrity: sha512-/mWx5136gts2Z2e5izdoRCo46lPp5TMs9R15GTSsgg/XnZyxDWVqoVU3R9lWnccKpqwsJLvRoxbCjoJtZB7DSw==} + '@types/jsesc@2.5.1': + resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} + '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} @@ -1388,6 +1532,10 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -1401,6 +1549,10 @@ packages: as-table@1.0.55: resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} + ast-kit@3.0.0-beta.1: + resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} + engines: {node: '>=20.19.0'} + astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -1423,6 +1575,9 @@ packages: resolution: {integrity: sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -1452,6 +1607,10 @@ packages: bun-types@1.3.9: resolution: {integrity: sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg==} + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + cacache@19.0.1: resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -1610,6 +1769,9 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + del@6.1.1: resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} engines: {node: '>=10'} @@ -1641,6 +1803,15 @@ packages: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} + dts-resolver@2.1.3: + resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} + engines: {node: '>=20.19.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -1650,6 +1821,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} + encode-registry@3.0.1: resolution: {integrity: sha512-6qOwkl1g0fv0DN3Y3ggr2EaZXN71aoAqPp3p/pVaWSBSIo+YjLOWN61Fva43oVyQNPf7kgm8lkudzlzojwE2jw==} engines: {node: '>=10'} @@ -1680,6 +1855,9 @@ packages: engines: {node: '>=4'} hasBin: true + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -1793,6 +1971,9 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-tsconfig@4.13.6: + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1842,6 +2023,9 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hookable@6.0.1: + resolution: {integrity: sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw==} + hosted-git-info@8.1.0: resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -1891,6 +2075,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + import-without-cache@0.2.5: + resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} + engines: {node: '>=20.19.0'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -2016,6 +2204,11 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -2325,6 +2518,9 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -2490,6 +2686,9 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2550,6 +2749,9 @@ packages: quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -2597,6 +2799,9 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.22.11: resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} @@ -2628,6 +2833,30 @@ packages: engines: {node: 20 || >=22} hasBin: true + rolldown-plugin-dts@0.22.2: + resolution: {integrity: sha512-Ge+XF962Kobjr0hRPx1neVnLU2jpKkD2zevZTfPKf/0el4eYo9SyGPm0stiHDG2JQuL0Q3HLD0Kn+ST8esvVdA==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20250601.1' + rolldown: ^1.0.0-rc.3 + typescript: ^5.0.0 || ^6.0.0-beta + vue-tsc: ~3.2.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.0.0-rc.5: + resolution: {integrity: sha512-0AdalTs6hNTioaCYIkAa7+xsmHBfU5hCNclZnM/lp7lGGDuUOb6N4BVNtwiomybbencDjq/waKjTImqiGCs5sw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + root-link-target@3.1.0: resolution: {integrity: sha512-hdke7IGy7j6TCIGhUDnaX41OFpHgZOaZ70GHUS2RdolaHj9Gn3jVvV9xE+sd6rTuRd4t7bNpzYSKSpAz/74H/A==} engines: {node: '>=10'} @@ -2831,6 +3060,10 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} + tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -2853,9 +3086,38 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + truncate-utf8-bytes@1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + tsdown@0.21.0-beta.2: + resolution: {integrity: sha512-OKj8mKf0ws1ucxuEi3mO/OGyfRQxO9MY2D6SoIE/7RZcbojsZSBhJr4xC4MNivMqrQvi3Ke2e+aRZDemPBWPCw==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@vitejs/devtools': '*' + publint: ^0.3.0 + typescript: ^5.0.0 + unplugin-lightningcss: ^0.4.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + typescript: + optional: true + unplugin-lightningcss: + optional: true + unplugin-unused: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2937,6 +3199,9 @@ packages: umask@1.1.0: resolution: {integrity: sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA==} + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -2964,6 +3229,16 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + unrun@0.2.28: + resolution: {integrity: sha512-LqMrI3ZEUMZ2476aCsbUTfy95CHByqez05nju4AQv4XFPkxh5yai7Di1/Qb0FoELHEEPDWhQi23EJeFyrBV0Og==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + synckit: ^0.11.11 + peerDependenciesMeta: + synckit: + optional: true + utf8-byte-length@1.0.5: resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} @@ -3071,10 +3346,32 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/generator@8.0.0-rc.1': + dependencies: + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@types/jsesc': 2.5.1 + jsesc: 3.1.0 + + '@babel/helper-string-parser@8.0.0-rc.2': {} + '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@8.0.0-rc.1': {} + + '@babel/parser@8.0.0-rc.1': + dependencies: + '@babel/types': 8.0.0-rc.1 + '@babel/runtime@7.28.6': {} + '@babel/types@8.0.0-rc.1': + dependencies: + '@babel/helper-string-parser': 8.0.0-rc.2 + '@babel/helper-validator-identifier': 8.0.0-rc.1 + '@biomejs/biome@2.4.4': optionalDependencies: '@biomejs/cli-darwin-arm64': 2.4.4 @@ -3269,6 +3566,22 @@ snapshots: human-id: 4.1.3 prettier: 2.8.8 + '@emnapi/core@1.8.1': + dependencies: + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.8.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.1.0': + dependencies: + tslib: 2.8.1 + optional: true + '@gwhitney/detect-indent@7.0.1': {} '@inquirer/ansi@2.0.3': {} @@ -3412,6 +3725,20 @@ snapshots: dependencies: minipass: 7.1.3 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.28.6 @@ -3428,6 +3755,13 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 + '@napi-rs/wasm-runtime@1.1.1': + dependencies: + '@emnapi/core': 1.8.1 + '@emnapi/runtime': 1.8.1 + '@tybys/wasm-util': 0.10.1 + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -3454,6 +3788,8 @@ snapshots: dependencies: semver: 7.7.4 + '@oxc-project/types@0.114.0': {} + '@oxfmt/binding-android-arm-eabi@0.35.0': optional: true @@ -4544,6 +4880,10 @@ snapshots: write-file-atomic: 5.0.1 write-yaml-file: 5.0.0 + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + '@reflink/reflink-darwin-arm64@0.1.19': optional: true @@ -4579,12 +4919,60 @@ snapshots: '@reflink/reflink-win32-arm64-msvc': 0.1.19 '@reflink/reflink-win32-x64-msvc': 0.1.19 + '@rolldown/binding-android-arm64@1.0.0-rc.5': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.0-rc.5': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-rc.5': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-rc.5': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.5': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.5': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.5': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.5': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-rc.5': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.0-rc.5': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-rc.5': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.5': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.5': + optional: true + + '@rolldown/pluginutils@1.0.0-rc.5': {} + '@rushstack/worker-pool@0.4.9(@types/node@25.3.3)': optionalDependencies: '@types/node': 25.3.3 '@total-typescript/tsconfig@1.0.4': {} + '@tybys/wasm-util@0.10.1': + dependencies: + tslib: 2.8.1 + optional: true + '@types/bun@1.3.9': dependencies: bun-types: 1.3.9 @@ -4593,11 +4981,15 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/estree@1.0.8': {} + '@types/inquirer@9.0.9': dependencies: '@types/through': 0.0.33 rxjs: 7.8.2 + '@types/jsesc@2.5.1': {} + '@types/ms@2.1.0': {} '@types/node@12.20.55': {} @@ -4717,6 +5109,8 @@ snapshots: ansi-styles@6.2.3: {} + ansis@4.2.0: {} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -4729,6 +5123,12 @@ snapshots: dependencies: printable-characters: 1.0.42 + ast-kit@3.0.0-beta.1: + dependencies: + '@babel/parser': 8.0.0-rc.1 + estree-walker: 3.0.3 + pathe: 2.0.3 + astral-regex@2.0.0: {} balanced-match@1.0.2: {} @@ -4748,6 +5148,8 @@ snapshots: read-cmd-shim: 4.0.0 write-file-atomic: 5.0.1 + birpc@4.0.0: {} + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -4789,6 +5191,8 @@ snapshots: dependencies: '@types/node': 25.3.3 + cac@6.7.14: {} + cacache@19.0.1: dependencies: '@npmcli/fs': 4.0.0 @@ -4923,6 +5327,8 @@ snapshots: dependencies: clone: 1.0.4 + defu@6.1.4: {} + del@6.1.1: dependencies: globby: 11.1.0 @@ -4952,12 +5358,16 @@ snapshots: dotenv@8.6.0: {} + dts-resolver@2.1.3: {} + eastasianwidth@0.2.0: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + empathic@2.0.0: {} + encode-registry@3.0.1: dependencies: mem: 8.1.1 @@ -4984,6 +5394,10 @@ snapshots: esprima@4.0.1: {} + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + eventemitter3@4.0.7: {} execa@5.1.1: @@ -5101,6 +5515,10 @@ snapshots: get-stream@6.0.1: {} + get-tsconfig@4.13.6: + dependencies: + resolve-pkg-maps: 1.0.0 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -5170,6 +5588,8 @@ snapshots: dependencies: function-bind: 1.1.2 + hookable@6.0.1: {} + hosted-git-info@8.1.0: dependencies: lru-cache: 10.4.3 @@ -5219,6 +5639,8 @@ snapshots: ignore@5.3.2: {} + import-without-cache@0.2.5: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -5320,6 +5742,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsesc@3.1.0: {} + json-parse-even-better-errors@2.3.1: {} json5@2.2.3: {} @@ -5624,6 +6048,8 @@ snapshots: dependencies: path-key: 3.1.1 + obug@2.1.1: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -5813,6 +6239,8 @@ snapshots: path-type@4.0.0: {} + pathe@2.0.3: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -5859,6 +6287,8 @@ snapshots: quansync@0.2.11: {} + quansync@1.0.0: {} + queue-microtask@1.2.3: {} quick-lru@4.0.1: {} @@ -5911,6 +6341,8 @@ snapshots: resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} + resolve@1.22.11: dependencies: is-core-module: 2.16.1 @@ -5937,6 +6369,42 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 + rolldown-plugin-dts@0.22.2(rolldown@1.0.0-rc.5)(typescript@5.9.3): + dependencies: + '@babel/generator': 8.0.0-rc.1 + '@babel/helper-validator-identifier': 8.0.0-rc.1 + '@babel/parser': 8.0.0-rc.1 + '@babel/types': 8.0.0-rc.1 + ast-kit: 3.0.0-beta.1 + birpc: 4.0.0 + dts-resolver: 2.1.3 + get-tsconfig: 4.13.6 + obug: 2.1.1 + rolldown: 1.0.0-rc.5 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown@1.0.0-rc.5: + dependencies: + '@oxc-project/types': 0.114.0 + '@rolldown/pluginutils': 1.0.0-rc.5 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-rc.5 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.5 + '@rolldown/binding-darwin-x64': 1.0.0-rc.5 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.5 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.5 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.5 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.5 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.5 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.5 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.5 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.5 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.5 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.5 + root-link-target@3.1.0: dependencies: can-link: 2.0.0 @@ -6136,6 +6604,8 @@ snapshots: term-size@2.2.1: {} + tinyexec@1.0.2: {} + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -6155,10 +6625,39 @@ snapshots: tr46@0.0.3: {} + tree-kill@1.2.2: {} + truncate-utf8-bytes@1.0.2: dependencies: utf8-byte-length: 1.0.5 + tsdown@0.21.0-beta.2(typescript@5.9.3): + dependencies: + ansis: 4.2.0 + cac: 6.7.14 + defu: 6.1.4 + empathic: 2.0.0 + hookable: 6.0.1 + import-without-cache: 0.2.5 + obug: 2.1.1 + picomatch: 4.0.3 + rolldown: 1.0.0-rc.5 + rolldown-plugin-dts: 0.22.2(rolldown@1.0.0-rc.5)(typescript@5.9.3) + semver: 7.7.4 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + unconfig-core: 7.5.0 + unrun: 0.2.28 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - synckit + - vue-tsc + tslib@2.8.1: {} turbo-darwin-64@2.8.12: @@ -6213,6 +6712,11 @@ snapshots: umask@1.1.0: {} + unconfig-core@7.5.0: + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + undici-types@7.18.2: {} unicorn-magic@0.4.0: {} @@ -6233,6 +6737,10 @@ snapshots: universalify@2.0.1: {} + unrun@0.2.28: + dependencies: + rolldown: 1.0.0-rc.5 + utf8-byte-length@1.0.5: {} util-deprecate@1.0.2: {} diff --git a/run-run.config.ts b/run-run.config.ts new file mode 100644 index 0000000..30ff3e7 --- /dev/null +++ b/run-run.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from "@vlandoss/run-run/config"; + +export default defineConfig({ + future: { + oxc: false, + }, +}); From fd1350eca223fccf887963932b0c794920217980 Mon Sep 17 00:00:00 2001 From: "Ricardo Q. Bazan" Date: Sun, 1 Mar 2026 00:32:43 -0500 Subject: [PATCH 2/6] docs(changeset): Change exported colors --- .changeset/red-feet-cheer.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/red-feet-cheer.md diff --git a/.changeset/red-feet-cheer.md b/.changeset/red-feet-cheer.md new file mode 100644 index 0000000..3875b9f --- /dev/null +++ b/.changeset/red-feet-cheer.md @@ -0,0 +1,5 @@ +--- +"@vlandoss/clibuddy": patch +--- + +Change exported colors From 2c1e894e6b54519ab9ff13396ff3e977923f25b4 Mon Sep 17 00:00:00 2001 From: "Ricardo Q. Bazan" Date: Sun, 1 Mar 2026 00:33:02 -0500 Subject: [PATCH 3/6] docs(changeset): Add build:lib command --- .changeset/petite-papers-joke.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/petite-papers-joke.md diff --git a/.changeset/petite-papers-joke.md b/.changeset/petite-papers-joke.md new file mode 100644 index 0000000..a936bcd --- /dev/null +++ b/.changeset/petite-papers-joke.md @@ -0,0 +1,5 @@ +--- +"@vlandoss/run-run": patch +--- + +Add build:lib command From ad463a04453df98d9075d031408cb0c29b2bd7a1 Mon Sep 17 00:00:00 2001 From: "Ricardo Q. Bazan" Date: Sun, 1 Mar 2026 00:33:33 -0500 Subject: [PATCH 4/6] docs(changeset): Update usage of clibuddy --- .changeset/slimy-moose-do.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/slimy-moose-do.md diff --git a/.changeset/slimy-moose-do.md b/.changeset/slimy-moose-do.md new file mode 100644 index 0000000..3640434 --- /dev/null +++ b/.changeset/slimy-moose-do.md @@ -0,0 +1,6 @@ +--- +"@vlandoss/localproxy": patch +"@vlandoss/starter": patch +--- + +Update usage of clibuddy From d32bc7ce12fff3aabd35b50d5df8c4e5f8a716df Mon Sep 17 00:00:00 2001 From: "Ricardo Q. Bazan" Date: Sun, 1 Mar 2026 00:35:27 -0500 Subject: [PATCH 5/6] wip --- .../__snapshots__/snapshots.test.ts.snap | 126 ++++++++---------- .../src/program/__tests__/snapshots.test.ts | 2 +- 2 files changed, 55 insertions(+), 73 deletions(-) diff --git a/packages/run-run/src/program/__tests__/__snapshots__/snapshots.test.ts.snap b/packages/run-run/src/program/__tests__/__snapshots__/snapshots.test.ts.snap index 2e25ca8..4c45be1 100644 --- a/packages/run-run/src/program/__tests__/__snapshots__/snapshots.test.ts.snap +++ b/packages/run-run/src/program/__tests__/__snapshots__/snapshots.test.ts.snap @@ -1,37 +1,8 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots -exports[`should match all root commands: root-command-help 1`] = ` -"๐ŸฆŠ R U N - R U N: The CLI toolbox to fullstack common scripts in Variable Land ๐Ÿ‘Š - -Usage: rr|run-run [options] - -Options: - -v, --version output the version number - -h, --help display help for command - -Commands: - config|cfg display the current config ๐Ÿ› ๏ธ - check|test:static [options] check format and lint issues ๐Ÿ” - lint [options] lint the code ๐Ÿงน - fmt|format [options] format the code ๐ŸŽจ - tsc|typecheck check if TypeScript code is well typed ๐ŸŽจ - clean [options] delete dirty folders or files such as - node_modules, etc ๐Ÿ—‘๏ธ - pkgs|packages [options] list unique affected packages from list of files - ๐Ÿ“ฆ - help [command] display help for command - -Acknowledgment: -- kcd-scripts: for main inspiration - https://github.com/kentcdodds/kcd-scripts - -- peruvian news: in honor to Run Run - https://es.wikipedia.org/wiki/Run_Run -" -`; - exports[`should match all root commands: root-command---help 1`] = ` -"๐ŸฆŠ R U N - R U N: The CLI toolbox to fullstack common scripts in Variable Land ๐Ÿ‘Š +"๐ŸฆŠ R U N - R U N v0.0.0-test +The CLI toolbox for Variable Land ๐Ÿ‘Š Usage: rr|run-run [options] @@ -40,16 +11,15 @@ Options: -h, --help display help for command Commands: - config|cfg display the current config ๐Ÿ› ๏ธ - check|test:static [options] check format and lint issues ๐Ÿ” - lint [options] lint the code ๐Ÿงน - fmt|format [options] format the code ๐ŸŽจ - tsc|typecheck check if TypeScript code is well typed ๐ŸŽจ - clean [options] delete dirty folders or files such as - node_modules, etc ๐Ÿ—‘๏ธ + build:lib build a ts project ๐Ÿ—๏ธ (tsdown) + lint [options] lint the code ๐Ÿงน (biome) + fmt|format [options] format the code ๐ŸŽจ (biome) + check|test:static [options] check format and lint ๐Ÿ” (biome) + tsc|typecheck check if ts code is well typed ๐ŸŽจ (tsc) + clean [options] delete dirty folders or files ๐Ÿ—‘๏ธ (rimraf) pkgs|packages [options] list unique affected packages from list of files ๐Ÿ“ฆ - help [command] display help for command + config|cfg display the current config ๐Ÿ› ๏ธ Acknowledgment: - kcd-scripts: for main inspiration @@ -70,45 +40,22 @@ exports[`should match all root commands: root-command--v 1`] = ` " `; -exports[`should match help messages for all commands: help-command-run 1`] = ` -"Usage: rr run [options] +exports[`should match help messages for all commands: help-command-build:lib 1`] = ` +"Usage: rr build:lib [options] -Arguments: - cmds commands to execute concurrently (e.g. 'check tsc') +build a ts project ๐Ÿ—๏ธ (tsdown) Options: -h, --help display help for command -" -`; - -exports[`should match help messages for all commands: help-command-config 1`] = ` -"Usage: rr config|cfg [options] -display the current config ๐Ÿ› ๏ธ - -Options: - -h, --help display help for command -" -`; - -exports[`should match help messages for all commands: help-command-check 1`] = ` -"Usage: rr check|test:static [options] - -check format and lint issues ๐Ÿ” - -Options: - -f, --fix try to fix issues automatically - --fix-staged try to fix staged files only - -h, --help display help for command - -Under the hood, this command uses the biome CLI to check the code. +Under the hood, this command uses the tsdown CLI to build the project. " `; exports[`should match help messages for all commands: help-command-lint 1`] = ` "Usage: rr lint [options] -lint the code ๐Ÿงน +lint the code ๐Ÿงน (biome) Options: -c, --check check if the code is valid (default: true) @@ -122,7 +69,7 @@ Under the hood, this command uses the biome CLI to lint the code. exports[`should match help messages for all commands: help-command-fmt 1`] = ` "Usage: rr fmt|format [options] -format the code ๐ŸŽจ +format the code ๐ŸŽจ (biome) Options: -c, --check check if the code is formatted (default: true) @@ -133,29 +80,43 @@ Under the hood, this command uses the biome CLI to format the code. " `; +exports[`should match help messages for all commands: help-command-check 1`] = ` +"Usage: rr check|test:static [options] + +check format and lint ๐Ÿ” (biome) + +Options: + -f, --fix try to fix issues automatically + --fix-staged try to fix staged files only + -h, --help display help for command + +Under the hood, this command uses the biome CLI to check the code. +" +`; + exports[`should match help messages for all commands: help-command-tsc 1`] = ` "Usage: rr tsc|typecheck [options] -check if TypeScript code is well typed ๐ŸŽจ +check if ts code is well typed ๐ŸŽจ (tsc) Options: -h, --help display help for command -Under the hood, this command uses the TypeScript CLI to check the code. +Under the hood, this command uses the tsc CLI to check the code. " `; exports[`should match help messages for all commands: help-command-clean 1`] = ` "Usage: rr clean [options] -delete dirty folders or files such as node_modules, etc ๐Ÿ—‘๏ธ +delete dirty folders or files ๐Ÿ—‘๏ธ (rimraf) Options: --only-dist delete 'dist' folders only --dry-run outputs the paths that would be deleted -h, --help display help for command -Under the hood, this command uses the rimraf.js to delete dirty folders or files. +Under the hood, this command uses rimraf to delete dirty folders or files. " `; @@ -171,6 +132,27 @@ Options: " `; +exports[`should match help messages for all commands: help-command-config 1`] = ` +"Usage: rr config|cfg [options] + +display the current config ๐Ÿ› ๏ธ + +Options: + -h, --help display help for command +" +`; + +exports[`should match help messages for all commands: help-command-run 1`] = ` +"Usage: rr run [options] + +Arguments: + cmds commands to execute concurrently (e.g. 'check tsc') + +Options: + -h, --help display help for command +" +`; + exports[`should match help messages for all commands: help-command-tools 1`] = ` "Usage: rr tools [options] [command] diff --git a/packages/run-run/src/program/__tests__/snapshots.test.ts b/packages/run-run/src/program/__tests__/snapshots.test.ts index 27ddbfa..ae710ff 100644 --- a/packages/run-run/src/program/__tests__/snapshots.test.ts +++ b/packages/run-run/src/program/__tests__/snapshots.test.ts @@ -4,7 +4,7 @@ import { createTestProgram, execCli, mocked } from "#test/helpers"; const { program, ctx } = await createTestProgram(); const $ = ctx.shell.$; -const rootCommands = ["help", "--help", "--version", "-v"]; +const rootCommands = ["--help", "--version", "-v"]; afterEach(() => { mocked($).mockClear(); From 723c451173acde1c8a57dc9f8ad10fa36dfec1ab Mon Sep 17 00:00:00 2001 From: "Ricardo Q. Bazan" Date: Sun, 1 Mar 2026 00:36:36 -0500 Subject: [PATCH 6/6] wip --- .changeset/petite-papers-joke.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/petite-papers-joke.md b/.changeset/petite-papers-joke.md index a936bcd..3028c7c 100644 --- a/.changeset/petite-papers-joke.md +++ b/.changeset/petite-papers-joke.md @@ -2,4 +2,4 @@ "@vlandoss/run-run": patch --- -Add build:lib command +Add build:lib command and improve banner