Added better formatting for cli package and updated versions to match workspace

This commit is contained in:
Nate Kelley 2025-09-05 11:39:43 -06:00
parent 01130b9d7d
commit 55d873ee2d
No known key found for this signature in database
GPG Key ID: FD90372AB8D98B4F
25 changed files with 167 additions and 451 deletions

View File

@ -33,9 +33,9 @@
"ink-gradient": "^3.0.0",
"ink-spinner": "^5.0.0",
"ink-text-input": "^6.0.0",
"js-yaml": "^4.1.0",
"js-yaml": "catalog:",
"micromatch": "^4.0.8",
"react": "^19.1.1",
"react": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
@ -43,11 +43,9 @@
"@buster/env-utils": "workspace:*",
"@buster/typescript-config": "workspace:*",
"@buster/vitest-config": "workspace:*",
"@types/bun": "^1.2.21",
"@types/js-yaml": "^4.0.9",
"@types/js-yaml": "catalog:",
"@types/micromatch": "^4.0.9",
"@types/node": "^22.10.5",
"@types/react": "^19.1.12",
"@types/react": "catalog:",
"ink-testing-library": "^4.0.0",
"react-devtools-core": "^6.1.5",
"tsx": "catalog:"

View File

@ -2,11 +2,10 @@ import { createBusterSDK } from '@buster/sdk';
import { Box, Text, useApp, useInput } from 'ink';
import Spinner from 'ink-spinner';
import TextInput from 'ink-text-input';
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import {
type Credentials,
deleteCredentials,
getCredentials,
loadCredentials,
saveCredentials,
} from '../utils/credentials.js';

View File

@ -1,6 +1,5 @@
import { Box, Text } from 'ink';
import Spinner from 'ink-spinner';
import React from 'react';
interface DeployProgressProps {
current: number;

View File

@ -1,5 +1,4 @@
import { Box, Text } from 'ink';
import React from 'react';
import type { CLIDeploymentResult } from '../schemas';
interface DeploySummaryProps {

View File

@ -3,7 +3,7 @@ import { tmpdir } from 'node:os';
import { join } from 'node:path';
import yaml from 'js-yaml';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import type { BusterConfig, ProjectContext } from '../schemas';
import type { BusterConfig } from '../schemas';
import { loadBusterConfig, resolveConfiguration } from './config-loader';
describe('config-loader', () => {

View File

@ -1,12 +1,11 @@
import { existsSync } from 'node:fs';
import { readdir, readFile, stat } from 'node:fs/promises';
import { join, relative, resolve } from 'node:path';
import { join, resolve } from 'node:path';
import yaml from 'js-yaml';
import {
type BusterConfig,
BusterConfigSchema,
type DeployOptions,
type ProjectContext,
type ResolvedConfig,
ResolvedConfigSchema,
} from '../schemas';

View File

@ -4,7 +4,7 @@ import { join } from 'node:path';
import yaml from 'js-yaml';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { deployHandler, validateDeployOptions } from './deploy-handler';
import type { BusterConfig, DeployOptions, DeployRequest, DeployResponse, Model } from './schemas';
import type { BusterConfig, DeployOptions, DeployRequest, DeployResponse } from './schemas';
import { isDeploymentValidationError } from './utils/errors';
// Mock the deployment strategies module

View File

@ -1,7 +1,6 @@
import { relative, resolve } from 'node:path';
import { getConfigBaseDir, loadBusterConfig, resolveConfiguration } from './config/config-loader';
import {
createParseFailures,
formatDeploymentSummary,
mergeDeploymentResults,
processDeploymentResponse,

View File

@ -1,5 +1,5 @@
import { Box, Text } from 'ink';
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import { BusterBanner } from '../../components/banner';
import { Spinner } from '../../components/spinner';
import { DeployProgress } from './components/deploy-progress';

View File

@ -1,5 +1,5 @@
import { relative } from 'node:path';
import type { CLIDeploymentResult, DeploymentExcluded, DeployResponse, Model } from '../schemas';
import type { CLIDeploymentResult, DeployResponse, Model } from '../schemas';
/**
* Pure function to merge multiple deployment results into one

View File

@ -1,5 +1,4 @@
import { render } from 'ink-testing-library';
import React from 'react';
import { describe, expect, it } from 'vitest';
import { HelloCommand } from './hello';

View File

@ -4,7 +4,7 @@ import { createBusterSDK } from '@buster/sdk';
import { Box, Text, useApp, useInput } from 'ink';
import Spinner from 'ink-spinner';
import TextInput from 'ink-text-input';
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import { BusterBanner } from '../components/banner.js';
import { type Credentials, getCredentials, saveCredentials } from '../utils/credentials.js';

View File

@ -2,14 +2,9 @@ import { createBusterSDK } from '@buster/sdk';
import { Box, render, Text, useApp, useInput } from 'ink';
import Spinner from 'ink-spinner';
import TextInput from 'ink-text-input';
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import { BusterBanner } from '../components/banner.js';
import {
type Credentials,
getCredentials,
hasCredentials,
saveCredentials,
} from '../utils/credentials.js';
import { type Credentials, getCredentials, saveCredentials } from '../utils/credentials.js';
import { DeployCommand } from './deploy/deploy.js';
import { DeployOptionsSchema } from './deploy/schemas.js';
import { InitCommand } from './init.js';

View File

@ -1,5 +1,5 @@
import { Box, Text, useApp } from 'ink';
import React, { useEffect } from 'react';
import { useEffect } from 'react';
import { AnimatedLogo } from '../components/animated-logo.js';
export function Welcome() {

View File

@ -1,5 +1,5 @@
import { Box, Text } from 'ink';
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
// ASCII art for the Buster "b" logo - compact version
const BUSTER_LOGO_FRAMES = [

View File

@ -1,6 +1,5 @@
import { Box, Text } from 'ink';
import BigText from 'ink-big-text';
import React from 'react';
interface BannerProps {
showSubtitle?: boolean;

View File

@ -1,5 +1,5 @@
import { Text } from 'ink';
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
interface SpinnerProps {
label?: string;

View File

@ -1,7 +1,6 @@
#!/usr/bin/env bun
import { program } from 'commander';
import { render } from 'ink';
import React from 'react';
import { Auth } from './commands/auth.js';
import { DeployCommand } from './commands/deploy/deploy.js';
import { DeployOptionsSchema } from './commands/deploy/schemas.js';

View File

@ -7,10 +7,6 @@
"jsx": "react",
"jsxFactory": "React.createElement",
"jsxFragmentFactory": "React.Fragment",
"module": "ESNext",
"target": "ES2022",
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"types": ["bun", "node"]
},
"include": ["src/**/*", "env.d.ts"],

View File

@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.2.2/schema.json",
"$schema": "https://biomejs.dev/schemas/2.2.3/schema.json",
"files": {
"ignoreUnknown": false,
"includes": [

View File

@ -28,12 +28,6 @@
"typecheck": "cross-env NODE_OPTIONS=--max-old-space-size=8192 tsc --noEmit",
"typecheck:watch": "tsc --noEmit --watch"
},
"peerDependencies": {
"@types/react": "^19.1.10",
"@types/react-dom": "^19.1.7",
"react": "^19.1.1",
"react-dom": "^19.1.1"
},
"dependencies": {
"@ariakit/react": "^0.4.18",
"@buster/server-shared": "workspace:*",
@ -144,7 +138,7 @@
"framer-motion": "^12.23.12",
"html2canvas-pro": "^1.5.11",
"js-cookie": "^3.0.5",
"js-yaml": "^4.1.0",
"js-yaml": "catalog:",
"jwt-decode": "^4.0.0",
"ky": "^1.10.0",
"lodash": "^4.17.21",
@ -156,12 +150,12 @@
"platejs": "49.2.21",
"pluralize": "^8.0.0",
"posthog-js": "^1.261.7",
"react": "^19.1.1",
"react": "catalog:",
"react-colorful": "^5.6.1",
"react-day-picker": "^8.10.1",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-dom": "^19.1.1",
"react-dom": "catalog:",
"react-error-boundary": "^6.0.0",
"react-hotkeys-hook": "^5.1.0",
"react-lite-youtube-embed": "^2.5.6",
@ -187,7 +181,7 @@
"zod": "catalog:"
},
"devDependencies": {
"@biomejs/biome": "2.2.2",
"@biomejs/biome": "2.2.3",
"@chromatic-com/storybook": "^4.1.1",
"@storybook/addon-a11y": "^9.1.4",
"@storybook/addon-docs": "^9.1.4",
@ -199,11 +193,11 @@
"@testing-library/react": "^16.3.0",
"@types/canvas-confetti": "^1.9.0",
"@types/js-cookie": "^3.0.6",
"@types/js-yaml": "^4.0.9",
"@types/js-yaml": "catalog:",
"@types/lodash": "^4.17.20",
"@types/pluralize": "^0.0.33",
"@types/react": "^19.1.12",
"@types/react-dom": "^19.1.9",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
"@vitejs/plugin-react": "^5.0.2",
"@vitest/browser": "3.2.4",
"@vitest/coverage-v8": "3.2.4",

View File

@ -56,7 +56,7 @@
},
"devDependencies": {
"@biomejs/biome": "^1.9.4",
"@types/node": "^22.0.0",
"@types/node": "^22.11.0",
"tsx": "catalog:",
"turbo": "^2.5.6",
"vitest": "catalog:"

View File

@ -35,7 +35,6 @@
"zod": "catalog:"
},
"devDependencies": {
"@types/node": "^20.11.0",
"typescript": "^5.3.3",
"vitest": "catalog:"
}

File diff suppressed because it is too large Load Diff

View File

@ -24,6 +24,12 @@ catalog:
lodash-es: ^4.17.21
hono: ^4.9.6
pg: ^8.16.3
react: ^19.1.1
react-dom: ^19.1.1
'@types/react': ^19.1.12
'@types/react-dom': ^19.1.9
'@types/js-yaml': ^4.0.9
js-yaml: ^4.1.0
tsup: ^8.5.0
tsx: ^4.20.5
uuid: ^11.1.0