Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "opencode-dev",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"postCreateCommand": "curl -fsSL https://bun.sh/install | bash && echo 'export PATH=\"$HOME/.bun/bin:$PATH\"' >> ~/.bashrc"
}
5 changes: 5 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ jobs:
# contention issue typecheck.yml already caps for tsgo.
run: GITHUB_ACTIONS=false bun turbo test --concurrency=4

- name: Run upgrade-opentui tests
timeout-minutes: 5
working-directory: script
run: bun test upgrade-opentui.test.ts

- name: Check generated client
timeout-minutes: 5
working-directory: packages/client
Expand Down
36 changes: 0 additions & 36 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions script/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
coverage/
2 changes: 2 additions & 0 deletions script/bunfig.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[test]
root = "."
42 changes: 42 additions & 0 deletions script/upgrade-opentui.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { describe, expect, test } from "bun:test"
import { setVersion } from "./upgrade-opentui"

describe("setVersion", () => {
test("passes through catalog: references unchanged", () => {
expect(setVersion("catalog:", "dep", "1.2.3", false)).toBe("catalog:")
expect(setVersion("catalog:", "peer", "1.2.3", false)).toBe("catalog:")
})

test("passes through workspace: references unchanged", () => {
expect(setVersion("workspace:*", "dep", "1.2.3", false)).toBe("workspace:*")
expect(setVersion("workspace:^", "peer", "1.2.3", false)).toBe("workspace:^")
})

test("returns the bare version when snapshot is set, regardless of prefix", () => {
expect(setVersion("^1.0.0", "dep", "1.2.3", true)).toBe("1.2.3")
expect(setVersion("~1.0.0", "peer", "1.2.3", true)).toBe("1.2.3")
expect(setVersion(">=1.0.0", "dep", "1.2.3", true)).toBe("1.2.3")
})

test("always prefixes peer dependencies with >=", () => {
expect(setVersion("1.0.0", "peer", "1.2.3", false)).toBe(">=1.2.3")
expect(setVersion("^1.0.0", "peer", "1.2.3", false)).toBe(">=1.2.3")
expect(setVersion("~1.0.0", "peer", "1.2.3", false)).toBe(">=1.2.3")
})

test("preserves a >= prefix for dep versions", () => {
expect(setVersion(">=1.0.0", "dep", "1.2.3", false)).toBe(">=1.2.3")
})

test("preserves a ^ prefix for dep versions", () => {
expect(setVersion("^1.0.0", "dep", "1.2.3", false)).toBe("^1.2.3")
})

test("preserves a ~ prefix for dep versions", () => {
expect(setVersion("~1.0.0", "dep", "1.2.3", false)).toBe("~1.2.3")
})

test("uses the bare version when the dep has no recognized prefix", () => {
expect(setVersion("1.0.0", "dep", "1.2.3", false)).toBe("1.2.3")
})
})
Loading
Loading