mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-23 00:35:51 +00:00
feat: add VS Code IDE bridge extension
This commit is contained in:
61
packages/vscode-ide-bridge/test/vscodeWorkflow.test.ts
Normal file
61
packages/vscode-ide-bridge/test/vscodeWorkflow.test.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
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',
|
||||
])
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user