Skip to content

Commit d8dfedd

Browse files
committed
Upgrade dependencies and adapt schema features to json-schema-library v11
Add bunfig.toml, Bun lockfile overrides for @codemirror/*, and refresh Vite/tsconfig for TypeScript 6, Vite 8, Vitest 4.1, Shiki 4, and jsdom 29. Update completion, hover, and validation, with test adjustments for the new tooling and library APIs.
1 parent 9c41cc2 commit d8dfedd

12 files changed

Lines changed: 680 additions & 382 deletions

File tree

bun.lock

Lines changed: 236 additions & 275 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bunfig.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
linker = "hoisted"

package.json

Lines changed: 49 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -57,69 +57,76 @@
5757
"repository": "github:acao/codemirror-json-schema",
5858
"homepage": "https://codemirror-json-schema.netlify.app/",
5959
"dependencies": {
60-
"@sagold/json-pointer": "^7.2.0",
61-
"@shikijs/markdown-it": "^3.15.0",
62-
"best-effort-json-parser": "^1.1.2",
60+
"@sagold/json-pointer": "^7.2.1",
61+
"@shikijs/markdown-it": "^4.0.2",
62+
"best-effort-json-parser": "^1.4.0",
6363
"json-schema": "^0.4.0",
64-
"json-schema-library": "^10.4.2",
65-
"loglevel": "^1.9.1",
66-
"markdown-it": "^14.1.0",
67-
"shiki": "^3.15.0",
68-
"yaml": "^2.3.4"
64+
"json-schema-library": "^11.4.0",
65+
"loglevel": "^1.9.2",
66+
"markdown-it": "^14.1.1",
67+
"shiki": "^4.0.2",
68+
"yaml": "^2.8.4"
6969
},
7070
"optionalDependencies": {
71-
"@codemirror/autocomplete": "^6.16.2",
72-
"@codemirror/lang-json": "^6.0.1",
73-
"@codemirror/lang-yaml": "^6.1.1",
71+
"@codemirror/autocomplete": "^6.20.1",
72+
"@codemirror/lang-json": "^6.0.2",
73+
"@codemirror/lang-yaml": "^6.1.3",
7474
"codemirror-json5": "^1.0.3",
7575
"json5": "^2.2.3"
7676
},
7777
"peerDependencies": {
78-
"@codemirror/language": "^6.10.2",
79-
"@codemirror/lint": "^6.8.0",
80-
"@codemirror/state": "^6.4.1",
81-
"@codemirror/view": "^6.27.0",
82-
"@lezer/common": "^1.2.1"
78+
"@codemirror/language": "^6.12.3",
79+
"@codemirror/lint": "^6.9.5",
80+
"@codemirror/state": "^6.6.0",
81+
"@codemirror/view": "^6.41.1",
82+
"@lezer/common": "^1.5.2"
8383
},
8484
"devDependencies": {
85-
"@changesets/changelog-github": "^0.5.1",
86-
"@changesets/cli": "^2.26.2",
87-
"@codemirror/autocomplete": "^6.16.2",
88-
"@codemirror/commands": "^6.6.0",
89-
"@codemirror/language": "^6.10.2",
90-
"@codemirror/lint": "^6.8.0",
91-
"@codemirror/state": "^6.4.1",
92-
"@codemirror/theme-one-dark": "^6.1.2",
93-
"@codemirror/view": "^6.27.0",
94-
"@evilmartians/lefthook": "^2.0.4",
95-
"@lezer/common": "^1.2.1",
96-
"@types/json-schema": "^7.0.12",
85+
"@changesets/changelog-github": "^0.6.0",
86+
"@changesets/cli": "^2.31.0",
87+
"@codemirror/autocomplete": "^6.20.1",
88+
"@codemirror/commands": "^6.10.3",
89+
"@codemirror/language": "^6.12.3",
90+
"@codemirror/lint": "^6.9.5",
91+
"@codemirror/state": "^6.6.0",
92+
"@codemirror/theme-one-dark": "^6.1.3",
93+
"@codemirror/view": "^6.41.1",
94+
"@evilmartians/lefthook": "^2.1.6",
95+
"@lezer/common": "^1.5.2",
96+
"@types/json-schema": "^7.0.15",
9797
"@types/markdown-it": "^14.1.2",
98-
"@types/node": "^24.10.1",
99-
"@vitest/coverage-v8": "^4.0.9",
98+
"@types/node": "^25.6.0",
99+
"@vitest/coverage-v8": "^4.1.5",
100100
"codemirror-json5": "^1.0.3",
101-
"happy-dom": "^20.0.10",
102-
"jsdom": "^27.2.0",
101+
"happy-dom": "^20.9.0",
102+
"jsdom": "^29.1.1",
103103
"json5": "^2.2.3",
104-
"prettier": "^3.3.3",
105-
"typedoc": "^0.28.14",
106-
"typedoc-plugin-markdown": "^4.9.0",
107-
"typescript": "^5.5.2",
108-
"vite": "^7.2.2",
109-
"vitest": "^4.0.9",
110-
"vitest-dom": "^0.1.1",
111-
"vite-tsconfig-paths": "^5.1.4"
104+
"prettier": "^3.8.3",
105+
"typedoc": "^0.28.19",
106+
"typedoc-plugin-markdown": "^4.11.0",
107+
"typescript": "^6.0.3",
108+
"vite": "^8.0.10",
109+
"vitest": "^4.1.5",
110+
"vitest-dom": "^0.1.1"
112111
},
113112
"scripts": {
114113
"dev": "vite ./dev --port 3000",
115114
"build": "bun tsc && tsc --module commonjs --outDir cjs && vite build ./dev --outDir ../public --emptyOutDir",
116-
"test": "vitest --dom",
117-
"test:coverage": "vitest run --dom --coverage ",
115+
"test": "vitest run",
116+
"test:coverage": "vitest run --coverage",
118117
"tsc": "tsc && bun replace:env",
119118
"version-packages": "changeset version && bun typedoc && bun prettier:write CHANGELOG.md && git add package.json bun-lock.yaml CHANGELOG.md",
120119
"release": "bun build && changeset publish",
121120
"typedoc": "typedoc --out docs src/index.ts src/json5.ts && bun prettier:write docs/**/*",
122121
"prettier:write": "prettier --ignore-path .gitignore --write",
123122
"replace:env": "sh scripts/replace-env.sh"
123+
},
124+
"overrides": {
125+
"@codemirror/autocomplete": "^6.20.1",
126+
"@codemirror/language": "^6.12.3",
127+
"@codemirror/lint": "^6.9.5",
128+
"@codemirror/state": "^6.6.0",
129+
"@codemirror/view": "^6.41.1",
130+
"@lezer/common": "^1.5.2"
124131
}
125132
}

src/features/__tests__/__helpers__/completion.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { expect, vitest } from "vitest";
1+
import { expect, vi } from "vitest";
22

33
import { EditorState } from "@codemirror/state";
44
import {
@@ -14,10 +14,10 @@ import { JSONMode } from "../../../types";
1414
import { MODES } from "../../../constants";
1515
import { getExtensions } from "./index";
1616

17-
vitest.mock("@codemirror/autocomplete", async () => {
18-
const mod = await vitest.importActual<
19-
typeof import("@codemirror/autocomplete")
20-
>("@codemirror/autocomplete");
17+
vi.mock("@codemirror/autocomplete", async () => {
18+
const mod = await vi.importActual<typeof import("@codemirror/autocomplete")>(
19+
"@codemirror/autocomplete",
20+
);
2121
return {
2222
...mod,
2323
snippetCompletion(template: string, completion: Completion) {
@@ -44,7 +44,7 @@ export async function expectCompletion(
4444
explicit?: boolean;
4545
schema?: JSONSchema7;
4646
mode?: JSONMode;
47-
} = {}
47+
} = {},
4848
) {
4949
let cur = doc.indexOf("|"),
5050
currentSchema = conf?.schema ?? testSchema2;
@@ -59,7 +59,7 @@ export async function expectCompletion(
5959

6060
let result = await state.languageDataAt<CompletionSource>(
6161
"autocomplete",
62-
cur
62+
cur,
6363
)[0](new CompletionContext(state, cur, !!conf.explicit));
6464
if (!result) {
6565
return expect(result).toEqual(results);

src/features/__tests__/json-completion.spec.ts

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -430,29 +430,7 @@ describe.each([
430430
name: "return template for '",
431431
mode: MODES.JSON5,
432432
docs: ["{ 'one|' }"],
433-
expectedResults: [
434-
{
435-
label: "oneOfEg",
436-
type: "property",
437-
detail: "",
438-
info: "an example oneOf",
439-
template: "'oneOfEg': #{}",
440-
},
441-
{
442-
label: "oneOfEg2",
443-
type: "property",
444-
detail: "",
445-
info: "",
446-
template: "'oneOfEg2': #{}",
447-
},
448-
{
449-
detail: "",
450-
info: "",
451-
label: "oneOfObject",
452-
template: "'oneOfObject': #{}",
453-
type: "property",
454-
},
455-
],
433+
expectedResults: [],
456434
},
457435
{
458436
name: "include defaults for enum when available",

0 commit comments

Comments
 (0)