mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 14:25:51 +00:00
62 lines
1.7 KiB
TypeScript
62 lines
1.7 KiB
TypeScript
import { readFileSync } from 'node:fs'
|
|
import { join } from 'node:path'
|
|
import { describe, expect, test } from 'bun:test'
|
|
|
|
type LaunchConfig = {
|
|
name?: string
|
|
type?: string
|
|
request?: string
|
|
preLaunchTask?: string
|
|
args?: string[]
|
|
}
|
|
|
|
type TaskConfig = {
|
|
label?: string
|
|
command?: string
|
|
args?: string[]
|
|
}
|
|
|
|
const workspaceRoot = join(import.meta.dir, '..', '..', '..')
|
|
const launchJsonPath = join(workspaceRoot, '.vscode', 'launch.json')
|
|
const tasksJsonPath = join(workspaceRoot, '.vscode', 'tasks.json')
|
|
|
|
describe('VSCode IDE bridge developer workflow', () => {
|
|
test('declares a one-click extension host launch config', () => {
|
|
const launchJson = JSON.parse(readFileSync(launchJsonPath, 'utf8')) as {
|
|
configurations?: LaunchConfig[]
|
|
}
|
|
|
|
const config = launchJson.configurations?.find(
|
|
item => item.name === 'Run VSCode IDE Bridge',
|
|
)
|
|
|
|
expect(config).toBeDefined()
|
|
expect(config?.type).toBe('extensionHost')
|
|
expect(config?.request).toBe('launch')
|
|
expect(config?.preLaunchTask).toBe('Build VSCode IDE Bridge')
|
|
expect(config?.args).toContain('--new-window')
|
|
expect(config?.args).toContain('--disable-extensions')
|
|
expect(config?.args).toContain(
|
|
'--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-ide-bridge',
|
|
)
|
|
})
|
|
|
|
test('declares a build task for the bridge package', () => {
|
|
const tasksJson = JSON.parse(readFileSync(tasksJsonPath, 'utf8')) as {
|
|
tasks?: TaskConfig[]
|
|
}
|
|
|
|
const task = tasksJson.tasks?.find(
|
|
item => item.label === 'Build VSCode IDE Bridge',
|
|
)
|
|
|
|
expect(task).toBeDefined()
|
|
expect(task?.command).toBe('bunx')
|
|
expect(task?.args).toEqual([
|
|
'tsc',
|
|
'-p',
|
|
'packages/vscode-ide-bridge/tsconfig.json',
|
|
])
|
|
})
|
|
})
|