mirror of https://github.com/buster-so/buster.git
Added better formatting for cli package and updated versions to match workspace
This commit is contained in:
parent
01130b9d7d
commit
55d873ee2d
|
@ -33,9 +33,9 @@
|
||||||
"ink-gradient": "^3.0.0",
|
"ink-gradient": "^3.0.0",
|
||||||
"ink-spinner": "^5.0.0",
|
"ink-spinner": "^5.0.0",
|
||||||
"ink-text-input": "^6.0.0",
|
"ink-text-input": "^6.0.0",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "catalog:",
|
||||||
"micromatch": "^4.0.8",
|
"micromatch": "^4.0.8",
|
||||||
"react": "^19.1.1",
|
"react": "catalog:",
|
||||||
"zod": "catalog:"
|
"zod": "catalog:"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -43,11 +43,9 @@
|
||||||
"@buster/env-utils": "workspace:*",
|
"@buster/env-utils": "workspace:*",
|
||||||
"@buster/typescript-config": "workspace:*",
|
"@buster/typescript-config": "workspace:*",
|
||||||
"@buster/vitest-config": "workspace:*",
|
"@buster/vitest-config": "workspace:*",
|
||||||
"@types/bun": "^1.2.21",
|
"@types/js-yaml": "catalog:",
|
||||||
"@types/js-yaml": "^4.0.9",
|
|
||||||
"@types/micromatch": "^4.0.9",
|
"@types/micromatch": "^4.0.9",
|
||||||
"@types/node": "^22.10.5",
|
"@types/react": "catalog:",
|
||||||
"@types/react": "^19.1.12",
|
|
||||||
"ink-testing-library": "^4.0.0",
|
"ink-testing-library": "^4.0.0",
|
||||||
"react-devtools-core": "^6.1.5",
|
"react-devtools-core": "^6.1.5",
|
||||||
"tsx": "catalog:"
|
"tsx": "catalog:"
|
||||||
|
|
|
@ -2,11 +2,10 @@ import { createBusterSDK } from '@buster/sdk';
|
||||||
import { Box, Text, useApp, useInput } from 'ink';
|
import { Box, Text, useApp, useInput } from 'ink';
|
||||||
import Spinner from 'ink-spinner';
|
import Spinner from 'ink-spinner';
|
||||||
import TextInput from 'ink-text-input';
|
import TextInput from 'ink-text-input';
|
||||||
import React, { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
type Credentials,
|
type Credentials,
|
||||||
deleteCredentials,
|
deleteCredentials,
|
||||||
getCredentials,
|
|
||||||
loadCredentials,
|
loadCredentials,
|
||||||
saveCredentials,
|
saveCredentials,
|
||||||
} from '../utils/credentials.js';
|
} from '../utils/credentials.js';
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { Box, Text } from 'ink';
|
import { Box, Text } from 'ink';
|
||||||
import Spinner from 'ink-spinner';
|
import Spinner from 'ink-spinner';
|
||||||
import React from 'react';
|
|
||||||
|
|
||||||
interface DeployProgressProps {
|
interface DeployProgressProps {
|
||||||
current: number;
|
current: number;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import { Box, Text } from 'ink';
|
import { Box, Text } from 'ink';
|
||||||
import React from 'react';
|
|
||||||
import type { CLIDeploymentResult } from '../schemas';
|
import type { CLIDeploymentResult } from '../schemas';
|
||||||
|
|
||||||
interface DeploySummaryProps {
|
interface DeploySummaryProps {
|
||||||
|
|
|
@ -3,7 +3,7 @@ import { tmpdir } from 'node:os';
|
||||||
import { join } from 'node:path';
|
import { join } from 'node:path';
|
||||||
import yaml from 'js-yaml';
|
import yaml from 'js-yaml';
|
||||||
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
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';
|
import { loadBusterConfig, resolveConfiguration } from './config-loader';
|
||||||
|
|
||||||
describe('config-loader', () => {
|
describe('config-loader', () => {
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
import { existsSync } from 'node:fs';
|
import { existsSync } from 'node:fs';
|
||||||
import { readdir, readFile, stat } from 'node:fs/promises';
|
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 yaml from 'js-yaml';
|
||||||
import {
|
import {
|
||||||
type BusterConfig,
|
type BusterConfig,
|
||||||
BusterConfigSchema,
|
BusterConfigSchema,
|
||||||
type DeployOptions,
|
type DeployOptions,
|
||||||
type ProjectContext,
|
|
||||||
type ResolvedConfig,
|
type ResolvedConfig,
|
||||||
ResolvedConfigSchema,
|
ResolvedConfigSchema,
|
||||||
} from '../schemas';
|
} from '../schemas';
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { join } from 'node:path';
|
||||||
import yaml from 'js-yaml';
|
import yaml from 'js-yaml';
|
||||||
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
||||||
import { deployHandler, validateDeployOptions } from './deploy-handler';
|
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';
|
import { isDeploymentValidationError } from './utils/errors';
|
||||||
|
|
||||||
// Mock the deployment strategies module
|
// Mock the deployment strategies module
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import { relative, resolve } from 'node:path';
|
import { relative, resolve } from 'node:path';
|
||||||
import { getConfigBaseDir, loadBusterConfig, resolveConfiguration } from './config/config-loader';
|
import { getConfigBaseDir, loadBusterConfig, resolveConfiguration } from './config/config-loader';
|
||||||
import {
|
import {
|
||||||
createParseFailures,
|
|
||||||
formatDeploymentSummary,
|
formatDeploymentSummary,
|
||||||
mergeDeploymentResults,
|
mergeDeploymentResults,
|
||||||
processDeploymentResponse,
|
processDeploymentResponse,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Box, Text } from 'ink';
|
import { Box, Text } from 'ink';
|
||||||
import React, { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { BusterBanner } from '../../components/banner';
|
import { BusterBanner } from '../../components/banner';
|
||||||
import { Spinner } from '../../components/spinner';
|
import { Spinner } from '../../components/spinner';
|
||||||
import { DeployProgress } from './components/deploy-progress';
|
import { DeployProgress } from './components/deploy-progress';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { relative } from 'node:path';
|
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
|
* Pure function to merge multiple deployment results into one
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import { render } from 'ink-testing-library';
|
import { render } from 'ink-testing-library';
|
||||||
import React from 'react';
|
|
||||||
import { describe, expect, it } from 'vitest';
|
import { describe, expect, it } from 'vitest';
|
||||||
import { HelloCommand } from './hello';
|
import { HelloCommand } from './hello';
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { createBusterSDK } from '@buster/sdk';
|
||||||
import { Box, Text, useApp, useInput } from 'ink';
|
import { Box, Text, useApp, useInput } from 'ink';
|
||||||
import Spinner from 'ink-spinner';
|
import Spinner from 'ink-spinner';
|
||||||
import TextInput from 'ink-text-input';
|
import TextInput from 'ink-text-input';
|
||||||
import React, { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { BusterBanner } from '../components/banner.js';
|
import { BusterBanner } from '../components/banner.js';
|
||||||
import { type Credentials, getCredentials, saveCredentials } from '../utils/credentials.js';
|
import { type Credentials, getCredentials, saveCredentials } from '../utils/credentials.js';
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,9 @@ import { createBusterSDK } from '@buster/sdk';
|
||||||
import { Box, render, Text, useApp, useInput } from 'ink';
|
import { Box, render, Text, useApp, useInput } from 'ink';
|
||||||
import Spinner from 'ink-spinner';
|
import Spinner from 'ink-spinner';
|
||||||
import TextInput from 'ink-text-input';
|
import TextInput from 'ink-text-input';
|
||||||
import React, { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { BusterBanner } from '../components/banner.js';
|
import { BusterBanner } from '../components/banner.js';
|
||||||
import {
|
import { type Credentials, getCredentials, saveCredentials } from '../utils/credentials.js';
|
||||||
type Credentials,
|
|
||||||
getCredentials,
|
|
||||||
hasCredentials,
|
|
||||||
saveCredentials,
|
|
||||||
} from '../utils/credentials.js';
|
|
||||||
import { DeployCommand } from './deploy/deploy.js';
|
import { DeployCommand } from './deploy/deploy.js';
|
||||||
import { DeployOptionsSchema } from './deploy/schemas.js';
|
import { DeployOptionsSchema } from './deploy/schemas.js';
|
||||||
import { InitCommand } from './init.js';
|
import { InitCommand } from './init.js';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Box, Text, useApp } from 'ink';
|
import { Box, Text, useApp } from 'ink';
|
||||||
import React, { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { AnimatedLogo } from '../components/animated-logo.js';
|
import { AnimatedLogo } from '../components/animated-logo.js';
|
||||||
|
|
||||||
export function Welcome() {
|
export function Welcome() {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Box, Text } from 'ink';
|
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
|
// ASCII art for the Buster "b" logo - compact version
|
||||||
const BUSTER_LOGO_FRAMES = [
|
const BUSTER_LOGO_FRAMES = [
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { Box, Text } from 'ink';
|
import { Box, Text } from 'ink';
|
||||||
import BigText from 'ink-big-text';
|
import BigText from 'ink-big-text';
|
||||||
import React from 'react';
|
|
||||||
|
|
||||||
interface BannerProps {
|
interface BannerProps {
|
||||||
showSubtitle?: boolean;
|
showSubtitle?: boolean;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Text } from 'ink';
|
import { Text } from 'ink';
|
||||||
import React, { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
|
|
||||||
interface SpinnerProps {
|
interface SpinnerProps {
|
||||||
label?: string;
|
label?: string;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/usr/bin/env bun
|
#!/usr/bin/env bun
|
||||||
import { program } from 'commander';
|
import { program } from 'commander';
|
||||||
import { render } from 'ink';
|
import { render } from 'ink';
|
||||||
import React from 'react';
|
|
||||||
import { Auth } from './commands/auth.js';
|
import { Auth } from './commands/auth.js';
|
||||||
import { DeployCommand } from './commands/deploy/deploy.js';
|
import { DeployCommand } from './commands/deploy/deploy.js';
|
||||||
import { DeployOptionsSchema } from './commands/deploy/schemas.js';
|
import { DeployOptionsSchema } from './commands/deploy/schemas.js';
|
||||||
|
|
|
@ -7,10 +7,6 @@
|
||||||
"jsx": "react",
|
"jsx": "react",
|
||||||
"jsxFactory": "React.createElement",
|
"jsxFactory": "React.createElement",
|
||||||
"jsxFragmentFactory": "React.Fragment",
|
"jsxFragmentFactory": "React.Fragment",
|
||||||
"module": "ESNext",
|
|
||||||
"target": "ES2022",
|
|
||||||
"moduleResolution": "bundler",
|
|
||||||
"allowImportingTsExtensions": true,
|
|
||||||
"types": ["bun", "node"]
|
"types": ["bun", "node"]
|
||||||
},
|
},
|
||||||
"include": ["src/**/*", "env.d.ts"],
|
"include": ["src/**/*", "env.d.ts"],
|
||||||
|
|
|
@ -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": {
|
"files": {
|
||||||
"ignoreUnknown": false,
|
"ignoreUnknown": false,
|
||||||
"includes": [
|
"includes": [
|
||||||
|
|
|
@ -28,12 +28,6 @@
|
||||||
"typecheck": "cross-env NODE_OPTIONS=--max-old-space-size=8192 tsc --noEmit",
|
"typecheck": "cross-env NODE_OPTIONS=--max-old-space-size=8192 tsc --noEmit",
|
||||||
"typecheck:watch": "tsc --noEmit --watch"
|
"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": {
|
"dependencies": {
|
||||||
"@ariakit/react": "^0.4.18",
|
"@ariakit/react": "^0.4.18",
|
||||||
"@buster/server-shared": "workspace:*",
|
"@buster/server-shared": "workspace:*",
|
||||||
|
@ -144,7 +138,7 @@
|
||||||
"framer-motion": "^12.23.12",
|
"framer-motion": "^12.23.12",
|
||||||
"html2canvas-pro": "^1.5.11",
|
"html2canvas-pro": "^1.5.11",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "catalog:",
|
||||||
"jwt-decode": "^4.0.0",
|
"jwt-decode": "^4.0.0",
|
||||||
"ky": "^1.10.0",
|
"ky": "^1.10.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
|
@ -156,12 +150,12 @@
|
||||||
"platejs": "49.2.21",
|
"platejs": "49.2.21",
|
||||||
"pluralize": "^8.0.0",
|
"pluralize": "^8.0.0",
|
||||||
"posthog-js": "^1.261.7",
|
"posthog-js": "^1.261.7",
|
||||||
"react": "^19.1.1",
|
"react": "catalog:",
|
||||||
"react-colorful": "^5.6.1",
|
"react-colorful": "^5.6.1",
|
||||||
"react-day-picker": "^8.10.1",
|
"react-day-picker": "^8.10.1",
|
||||||
"react-dnd": "^16.0.1",
|
"react-dnd": "^16.0.1",
|
||||||
"react-dnd-html5-backend": "^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-error-boundary": "^6.0.0",
|
||||||
"react-hotkeys-hook": "^5.1.0",
|
"react-hotkeys-hook": "^5.1.0",
|
||||||
"react-lite-youtube-embed": "^2.5.6",
|
"react-lite-youtube-embed": "^2.5.6",
|
||||||
|
@ -187,7 +181,7 @@
|
||||||
"zod": "catalog:"
|
"zod": "catalog:"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "2.2.2",
|
"@biomejs/biome": "2.2.3",
|
||||||
"@chromatic-com/storybook": "^4.1.1",
|
"@chromatic-com/storybook": "^4.1.1",
|
||||||
"@storybook/addon-a11y": "^9.1.4",
|
"@storybook/addon-a11y": "^9.1.4",
|
||||||
"@storybook/addon-docs": "^9.1.4",
|
"@storybook/addon-docs": "^9.1.4",
|
||||||
|
@ -199,11 +193,11 @@
|
||||||
"@testing-library/react": "^16.3.0",
|
"@testing-library/react": "^16.3.0",
|
||||||
"@types/canvas-confetti": "^1.9.0",
|
"@types/canvas-confetti": "^1.9.0",
|
||||||
"@types/js-cookie": "^3.0.6",
|
"@types/js-cookie": "^3.0.6",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "catalog:",
|
||||||
"@types/lodash": "^4.17.20",
|
"@types/lodash": "^4.17.20",
|
||||||
"@types/pluralize": "^0.0.33",
|
"@types/pluralize": "^0.0.33",
|
||||||
"@types/react": "^19.1.12",
|
"@types/react": "catalog:",
|
||||||
"@types/react-dom": "^19.1.9",
|
"@types/react-dom": "catalog:",
|
||||||
"@vitejs/plugin-react": "^5.0.2",
|
"@vitejs/plugin-react": "^5.0.2",
|
||||||
"@vitest/browser": "3.2.4",
|
"@vitest/browser": "3.2.4",
|
||||||
"@vitest/coverage-v8": "3.2.4",
|
"@vitest/coverage-v8": "3.2.4",
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^1.9.4",
|
"@biomejs/biome": "^1.9.4",
|
||||||
"@types/node": "^22.0.0",
|
"@types/node": "^22.11.0",
|
||||||
"tsx": "catalog:",
|
"tsx": "catalog:",
|
||||||
"turbo": "^2.5.6",
|
"turbo": "^2.5.6",
|
||||||
"vitest": "catalog:"
|
"vitest": "catalog:"
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
"zod": "catalog:"
|
"zod": "catalog:"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^20.11.0",
|
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.3.3",
|
||||||
"vitest": "catalog:"
|
"vitest": "catalog:"
|
||||||
}
|
}
|
||||||
|
|
536
pnpm-lock.yaml
536
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -24,6 +24,12 @@ catalog:
|
||||||
lodash-es: ^4.17.21
|
lodash-es: ^4.17.21
|
||||||
hono: ^4.9.6
|
hono: ^4.9.6
|
||||||
pg: ^8.16.3
|
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
|
tsup: ^8.5.0
|
||||||
tsx: ^4.20.5
|
tsx: ^4.20.5
|
||||||
uuid: ^11.1.0
|
uuid: ^11.1.0
|
||||||
|
|
Loading…
Reference in New Issue