Skip to content

Commit 15677b7

Browse files
committed
Upgrade some deps
1 parent 47f95cc commit 15677b7

31 files changed

+2446
-2228
lines changed

.github/workflows/lint.yaml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,10 @@ jobs:
1212
name: "Run Linters and Typechecking"
1313
runs-on: "depot-ubuntu-24.04-small"
1414
steps:
15-
- uses: "actions/checkout@v4"
16-
- uses: "authzed/action-spicedb@v1"
15+
- uses: "actions/checkout@v6"
16+
- uses: "actions/setup-node@v6"
1717
with:
18-
version: "latest"
19-
- uses: "actions/setup-node@v4"
20-
with:
21-
node-version: 22
18+
node-version: 24
2219
cache-dependency-path: "yarn.lock"
2320
cache: "yarn"
2421
- uses: "bahmutov/npm-install@v1"

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
contents: "write"
1212
packages: "write"
1313
steps:
14-
- uses: "actions/checkout@v4"
14+
- uses: "actions/checkout@v6"
1515
with:
1616
lfs: "true"
1717
submodules: "recursive"

.github/workflows/test.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ jobs:
1212
name: "Run Tests"
1313
runs-on: "depot-ubuntu-24.04-small"
1414
steps:
15-
- uses: "actions/checkout@v4"
15+
- uses: "actions/checkout@v6"
1616
with:
1717
submodules: true
1818
- uses: "authzed/action-spicedb@v1"
1919
with:
2020
version: "latest"
21-
- uses: "actions/setup-node@v4"
21+
- uses: "actions/setup-node@v6"
2222
with:
23-
node-version: 22
23+
node-version: 24
2424
cache-dependency-path: "yarn.lock"
2525
cache: "yarn"
2626
- uses: "bahmutov/npm-install@v1"

.oxfmtrc.jsonc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"$schema": "./node_modules/oxfmt/configuration_schema.json",
33
"ignorePatterns": ["src/spicedb-common/protodefs", "examples", "public"],
4-
"experimentalSortImports": {
4+
"sortImports": {
5+
// This is for `import "foo.css"` type stuff
6+
"sortSideEffects": true,
57
"groups": [
6-
["side-effect"],
78
["builtin"],
89
["external", "type-external"],
910
["internal", "type-internal"],

.oxlintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// "restriction": "error"
1212
},
1313
"plugins": ["eslint", "import", "oxc", "promise", "react", "typescript", "unicorn"],
14-
"ignorePatterns": ["dist", "src/spicedb-common/protodefs", "public"],
14+
"ignorePatterns": ["dist", "src/spicedb-common/protodefs", "public", "src/components/ui"],
1515
"rules": {
1616
// TODO: fix this and get rid of it
1717
"react/only-export-components": [

package.json

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
"dev": "HTTPS=true vite",
88
"build": "tsc -b && vite build",
99
"test": "vitest",
10-
"lint": "oxlint --type-aware --type-check",
11-
"lint-fix": "oxlint --type-aware --type-check --fix",
10+
"lint": "oxlint --type-aware",
11+
"lint:check": "oxlint --type-aware --type-check",
12+
"lint:fix": "oxlint --type-aware --fix",
1213
"typecheck": "tsc --noEmit",
1314
"format": "oxfmt",
1415
"format:check": "oxfmt --check",
@@ -18,31 +19,28 @@
1819
},
1920
"dependencies": {
2021
"@authzed/spicedb-parser-js": "^1.0.5",
21-
"@aws-sdk/client-s3": "^3.0.0",
22+
"@aws-sdk/client-s3": "^3.997.0",
2223
"@bufbuild/protobuf": "^2.4.0",
2324
"@dagrejs/dagre": "^2.0.4",
2425
"@fontsource/roboto": "^5.1.1",
25-
"@fortawesome/fontawesome-svg-core": "^6.4.0",
26-
"@fortawesome/free-solid-svg-icons": "^6.2.1",
27-
"@fortawesome/react-fontawesome": "^0.2.0",
2826
"@glideapps/glide-data-grid": "^6.0.3",
2927
"@glideapps/glide-data-grid-cells": "^6.0.3",
3028
"@material-ui/core": "^4.12.4",
3129
"@material-ui/icons": "^4.11.3",
3230
"@material-ui/lab": "^4.0.0-alpha.61",
33-
"@monaco-editor/react": "^4.3.1",
34-
"@posthog/react": "^1.5.2",
35-
"@radix-ui/react-alert-dialog": "^1.1.11",
36-
"@radix-ui/react-select": "^2.2.2",
37-
"@radix-ui/react-slot": "^1.2.0",
38-
"@radix-ui/react-tabs": "^1.1.9",
39-
"@tailwindcss/vite": "^4.1.5",
40-
"@tanstack/react-pacer": "^0.17.4",
41-
"@tanstack/react-router": "^1.119.0",
42-
"@tanstack/react-router-devtools": "^1.119.1",
31+
"@monaco-editor/react": "^4.7.0",
32+
"@posthog/react": "^1.8.0",
33+
"@radix-ui/react-alert-dialog": "^1.1.15",
34+
"@radix-ui/react-select": "^2.2.6",
35+
"@radix-ui/react-slot": "^1.2.4",
36+
"@radix-ui/react-tabs": "^1.1.13",
37+
"@tailwindcss/vite": "^4.2.1",
38+
"@tanstack/react-pacer": "^0.20.0",
39+
"@tanstack/react-router": "^1.163.2",
40+
"@tanstack/react-router-devtools": "^1.163.2",
4341
"@vercel/node": "^5.2.0",
44-
"@xyflow/react": "^12.10.0",
45-
"ajv": "6.12.6",
42+
"@xyflow/react": "^12.10.1",
43+
"ajv": "8.18.0",
4644
"ansi-to-html": "^0.7.2",
4745
"class-variance-authority": "^0.7.1",
4846
"clsx": "^2.1.1",
@@ -51,61 +49,58 @@
5149
"file-saver": "^2.0.5",
5250
"file-select-dialog": "^1.5.4",
5351
"line-column": "^1.0.2",
54-
"lucide-react": "^0.503.0",
55-
"marked": "^4.0.10",
56-
"monaco-editor": "~0.40.0",
52+
"lucide-react": "^0.575.0",
53+
"monaco-editor": "~0.55.1",
5754
"next-themes": "^0.4.6",
5855
"parsimmon": "^1.18.1",
59-
"posthog-js": "^1.304.0",
56+
"posthog-js": "^1.353.1",
6057
"radix-ui": "^1.4.3",
6158
"react": "^18.3.1",
62-
"react-cookie": "^4.1.1",
59+
"react-cookie": "^8.0.1",
6360
"react-dom": "^18.3.1",
6461
"react-joyride": "^2.5.3",
65-
"react-reflex": "^4.0.9",
62+
"react-reflex": "^4.2.7",
6663
"react-responsive-carousel": "^3.2.23",
6764
"sjcl": "^1.0.8",
6865
"sonner": "^2.0.7",
6966
"string-to-color": "^2.2.2",
7067
"string.prototype.replaceall": "^1.0.6",
7168
"styled-components": "^6.1.14",
72-
"tailwind-merge": "^3.2.0",
73-
"tailwindcss": "^4.1.5",
69+
"tailwind-merge": "^3.5.0",
70+
"tailwindcss": "^4.2.1",
7471
"typeface-roboto-mono": "^1.1.13",
7572
"use-deep-compare": "^1.1.0",
7673
"use-deep-compare-effect": "^1.8.1",
77-
"visjs-network": "^4.24.11",
7874
"yaml": "^2.0.1",
79-
"zod": "^4.2.1"
75+
"zod": "^4.3.6"
8076
},
8177
"devDependencies": {
8278
"@testing-library/react": "^14.0.0",
8379
"@testing-library/user-event": "^14.4.3",
8480
"@types/d3-scale-chromatic": "^3.0.0",
8581
"@types/dagre": "^0.7.53",
8682
"@types/file-saver": "^2.0.5",
87-
"@types/jest": "^29.5.0",
8883
"@types/line-column": "^1.0.0",
89-
"@types/node": "^22.15.3",
84+
"@types/node": "^25.3.0",
9085
"@types/parsimmon": "^1.10.6",
9186
"@types/react": "^18.3.1",
9287
"@types/react-copy-to-clipboard": "^5.0.4",
9388
"@types/react-dom": "^18.3.1",
9489
"@types/sjcl": "^1.0.30",
9590
"@types/styled-components": "^5.1.26",
9691
"@types/use-deep-compare-effect": "^1.5.1",
97-
"@types/uuid": "^9.0.1",
98-
"@vitejs/plugin-react": "^4.3.4",
92+
"@types/uuid": "^11.0.0",
93+
"@vitejs/plugin-react": "^5.1.4",
9994
"cypress": "^12.9.0",
10095
"cypress-wait-until": "^1.7.2",
10196
"globals": "^15.14.0",
102-
"oxfmt": "^0.28.0",
103-
"oxlint": "^1.48.0",
104-
"oxlint-tsgolint": "^0.14.0",
97+
"oxfmt": "^0.35.0",
98+
"oxlint": "^1.50.0",
99+
"oxlint-tsgolint": "^0.15.0",
105100
"tw-animate-css": "^1.2.8",
106-
"typescript": "~5.7.3",
107-
"vite": "^6.0.7",
108-
"vite-plugin-svgr": "^4.3.0",
101+
"typescript": "~5.9.3",
102+
"vite": "^7.3.1",
103+
"vite-plugin-svgr": "^4.5.0",
109104
"vitest": "^2.1.8"
110105
},
111106
"browserslist": {

src/App.tsx

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import "react-reflex/styles.css";
2-
import "typeface-roboto-mono/index.css"; // Import the Roboto Mono font.
3-
import "./App.css";
4-
51
import { PostHogProvider } from "@posthog/react";
62
import {
73
Outlet,
@@ -12,9 +8,13 @@ import {
128
} from "@tanstack/react-router";
139
import { TanStackRouterDevtools } from "@tanstack/react-router-devtools";
1410
import posthog from "posthog-js";
11+
import { CookiesProvider } from "react-cookie";
12+
import "react-reflex/styles.css";
13+
import "typeface-roboto-mono/index.css"; // Import the Roboto Mono font.
1514

1615
import { ThemeProvider } from "@/components/ThemeProvider";
1716

17+
import "./App.css";
1818
import { EmbeddedPlayground } from "./components/EmbeddedPlayground";
1919
import { FullPlayground } from "./components/FullPlayground";
2020
import { InlinePlayground } from "./components/InlinePlayground";
@@ -71,15 +71,18 @@ function App() {
7171
return (
7272
<>
7373
<Toaster />
74-
<PostHogProvider client={posthog}>
75-
<ThemeProvider>
76-
<PlaygroundUIThemed {...PLAYGROUND_UI_COLORS} forceDarkMode={isEmbeddedPlayground}>
77-
<ConfirmDialogProvider>
78-
<RouterProvider router={router} />
79-
</ConfirmDialogProvider>
80-
</PlaygroundUIThemed>
81-
</ThemeProvider>
82-
</PostHogProvider>
74+
{/* @ts-expect-error react-cookie's types are screwy */}
75+
<CookiesProvider>
76+
<PostHogProvider client={posthog}>
77+
<ThemeProvider>
78+
<PlaygroundUIThemed {...PLAYGROUND_UI_COLORS} forceDarkMode={isEmbeddedPlayground}>
79+
<ConfirmDialogProvider>
80+
<RouterProvider router={router} />
81+
</ConfirmDialogProvider>
82+
</PlaygroundUIThemed>
83+
</ThemeProvider>
84+
</PostHogProvider>
85+
</CookiesProvider>
8386
</>
8487
);
8588
}

src/components/EditorDisplay.tsx

Lines changed: 61 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
import "react-reflex/styles.css";
2-
31
import { TextRange } from "@authzed/spicedb-parser-js";
4-
import Editor, { DiffEditor, useMonaco } from "@monaco-editor/react";
2+
import { Editor, DiffEditor, useMonaco } from "@monaco-editor/react";
53
import { useDebouncedCallback } from "@tanstack/react-pacer/debouncer";
64
import { useNavigate, useLocation } from "@tanstack/react-router";
75
import lineColumn from "line-column";
86
import * as monaco from "monaco-editor";
97
import { useEffect, useMemo, useRef, useState } from "react";
108
import { flushSync } from "react-dom";
9+
import "react-reflex/styles.css";
1110

1211
import { useMediaQuery } from "@/hooks/use-media-query";
1312

@@ -428,55 +427,69 @@ export function EditorDisplay(props: EditorDisplayProps) {
428427
props.services.problemService.stateKey,
429428
]);
430429

431-
const Component = props.diff ? DiffEditor : Editor;
432-
const extraProps = props.diff
433-
? {
434-
original: props.diff,
435-
modified: currentItem?.editableContents,
436-
language: languageName,
437-
}
438-
: {};
439-
440430
return (
441431
<div>
442432
{monacoReady && currentItem && (
443433
<div className="w-full h-full">
444-
<Component
445-
key={`${currentItem.id}-${props.diff ? "diff" : ""}`}
446-
height={
447-
props.dimensions ? `${props.dimensions.height}px` : (props.defaultHeight ?? "40vh")
448-
}
449-
width={
450-
props.dimensions ? `${props.dimensions.width}px` : (props.defaultWidth ?? "60vw")
451-
}
452-
defaultLanguage={languageName}
453-
value={currentItem.editableContents}
454-
theme={themeName}
455-
onChange={handleEditorChange}
456-
// TODO: this is weirdly typed because we're conditionally rendering
457-
// a diff editor or a code editor and typescript doesn't know about that.
458-
// It'd be better to separate this into two different components that
459-
// reuse their internals.
460-
// @ts-expect-error the mount handler is a no-op if the component is in diff mode
461-
onMount={handleEditorMounted}
462-
options={{
463-
readOnly: props.isReadOnly || !!props.diff,
464-
scrollbar: {
465-
handleMouseWheel:
466-
props.disableScrolling !== true && props.disableMouseWheelScrolling !== true,
467-
vertical: props.disableScrolling ? "hidden" : undefined,
468-
},
469-
"semanticHighlighting.enabled": true,
470-
fixedOverflowWidgets: true,
471-
minimap: {
472-
enabled: props.hideMinimap !== true,
473-
},
474-
fontSize: props.fontSize,
475-
scrollBeyondLastLine:
476-
props.scrollBeyondLastLine ?? (props.disableScrolling === true ? false : true),
477-
}}
478-
{...extraProps}
479-
/>
434+
{props.diff ? (
435+
<DiffEditor
436+
height={
437+
props.dimensions ? `${props.dimensions.height}px` : (props.defaultHeight ?? "40vh")
438+
}
439+
width={
440+
props.dimensions ? `${props.dimensions.width}px` : (props.defaultWidth ?? "60vw")
441+
}
442+
theme={themeName}
443+
options={{
444+
readOnly: props.isReadOnly || !!props.diff,
445+
scrollbar: {
446+
handleMouseWheel:
447+
props.disableScrolling !== true && props.disableMouseWheelScrolling !== true,
448+
vertical: props.disableScrolling ? "hidden" : undefined,
449+
},
450+
fixedOverflowWidgets: true,
451+
minimap: {
452+
enabled: props.hideMinimap !== true,
453+
},
454+
fontSize: props.fontSize,
455+
scrollBeyondLastLine:
456+
props.scrollBeyondLastLine ?? (props.disableScrolling === true ? false : true),
457+
}}
458+
original={props.diff}
459+
modified={currentItem?.editableContents}
460+
language={languageName}
461+
/>
462+
) : (
463+
<Editor
464+
height={
465+
props.dimensions ? `${props.dimensions.height}px` : (props.defaultHeight ?? "40vh")
466+
}
467+
width={
468+
props.dimensions ? `${props.dimensions.width}px` : (props.defaultWidth ?? "60vw")
469+
}
470+
defaultLanguage={languageName}
471+
value={currentItem.editableContents}
472+
theme={themeName}
473+
onChange={handleEditorChange}
474+
onMount={handleEditorMounted}
475+
options={{
476+
readOnly: props.isReadOnly || !!props.diff,
477+
scrollbar: {
478+
handleMouseWheel:
479+
props.disableScrolling !== true && props.disableMouseWheelScrolling !== true,
480+
vertical: props.disableScrolling ? "hidden" : undefined,
481+
},
482+
"semanticHighlighting.enabled": true,
483+
fixedOverflowWidgets: true,
484+
minimap: {
485+
enabled: props.hideMinimap !== true,
486+
},
487+
fontSize: props.fontSize,
488+
scrollBeyondLastLine:
489+
props.scrollBeyondLastLine ?? (props.disableScrolling === true ? false : true),
490+
}}
491+
/>
492+
)}
480493
</div>
481494
)}
482495
</div>

0 commit comments

Comments
 (0)