From 6748526947585554e6c7b31b3fb4bfd4044f9a88 Mon Sep 17 00:00:00 2001 From: Chris Feijoo Date: Sun, 15 Mar 2026 03:07:21 +0100 Subject: [PATCH 1/6] FE-518: Add Storybook and update build/lint setup for refractive Replace the playground/ dev server with Storybook for component development and visual testing. - Remove playground/ folder and its Vite dev server setup - Add Storybook 9 with @storybook/react-vite framework - Create playground story showing refractive glass effect over scrollable article content - Simplify vite.config.ts for lib-only builds (Storybook handles dev) Co-Authored-By: Claude Opus 4.6 (1M context) --- libs/@hashintel/refractive/.storybook/main.ts | 8 +++ .../refractive/.storybook/preview.ts | 9 +++ libs/@hashintel/refractive/package.json | 8 ++- .../refractive/playground/index.html | 17 ----- .../@hashintel/refractive/playground/main.tsx | 17 ----- .../refractive/playground/playground.tsx | 37 ----------- .../refractive/playground/style.css | 9 --- .../example-article.tsx | 8 +-- .../refractive/stories/playground.stories.tsx | 53 +++++++++++++++ libs/@hashintel/refractive/tsconfig.json | 2 +- libs/@hashintel/refractive/vite.config.ts | 64 ++++++++----------- yarn.lock | 3 + 12 files changed, 112 insertions(+), 123 deletions(-) create mode 100644 libs/@hashintel/refractive/.storybook/main.ts create mode 100644 libs/@hashintel/refractive/.storybook/preview.ts delete mode 100644 libs/@hashintel/refractive/playground/index.html delete mode 100644 libs/@hashintel/refractive/playground/main.tsx delete mode 100644 libs/@hashintel/refractive/playground/playground.tsx delete mode 100644 libs/@hashintel/refractive/playground/style.css rename libs/@hashintel/refractive/{playground => stories}/example-article.tsx (98%) create mode 100644 libs/@hashintel/refractive/stories/playground.stories.tsx diff --git a/libs/@hashintel/refractive/.storybook/main.ts b/libs/@hashintel/refractive/.storybook/main.ts new file mode 100644 index 00000000000..eee61f30c79 --- /dev/null +++ b/libs/@hashintel/refractive/.storybook/main.ts @@ -0,0 +1,8 @@ +import type { StorybookConfig } from "@storybook/react-vite"; + +const config: StorybookConfig = { + framework: "@storybook/react-vite", + stories: ["../stories/**/*.stories.@(ts|tsx)"], +}; + +export default config; diff --git a/libs/@hashintel/refractive/.storybook/preview.ts b/libs/@hashintel/refractive/.storybook/preview.ts new file mode 100644 index 00000000000..ac5adb8de13 --- /dev/null +++ b/libs/@hashintel/refractive/.storybook/preview.ts @@ -0,0 +1,9 @@ +import type { Preview } from "@storybook/react"; + +const preview: Preview = { + parameters: { + layout: "fullscreen", + }, +}; + +export default preview; diff --git a/libs/@hashintel/refractive/package.json b/libs/@hashintel/refractive/package.json index b5683350a06..a7fcf633bc2 100644 --- a/libs/@hashintel/refractive/package.json +++ b/libs/@hashintel/refractive/package.json @@ -23,21 +23,25 @@ "types": "./dist/index.d.ts", "scripts": { "build": "vite build", - "dev": "vite", + "dev": "storybook dev -p 6006", "dev:lib": "vite build --watch", "fix:eslint": "eslint --fix .", "lint:eslint": "eslint --report-unused-disable-directives .", "lint:tsc": "tsc --noEmit", - "prepublishOnly": "yarn build" + "prepublishOnly": "yarn build", + "build-storybook": "storybook build" }, "devDependencies": { "@local/eslint": "workspace:*", "@local/tsconfig": "workspace:*", + "@storybook/react": "9.1.13", + "@storybook/react-vite": "9.1.13", "@types/react": "19.2.7", "@types/react-dom": "19.2.3", "@vitejs/plugin-react": "5.0.4", "babel-plugin-react-compiler": "1.0.0", "eslint": "9.39.3", + "storybook": "9.1.19", "typescript": "5.9.3", "vite": "7.1.11", "vite-plugin-dts": "4.5.4" diff --git a/libs/@hashintel/refractive/playground/index.html b/libs/@hashintel/refractive/playground/index.html deleted file mode 100644 index 2cead110ef0..00000000000 --- a/libs/@hashintel/refractive/playground/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - @hashintel/refractive - Dev Playground - - - - - -
- - - - \ No newline at end of file diff --git a/libs/@hashintel/refractive/playground/main.tsx b/libs/@hashintel/refractive/playground/main.tsx deleted file mode 100644 index c0e85480ce1..00000000000 --- a/libs/@hashintel/refractive/playground/main.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import "./style.css"; - -import { StrictMode } from "react"; -import { createRoot } from "react-dom/client"; - -import { Playground } from "./playground"; - -const rootElement = document.getElementById("root"); -if (!rootElement) { - throw new Error("Failed to find the root element"); -} - -createRoot(rootElement).render( - - - , -); diff --git a/libs/@hashintel/refractive/playground/playground.tsx b/libs/@hashintel/refractive/playground/playground.tsx deleted file mode 100644 index ffad9a1b62a..00000000000 --- a/libs/@hashintel/refractive/playground/playground.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { CONVEX } from "../src/helpers/surface-equations"; -import { refractive } from "../src/hoc/refractive"; -import { ExampleArticle } from "./example-article"; - -export const Playground = () => { - return ( -
- - Hello - - - -
- ); -}; diff --git a/libs/@hashintel/refractive/playground/style.css b/libs/@hashintel/refractive/playground/style.css deleted file mode 100644 index 5c00a56133f..00000000000 --- a/libs/@hashintel/refractive/playground/style.css +++ /dev/null @@ -1,9 +0,0 @@ -:root { - font-family: Inter, sans-serif; - font-feature-settings: "liga" 1, "calt" 1; /* fix for Chrome */ -} -@supports (font-variation-settings: normal) { - :root { - font-family: InterVariable, sans-serif; - } -} diff --git a/libs/@hashintel/refractive/playground/example-article.tsx b/libs/@hashintel/refractive/stories/example-article.tsx similarity index 98% rename from libs/@hashintel/refractive/playground/example-article.tsx rename to libs/@hashintel/refractive/stories/example-article.tsx index 3a736a71a9a..03364af7e41 100644 --- a/libs/@hashintel/refractive/playground/example-article.tsx +++ b/libs/@hashintel/refractive/stories/example-article.tsx @@ -63,7 +63,7 @@ export const ExampleArticle: React.FC = () => { Something { Something { Something { Something ( +
+ + Refractive Glass + + + +
+); + +const meta = { + title: "Playground", + component: GlassOverArticle, +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +export const Default: Story = {}; diff --git a/libs/@hashintel/refractive/tsconfig.json b/libs/@hashintel/refractive/tsconfig.json index cd934740647..d2c070a39f0 100644 --- a/libs/@hashintel/refractive/tsconfig.json +++ b/libs/@hashintel/refractive/tsconfig.json @@ -9,7 +9,7 @@ "noEmit": true, "isolatedModules": true }, - "include": ["src/**/*", "playground/**/*"], + "include": ["src/**/*", "stories/**/*"], "exclude": [ "node_modules", "dist", diff --git a/libs/@hashintel/refractive/vite.config.ts b/libs/@hashintel/refractive/vite.config.ts index d021effce48..ae3802b8b0d 100644 --- a/libs/@hashintel/refractive/vite.config.ts +++ b/libs/@hashintel/refractive/vite.config.ts @@ -13,47 +13,39 @@ const external = [ "react/compiler-runtime", ]; -export default defineConfig(({ command }) => ({ - // Use playground as root in dev mode - root: command === "serve" ? "playground" : undefined, - +export default defineConfig({ plugins: [ react({ babel: { plugins: ["babel-plugin-react-compiler"], }, }), - // Only generate types when building - command === "build" && - dts({ - rollupTypes: true, - insertTypesEntry: true, - exclude: ["**/*.test.*", "**/*.spec.*", "playground/**"], - copyDtsFiles: false, - outDir: "dist", - }), + dts({ + rollupTypes: true, + insertTypesEntry: true, + exclude: ["**/*.test.*", "**/*.spec.*", "stories/**"], + copyDtsFiles: false, + outDir: "dist", + }), ], - build: - command === "build" - ? { - lib: { - entry: path.resolve(__dirname, "src/main.ts"), - formats: ["es", "cjs"], - fileName: (format) => `index.${format === "es" ? "js" : "cjs"}`, - }, - rollupOptions: { - external, - output: { - globals: { - react: "React", - "react-dom": "ReactDOM", - }, - }, - }, - sourcemap: true, - emptyOutDir: true, - minify: true, - } - : undefined, -})); + build: { + lib: { + entry: path.resolve(__dirname, "src/main.ts"), + formats: ["es", "cjs"], + fileName: (format) => `index.${format === "es" ? "js" : "cjs"}`, + }, + rollupOptions: { + external, + output: { + globals: { + react: "React", + "react-dom": "ReactDOM", + }, + }, + }, + sourcemap: true, + emptyOutDir: true, + minify: true, + }, +}); diff --git a/yarn.lock b/yarn.lock index 15f1fa14abd..aa5cd2d9767 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8026,11 +8026,14 @@ __metadata: dependencies: "@local/eslint": "workspace:*" "@local/tsconfig": "workspace:*" + "@storybook/react": "npm:9.1.13" + "@storybook/react-vite": "npm:9.1.13" "@types/react": "npm:19.2.7" "@types/react-dom": "npm:19.2.3" "@vitejs/plugin-react": "npm:5.0.4" babel-plugin-react-compiler: "npm:1.0.0" eslint: "npm:9.39.3" + storybook: "npm:9.1.19" typescript: "npm:5.9.3" vite: "npm:7.1.11" vite-plugin-dts: "npm:4.5.4" From 33c44c8fcea8a4dea85033ad208e0ae14614d152 Mon Sep 17 00:00:00 2001 From: Chris Feijoo Date: Sun, 15 Mar 2026 04:11:53 +0100 Subject: [PATCH 2/6] FE-518: Exclude `node_modules` from workspace glob to fix turbo duplicate package error Co-Authored-By: Claude Opus 4.6 (1M context) --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 4dfad47174c..69f7d732e18 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ }, "workspaces": { "packages": [ + "!**/node_modules", "!**/pkg", ".claude/hooks", "apps/**", From 78ffacba0deb0400e17a21724be92b508f35bb86 Mon Sep 17 00:00:00 2001 From: Chris Feijoo Date: Sun, 15 Mar 2026 04:22:51 +0100 Subject: [PATCH 3/6] FE-518: Modernize refractive build and lint setup Replace ESLint with oxlint, tsc with tsgo, upgrade to Vite 8 + Storybook 10, switch to ES-only output with rolldown-plugin-dts for declaration generation. Co-Authored-By: Claude Opus 4.6 (1M context) --- libs/@hashintel/refractive/.oxlintrc.json | 165 ++++++++++++++++++ libs/@hashintel/refractive/eslint.config.js | 34 ---- libs/@hashintel/refractive/package.json | 28 ++- .../src/helpers/surface-equations.ts | 15 +- .../refractive/src/hoc/refractive.tsx | 4 +- .../src/maps/calculate-rounded-square-map.ts | 2 +- .../refractive/src/maps/displacement-map.ts | 1 - .../refractive/stories/playground.stories.tsx | 4 +- libs/@hashintel/refractive/tsconfig.json | 25 ++- libs/@hashintel/refractive/vite.config.ts | 65 +++---- yarn.lock | 135 ++++++++++++-- 11 files changed, 362 insertions(+), 116 deletions(-) create mode 100644 libs/@hashintel/refractive/.oxlintrc.json delete mode 100644 libs/@hashintel/refractive/eslint.config.js diff --git a/libs/@hashintel/refractive/.oxlintrc.json b/libs/@hashintel/refractive/.oxlintrc.json new file mode 100644 index 00000000000..1f31575fedf --- /dev/null +++ b/libs/@hashintel/refractive/.oxlintrc.json @@ -0,0 +1,165 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["import", "react", "jsx-a11y", "unicorn", "typescript"], + "categories": { + "correctness": "error" + }, + "env": { + "builtin": true, + "es2026": true, + "browser": true + }, + "rules": { + "array-callback-return": ["error", { "allowImplicit": true }], + "default-case-last": "error", + "default-param-last": "error", + "eqeqeq": ["error", "always", { "null": "ignore" }], + "guard-for-in": "error", + "no-alert": "error", + "no-cond-assign": ["error", "always"], + "no-extend-native": "error", + "no-loop-func": "error", + "no-new": "error", + "no-param-reassign": [ + "error", + { + "props": true, + "ignorePropertyModificationsForRegex": ["^existing", "draft"] + } + ], + "no-return-assign": ["error", "always"], + "no-self-compare": "error", + "no-sequences": "error", + "no-template-curly-in-string": "error", + "no-unsafe-optional-chaining": [ + "error", + { "disallowArithmeticOperators": true } + ], + "no-unused-vars": [ + "error", + { + "args": "all", + "argsIgnorePattern": "^_+", + "varsIgnorePattern": "^_+" + } + ], + "no-void": ["error", { "allowAsStatement": true }], + + "no-console": "error", + "new-cap": "error", + "no-new-func": "error", + "func-names": "error", + "no-bitwise": "error", + "no-multi-assign": "error", + + "no-restricted-globals": [ + "error", + { "name": "isFinite", "message": "Use Number.isFinite instead" }, + { "name": "isNaN", "message": "Use Number.isNaN instead" }, + "event", + "name", + "length", + "status" + ], + "no-shadow": "error", + "no-use-before-define": "error", + + "no-restricted-imports": [ + "error", + { + "patterns": [ + { + "group": ["@local/*"], + "message": "You cannot use unpublished local packages in a published package." + } + ] + } + ], + + "import/no-named-as-default": "error", + "import/no-named-as-default-member": "error", + "import/no-mutable-exports": "error", + "import/no-duplicates": "error", + "import/no-named-default": "error", + "import/no-self-import": "error", + "import/no-cycle": "error", + + "react/jsx-pascal-case": ["error", { "allowAllCaps": true }], + "react/no-danger": "error", + "react/jsx-no-target-blank": ["error", { "enforceDynamicLinks": "always" }], + "react/jsx-no-comment-textnodes": "error", + "react/no-array-index-key": "error", + "react/button-has-type": [ + "error", + { "button": true, "submit": true, "reset": false } + ], + + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "off", + + "jsx-a11y/prefer-tag-over-role": "off", + "jsx-a11y/aria-role": ["error", { "ignoreNonDOM": false }], + "jsx-a11y/no-noninteractive-tabindex": [ + "error", + { "tags": [], "roles": ["tabpanel"] } + ], + "jsx-a11y/label-has-associated-control": "error", + "jsx-a11y/no-static-element-interactions": [ + "error", + { + "handlers": [ + "onClick", + "onMouseDown", + "onMouseUp", + "onKeyPress", + "onKeyDown", + "onKeyUp" + ] + } + ], + + "@typescript-eslint/ban-ts-comment": [ + "error", + { + "ts-expect-error": "allow-with-description", + "minimumDescriptionLength": 10 + } + ], + "@typescript-eslint/no-empty-object-type": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-require-imports": "error", + "@typescript-eslint/no-unnecessary-type-constraint": "error", + "@typescript-eslint/no-implied-eval": "error", + "@typescript-eslint/no-misused-promises": "error", + "@typescript-eslint/no-unnecessary-condition": "error", + "@typescript-eslint/no-unsafe-assignment": "error", + "@typescript-eslint/no-unsafe-call": "error", + "@typescript-eslint/no-unsafe-function-type": "error", + + "unicorn/no-new-array": "off", + "unicorn/filename-case": "error", + + "constructor-super": "off", + "no-class-assign": "off", + "no-const-assign": "off", + "no-dupe-keys": "off", + "no-func-assign": "off", + "no-import-assign": "off", + "no-obj-calls": "off", + "no-redeclare": "off", + "no-setter-return": "off", + "no-this-before-super": "off", + "no-unsafe-negation": "off", + "no-constant-condition": "off", + "no-throw-literal": "off", + "prefer-promise-reject-errors": "off" + }, + "ignorePatterns": [ + "dist/**", + "build/**", + "coverage/**", + "*.gen.*", + "*.tsbuildinfo", + ".turbo/**" + ] +} diff --git a/libs/@hashintel/refractive/eslint.config.js b/libs/@hashintel/refractive/eslint.config.js deleted file mode 100644 index e954a2f138c..00000000000 --- a/libs/@hashintel/refractive/eslint.config.js +++ /dev/null @@ -1,34 +0,0 @@ -import { createBase, disableRules } from "@local/eslint/deprecated"; - -export default [ - ...createBase(import.meta.dirname), - ...disableRules([]), - { - languageOptions: { - parserOptions: { - projectService: { - allowDefaultProject: ["vite.config.ts"], - }, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, - { - rules: { - "import/no-default-export": "error", - "no-restricted-imports": [ - "error", - { - patterns: [ - { - group: ["@local/*"], - message: - "You cannot use unpublished local packages in a published package.", - }, - ], - }, - ], - }, - files: ["src/**/*.ts{x,}"], - }, -]; diff --git a/libs/@hashintel/refractive/package.json b/libs/@hashintel/refractive/package.json index a7fcf633bc2..e5c21551059 100644 --- a/libs/@hashintel/refractive/package.json +++ b/libs/@hashintel/refractive/package.json @@ -18,33 +18,31 @@ ], "type": "module", "sideEffects": false, - "main": "./dist/index.cjs", - "module": "./dist/index.js", + "main": "./dist/index.js", "types": "./dist/index.d.ts", "scripts": { "build": "vite build", "dev": "storybook dev -p 6006", "dev:lib": "vite build --watch", - "fix:eslint": "eslint --fix .", - "lint:eslint": "eslint --report-unused-disable-directives .", - "lint:tsc": "tsc --noEmit", + "lint:eslint": "oxlint --type-aware --report-unused-disable-directives-severity=error .", + "fix:eslint": "oxlint --fix --type-aware --report-unused-disable-directives-severity=error .", + "lint:tsc": "tsgo --noEmit", "prepublishOnly": "yarn build", "build-storybook": "storybook build" }, "devDependencies": { - "@local/eslint": "workspace:*", - "@local/tsconfig": "workspace:*", - "@storybook/react": "9.1.13", - "@storybook/react-vite": "9.1.13", + "@rolldown/plugin-babel": "0.2.1", + "@storybook/react-vite": "10.2.13", "@types/react": "19.2.7", "@types/react-dom": "19.2.3", - "@vitejs/plugin-react": "5.0.4", + "@typescript/native-preview": "7.0.0-dev.20260315.1", + "@vitejs/plugin-react": "6.0.1", "babel-plugin-react-compiler": "1.0.0", - "eslint": "9.39.3", - "storybook": "9.1.19", - "typescript": "5.9.3", - "vite": "7.1.11", - "vite-plugin-dts": "4.5.4" + "oxlint": "1.55.0", + "oxlint-tsgolint": "0.17.0", + "rolldown-plugin-dts": "0.22.5", + "storybook": "10.2.13", + "vite": "8.0.0" }, "peerDependencies": { "react": "^19.0.0", diff --git a/libs/@hashintel/refractive/src/helpers/surface-equations.ts b/libs/@hashintel/refractive/src/helpers/surface-equations.ts index 676ad98cde1..bb1a3137360 100644 --- a/libs/@hashintel/refractive/src/helpers/surface-equations.ts +++ b/libs/@hashintel/refractive/src/helpers/surface-equations.ts @@ -1,14 +1,15 @@ export type SurfaceFnDef = (x: number) => number; -export const CONVEX_CIRCLE: SurfaceFnDef = (x) => Math.sqrt(1 - (1 - x) ** 2); +export const convexCircle: SurfaceFnDef = (x) => + Math.sqrt(1 - (1 - x) ** 2); -export const CONVEX: SurfaceFnDef = (x) => (1 - (1 - x) ** 4) ** (1 / 4); +export const convex: SurfaceFnDef = (x) => (1 - (1 - x) ** 4) ** (1 / 4); -export const CONCAVE: SurfaceFnDef = (x) => 1 - CONVEX_CIRCLE(x); +export const concave: SurfaceFnDef = (x) => 1 - convexCircle(x); -export const LIP: SurfaceFnDef = (x) => { - const convex = CONVEX(x * 2); - const concave = CONCAVE(x) + 0.1; +export const lip: SurfaceFnDef = (x) => { + const cvx = convex(x * 2); + const ccv = concave(x) + 0.1; const smootherstep = 6 * x ** 5 - 15 * x ** 4 + 10 * x ** 3; - return convex * (1 - smootherstep) + concave * smootherstep; + return cvx * (1 - smootherstep) + ccv * smootherstep; }; diff --git a/libs/@hashintel/refractive/src/hoc/refractive.tsx b/libs/@hashintel/refractive/src/hoc/refractive.tsx index de4dc3d4299..fcc1c331558 100644 --- a/libs/@hashintel/refractive/src/hoc/refractive.tsx +++ b/libs/@hashintel/refractive/src/hoc/refractive.tsx @@ -3,7 +3,7 @@ import { createElement, useEffect, useId, useRef, useState } from "react"; import type { JSX } from "react/jsx-runtime"; import { Filter } from "../components/filter"; -import { CONVEX } from "../helpers/surface-equations"; +import { convex } from "../helpers/surface-equations"; type RefractionProps = { refraction: { @@ -90,7 +90,7 @@ function createRefractiveComponent< refractiveIndex={refraction.refractiveIndex ?? 1.5} specularOpacity={refraction.specularOpacity ?? 0} specularAngle={refraction.specularAngle ?? 0} - bezelHeightFn={refraction.bezelHeightFn ?? CONVEX} + bezelHeightFn={refraction.bezelHeightFn ?? convex} /> {/* @ts-expect-error Need to fix types in this file */} diff --git a/libs/@hashintel/refractive/src/maps/calculate-rounded-square-map.ts b/libs/@hashintel/refractive/src/maps/calculate-rounded-square-map.ts index 9d900a5e1c9..e42c5e83d37 100644 --- a/libs/@hashintel/refractive/src/maps/calculate-rounded-square-map.ts +++ b/libs/@hashintel/refractive/src/maps/calculate-rounded-square-map.ts @@ -79,7 +79,7 @@ export function calculateRoundedSquareMap(props: { const radius = Math.min(props.radius, width / 2, height / 2); const cornerWidth = Math.max( radius, - Math.min(props.maximumDistanceToBorder ?? 0, width / 2, height / 2), + Math.min(props.maximumDistanceToBorder, width / 2, height / 2), ); const widthBetweenCorners = width - cornerWidth * 2; diff --git a/libs/@hashintel/refractive/src/maps/displacement-map.ts b/libs/@hashintel/refractive/src/maps/displacement-map.ts index df4560c3617..cc4a7ca96f9 100644 --- a/libs/@hashintel/refractive/src/maps/displacement-map.ts +++ b/libs/@hashintel/refractive/src/maps/displacement-map.ts @@ -1,4 +1,3 @@ -/* eslint-disable id-length */ /* eslint-disable no-param-reassign */ import { calculateRoundedSquareMap } from "./calculate-rounded-square-map"; diff --git a/libs/@hashintel/refractive/stories/playground.stories.tsx b/libs/@hashintel/refractive/stories/playground.stories.tsx index 0d2922233d7..a2338d512cb 100644 --- a/libs/@hashintel/refractive/stories/playground.stories.tsx +++ b/libs/@hashintel/refractive/stories/playground.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { CONVEX } from "../src/helpers/surface-equations"; +import { convex } from "../src/helpers/surface-equations"; import { refractive } from "../src/hoc/refractive"; import { ExampleArticle } from "./example-article"; @@ -11,7 +11,7 @@ const refraction = { bezelWidth: 30, glassThickness: 70, refractiveIndex: 1.5, - bezelHeightFn: CONVEX, + bezelHeightFn: convex, specularAngle: 2, }; diff --git a/libs/@hashintel/refractive/tsconfig.json b/libs/@hashintel/refractive/tsconfig.json index d2c070a39f0..dec0c47daef 100644 --- a/libs/@hashintel/refractive/tsconfig.json +++ b/libs/@hashintel/refractive/tsconfig.json @@ -1,20 +1,19 @@ { - "extends": "@local/tsconfig/legacy-base-tsconfig-to-refactor.json", "compilerOptions": { - "module": "ESNext", - "target": "es2022", - "moduleResolution": "bundler", "jsx": "react-jsx", - "lib": ["dom", "dom.iterable", "ES2021"], + "target": "es2024", + "lib": ["dom", "dom.iterable", "ESNext"], + "module": "preserve", + "moduleResolution": "bundler", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "resolveJsonModule": true, "noEmit": true, + "skipLibCheck": true, "isolatedModules": true }, - "include": ["src/**/*", "stories/**/*"], - "exclude": [ - "node_modules", - "dist", - "**/*.test.*", - "**/*.spec.*", - ".storybook/**/*" - ] + "include": ["src", "stories", ".storybook"] } diff --git a/libs/@hashintel/refractive/vite.config.ts b/libs/@hashintel/refractive/vite.config.ts index ae3802b8b0d..c1c48e0b499 100644 --- a/libs/@hashintel/refractive/vite.config.ts +++ b/libs/@hashintel/refractive/vite.config.ts @@ -1,42 +1,45 @@ -import path from "node:path"; - -import react from "@vitejs/plugin-react"; +import babel from "@rolldown/plugin-babel"; +import react, { reactCompilerPreset } from "@vitejs/plugin-react"; +import { dts } from "rolldown-plugin-dts"; import { defineConfig } from "vite"; -import dts from "vite-plugin-dts"; - -// Dependencies that should not be bundled into the library -const external = [ - "react", - "react-dom", - "react/jsx-runtime", - "react/jsx-dev-runtime", - "react/compiler-runtime", -]; -export default defineConfig({ +export default defineConfig(({ command }) => ({ plugins: [ - react({ - babel: { - plugins: ["babel-plugin-react-compiler"], - }, - }), - dts({ - rollupTypes: true, - insertTypesEntry: true, - exclude: ["**/*.test.*", "**/*.spec.*", "stories/**"], - copyDtsFiles: false, - outDir: "dist", + react(), + babel({ + presets: [ + reactCompilerPreset({ + target: "19", + compilationMode: "infer", + // @ts-expect-error - panicThreshold is accepted at runtime + panicThreshold: "critical_errors", + }), + ], }), + + command === "build" && + dts({ tsgo: true }).map((plugin) => + // Ensure runs before Vite's native TypeScript transform + plugin.name.endsWith("fake-js") + ? { ...plugin, enforce: "pre" } + : plugin, + ), ], build: { lib: { - entry: path.resolve(__dirname, "src/main.ts"), - formats: ["es", "cjs"], - fileName: (format) => `index.${format === "es" ? "js" : "cjs"}`, + entry: "src/main.ts", + fileName: "index", + formats: ["es"], }, - rollupOptions: { - external, + rolldownOptions: { + external: [ + "react", + "react-dom", + "react/jsx-runtime", + "react/jsx-dev-runtime", + "react/compiler-runtime", + ], output: { globals: { react: "React", @@ -48,4 +51,4 @@ export default defineConfig({ emptyOutDir: true, minify: true, }, -}); +})); diff --git a/yarn.lock b/yarn.lock index aa5cd2d9767..d2e467c596f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8024,19 +8024,18 @@ __metadata: version: 0.0.0-use.local resolution: "@hashintel/refractive@workspace:libs/@hashintel/refractive" dependencies: - "@local/eslint": "workspace:*" - "@local/tsconfig": "workspace:*" - "@storybook/react": "npm:9.1.13" - "@storybook/react-vite": "npm:9.1.13" + "@rolldown/plugin-babel": "npm:0.2.1" + "@storybook/react-vite": "npm:10.2.13" "@types/react": "npm:19.2.7" "@types/react-dom": "npm:19.2.3" - "@vitejs/plugin-react": "npm:5.0.4" + "@typescript/native-preview": "npm:7.0.0-dev.20260315.1" + "@vitejs/plugin-react": "npm:6.0.1" babel-plugin-react-compiler: "npm:1.0.0" - eslint: "npm:9.39.3" - storybook: "npm:9.1.19" - typescript: "npm:5.9.3" - vite: "npm:7.1.11" - vite-plugin-dts: "npm:4.5.4" + oxlint: "npm:1.55.0" + oxlint-tsgolint: "npm:0.17.0" + rolldown-plugin-dts: "npm:0.22.5" + storybook: "npm:10.2.13" + vite: "npm:8.0.0" peerDependencies: react: ^19.0.0 react-dom: ^19.0.0 @@ -16933,6 +16932,19 @@ __metadata: languageName: node linkType: hard +"@storybook/builder-vite@npm:10.2.13": + version: 10.2.13 + resolution: "@storybook/builder-vite@npm:10.2.13" + dependencies: + "@storybook/csf-plugin": "npm:10.2.13" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^10.2.13 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10c0/0510e57d86ea7f81ba49ffd3643645e94e082f18544bd506bdcd800c003414707d3572c204704dfe429a3e02fa1bdf6111d309abbd20a294200cb9ba87ea7972 + languageName: node + linkType: hard + "@storybook/builder-vite@npm:10.2.19": version: 10.2.19 resolution: "@storybook/builder-vite@npm:10.2.19" @@ -16959,6 +16971,30 @@ __metadata: languageName: node linkType: hard +"@storybook/csf-plugin@npm:10.2.13": + version: 10.2.13 + resolution: "@storybook/csf-plugin@npm:10.2.13" + dependencies: + unplugin: "npm:^2.3.5" + peerDependencies: + esbuild: "*" + rollup: "*" + storybook: ^10.2.13 + vite: "*" + webpack: "*" + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + checksum: 10c0/e799f9630cfc50ef3c85304f74ffb54372e57f291112d7459de99f4fa21da814374807ac6af312141af11f5e0c746963735e1e41566dd62d0ac7eeb8cf0053ba + languageName: node + linkType: hard + "@storybook/csf-plugin@npm:10.2.19": version: 10.2.19 resolution: "@storybook/csf-plugin@npm:10.2.19" @@ -17030,6 +17066,17 @@ __metadata: languageName: node linkType: hard +"@storybook/react-dom-shim@npm:10.2.13": + version: 10.2.13 + resolution: "@storybook/react-dom-shim@npm:10.2.13" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.13 + checksum: 10c0/78c9788748aae81541727e3cfe32dc1c14aef10af0a5c979d307ec1910d15d5105341ce1c2d5d27ae9ad40dec6de6c0c9c85dfbf12f90c14da678eee5581a3cf + languageName: node + linkType: hard + "@storybook/react-dom-shim@npm:10.2.19": version: 10.2.19 resolution: "@storybook/react-dom-shim@npm:10.2.19" @@ -17052,6 +17099,28 @@ __metadata: languageName: node linkType: hard +"@storybook/react-vite@npm:10.2.13": + version: 10.2.13 + resolution: "@storybook/react-vite@npm:10.2.13" + dependencies: + "@joshwooding/vite-plugin-react-docgen-typescript": "npm:^0.6.4" + "@rollup/pluginutils": "npm:^5.0.2" + "@storybook/builder-vite": "npm:10.2.13" + "@storybook/react": "npm:10.2.13" + empathic: "npm:^2.0.0" + magic-string: "npm:^0.30.0" + react-docgen: "npm:^8.0.0" + resolve: "npm:^1.22.8" + tsconfig-paths: "npm:^4.2.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.13 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10c0/b231b6c393007a34171ed6159a0d0a9b0870ab9058f387f714a6579ba1dbc2b533064dd6d3ba2b2d4ae48ef2b252de14344da9d0f239aee486b2dcaf3f463c66 + languageName: node + linkType: hard + "@storybook/react-vite@npm:10.2.19": version: 10.2.19 resolution: "@storybook/react-vite@npm:10.2.19" @@ -17096,6 +17165,25 @@ __metadata: languageName: node linkType: hard +"@storybook/react@npm:10.2.13": + version: 10.2.13 + resolution: "@storybook/react@npm:10.2.13" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@storybook/react-dom-shim": "npm:10.2.13" + react-docgen: "npm:^8.0.2" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.13 + typescript: ">= 4.9.x" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/1b2fe05730605cc785bceb8ca4f538ef69c149d54c7bd9dd6981366c38801c4f632ab2343f3e358b79bde5d0a088f38bba78d9efca169e6369a5b3fbf4153726 + languageName: node + linkType: hard + "@storybook/react@npm:10.2.19": version: 10.2.19 resolution: "@storybook/react@npm:10.2.19" @@ -42659,6 +42747,33 @@ __metadata: languageName: node linkType: hard +"storybook@npm:10.2.13": + version: 10.2.13 + resolution: "storybook@npm:10.2.13" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@storybook/icons": "npm:^2.0.1" + "@testing-library/jest-dom": "npm:^6.6.3" + "@testing-library/user-event": "npm:^14.6.1" + "@vitest/expect": "npm:3.2.4" + "@vitest/spy": "npm:3.2.4" + esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0" + open: "npm:^10.2.0" + recast: "npm:^0.23.5" + semver: "npm:^7.7.3" + use-sync-external-store: "npm:^1.5.0" + ws: "npm:^8.18.0" + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + bin: + storybook: ./dist/bin/dispatcher.js + checksum: 10c0/5ca338b707c3e7e94c16ecdcb00ca3c450157dceec758c15c416649e346e628a0e034d2265656650fc4fee4680631de7cc588e1a244e42cbb41af9416281a998 + languageName: node + linkType: hard + "storybook@npm:10.2.19": version: 10.2.19 resolution: "storybook@npm:10.2.19" From 32b68325a8e62398916c1374e06a29949e9da1a8 Mon Sep 17 00:00:00 2001 From: Chris Feijoo Date: Sun, 15 Mar 2026 23:49:50 +0100 Subject: [PATCH 4/6] FE-518: Fix PR review findings for refractive - Bump Storybook from 10.2.13 to 10.2.19 for Vite 8 compatibility - Update ds-components/switch.tsx to use renamed `lip` export Co-Authored-By: Claude Opus 4.6 (1M context) --- .../ds-components/src/components/switch.tsx | 4 +- libs/@hashintel/refractive/package.json | 4 +- yarn.lock | 120 +----------------- 3 files changed, 6 insertions(+), 122 deletions(-) diff --git a/libs/@hashintel/ds-components/src/components/switch.tsx b/libs/@hashintel/ds-components/src/components/switch.tsx index b27cb7c470a..60fd3d41f31 100644 --- a/libs/@hashintel/ds-components/src/components/switch.tsx +++ b/libs/@hashintel/ds-components/src/components/switch.tsx @@ -1,6 +1,6 @@ import { Switch as BaseSwitch } from "@ark-ui/react/switch"; import { css } from "@hashintel/ds-helpers/css"; -import { LIP, refractive } from "@hashintel/refractive"; +import { lip, refractive } from "@hashintel/refractive"; // Layout constants const SLIDER_HEIGHT = 20; @@ -104,7 +104,7 @@ export const Switch: React.FC = ({ refraction={{ radius: THUMB_RADIUS, bezelWidth: THUMB_RADIUS * 0.42, - bezelHeightFn: LIP, + bezelHeightFn: lip, glassThickness: 12, specularOpacity: 0.5, }} diff --git a/libs/@hashintel/refractive/package.json b/libs/@hashintel/refractive/package.json index e5c21551059..9d8b6cdfb1c 100644 --- a/libs/@hashintel/refractive/package.json +++ b/libs/@hashintel/refractive/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@rolldown/plugin-babel": "0.2.1", - "@storybook/react-vite": "10.2.13", + "@storybook/react-vite": "10.2.19", "@types/react": "19.2.7", "@types/react-dom": "19.2.3", "@typescript/native-preview": "7.0.0-dev.20260315.1", @@ -41,7 +41,7 @@ "oxlint": "1.55.0", "oxlint-tsgolint": "0.17.0", "rolldown-plugin-dts": "0.22.5", - "storybook": "10.2.13", + "storybook": "10.2.19", "vite": "8.0.0" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index d2e467c596f..5c8526b2968 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8025,7 +8025,7 @@ __metadata: resolution: "@hashintel/refractive@workspace:libs/@hashintel/refractive" dependencies: "@rolldown/plugin-babel": "npm:0.2.1" - "@storybook/react-vite": "npm:10.2.13" + "@storybook/react-vite": "npm:10.2.19" "@types/react": "npm:19.2.7" "@types/react-dom": "npm:19.2.3" "@typescript/native-preview": "npm:7.0.0-dev.20260315.1" @@ -8034,7 +8034,7 @@ __metadata: oxlint: "npm:1.55.0" oxlint-tsgolint: "npm:0.17.0" rolldown-plugin-dts: "npm:0.22.5" - storybook: "npm:10.2.13" + storybook: "npm:10.2.19" vite: "npm:8.0.0" peerDependencies: react: ^19.0.0 @@ -16932,19 +16932,6 @@ __metadata: languageName: node linkType: hard -"@storybook/builder-vite@npm:10.2.13": - version: 10.2.13 - resolution: "@storybook/builder-vite@npm:10.2.13" - dependencies: - "@storybook/csf-plugin": "npm:10.2.13" - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^10.2.13 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0 - checksum: 10c0/0510e57d86ea7f81ba49ffd3643645e94e082f18544bd506bdcd800c003414707d3572c204704dfe429a3e02fa1bdf6111d309abbd20a294200cb9ba87ea7972 - languageName: node - linkType: hard - "@storybook/builder-vite@npm:10.2.19": version: 10.2.19 resolution: "@storybook/builder-vite@npm:10.2.19" @@ -16971,30 +16958,6 @@ __metadata: languageName: node linkType: hard -"@storybook/csf-plugin@npm:10.2.13": - version: 10.2.13 - resolution: "@storybook/csf-plugin@npm:10.2.13" - dependencies: - unplugin: "npm:^2.3.5" - peerDependencies: - esbuild: "*" - rollup: "*" - storybook: ^10.2.13 - vite: "*" - webpack: "*" - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true - checksum: 10c0/e799f9630cfc50ef3c85304f74ffb54372e57f291112d7459de99f4fa21da814374807ac6af312141af11f5e0c746963735e1e41566dd62d0ac7eeb8cf0053ba - languageName: node - linkType: hard - "@storybook/csf-plugin@npm:10.2.19": version: 10.2.19 resolution: "@storybook/csf-plugin@npm:10.2.19" @@ -17066,17 +17029,6 @@ __metadata: languageName: node linkType: hard -"@storybook/react-dom-shim@npm:10.2.13": - version: 10.2.13 - resolution: "@storybook/react-dom-shim@npm:10.2.13" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.2.13 - checksum: 10c0/78c9788748aae81541727e3cfe32dc1c14aef10af0a5c979d307ec1910d15d5105341ce1c2d5d27ae9ad40dec6de6c0c9c85dfbf12f90c14da678eee5581a3cf - languageName: node - linkType: hard - "@storybook/react-dom-shim@npm:10.2.19": version: 10.2.19 resolution: "@storybook/react-dom-shim@npm:10.2.19" @@ -17099,28 +17051,6 @@ __metadata: languageName: node linkType: hard -"@storybook/react-vite@npm:10.2.13": - version: 10.2.13 - resolution: "@storybook/react-vite@npm:10.2.13" - dependencies: - "@joshwooding/vite-plugin-react-docgen-typescript": "npm:^0.6.4" - "@rollup/pluginutils": "npm:^5.0.2" - "@storybook/builder-vite": "npm:10.2.13" - "@storybook/react": "npm:10.2.13" - empathic: "npm:^2.0.0" - magic-string: "npm:^0.30.0" - react-docgen: "npm:^8.0.0" - resolve: "npm:^1.22.8" - tsconfig-paths: "npm:^4.2.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.2.13 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0 - checksum: 10c0/b231b6c393007a34171ed6159a0d0a9b0870ab9058f387f714a6579ba1dbc2b533064dd6d3ba2b2d4ae48ef2b252de14344da9d0f239aee486b2dcaf3f463c66 - languageName: node - linkType: hard - "@storybook/react-vite@npm:10.2.19": version: 10.2.19 resolution: "@storybook/react-vite@npm:10.2.19" @@ -17165,25 +17095,6 @@ __metadata: languageName: node linkType: hard -"@storybook/react@npm:10.2.13": - version: 10.2.13 - resolution: "@storybook/react@npm:10.2.13" - dependencies: - "@storybook/global": "npm:^5.0.0" - "@storybook/react-dom-shim": "npm:10.2.13" - react-docgen: "npm:^8.0.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.2.13 - typescript: ">= 4.9.x" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/1b2fe05730605cc785bceb8ca4f538ef69c149d54c7bd9dd6981366c38801c4f632ab2343f3e358b79bde5d0a088f38bba78d9efca169e6369a5b3fbf4153726 - languageName: node - linkType: hard - "@storybook/react@npm:10.2.19": version: 10.2.19 resolution: "@storybook/react@npm:10.2.19" @@ -42747,33 +42658,6 @@ __metadata: languageName: node linkType: hard -"storybook@npm:10.2.13": - version: 10.2.13 - resolution: "storybook@npm:10.2.13" - dependencies: - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^2.0.1" - "@testing-library/jest-dom": "npm:^6.6.3" - "@testing-library/user-event": "npm:^14.6.1" - "@vitest/expect": "npm:3.2.4" - "@vitest/spy": "npm:3.2.4" - esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0" - open: "npm:^10.2.0" - recast: "npm:^0.23.5" - semver: "npm:^7.7.3" - use-sync-external-store: "npm:^1.5.0" - ws: "npm:^8.18.0" - peerDependencies: - prettier: ^2 || ^3 - peerDependenciesMeta: - prettier: - optional: true - bin: - storybook: ./dist/bin/dispatcher.js - checksum: 10c0/5ca338b707c3e7e94c16ecdcb00ca3c450157dceec758c15c416649e346e628a0e034d2265656650fc4fee4680631de7cc588e1a244e42cbb41af9416281a998 - languageName: node - linkType: hard - "storybook@npm:10.2.19": version: 10.2.19 resolution: "storybook@npm:10.2.19" From 787901569f67999f3a5da62eb8e7ac8bfa300762 Mon Sep 17 00:00:00 2001 From: Chris Feijoo Date: Tue, 17 Mar 2026 15:14:05 +0100 Subject: [PATCH 5/6] FE-518: Upgrade tsdown from ^0.18.1 to ^0.21.4 in @hashintel/ds-* packages Co-Authored-By: Claude Opus 4.6 (1M context) --- libs/@hashintel/ds-components/package.json | 2 +- libs/@hashintel/ds-helpers/package.json | 2 +- libs/@hashintel/ds-theme/package.json | 2 +- yarn.lock | 457 +++------------------ 4 files changed, 65 insertions(+), 398 deletions(-) diff --git a/libs/@hashintel/ds-components/package.json b/libs/@hashintel/ds-components/package.json index 228af78263e..8a658cb1328 100644 --- a/libs/@hashintel/ds-components/package.json +++ b/libs/@hashintel/ds-components/package.json @@ -78,7 +78,7 @@ "lucide-react": "0.544.0", "npm-run-all": "4.1.5", "storybook": "9.1.19", - "tsdown": "^0.18.1", + "tsdown": "^0.21.4", "typescript": "5.9.3", "vite": "7.1.11", "vite-plugin-dts": "4.5.4", diff --git a/libs/@hashintel/ds-helpers/package.json b/libs/@hashintel/ds-helpers/package.json index 6806c91dbc4..3795d45dfe2 100644 --- a/libs/@hashintel/ds-helpers/package.json +++ b/libs/@hashintel/ds-helpers/package.json @@ -86,7 +86,7 @@ "react": "19.2.3", "react-dom": "19.2.3", "sync-fetch": "0.5.2", - "tsdown": "^0.18.1", + "tsdown": "^0.21.4", "typescript": "5.9.3", "vite": "7.1.11", "vitest": "^4.0.16" diff --git a/libs/@hashintel/ds-theme/package.json b/libs/@hashintel/ds-theme/package.json index ba69b9a3c05..e8b60a54507 100644 --- a/libs/@hashintel/ds-theme/package.json +++ b/libs/@hashintel/ds-theme/package.json @@ -56,7 +56,7 @@ "case-anything": "3.1.0", "colorjs.io": "0.6.1", "npm-run-all": "4.1.5", - "tsdown": "^0.18.1", + "tsdown": "^0.21.4", "tsx": "4.20.6", "typescript": "5.9.3", "vitest": "^4.0.16", diff --git a/yarn.lock b/yarn.lock index 5c8526b2968..9cb430f1da3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3382,7 +3382,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.28.3, @babel/generator@npm:^7.28.5, @babel/generator@npm:^7.29.0": +"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.28.3, @babel/generator@npm:^7.29.0": version: 7.29.1 resolution: "@babel/generator@npm:7.29.1" dependencies: @@ -3621,7 +3621,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.6, @babel/parser@npm:^7.26.3, @babel/parser@npm:^7.26.7, @babel/parser@npm:^7.28.4, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.6, @babel/parser@npm:^7.26.3, @babel/parser@npm:^7.26.7, @babel/parser@npm:^7.28.4, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": version: 7.29.0 resolution: "@babel/parser@npm:7.29.0" dependencies: @@ -7873,7 +7873,7 @@ __metadata: motion: "npm:12.23.24" npm-run-all: "npm:4.1.5" storybook: "npm:9.1.19" - tsdown: "npm:^0.18.1" + tsdown: "npm:^0.21.4" typescript: "npm:5.9.3" vite: "npm:7.1.11" vite-plugin-dts: "npm:4.5.4" @@ -7913,7 +7913,7 @@ __metadata: react: "npm:19.2.3" react-dom: "npm:19.2.3" sync-fetch: "npm:0.5.2" - tsdown: "npm:^0.18.1" + tsdown: "npm:^0.21.4" typescript: "npm:5.9.3" vite: "npm:7.1.11" vitest: "npm:^4.0.16" @@ -7931,7 +7931,7 @@ __metadata: case-anything: "npm:3.1.0" colorjs.io: "npm:0.6.1" npm-run-all: "npm:4.1.5" - tsdown: "npm:^0.18.1" + tsdown: "npm:^0.21.4" tsx: "npm:4.20.6" typescript: "npm:5.9.3" vitest: "npm:^4.0.16" @@ -10130,7 +10130,7 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.1.0, @napi-rs/wasm-runtime@npm:^1.1.1": +"@napi-rs/wasm-runtime@npm:^1.1.1": version: 1.1.1 resolution: "@napi-rs/wasm-runtime@npm:1.1.1" dependencies: @@ -11845,20 +11845,6 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:=0.103.0": - version: 0.103.0 - resolution: "@oxc-project/types@npm:0.103.0" - checksum: 10c0/bd3dc5c6b464c549d6692a1a00fd28b5485cb475a20604e1d073288e801c05c646dda35275607b26cf9ab3abb609bde1403067871c5caa6d7038b88cb0252f58 - languageName: node - linkType: hard - -"@oxc-project/types@npm:=0.108.0": - version: 0.108.0 - resolution: "@oxc-project/types@npm:0.108.0" - checksum: 10c0/764d3eac426b2c663521a4b8a2f2c399108918aa0644e9a87ab0d998a90814cdb7d18566732c61d9b38da21215497f6528e51e5619d4c23b212f5fb73d4ede9c - languageName: node - linkType: hard - "@oxc-project/types@npm:=0.115.0": version: 0.115.0 resolution: "@oxc-project/types@npm:0.115.0" @@ -14104,20 +14090,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-android-arm64@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-android-arm64@npm:1.0.0-beta.57" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-android-arm64@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-android-arm64@npm:1.0.0-beta.60" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-android-arm64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.9" @@ -14125,20 +14097,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-darwin-arm64@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-beta.57" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-darwin-arm64@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-beta.60" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.9" @@ -14146,20 +14104,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-darwin-x64@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-beta.57" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rolldown/binding-darwin-x64@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-beta.60" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@rolldown/binding-darwin-x64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.9" @@ -14167,20 +14111,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-freebsd-x64@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-beta.57" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@rolldown/binding-freebsd-x64@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-beta.60" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.9" @@ -14188,20 +14118,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.57" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.60" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.9" @@ -14209,20 +14125,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.57" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.60" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.9" @@ -14230,20 +14132,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.57" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.60" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.9" @@ -14265,20 +14153,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.57" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.60" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.9" @@ -14286,20 +14160,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.57" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.60" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.9" @@ -14307,20 +14167,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.57" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.60" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.9" @@ -14328,24 +14174,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.57" - dependencies: - "@napi-rs/wasm-runtime": "npm:^1.1.0" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.60" - dependencies: - "@napi-rs/wasm-runtime": "npm:^1.1.1" - conditions: cpu=wasm32 - languageName: node - linkType: hard - "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.9" @@ -14355,20 +14183,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.57" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.60" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.9" @@ -14376,20 +14190,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.57" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.60" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.9" @@ -14433,20 +14233,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/pluginutils@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "@rolldown/pluginutils@npm:1.0.0-beta.57" - checksum: 10c0/3ed9b5b2a9c41cf83b546bc9fd286f5b9f538aeb6a1b637f7a808d169755260ad92ea26504198c757efd2bbd455223aa6b66b6e6f89f42d028df38b19a1dc2c0 - languageName: node - linkType: hard - -"@rolldown/pluginutils@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "@rolldown/pluginutils@npm:1.0.0-beta.60" - checksum: 10c0/2d856137a6f0efb487a139f04a68c5bc1b171a1d5224b03ff4557c3dbe7841d3d50eff5182a65ec8e31c274be41e83380f413e33155bf8ebe878930f654055ee - languageName: node - linkType: hard - "@rolldown/pluginutils@npm:1.0.0-rc.7": version: 1.0.0-rc.7 resolution: "@rolldown/pluginutils@npm:1.0.0-rc.7" @@ -22487,16 +22273,6 @@ __metadata: languageName: node linkType: hard -"ast-kit@npm:^2.2.0": - version: 2.2.0 - resolution: "ast-kit@npm:2.2.0" - dependencies: - "@babel/parser": "npm:^7.28.5" - pathe: "npm:^2.0.3" - checksum: 10c0/d885f3a4e9837e730451a667d26936eef34773d6e5ecacd771a3e9d1f82fdc45d38958ab35e18880e0cf667896604a599497c5186f2578cf73c0d802ed7fc697 - languageName: node - linkType: hard - "ast-kit@npm:^3.0.0-beta.1": version: 3.0.0-beta.1 resolution: "ast-kit@npm:3.0.0-beta.1" @@ -23574,6 +23350,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^7.0.0": + version: 7.0.0 + resolution: "cac@npm:7.0.0" + checksum: 10c0/e9da33cb9f0425546ae92a450d479276f9969a050fe64f5d6fedf058bdd87f22a370797fe1c158e07655fa9fc183749df7cb2037431e3772faa7bee9919fb763 + languageName: node + linkType: hard + "cacache@npm:^20.0.1": version: 20.0.3 resolution: "cacache@npm:20.0.3" @@ -29701,7 +29484,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.10.0, get-tsconfig@npm:^4.10.1, get-tsconfig@npm:^4.13.0, get-tsconfig@npm:^4.13.6, get-tsconfig@npm:^4.7.5": +"get-tsconfig@npm:^4.10.0, get-tsconfig@npm:^4.10.1, get-tsconfig@npm:^4.13.6, get-tsconfig@npm:^4.7.5": version: 4.13.6 resolution: "get-tsconfig@npm:4.13.6" dependencies: @@ -30770,10 +30553,10 @@ __metadata: languageName: node linkType: hard -"hookable@npm:^6.0.1": - version: 6.0.1 - resolution: "hookable@npm:6.0.1" - checksum: 10c0/a53592937c1aa74a650b3b92a9d8cf8bd58eee48422124a90299344f81e90cd2ee2f3d9f3686c45c0bc87edbc9fede4de709edf6b987dd6837bdcfa502447fa0 +"hookable@npm:^6.1.0": + version: 6.1.0 + resolution: "hookable@npm:6.1.0" + checksum: 10c0/5dc4993277ae3eff89a014f42a56498571a0d143cbb2717ed61cfdb0173b8bf98332ed1e1e25eec58edb5b96ebc07e4cedc16fd6bcd4fff6be058f38bec33fb3 languageName: node linkType: hard @@ -40948,7 +40731,7 @@ __metadata: languageName: node linkType: hard -"rolldown-plugin-dts@npm:0.22.5": +"rolldown-plugin-dts@npm:0.22.5, rolldown-plugin-dts@npm:^0.22.5": version: 0.22.5 resolution: "rolldown-plugin-dts@npm:0.22.5" dependencies: @@ -40980,141 +40763,6 @@ __metadata: languageName: node linkType: hard -"rolldown-plugin-dts@npm:^0.20.0": - version: 0.20.0 - resolution: "rolldown-plugin-dts@npm:0.20.0" - dependencies: - "@babel/generator": "npm:^7.28.5" - "@babel/parser": "npm:^7.28.5" - "@babel/types": "npm:^7.28.5" - ast-kit: "npm:^2.2.0" - birpc: "npm:^4.0.0" - dts-resolver: "npm:^2.1.3" - get-tsconfig: "npm:^4.13.0" - obug: "npm:^2.1.1" - peerDependencies: - "@ts-macro/tsc": ^0.3.6 - "@typescript/native-preview": ">=7.0.0-dev.20250601.1" - rolldown: ^1.0.0-beta.57 - typescript: ^5.0.0 - vue-tsc: ~3.2.0 - peerDependenciesMeta: - "@ts-macro/tsc": - optional: true - "@typescript/native-preview": - optional: true - typescript: - optional: true - vue-tsc: - optional: true - checksum: 10c0/68543dd81afd5d2c29d7862ee75035415d3e383f9bae51c6e9cd1daea3b485481f782d11a086f831c5f0d0ccac6dd572fe73ec7f7e5b17c1b17c08a9b03b4d7c - languageName: node - linkType: hard - -"rolldown@npm:1.0.0-beta.57": - version: 1.0.0-beta.57 - resolution: "rolldown@npm:1.0.0-beta.57" - dependencies: - "@oxc-project/types": "npm:=0.103.0" - "@rolldown/binding-android-arm64": "npm:1.0.0-beta.57" - "@rolldown/binding-darwin-arm64": "npm:1.0.0-beta.57" - "@rolldown/binding-darwin-x64": "npm:1.0.0-beta.57" - "@rolldown/binding-freebsd-x64": "npm:1.0.0-beta.57" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-beta.57" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-beta.57" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-beta.57" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-beta.57" - "@rolldown/binding-linux-x64-musl": "npm:1.0.0-beta.57" - "@rolldown/binding-openharmony-arm64": "npm:1.0.0-beta.57" - "@rolldown/binding-wasm32-wasi": "npm:1.0.0-beta.57" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-beta.57" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-beta.57" - "@rolldown/pluginutils": "npm:1.0.0-beta.57" - dependenciesMeta: - "@rolldown/binding-android-arm64": - optional: true - "@rolldown/binding-darwin-arm64": - optional: true - "@rolldown/binding-darwin-x64": - optional: true - "@rolldown/binding-freebsd-x64": - optional: true - "@rolldown/binding-linux-arm-gnueabihf": - optional: true - "@rolldown/binding-linux-arm64-gnu": - optional: true - "@rolldown/binding-linux-arm64-musl": - optional: true - "@rolldown/binding-linux-x64-gnu": - optional: true - "@rolldown/binding-linux-x64-musl": - optional: true - "@rolldown/binding-openharmony-arm64": - optional: true - "@rolldown/binding-wasm32-wasi": - optional: true - "@rolldown/binding-win32-arm64-msvc": - optional: true - "@rolldown/binding-win32-x64-msvc": - optional: true - bin: - rolldown: bin/cli.mjs - checksum: 10c0/bc20ee46c32a668e6dad53d6421385120506ce8c6a56613297b5f340be88a14fb4ed5769ed14990683ffc7d7d3d6dc3aec1583a74a024884154fc13879d83966 - languageName: node - linkType: hard - -"rolldown@npm:1.0.0-beta.60": - version: 1.0.0-beta.60 - resolution: "rolldown@npm:1.0.0-beta.60" - dependencies: - "@oxc-project/types": "npm:=0.108.0" - "@rolldown/binding-android-arm64": "npm:1.0.0-beta.60" - "@rolldown/binding-darwin-arm64": "npm:1.0.0-beta.60" - "@rolldown/binding-darwin-x64": "npm:1.0.0-beta.60" - "@rolldown/binding-freebsd-x64": "npm:1.0.0-beta.60" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-beta.60" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-beta.60" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-beta.60" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-beta.60" - "@rolldown/binding-linux-x64-musl": "npm:1.0.0-beta.60" - "@rolldown/binding-openharmony-arm64": "npm:1.0.0-beta.60" - "@rolldown/binding-wasm32-wasi": "npm:1.0.0-beta.60" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-beta.60" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-beta.60" - "@rolldown/pluginutils": "npm:1.0.0-beta.60" - dependenciesMeta: - "@rolldown/binding-android-arm64": - optional: true - "@rolldown/binding-darwin-arm64": - optional: true - "@rolldown/binding-darwin-x64": - optional: true - "@rolldown/binding-freebsd-x64": - optional: true - "@rolldown/binding-linux-arm-gnueabihf": - optional: true - "@rolldown/binding-linux-arm64-gnu": - optional: true - "@rolldown/binding-linux-arm64-musl": - optional: true - "@rolldown/binding-linux-x64-gnu": - optional: true - "@rolldown/binding-linux-x64-musl": - optional: true - "@rolldown/binding-openharmony-arm64": - optional: true - "@rolldown/binding-wasm32-wasi": - optional: true - "@rolldown/binding-win32-arm64-msvc": - optional: true - "@rolldown/binding-win32-x64-msvc": - optional: true - bin: - rolldown: bin/cli.mjs - checksum: 10c0/ed475528d96d2a304c2a8754fbe68365afa198af67ddf6f11d20508b9ca5b2ecb5f3288f33affb3ac2cec15923ecdd426717eaf4ef0e457102ec22e59796bd01 - languageName: node - linkType: hard - "rolldown@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "rolldown@npm:1.0.0-rc.9" @@ -41632,6 +41280,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.7.4": + version: 7.7.4 + resolution: "semver@npm:7.7.4" + bin: + semver: bin/semver.js + checksum: 10c0/5215ad0234e2845d4ea5bb9d836d42b03499546ddafb12075566899fc617f68794bb6f146076b6881d755de17d6c6cc73372555879ec7dce2c2feee947866ad2 + languageName: node + linkType: hard + "semver@npm:~7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" @@ -43747,6 +43404,13 @@ __metadata: languageName: node linkType: hard +"tinyexec@npm:^1.0.4": + version: 1.0.4 + resolution: "tinyexec@npm:1.0.4" + checksum: 10c0/d4a5bbcf6bdb23527a4b74c4aa566f41432167112fe76f420ec7e3a90a3ecfd3a7d944383e2719fc3987b69400f7b928daf08700d145fb527c2e80ec01e198bd + languageName: node + linkType: hard + "tinyglobby@npm:^0.2.10, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.9": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" @@ -44182,49 +43846,52 @@ __metadata: languageName: node linkType: hard -"tsdown@npm:^0.18.1": - version: 0.18.4 - resolution: "tsdown@npm:0.18.4" +"tsdown@npm:^0.21.4": + version: 0.21.4 + resolution: "tsdown@npm:0.21.4" dependencies: ansis: "npm:^4.2.0" - cac: "npm:^6.7.14" + cac: "npm:^7.0.0" defu: "npm:^6.1.4" empathic: "npm:^2.0.0" - hookable: "npm:^6.0.1" + hookable: "npm:^6.1.0" import-without-cache: "npm:^0.2.5" obug: "npm:^2.1.1" picomatch: "npm:^4.0.3" - rolldown: "npm:1.0.0-beta.57" - rolldown-plugin-dts: "npm:^0.20.0" - semver: "npm:^7.7.3" - tinyexec: "npm:^1.0.2" + rolldown: "npm:1.0.0-rc.9" + rolldown-plugin-dts: "npm:^0.22.5" + semver: "npm:^7.7.4" + tinyexec: "npm:^1.0.4" tinyglobby: "npm:^0.2.15" tree-kill: "npm:^1.2.2" - unconfig-core: "npm:^7.4.2" - unrun: "npm:^0.2.21" + unconfig-core: "npm:^7.5.0" + unrun: "npm:^0.2.32" peerDependencies: "@arethetypeswrong/core": ^0.18.1 + "@tsdown/css": 0.21.4 + "@tsdown/exe": 0.21.4 "@vitejs/devtools": "*" publint: ^0.3.0 typescript: ^5.0.0 - unplugin-lightningcss: ^0.4.0 unplugin-unused: ^0.5.0 peerDependenciesMeta: "@arethetypeswrong/core": optional: true + "@tsdown/css": + optional: true + "@tsdown/exe": + optional: true "@vitejs/devtools": optional: true publint: optional: true typescript: optional: true - unplugin-lightningcss: - optional: true unplugin-unused: optional: true bin: tsdown: dist/run.mjs - checksum: 10c0/ea8896295a5f6c9d81303f74096d8a86676ef3ad05a34e84a1b74542211b2ab83fa83f79e16e483d0a940e82d2caa968859051b96cd528a40ea8f7f9482720da + checksum: 10c0/a2f096ecbba422af569c0e5a7ef57a7aed8b6a3e03e3af21e69df0aadd76148097e6015bb16cc839ff73589fb959fc9f0d997a9453a11269b4c4cd3ce7eec833 languageName: node linkType: hard @@ -44715,13 +44382,13 @@ __metadata: languageName: node linkType: hard -"unconfig-core@npm:^7.4.2": - version: 7.4.2 - resolution: "unconfig-core@npm:7.4.2" +"unconfig-core@npm:^7.5.0": + version: 7.5.0 + resolution: "unconfig-core@npm:7.5.0" dependencies: "@quansync/fs": "npm:^1.0.0" quansync: "npm:^1.0.0" - checksum: 10c0/12aa85c78114a505fb49adc5fd6c2ce58b1661c517caea7f8943b9f56912634bfd085443a84d7675a0b245598e6220daaff0a69e3dd712819e0d05195fcfb75b + checksum: 10c0/9c9f745254aa8e267140430a432353d17ee87f625b0ea0668e189d88736828d117b66bd2dd41f1d48bd40d44d5b7c7d160e8b7996a60c8f484e2975ef73c7cb7 languageName: node linkType: hard @@ -45117,11 +44784,11 @@ __metadata: languageName: node linkType: hard -"unrun@npm:^0.2.21": - version: 0.2.25 - resolution: "unrun@npm:0.2.25" +"unrun@npm:^0.2.32": + version: 0.2.32 + resolution: "unrun@npm:0.2.32" dependencies: - rolldown: "npm:1.0.0-beta.60" + rolldown: "npm:1.0.0-rc.9" peerDependencies: synckit: ^0.11.11 peerDependenciesMeta: @@ -45129,7 +44796,7 @@ __metadata: optional: true bin: unrun: dist/cli.mjs - checksum: 10c0/abc63e39a0027cc2991e8bc818fbfe77814ac3bd12c5eabe53b841432a028e5c9bec9e204df72cd40805ad147a85a931507d4991556d0bd738fd39e0908f3c72 + checksum: 10c0/c3916b6e82e588aa226b19006ee7b56dfda4f99b36a4e7589af43f5322799a8126331e554dd169667ff2d6929042574ac073276ff200a5936f437c4d8e6edeaa languageName: node linkType: hard From 32992ddc681691007a824215cd5b570e372143d8 Mon Sep 17 00:00:00 2001 From: Chris Feijoo Date: Tue, 17 Mar 2026 16:01:40 +0100 Subject: [PATCH 6/6] Format and deduplicate --- .../refractive/src/helpers/surface-equations.ts | 3 +-- yarn.lock | 13 +++---------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/libs/@hashintel/refractive/src/helpers/surface-equations.ts b/libs/@hashintel/refractive/src/helpers/surface-equations.ts index bb1a3137360..20d041d8282 100644 --- a/libs/@hashintel/refractive/src/helpers/surface-equations.ts +++ b/libs/@hashintel/refractive/src/helpers/surface-equations.ts @@ -1,7 +1,6 @@ export type SurfaceFnDef = (x: number) => number; -export const convexCircle: SurfaceFnDef = (x) => - Math.sqrt(1 - (1 - x) ** 2); +export const convexCircle: SurfaceFnDef = (x) => Math.sqrt(1 - (1 - x) ** 2); export const convex: SurfaceFnDef = (x) => (1 - (1 - x) ** 4) ** (1 / 4); diff --git a/yarn.lock b/yarn.lock index 9cb430f1da3..8da696d6f7c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -41262,7 +41262,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.7.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.1, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3": +"semver@npm:7.7.3": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -41280,7 +41280,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.7.4": +"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.1, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": version: 7.7.4 resolution: "semver@npm:7.7.4" bin: @@ -43397,14 +43397,7 @@ __metadata: languageName: node linkType: hard -"tinyexec@npm:^1.0.2": - version: 1.0.2 - resolution: "tinyexec@npm:1.0.2" - checksum: 10c0/1261a8e34c9b539a9aae3b7f0bb5372045ff28ee1eba035a2a059e532198fe1a182ec61ac60fa0b4a4129f0c4c4b1d2d57355b5cb9aa2d17ac9454ecace502ee - languageName: node - linkType: hard - -"tinyexec@npm:^1.0.4": +"tinyexec@npm:^1.0.2, tinyexec@npm:^1.0.4": version: 1.0.4 resolution: "tinyexec@npm:1.0.4" checksum: 10c0/d4a5bbcf6bdb23527a4b74c4aa566f41432167112fe76f420ec7e3a90a3ecfd3a7d944383e2719fc3987b69400f7b928daf08700d145fb527c2e80ec01e198bd