mirror of
https://github.com/coder/coder.git
synced 2026-10-24 01:26:25 +08:00
chore: tweak biome config (#15864)
This commit is contained in:
@@ -642,8 +642,6 @@ vpn/vpn.pb.go: vpn/vpn.proto
|
||||
site/src/api/typesGenerated.ts: $(wildcard scripts/apitypings/*) $(shell find ./codersdk $(FIND_EXCLUSIONS) -type f -name '*.go')
|
||||
# -C sets the directory for the go run command
|
||||
go run -C ./scripts/apitypings main.go > $@
|
||||
(cd ./site && npx biome format --write ./src/api/typesGenerated.ts)
|
||||
./scripts/pnpm_install.sh
|
||||
|
||||
site/e2e/provisionerGenerated.ts: provisionerd/proto/provisionerd.pb.go provisionersdk/proto/provisioner.pb.go
|
||||
cd site
|
||||
|
||||
+32
-34
@@ -1,42 +1,40 @@
|
||||
import turbosnap from "vite-plugin-turbosnap";
|
||||
|
||||
module.exports = {
|
||||
stories: ["../src/**/*.stories.tsx"],
|
||||
stories: ["../src/**/*.stories.tsx"],
|
||||
|
||||
addons: [
|
||||
"@chromatic-com/storybook",
|
||||
{
|
||||
name: "@storybook/addon-essentials",
|
||||
options: {
|
||||
backgrounds: false,
|
||||
},
|
||||
},
|
||||
"@storybook/addon-links",
|
||||
"@storybook/addon-mdx-gfm",
|
||||
"@storybook/addon-themes",
|
||||
"@storybook/addon-actions",
|
||||
"@storybook/addon-interactions",
|
||||
"storybook-addon-remix-react-router",
|
||||
],
|
||||
addons: [
|
||||
"@chromatic-com/storybook",
|
||||
{
|
||||
name: "@storybook/addon-essentials",
|
||||
options: {
|
||||
backgrounds: false,
|
||||
},
|
||||
},
|
||||
"@storybook/addon-links",
|
||||
"@storybook/addon-mdx-gfm",
|
||||
"@storybook/addon-themes",
|
||||
"@storybook/addon-actions",
|
||||
"@storybook/addon-interactions",
|
||||
"storybook-addon-remix-react-router",
|
||||
],
|
||||
|
||||
staticDirs: ["../static"],
|
||||
staticDirs: ["../static"],
|
||||
|
||||
framework: {
|
||||
name: "@storybook/react-vite",
|
||||
options: {},
|
||||
},
|
||||
framework: {
|
||||
name: "@storybook/react-vite",
|
||||
options: {},
|
||||
},
|
||||
|
||||
async viteFinal(config, { configType }) {
|
||||
config.plugins = config.plugins || [];
|
||||
// return the customized config
|
||||
if (configType === "PRODUCTION") {
|
||||
// ignore @ts-ignore because it's not in the vite types yet
|
||||
config.plugins.push(
|
||||
turbosnap({
|
||||
rootDir: config.root || "",
|
||||
}),
|
||||
);
|
||||
}
|
||||
return config;
|
||||
},
|
||||
async viteFinal(config, { configType }) {
|
||||
config.plugins = config.plugins || [];
|
||||
if (configType === "PRODUCTION") {
|
||||
config.plugins.push(
|
||||
turbosnap({
|
||||
rootDir: config.root || "",
|
||||
}),
|
||||
);
|
||||
}
|
||||
return config;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -22,12 +22,13 @@ import CssBaseline from "@mui/material/CssBaseline";
|
||||
import {
|
||||
ThemeProvider as MuiThemeProvider,
|
||||
StyledEngineProvider,
|
||||
// biome-ignore lint/nursery/noRestrictedImports: we extend the MUI theme
|
||||
} from "@mui/material/styles";
|
||||
import { DecoratorHelpers } from "@storybook/addon-themes";
|
||||
import isChromatic from "chromatic/isChromatic";
|
||||
import React, { StrictMode } from "react";
|
||||
import { HelmetProvider } from "react-helmet-async";
|
||||
import { parseQueryArgs, QueryClient, QueryClientProvider } from "react-query";
|
||||
import { QueryClient, QueryClientProvider, parseQueryArgs } from "react-query";
|
||||
import { withRouter } from "storybook-addon-remix-react-router";
|
||||
import "theme/globalFonts";
|
||||
import themes from "../src/theme";
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
{
|
||||
"files": {
|
||||
"ignore": [
|
||||
"e2e/provisionerGenerated.ts",
|
||||
"e2e/google/protobuf/timestampGenerated.ts",
|
||||
"src/api/countriesGenerated.ts",
|
||||
"src/api/rbacresourcesGenerated.ts"
|
||||
"build/",
|
||||
"node_modules/",
|
||||
"out/",
|
||||
"test-results/",
|
||||
"e2e/**/*Generated.ts",
|
||||
"src/api/*Generated.ts",
|
||||
"pnpm-lock.yaml"
|
||||
]
|
||||
},
|
||||
"linter": {
|
||||
@@ -44,5 +47,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json"
|
||||
}
|
||||
+66
-66
@@ -1,68 +1,68 @@
|
||||
module.exports = {
|
||||
// Use a big timeout for CI.
|
||||
testTimeout: 20_000,
|
||||
maxWorkers: 8,
|
||||
projects: [
|
||||
{
|
||||
displayName: "test",
|
||||
roots: ["<rootDir>"],
|
||||
setupFiles: ["./jest.polyfills.js"],
|
||||
setupFilesAfterEnv: ["./jest.setup.ts"],
|
||||
extensionsToTreatAsEsm: [".ts"],
|
||||
transform: {
|
||||
"^.+\\.(t|j)sx?$": [
|
||||
"@swc/jest",
|
||||
{
|
||||
jsc: {
|
||||
transform: {
|
||||
react: {
|
||||
runtime: "automatic",
|
||||
importSource: "@emotion/react",
|
||||
},
|
||||
},
|
||||
experimental: {
|
||||
plugins: [["jest_workaround", {}]],
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
testEnvironment: "jsdom",
|
||||
testEnvironmentOptions: {
|
||||
customExportConditions: [""],
|
||||
},
|
||||
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
|
||||
testPathIgnorePatterns: [
|
||||
"/node_modules/",
|
||||
"/e2e/",
|
||||
// TODO: This test is timing out after upgrade a few Jest dependencies
|
||||
// and I was not able to figure out why. When running it specifically, I
|
||||
// can see many act warnings that may can help us to find the issue.
|
||||
"/usePaginatedQuery.test.ts",
|
||||
],
|
||||
transformIgnorePatterns: [
|
||||
"<rootDir>/node_modules/@chartjs-adapter-date-fns",
|
||||
],
|
||||
moduleDirectories: ["node_modules", "<rootDir>/src"],
|
||||
moduleNameMapper: {
|
||||
"\\.css$": "<rootDir>/src/testHelpers/styleMock.ts",
|
||||
"^@fontsource": "<rootDir>/src/testHelpers/styleMock.ts",
|
||||
},
|
||||
},
|
||||
],
|
||||
collectCoverageFrom: [
|
||||
// included files
|
||||
"<rootDir>/**/*.ts",
|
||||
"<rootDir>/**/*.tsx",
|
||||
// excluded files
|
||||
"!<rootDir>/**/*.stories.tsx",
|
||||
"!<rootDir>/_jest/**/*.*",
|
||||
"!<rootDir>/api.ts",
|
||||
"!<rootDir>/coverage/**/*.*",
|
||||
"!<rootDir>/e2e/**/*.*",
|
||||
"!<rootDir>/jest-runner.eslint.config.js",
|
||||
"!<rootDir>/jest.config.js",
|
||||
"!<rootDir>/out/**/*.*",
|
||||
"!<rootDir>/storybook-static/**/*.*",
|
||||
],
|
||||
// Use a big timeout for CI.
|
||||
testTimeout: 20_000,
|
||||
maxWorkers: 8,
|
||||
projects: [
|
||||
{
|
||||
displayName: "test",
|
||||
roots: ["<rootDir>"],
|
||||
setupFiles: ["./jest.polyfills.js"],
|
||||
setupFilesAfterEnv: ["./jest.setup.ts"],
|
||||
extensionsToTreatAsEsm: [".ts"],
|
||||
transform: {
|
||||
"^.+\\.(t|j)sx?$": [
|
||||
"@swc/jest",
|
||||
{
|
||||
jsc: {
|
||||
transform: {
|
||||
react: {
|
||||
runtime: "automatic",
|
||||
importSource: "@emotion/react",
|
||||
},
|
||||
},
|
||||
experimental: {
|
||||
plugins: [["jest_workaround", {}]],
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
testEnvironment: "jsdom",
|
||||
testEnvironmentOptions: {
|
||||
customExportConditions: [""],
|
||||
},
|
||||
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
|
||||
testPathIgnorePatterns: [
|
||||
"/node_modules/",
|
||||
"/e2e/",
|
||||
// TODO: This test is timing out after upgrade a few Jest dependencies
|
||||
// and I was not able to figure out why. When running it specifically, I
|
||||
// can see many act warnings that may can help us to find the issue.
|
||||
"/usePaginatedQuery.test.ts",
|
||||
],
|
||||
transformIgnorePatterns: [
|
||||
"<rootDir>/node_modules/@chartjs-adapter-date-fns",
|
||||
],
|
||||
moduleDirectories: ["node_modules", "<rootDir>/src"],
|
||||
moduleNameMapper: {
|
||||
"\\.css$": "<rootDir>/src/testHelpers/styleMock.ts",
|
||||
"^@fontsource": "<rootDir>/src/testHelpers/styleMock.ts",
|
||||
},
|
||||
},
|
||||
],
|
||||
collectCoverageFrom: [
|
||||
// included files
|
||||
"<rootDir>/**/*.ts",
|
||||
"<rootDir>/**/*.tsx",
|
||||
// excluded files
|
||||
"!<rootDir>/**/*.stories.tsx",
|
||||
"!<rootDir>/_jest/**/*.*",
|
||||
"!<rootDir>/api.ts",
|
||||
"!<rootDir>/coverage/**/*.*",
|
||||
"!<rootDir>/e2e/**/*.*",
|
||||
"!<rootDir>/jest-runner.eslint.config.js",
|
||||
"!<rootDir>/jest.config.js",
|
||||
"!<rootDir>/out/**/*.*",
|
||||
"!<rootDir>/storybook-static/**/*.*",
|
||||
],
|
||||
};
|
||||
|
||||
+22
-22
@@ -13,32 +13,32 @@ const { TextDecoder, TextEncoder } = require("node:util");
|
||||
const { ReadableStream } = require("node:stream/web");
|
||||
|
||||
Object.defineProperties(globalThis, {
|
||||
TextDecoder: { value: TextDecoder },
|
||||
TextEncoder: { value: TextEncoder },
|
||||
ReadableStream: { value: ReadableStream },
|
||||
TextDecoder: { value: TextDecoder },
|
||||
TextEncoder: { value: TextEncoder },
|
||||
ReadableStream: { value: ReadableStream },
|
||||
});
|
||||
|
||||
const { Blob, File } = require("node:buffer");
|
||||
const { fetch, Headers, FormData, Request, Response } = require("undici");
|
||||
|
||||
Object.defineProperties(globalThis, {
|
||||
fetch: { value: fetch, writable: true },
|
||||
Blob: { value: Blob },
|
||||
File: { value: File },
|
||||
Headers: { value: Headers },
|
||||
FormData: { value: FormData },
|
||||
Request: { value: Request },
|
||||
Response: { value: Response },
|
||||
matchMedia: {
|
||||
value: (query) => ({
|
||||
matches: false,
|
||||
media: query,
|
||||
onchange: null,
|
||||
addListener: jest.fn(),
|
||||
removeListener: jest.fn(),
|
||||
addEventListener: jest.fn(),
|
||||
removeEventListener: jest.fn(),
|
||||
dispatchEvent: jest.fn(),
|
||||
}),
|
||||
},
|
||||
fetch: { value: fetch, writable: true },
|
||||
Blob: { value: Blob },
|
||||
File: { value: File },
|
||||
Headers: { value: Headers },
|
||||
FormData: { value: FormData },
|
||||
Request: { value: Request },
|
||||
Response: { value: Response },
|
||||
matchMedia: {
|
||||
value: (query) => ({
|
||||
matches: false,
|
||||
media: query,
|
||||
onchange: null,
|
||||
addListener: jest.fn(),
|
||||
removeListener: jest.fn(),
|
||||
addEventListener: jest.fn(),
|
||||
removeEventListener: jest.fn(),
|
||||
dispatchEvent: jest.fn(),
|
||||
}),
|
||||
},
|
||||
});
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
import "@testing-library/jest-dom";
|
||||
import "jest-location-mock";
|
||||
import { cleanup } from "@testing-library/react";
|
||||
import crypto from "node:crypto";
|
||||
import { useMemo } from "react";
|
||||
import { cleanup } from "@testing-library/react";
|
||||
import type { Region } from "api/typesGenerated";
|
||||
import type { ProxyLatencyReport } from "contexts/useProxyLatency";
|
||||
import { useMemo } from "react";
|
||||
import { server } from "testHelpers/server";
|
||||
|
||||
// useProxyLatency does some http requests to determine latency.
|
||||
|
||||
+8
-12
@@ -6,16 +6,16 @@
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
"build": "NODE_ENV=production pnpm vite build",
|
||||
"check": "biome check --error-on-warnings e2e/ src/",
|
||||
"check:fix": "biome check --error-on-warnings --fix e2e/ src/",
|
||||
"check": "biome check --error-on-warnings .",
|
||||
"check:fix": "biome check --error-on-warnings --fix .",
|
||||
"check:all": "pnpm check && pnpm test",
|
||||
"chromatic": "chromatic",
|
||||
"dev": "vite",
|
||||
"format": "biome format --write e2e/ src/",
|
||||
"format:check": "biome format e2e/ src/",
|
||||
"format": "biome format --write .",
|
||||
"format:check": "biome format .",
|
||||
"lint": "pnpm run lint:check && pnpm run lint:types",
|
||||
"lint:check": " biome lint --error-on-warnings e2e/ src/",
|
||||
"lint:fix": " biome lint --error-on-warnings --write e2e/ src/",
|
||||
"lint:check": " biome lint --error-on-warnings .",
|
||||
"lint:fix": " biome lint --error-on-warnings --write .",
|
||||
"lint:types": "tsc -p .",
|
||||
"playwright:install": "playwright install --with-deps chromium",
|
||||
"playwright:test": "playwright test --config=e2e/playwright.config.ts",
|
||||
@@ -117,7 +117,7 @@
|
||||
"yup": "1.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.3",
|
||||
"@biomejs/biome": "1.9.4",
|
||||
"@chromatic-com/storybook": "3.2.2",
|
||||
"@octokit/types": "12.3.0",
|
||||
"@playwright/test": "1.47.2",
|
||||
@@ -184,11 +184,7 @@
|
||||
"vite-plugin-checker": "0.8.0",
|
||||
"vite-plugin-turbosnap": "1.0.3"
|
||||
},
|
||||
"browserslist": [
|
||||
"chrome 110",
|
||||
"firefox 111",
|
||||
"safari 16.0"
|
||||
],
|
||||
"browserslist": ["chrome 110", "firefox 111", "safari 16.0"],
|
||||
"resolutions": {
|
||||
"optionator": "0.9.3",
|
||||
"semver": "7.6.2"
|
||||
|
||||
Generated
+40
-40
@@ -260,8 +260,8 @@ importers:
|
||||
version: 1.4.0
|
||||
devDependencies:
|
||||
'@biomejs/biome':
|
||||
specifier: 1.9.3
|
||||
version: 1.9.3
|
||||
specifier: 1.9.4
|
||||
version: 1.9.4
|
||||
'@chromatic-com/storybook':
|
||||
specifier: 3.2.2
|
||||
version: 3.2.2(react@18.3.1)(storybook@8.4.6(prettier@3.4.1))
|
||||
@@ -453,7 +453,7 @@ importers:
|
||||
version: 5.4.10(@types/node@20.17.6)
|
||||
vite-plugin-checker:
|
||||
specifier: 0.8.0
|
||||
version: 0.8.0(@biomejs/biome@1.9.3)(eslint@8.52.0)(optionator@0.9.3)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6))
|
||||
version: 0.8.0(@biomejs/biome@1.9.4)(eslint@8.52.0)(optionator@0.9.3)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6))
|
||||
vite-plugin-turbosnap:
|
||||
specifier: 1.0.3
|
||||
version: 1.0.3
|
||||
@@ -683,55 +683,55 @@ packages:
|
||||
'@bcoe/v8-coverage@0.2.3':
|
||||
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
|
||||
|
||||
'@biomejs/biome@1.9.3':
|
||||
resolution: {integrity: sha512-POjAPz0APAmX33WOQFGQrwLvlu7WLV4CFJMlB12b6ZSg+2q6fYu9kZwLCOA+x83zXfcPd1RpuWOKJW0GbBwLIQ==}
|
||||
'@biomejs/biome@1.9.4':
|
||||
resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
hasBin: true
|
||||
|
||||
'@biomejs/cli-darwin-arm64@1.9.3':
|
||||
resolution: {integrity: sha512-QZzD2XrjJDUyIZK+aR2i5DDxCJfdwiYbUKu9GzkCUJpL78uSelAHAPy7m0GuPMVtF/Uo+OKv97W3P9nuWZangQ==}
|
||||
'@biomejs/cli-darwin-arm64@1.9.4':
|
||||
resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@biomejs/cli-darwin-x64@1.9.3':
|
||||
resolution: {integrity: sha512-vSCoIBJE0BN3SWDFuAY/tRavpUtNoqiceJ5PrU3xDfsLcm/U6N93JSM0M9OAiC/X7mPPfejtr6Yc9vSgWlEgVw==}
|
||||
'@biomejs/cli-darwin-x64@1.9.4':
|
||||
resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@biomejs/cli-linux-arm64-musl@1.9.3':
|
||||
resolution: {integrity: sha512-VBzyhaqqqwP3bAkkBrhVq50i3Uj9+RWuj+pYmXrMDgjS5+SKYGE56BwNw4l8hR3SmYbLSbEo15GcV043CDSk+Q==}
|
||||
'@biomejs/cli-linux-arm64-musl@1.9.4':
|
||||
resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-linux-arm64@1.9.3':
|
||||
resolution: {integrity: sha512-vJkAimD2+sVviNTbaWOGqEBy31cW0ZB52KtpVIbkuma7PlfII3tsLhFa+cwbRAcRBkobBBhqZ06hXoZAN8NODQ==}
|
||||
'@biomejs/cli-linux-arm64@1.9.4':
|
||||
resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-linux-x64-musl@1.9.3':
|
||||
resolution: {integrity: sha512-TJmnOG2+NOGM72mlczEsNki9UT+XAsMFAOo8J0me/N47EJ/vkLXxf481evfHLlxMejTY6IN8SdRSiPVLv6AHlA==}
|
||||
'@biomejs/cli-linux-x64-musl@1.9.4':
|
||||
resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-linux-x64@1.9.3':
|
||||
resolution: {integrity: sha512-x220V4c+romd26Mu1ptU+EudMXVS4xmzKxPVb9mgnfYlN4Yx9vD5NZraSx/onJnd3Gh/y8iPUdU5CDZJKg9COA==}
|
||||
'@biomejs/cli-linux-x64@1.9.4':
|
||||
resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@biomejs/cli-win32-arm64@1.9.3':
|
||||
resolution: {integrity: sha512-lg/yZis2HdQGsycUvHWSzo9kOvnGgvtrYRgoCEwPBwwAL8/6crOp3+f47tPwI/LI1dZrhSji7PNsGKGHbwyAhw==}
|
||||
'@biomejs/cli-win32-arm64@1.9.4':
|
||||
resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@biomejs/cli-win32-x64@1.9.3':
|
||||
resolution: {integrity: sha512-cQMy2zanBkVLpmmxXdK6YePzmZx0s5Z7KEnwmrW54rcXK3myCNbQa09SwGZ8i/8sLw0H9F3X7K4rxVNGU8/D4Q==}
|
||||
'@biomejs/cli-win32-x64@1.9.4':
|
||||
resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
@@ -6475,39 +6475,39 @@ snapshots:
|
||||
|
||||
'@bcoe/v8-coverage@0.2.3': {}
|
||||
|
||||
'@biomejs/biome@1.9.3':
|
||||
'@biomejs/biome@1.9.4':
|
||||
optionalDependencies:
|
||||
'@biomejs/cli-darwin-arm64': 1.9.3
|
||||
'@biomejs/cli-darwin-x64': 1.9.3
|
||||
'@biomejs/cli-linux-arm64': 1.9.3
|
||||
'@biomejs/cli-linux-arm64-musl': 1.9.3
|
||||
'@biomejs/cli-linux-x64': 1.9.3
|
||||
'@biomejs/cli-linux-x64-musl': 1.9.3
|
||||
'@biomejs/cli-win32-arm64': 1.9.3
|
||||
'@biomejs/cli-win32-x64': 1.9.3
|
||||
'@biomejs/cli-darwin-arm64': 1.9.4
|
||||
'@biomejs/cli-darwin-x64': 1.9.4
|
||||
'@biomejs/cli-linux-arm64': 1.9.4
|
||||
'@biomejs/cli-linux-arm64-musl': 1.9.4
|
||||
'@biomejs/cli-linux-x64': 1.9.4
|
||||
'@biomejs/cli-linux-x64-musl': 1.9.4
|
||||
'@biomejs/cli-win32-arm64': 1.9.4
|
||||
'@biomejs/cli-win32-x64': 1.9.4
|
||||
|
||||
'@biomejs/cli-darwin-arm64@1.9.3':
|
||||
'@biomejs/cli-darwin-arm64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-darwin-x64@1.9.3':
|
||||
'@biomejs/cli-darwin-x64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-arm64-musl@1.9.3':
|
||||
'@biomejs/cli-linux-arm64-musl@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-arm64@1.9.3':
|
||||
'@biomejs/cli-linux-arm64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-x64-musl@1.9.3':
|
||||
'@biomejs/cli-linux-x64-musl@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-linux-x64@1.9.3':
|
||||
'@biomejs/cli-linux-x64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-win32-arm64@1.9.3':
|
||||
'@biomejs/cli-win32-arm64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@biomejs/cli-win32-x64@1.9.3':
|
||||
'@biomejs/cli-win32-x64@1.9.4':
|
||||
optional: true
|
||||
|
||||
'@bundled-es-modules/cookie@2.0.0':
|
||||
@@ -12390,7 +12390,7 @@ snapshots:
|
||||
unist-util-stringify-position: 4.0.0
|
||||
vfile-message: 4.0.2
|
||||
|
||||
vite-plugin-checker@0.8.0(@biomejs/biome@1.9.3)(eslint@8.52.0)(optionator@0.9.3)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6)):
|
||||
vite-plugin-checker@0.8.0(@biomejs/biome@1.9.4)(eslint@8.52.0)(optionator@0.9.3)(typescript@5.6.3)(vite@5.4.10(@types/node@20.17.6)):
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.25.7
|
||||
ansi-escapes: 4.3.2
|
||||
@@ -12408,7 +12408,7 @@ snapshots:
|
||||
vscode-languageserver-textdocument: 1.0.12
|
||||
vscode-uri: 3.0.8
|
||||
optionalDependencies:
|
||||
'@biomejs/biome': 1.9.3
|
||||
'@biomejs/biome': 1.9.4
|
||||
eslint: 8.52.0
|
||||
optionator: 0.9.3
|
||||
typescript: 5.6.3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
}
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
};
|
||||
|
||||
Generated
+1276
-1713
File diff suppressed because it is too large
Load Diff
@@ -121,7 +121,9 @@ export const XGrid: FC<XGridProps> = ({ columns, ...htmlProps }) => {
|
||||
|
||||
// A dashed line is used as a background image to create the grid.
|
||||
// Using it as a background simplifies replication along the Y axis.
|
||||
const dashedLine = (color: string) => `<svg width="2" height="446" viewBox="0 0 2 446" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
const dashedLine = (
|
||||
color: string,
|
||||
) => `<svg width="2" height="446" viewBox="0 0 2 446" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.75 440.932L1.75 446L0.75 446L0.75 440.932L1.75 440.932ZM1.75 420.659L1.75 430.795L0.749999 430.795L0.749999 420.659L1.75 420.659ZM1.75 400.386L1.75 410.523L0.749998 410.523L0.749998 400.386L1.75 400.386ZM1.75 380.114L1.75 390.25L0.749998 390.25L0.749997 380.114L1.75 380.114ZM1.75 359.841L1.75 369.977L0.749997 369.977L0.749996 359.841L1.75 359.841ZM1.75 339.568L1.75 349.705L0.749996 349.705L0.749995 339.568L1.75 339.568ZM1.74999 319.295L1.74999 329.432L0.749995 329.432L0.749994 319.295L1.74999 319.295ZM1.74999 299.023L1.74999 309.159L0.749994 309.159L0.749994 299.023L1.74999 299.023ZM1.74999 278.75L1.74999 288.886L0.749993 288.886L0.749993 278.75L1.74999 278.75ZM1.74999 258.477L1.74999 268.614L0.749992 268.614L0.749992 258.477L1.74999 258.477ZM1.74999 238.204L1.74999 248.341L0.749991 248.341L0.749991 238.204L1.74999 238.204ZM1.74999 217.932L1.74999 228.068L0.74999 228.068L0.74999 217.932L1.74999 217.932ZM1.74999 197.659L1.74999 207.795L0.74999 207.795L0.749989 197.659L1.74999 197.659ZM1.74999 177.386L1.74999 187.523L0.749989 187.523L0.749988 177.386L1.74999 177.386ZM1.74999 157.114L1.74999 167.25L0.749988 167.25L0.749987 157.114L1.74999 157.114ZM1.74999 136.841L1.74999 146.977L0.749987 146.977L0.749986 136.841L1.74999 136.841ZM1.74999 116.568L1.74999 126.705L0.749986 126.705L0.749986 116.568L1.74999 116.568ZM1.74998 96.2955L1.74999 106.432L0.749985 106.432L0.749985 96.2955L1.74998 96.2955ZM1.74998 76.0228L1.74998 86.1591L0.749984 86.1591L0.749984 76.0228L1.74998 76.0228ZM1.74998 55.7501L1.74998 65.8864L0.749983 65.8864L0.749983 55.7501L1.74998 55.7501ZM1.74998 35.4774L1.74998 45.6137L0.749982 45.6137L0.749982 35.4774L1.74998 35.4774ZM1.74998 15.2047L1.74998 25.341L0.749982 25.341L0.749981 15.2047L1.74998 15.2047ZM1.74998 -4.37114e-08L1.74998 5.0683L0.749981 5.0683L0.749981 0L1.74998 -4.37114e-08Z" fill="${color}"/>
|
||||
</svg>`;
|
||||
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
"skipLibCheck": true,
|
||||
"strict": true,
|
||||
"target": "es2020",
|
||||
"baseUrl": "src/",
|
||||
"baseUrl": "src/"
|
||||
},
|
||||
"include": ["**/*.ts", "**/*.tsx"],
|
||||
"exclude": ["node_modules/", "_jest"],
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"exclude": ["node_modules", "_jest"],
|
||||
"include": ["**/*.stories.tsx", "**/*.test.tsx", "**/*.d.ts"]
|
||||
"extends": "./tsconfig.json",
|
||||
"exclude": ["node_modules", "_jest"],
|
||||
"include": ["**/*.stories.tsx", "**/*.test.tsx", "**/*.d.ts"]
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import react from "@vitejs/plugin-react";
|
||||
import * as path from "node:path";
|
||||
import react from "@vitejs/plugin-react";
|
||||
import { visualizer } from "rollup-plugin-visualizer";
|
||||
import { defineConfig, type PluginOption } from "vite";
|
||||
import { type PluginOption, defineConfig } from "vite";
|
||||
import checker from "vite-plugin-checker";
|
||||
|
||||
const plugins: PluginOption[] = [
|
||||
|
||||
Reference in New Issue
Block a user