From 624d03fa663147c75760b28ab1937bf1ab836180 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Fri, 25 Jul 2025 13:17:22 +0200 Subject: [PATCH 01/12] Migrating tailwindcss to v4 --- packages/cheatsheet-local/package.json | 7 +- packages/cheatsheet-local/src/styles.css | 22 +- packages/cheatsheet-local/tailwind.config.js | 13 - .../components/CheatsheetLegendComponent.tsx | 2 +- .../src/lib/components/SmartLink.tsx | 2 +- packages/cursorless-org-docs/package.json | 5 +- .../cursorless-org-docs/src/css/custom.css | 22 +- .../src/plugins/tailwind-plugin.ts | 2 +- .../cursorless-org-docs/tailwind.config.js | 9 - packages/cursorless-org-docs/tsconfig.json | 3 +- packages/cursorless-org/package.json | 7 +- .../cursorless-org/src/components/Layout.tsx | 10 +- .../src/components/SpamProofEmailLink.tsx | 2 +- packages/cursorless-org/src/pages/index.tsx | 8 +- .../cursorless-org/src/styles/globals.css | 24 +- .../package.json | 2 +- .../src/App.tsx | 2 +- .../src/ProgressBar.tsx | 4 +- .../src/index.css | 26 +- .../tailwind.config.js | 17 -- pnpm-lock.yaml | 260 ++++-------------- 21 files changed, 167 insertions(+), 282 deletions(-) delete mode 100644 packages/cheatsheet-local/tailwind.config.js delete mode 100644 packages/cursorless-org-docs/tailwind.config.js delete mode 100644 packages/cursorless-vscode-tutorial-webview/tailwind.config.js diff --git a/packages/cheatsheet-local/package.json b/packages/cheatsheet-local/package.json index 94f510200c..576dc5ce45 100644 --- a/packages/cheatsheet-local/package.json +++ b/packages/cheatsheet-local/package.json @@ -15,8 +15,7 @@ }, "postcss": { "plugins": { - "tailwindcss": {}, - "autoprefixer": {} + "@tailwindcss/postcss": {} } }, "scripts": { @@ -35,6 +34,7 @@ }, "devDependencies": { "@effortlessmotion/html-webpack-inline-source-plugin": "^1.0.3", + "@tailwindcss/postcss": "4.1.11", "@testing-library/dom": "^10.4.0", "@testing-library/react": "^16.3.0", "@types/jest": "^30.0.0", @@ -42,14 +42,13 @@ "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@types/webpack": "^5.28.5", - "autoprefixer": "^10.4.21", "css-loader": "^7.1.2", "html-webpack-plugin": "^5.6.3", "jest": "^30.0.5", "postcss": "^8.5.6", "postcss-loader": "^8.1.1", "style-loader": "^4.0.0", - "tailwindcss": "^3.4.17", + "tailwindcss": "^4.1.11", "ts-loader": "^9.5.2", "ts-node": "^10.9.2", "typescript": "^5.8.3", diff --git a/packages/cheatsheet-local/src/styles.css b/packages/cheatsheet-local/src/styles.css index 3b081a130b..9e48899ee4 100644 --- a/packages/cheatsheet-local/src/styles.css +++ b/packages/cheatsheet-local/src/styles.css @@ -1,4 +1,20 @@ /* You can add global styles to this file, and also import other style files */ -@tailwind components; -@tailwind base; -@tailwind utilities; +@import 'tailwindcss'; + +/* + The default border color has changed to `currentcolor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentcolor); + } +} diff --git a/packages/cheatsheet-local/tailwind.config.js b/packages/cheatsheet-local/tailwind.config.js deleted file mode 100644 index 2da9910980..0000000000 --- a/packages/cheatsheet-local/tailwind.config.js +++ /dev/null @@ -1,13 +0,0 @@ -import { readFileSync } from "fs"; - -const references = JSON.parse( - readFileSync("tsconfig.json", "utf-8"), -).references.map((ref) => ref.path); - -export const content = [".", ...references].map( - (dir) => `${dir}/src/**/*!(*.stories|*.spec).{ts,tsx,html}`, -); -export const theme = { - extend: {}, -}; -export const plugins = []; diff --git a/packages/cheatsheet/src/lib/components/CheatsheetLegendComponent.tsx b/packages/cheatsheet/src/lib/components/CheatsheetLegendComponent.tsx index b771c4c1cd..72f1d7a5bf 100644 --- a/packages/cheatsheet/src/lib/components/CheatsheetLegendComponent.tsx +++ b/packages/cheatsheet/src/lib/components/CheatsheetLegendComponent.tsx @@ -38,7 +38,7 @@ export default function CheatsheetLegendComponent({ {data.map(({ term, definition, link, id }) => ( {formatCaptures(`<${term}>`)} diff --git a/packages/cheatsheet/src/lib/components/SmartLink.tsx b/packages/cheatsheet/src/lib/components/SmartLink.tsx index 2f625c13eb..c0736b2be5 100644 --- a/packages/cheatsheet/src/lib/components/SmartLink.tsx +++ b/packages/cheatsheet/src/lib/components/SmartLink.tsx @@ -22,7 +22,7 @@ const SmartLink: React.FC = ({ }) => { const className = noFormatting ? "" - : "text-blue-500 hover:text-violet-700 dark:text-cyan-400 hover:dark:text-violet-200"; + : "text-blue-500 hover:text-violet-700 dark:text-cyan-400 dark:hover:text-violet-200"; return ( diff --git a/packages/cursorless-org-docs/package.json b/packages/cursorless-org-docs/package.json index 611c22a74c..b545502de3 100644 --- a/packages/cursorless-org-docs/package.json +++ b/packages/cursorless-org-docs/package.json @@ -14,8 +14,7 @@ }, "postcss": { "plugins": { - "tailwindcss": {}, - "autoprefixer": {} + "@tailwindcss/postcss": {} } }, "browserslist": { @@ -71,7 +70,7 @@ "@types/mdast": "^4.0.4", "@types/react": "^19.1.8", "postcss": "^8.5.6", - "tailwindcss": "^3.4.17", + "tailwindcss": "^4.1.11", "typescript": "^5.8.3", "unified": "^11.0.5" } diff --git a/packages/cursorless-org-docs/src/css/custom.css b/packages/cursorless-org-docs/src/css/custom.css index 1903e2bfc8..78d0cb8ca9 100644 --- a/packages/cursorless-org-docs/src/css/custom.css +++ b/packages/cursorless-org-docs/src/css/custom.css @@ -1,6 +1,22 @@ -@tailwind components; -@tailwind base; -@tailwind utilities; +@import 'tailwindcss'; + +/* + The default border color has changed to `currentcolor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentcolor); + } +} /* From https://github.com/facebook/docusaurus/blob/cc0bceab9c1678303f6237f5526753edc1b12fc3/website/src/css/custom.css#L70-L86 */ .header-github-link:hover { diff --git a/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts b/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts index 890b305ecb..20962f0b23 100644 --- a/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts +++ b/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts @@ -12,7 +12,7 @@ export default function tailwindPlugin( return { name: "tailwind-plugin", - configurePos1tCss(postcssOptions: PostCssOptions): PostCssOptions { + configurePostCss(postcssOptions: PostCssOptions): PostCssOptions { postcssOptions.plugins.push(tailwindcss); return postcssOptions; }, diff --git a/packages/cursorless-org-docs/tailwind.config.js b/packages/cursorless-org-docs/tailwind.config.js deleted file mode 100644 index da49ad1396..0000000000 --- a/packages/cursorless-org-docs/tailwind.config.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('tailwindcss').Config} */ - -export const content = ["./src/**/*.{js,ts,jsx,tsx}"]; - -export const corePlugins = { - preflight: false, -}; - -export const plugins = []; diff --git a/packages/cursorless-org-docs/tsconfig.json b/packages/cursorless-org-docs/tsconfig.json index d723b09e49..322ef16b42 100644 --- a/packages/cursorless-org-docs/tsconfig.json +++ b/packages/cursorless-org-docs/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "target": "es5", "lib": ["dom", "es2022"], - "moduleResolution": "node", + "moduleResolution": "nodenext", + "module": "nodenext", "esModuleInterop": true, "emitDeclarationOnly": false, "jsx": "react" diff --git a/packages/cursorless-org/package.json b/packages/cursorless-org/package.json index ebe438bc56..e426b9ae6e 100644 --- a/packages/cursorless-org/package.json +++ b/packages/cursorless-org/package.json @@ -15,8 +15,7 @@ }, "postcss": { "plugins": { - "tailwindcss": {}, - "autoprefixer": {} + "@tailwindcss/postcss": {} } }, "scripts": { @@ -41,16 +40,16 @@ }, "devDependencies": { "@svgr/webpack": "^8.1.0", + "@tailwindcss/postcss": "4.1.11", "@types/mdx": "^2.0.13", "@types/node": "^24.1.0", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", - "autoprefixer": "^10.4.21", "eslint": "^9.31.0", "eslint-config-next": "^15.4.4", "http-server": "^14.1.1", "postcss": "^8.5.6", - "tailwindcss": "^3.4.17", + "tailwindcss": "^4.1.11", "typescript": "^5.8.3" } } diff --git a/packages/cursorless-org/src/components/Layout.tsx b/packages/cursorless-org/src/components/Layout.tsx index 6393223287..ba1310db34 100644 --- a/packages/cursorless-org/src/components/Layout.tsx +++ b/packages/cursorless-org/src/components/Layout.tsx @@ -45,14 +45,14 @@ const components: MDXComponents = { // FIXME: Figure out how to use next/image with MDX // eslint-disable-next-line @next/next/no-img-element {alt} ), CalloutBox: ({ children }) => ( -
+
{children}
), @@ -60,7 +60,7 @@ const components: MDXComponents = {
{children}
), Testimonial: ({ children, src, name, title, company }) => ( -
+
{children}
@@ -71,7 +71,7 @@ const components: MDXComponents = { src={src} alt={name} /> -
+
{name}
@@ -82,7 +82,7 @@ const components: MDXComponents = {
), Tiers: ({ children }) => ( -
+
{children}
), diff --git a/packages/cursorless-org/src/components/SpamProofEmailLink.tsx b/packages/cursorless-org/src/components/SpamProofEmailLink.tsx index 357d39017b..a6d9d26002 100644 --- a/packages/cursorless-org/src/components/SpamProofEmailLink.tsx +++ b/packages/cursorless-org/src/components/SpamProofEmailLink.tsx @@ -58,7 +58,7 @@ export function SpamProofEmailLink({ return ( {children ?? ( diff --git a/packages/cursorless-org/src/pages/index.tsx b/packages/cursorless-org/src/pages/index.tsx index a85eb6d5fa..cb89d8d567 100644 --- a/packages/cursorless-org/src/pages/index.tsx +++ b/packages/cursorless-org/src/pages/index.tsx @@ -11,9 +11,9 @@ export async function getStaticProps() { } export default function LandingPage() { - const smallScaling = "sm:w-smBase sm:h-smBase sm:text-smBase"; + const smallScaling = "sm:w-sm-base sm:h-sm-base sm:text-sm-base"; const stretchedScaling = - "sm:stretched:w-stretchedBase sm:stretched:h-stretchedBase sm:stretched:text-stretchedBase"; + "sm:stretched:w-stretched-base sm:stretched:h-stretched-base sm:stretched:text-stretched-base"; return ( <> @@ -21,7 +21,7 @@ export default function LandingPage() { {TITLE} -
+
{/* Note that the font scale gets applied to this element so that all nested elements can use `em` units and will automatically be scaled. @@ -43,7 +43,7 @@ export default function LandingPage() {
-
+
diff --git a/packages/cursorless-org/src/styles/globals.css b/packages/cursorless-org/src/styles/globals.css index f839c576cc..bc20a88743 100644 --- a/packages/cursorless-org/src/styles/globals.css +++ b/packages/cursorless-org/src/styles/globals.css @@ -1,6 +1,24 @@ -@tailwind components; -@tailwind base; -@tailwind utilities; +@import 'tailwindcss'; + +@config '../../tailwind.config.js'; + +/* + The default border color has changed to `currentcolor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentcolor); + } +} :root { --safe-area-inset-top: env(safe-area-inset-top); diff --git a/packages/cursorless-vscode-tutorial-webview/package.json b/packages/cursorless-vscode-tutorial-webview/package.json index f2852ac9ca..1f9123b547 100644 --- a/packages/cursorless-vscode-tutorial-webview/package.json +++ b/packages/cursorless-vscode-tutorial-webview/package.json @@ -28,6 +28,6 @@ "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@types/vscode-webview": "^1.57.5", - "tailwindcss": "^3.4.17" + "tailwindcss": "^4.1.11" } } diff --git a/packages/cursorless-vscode-tutorial-webview/src/App.tsx b/packages/cursorless-vscode-tutorial-webview/src/App.tsx index f3e72c477c..cbadb82faa 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/App.tsx +++ b/packages/cursorless-vscode-tutorial-webview/src/App.tsx @@ -62,7 +62,7 @@ export const App: FunctionComponent = ({ vscode }) => { case "doingTutorial": return state.hasErrors ? (
-

+

Error

diff --git a/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx b/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx index 48f5538264..f60434544d 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx +++ b/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx @@ -16,9 +16,9 @@ export const ProgressBar: FunctionComponent = ({ }) => { const progress = ((currentStep + 1) / stepCount) * 100; return ( -

+
diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.css b/packages/cursorless-vscode-tutorial-webview/src/index.css index b5c61c9567..ed1a2909b6 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/index.css +++ b/packages/cursorless-vscode-tutorial-webview/src/index.css @@ -1,3 +1,23 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; + +@theme { + --text-2xs: 0.625rem; +} + +/* + The default border color has changed to `currentcolor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentcolor); + } +} diff --git a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js deleted file mode 100644 index fa89491448..0000000000 --- a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js +++ /dev/null @@ -1,17 +0,0 @@ -import { readFileSync } from "fs"; - -const references = JSON.parse( - readFileSync("tsconfig.json", "utf-8"), -).references.map((ref) => ref.path); - -export const content = [".", ...references].map( - (dir) => `${dir}/src/**/*!(*.stories|*.spec).{ts,tsx,html}`, -); -export const theme = { - extend: { - fontSize: { - ["2xs"]: "0.625rem", - }, - }, -}; -export const plugins = []; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d2dedb626..67d7eb501c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -122,7 +122,7 @@ importers: version: 30.0.5 ts-jest: specifier: ^29.4.0 - version: 29.4.0(@babel/core@7.28.0)(@jest/transform@30.0.5)(@jest/types@30.0.5)(babel-jest@30.0.5(@babel/core@7.28.0))(esbuild@0.25.8)(jest-util@30.0.5)(jest@30.0.5(@types/node@24.1.0))(typescript@5.8.3) + version: 29.4.0(@babel/core@7.28.0)(@jest/transform@30.0.5)(@jest/types@30.0.5)(babel-jest@30.0.5(@babel/core@7.28.0))(esbuild@0.25.8)(jest-util@30.0.5)(jest@30.0.5(@types/node@24.1.0)(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -142,6 +142,9 @@ importers: '@effortlessmotion/html-webpack-inline-source-plugin': specifier: ^1.0.3 version: 1.0.3(html-webpack-plugin@5.6.3(webpack@5.100.2))(webpack@5.100.2) + '@tailwindcss/postcss': + specifier: 4.1.11 + version: 4.1.11 '@testing-library/dom': specifier: ^10.4.0 version: 10.4.0 @@ -163,9 +166,6 @@ importers: '@types/webpack': specifier: ^5.28.5 version: 5.28.5(esbuild@0.25.8)(webpack-cli@6.0.1) - autoprefixer: - specifier: ^10.4.21 - version: 10.4.21(postcss@8.5.6) css-loader: specifier: ^7.1.2 version: 7.1.2(webpack@5.100.2) @@ -185,8 +185,8 @@ importers: specifier: ^4.0.0 version: 4.0.0(webpack@5.100.2) tailwindcss: - specifier: ^3.4.17 - version: 3.4.17(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)) + specifier: ^4.1.11 + version: 4.1.11 ts-loader: specifier: ^9.5.2 version: 9.5.2(typescript@5.8.3)(webpack@5.100.2) @@ -498,6 +498,9 @@ importers: '@svgr/webpack': specifier: ^8.1.0 version: 8.1.0(typescript@5.8.3) + '@tailwindcss/postcss': + specifier: 4.1.11 + version: 4.1.11 '@types/mdx': specifier: ^2.0.13 version: 2.0.13 @@ -510,9 +513,6 @@ importers: '@types/react-dom': specifier: ^19.1.6 version: 19.1.6(@types/react@19.1.8) - autoprefixer: - specifier: ^10.4.21 - version: 10.4.21(postcss@8.5.6) eslint: specifier: ^9.31.0 version: 9.31.0(jiti@2.5.1) @@ -526,8 +526,8 @@ importers: specifier: ^8.5.6 version: 8.5.6 tailwindcss: - specifier: ^3.4.17 - version: 3.4.17(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)) + specifier: ^4.1.11 + version: 4.1.11 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -608,8 +608,8 @@ importers: specifier: ^8.5.6 version: 8.5.6 tailwindcss: - specifier: ^3.4.17 - version: 3.4.17(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)) + specifier: ^4.1.11 + version: 4.1.11 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -804,8 +804,8 @@ importers: specifier: ^1.57.5 version: 1.57.5 tailwindcss: - specifier: ^3.4.17 - version: 3.4.17(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)) + specifier: ^4.1.11 + version: 4.1.11 packages/meta-updater: dependencies: @@ -4454,9 +4454,6 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -4756,10 +4753,6 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} @@ -5027,10 +5020,6 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -5494,9 +5483,6 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -5520,9 +5506,6 @@ packages: discontinuous-range@1.0.0: resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} @@ -7882,9 +7865,6 @@ packages: mux-embed@5.9.0: resolution: {integrity: sha512-wmunL3uoPhma/tWy8PrDPZkvJpXvSFBwbD3KkC4PG8Ztjfb1X3hRJwGUAQyRz7z99b/ovLm2UTTitrkvStjH4w==} - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nano-css@5.6.2: resolution: {integrity: sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==} peerDependencies: @@ -8066,10 +8046,6 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} @@ -8369,10 +8345,6 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -8541,36 +8513,12 @@ packages: peerDependencies: postcss: ^8.4 - postcss-import@15.1.0: - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - - postcss-js@4.0.1: - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - postcss-lab-function@7.0.10: resolution: {integrity: sha512-tqs6TCEv9tC1Riq6fOzHuHcZyhg4k3gIAMB8GGY/zA1ssGdm6puHMVE7t75aOSoFg7UD2wyrFFhbldiCMyyFTQ==} engines: {node: '>=18'} peerDependencies: postcss: ^8.4 - postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - postcss-loader@7.3.4: resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} @@ -8663,12 +8611,6 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - postcss-nesting@13.0.2: resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} engines: {node: '>=18'} @@ -9129,9 +9071,6 @@ packages: resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} - read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-cmd-shim@4.0.0: resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -9906,11 +9845,6 @@ packages: stylis@4.3.6: resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - super-media-element@1.4.2: resolution: {integrity: sha512-9pP/CVNp4NF2MNlRzLwQkjiTgKKe9WYXrLh9+8QokWmMxz+zt2mf1utkWLco26IuA3AfVcTb//qtlTIjY3VHxA==} @@ -9955,11 +9889,6 @@ packages: resolution: {integrity: sha512-IQ6G4wK/t8VBauYiGPLx+d3fA5XjSVagjWV5SIYzvEvglbQjwEcukeYI68JOPpdydjxhZ9sIgzRlSmwSpphHyw==} engines: {node: '>= 6.0.0'} - tailwindcss@3.4.17: - resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} - engines: {node: '>=14.0.0'} - hasBin: true - tailwindcss@4.1.11: resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==} @@ -10010,13 +9939,6 @@ packages: text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thingies@1.21.0: resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} engines: {node: '>=10.18'} @@ -10129,9 +10051,6 @@ packages: ts-easing@0.2.0: resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-jest@29.4.0: resolution: {integrity: sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} @@ -10735,11 +10654,6 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} - engines: {node: '>= 14.6'} - hasBin: true - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -15594,8 +15508,6 @@ snapshots: ansi-styles@6.2.1: {} - any-promise@1.3.0: {} - anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -16001,8 +15913,6 @@ snapshots: pascal-case: 3.1.2 tslib: 2.8.1 - camelcase-css@2.0.1: {} - camelcase-keys@6.2.2: dependencies: camelcase: 5.3.1 @@ -16253,8 +16163,6 @@ snapshots: commander@2.20.3: {} - commander@4.1.1: {} - commander@5.1.0: {} commander@7.2.0: {} @@ -16707,8 +16615,6 @@ snapshots: dependencies: dequal: 2.0.3 - didyoumean@1.2.2: {} - diff@4.0.2: {} diff@5.2.0: {} @@ -16725,8 +16631,6 @@ snapshots: discontinuous-range@1.0.0: {} - dlv@1.1.3: {} - dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 @@ -17035,7 +16939,7 @@ snapshots: eslint: 9.31.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)))(eslint@9.31.0(jiti@2.5.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.31.0(jiti@2.5.1)) eslint-plugin-react: 7.37.5(eslint@9.31.0(jiti@2.5.1)) eslint-plugin-react-hooks: 5.2.0(eslint@9.31.0(jiti@2.5.1)) @@ -17076,7 +16980,7 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)))(eslint@9.31.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color @@ -17095,6 +16999,17 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.31.0(jiti@2.5.1)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3) + eslint: 9.31.0(jiti@2.5.1) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)) + transitivePeerDependencies: + - supports-color + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)): dependencies: debug: 3.2.7 @@ -17106,6 +17021,35 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)))(eslint@9.31.0(jiti@2.5.1)): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.31.0(jiti@2.5.1) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.31.0(jiti@2.5.1)) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 @@ -19883,12 +19827,6 @@ snapshots: mux-embed@5.9.0: {} - mz@2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - nano-css@5.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@jridgewell/sourcemap-codec': 1.5.4 @@ -20080,8 +20018,6 @@ snapshots: object-assign@4.1.1: {} - object-hash@3.0.0: {} - object-inspect@1.13.4: {} object-keys@1.1.1: {} @@ -20388,8 +20324,6 @@ snapshots: picomatch@4.0.3: {} - pify@2.3.0: {} - pify@4.0.1: {} pirates@4.0.7: {} @@ -20552,18 +20486,6 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-import@15.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.10 - - postcss-js@4.0.1(postcss@8.5.6): - dependencies: - camelcase-css: 2.0.1 - postcss: 8.5.6 - postcss-lab-function@7.0.10(postcss@8.5.6): dependencies: '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) @@ -20573,14 +20495,6 @@ snapshots: '@csstools/utilities': 2.0.0(postcss@8.5.6) postcss: 8.5.6 - postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)): - dependencies: - lilconfig: 3.1.3 - yaml: 2.8.0 - optionalDependencies: - postcss: 8.5.6 - ts-node: 10.9.2(@types/node@24.1.0)(typescript@5.8.3) - postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.8.3)(webpack@5.100.2(esbuild@0.25.8)): dependencies: cosmiconfig: 8.3.6(typescript@5.8.3) @@ -20672,11 +20586,6 @@ snapshots: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 - postcss-nested@6.2.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-nesting@13.0.2(postcss@8.5.6): dependencies: '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0) @@ -21140,10 +21049,6 @@ snapshots: react@19.1.0: {} - read-cache@1.0.0: - dependencies: - pify: 2.3.0 - read-cmd-shim@4.0.0: {} read-ini-file@4.0.0: @@ -22105,16 +22010,6 @@ snapshots: stylis@4.3.6: {} - sucrase@3.35.0: - dependencies: - '@jridgewell/gen-mapping': 0.3.12 - commander: 4.1.1 - glob: 10.4.5 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.7 - ts-interface-checker: 0.1.13 - super-media-element@1.4.2: {} supports-color@7.2.0: @@ -22174,33 +22069,6 @@ snapshots: tail@2.2.6: {} - tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)): - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.3 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.7 - lilconfig: 3.1.3 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)) - postcss-nested: 6.2.0(postcss@8.5.6) - postcss-selector-parser: 6.1.2 - resolve: 1.22.10 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node - tailwindcss@4.1.11: {} talon-snippets@1.3.0: {} @@ -22263,14 +22131,6 @@ snapshots: text-hex@1.0.0: {} - thenify-all@1.6.0: - dependencies: - thenify: 3.3.1 - - thenify@3.3.1: - dependencies: - any-promise: 1.3.0 - thingies@1.21.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -22357,9 +22217,7 @@ snapshots: ts-easing@0.2.0: {} - ts-interface-checker@0.1.13: {} - - ts-jest@29.4.0(@babel/core@7.28.0)(@jest/transform@30.0.5)(@jest/types@30.0.5)(babel-jest@30.0.5(@babel/core@7.28.0))(esbuild@0.25.8)(jest-util@30.0.5)(jest@30.0.5(@types/node@24.1.0))(typescript@5.8.3): + ts-jest@29.4.0(@babel/core@7.28.0)(@jest/transform@30.0.5)(@jest/types@30.0.5)(babel-jest@30.0.5(@babel/core@7.28.0))(esbuild@0.25.8)(jest-util@30.0.5)(jest@30.0.5(@types/node@24.1.0)(ts-node@10.9.2(@types/node@24.1.0)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -23157,8 +23015,6 @@ snapshots: yallist@5.0.0: {} - yaml@2.8.0: {} - yargs-parser@21.1.1: {} yargs-unparser@2.0.0: From e3e503350a68ee63401d3b30db7cda93a061d43d Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 08:16:17 +0200 Subject: [PATCH 02/12] Update build script --- packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts | 2 +- packages/cursorless-vscode-tutorial-webview/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts b/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts index 20962f0b23..29d9e30028 100644 --- a/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts +++ b/packages/cursorless-org-docs/src/plugins/tailwind-plugin.ts @@ -3,7 +3,7 @@ import type { PluginOptions, PostCssOptions, } from "@docusaurus/types"; -import tailwindcss from "tailwindcss"; +import tailwindcss from "@tailwindcss/postcss"; export default function tailwindPlugin( _context: LoadContext, diff --git a/packages/cursorless-vscode-tutorial-webview/package.json b/packages/cursorless-vscode-tutorial-webview/package.json index 1f9123b547..c6a49f6791 100644 --- a/packages/cursorless-vscode-tutorial-webview/package.json +++ b/packages/cursorless-vscode-tutorial-webview/package.json @@ -14,7 +14,7 @@ "watch:tailwind": "pnpm build:tailwind --watch", "watch": "pnpm run --filter @cursorless/cursorless-vscode-tutorial-webview --parallel '/^watch:.*/'", "build:esbuild": "esbuild ./src/index.tsx --sourcemap --format=cjs --bundle --outfile=./out/index.js", - "build:tailwind": "tailwindcss -i ./src/index.css -o ./out/index.css", + "build:tailwind": "pnpx @tailwindcss/cli -i ./src/index.css -o ./out/index.css", "build": "pnpm build:esbuild --minify && pnpm build:tailwind --minify", "build:dev": "pnpm build:esbuild && pnpm build:tailwind", "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" From 9f01deda873794b0e93b60c15d50ca10f8037d93 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 08:22:21 +0200 Subject: [PATCH 03/12] ran prettier --- packages/cheatsheet-local/src/styles.css | 2 +- packages/cursorless-org-docs/src/css/custom.css | 2 +- packages/cursorless-org/src/components/Layout.tsx | 6 +++--- packages/cursorless-org/src/styles/globals.css | 2 +- .../cursorless-vscode-tutorial-webview/src/ProgressBar.tsx | 4 ++-- packages/cursorless-vscode-tutorial-webview/src/index.css | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/cheatsheet-local/src/styles.css b/packages/cheatsheet-local/src/styles.css index 9e48899ee4..ca7cd91e34 100644 --- a/packages/cheatsheet-local/src/styles.css +++ b/packages/cheatsheet-local/src/styles.css @@ -1,5 +1,5 @@ /* You can add global styles to this file, and also import other style files */ -@import 'tailwindcss'; +@import "tailwindcss"; /* The default border color has changed to `currentcolor` in Tailwind CSS v4, diff --git a/packages/cursorless-org-docs/src/css/custom.css b/packages/cursorless-org-docs/src/css/custom.css index 78d0cb8ca9..fddd3b593f 100644 --- a/packages/cursorless-org-docs/src/css/custom.css +++ b/packages/cursorless-org-docs/src/css/custom.css @@ -1,4 +1,4 @@ -@import 'tailwindcss'; +@import "tailwindcss"; /* The default border color has changed to `currentcolor` in Tailwind CSS v4, diff --git a/packages/cursorless-org/src/components/Layout.tsx b/packages/cursorless-org/src/components/Layout.tsx index ba1310db34..2b5df0870d 100644 --- a/packages/cursorless-org/src/components/Layout.tsx +++ b/packages/cursorless-org/src/components/Layout.tsx @@ -45,14 +45,14 @@ const components: MDXComponents = { // FIXME: Figure out how to use next/image with MDX // eslint-disable-next-line @next/next/no-img-element {alt} ), CalloutBox: ({ children }) => ( -
+
{children}
), @@ -60,7 +60,7 @@ const components: MDXComponents = {
{children}
), Testimonial: ({ children, src, name, title, company }) => ( -
+
{children}
diff --git a/packages/cursorless-org/src/styles/globals.css b/packages/cursorless-org/src/styles/globals.css index bc20a88743..a21aaae805 100644 --- a/packages/cursorless-org/src/styles/globals.css +++ b/packages/cursorless-org/src/styles/globals.css @@ -1,4 +1,4 @@ -@import 'tailwindcss'; +@import "tailwindcss"; @config '../../tailwind.config.js'; diff --git a/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx b/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx index f60434544d..ba1de26be3 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx +++ b/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx @@ -16,9 +16,9 @@ export const ProgressBar: FunctionComponent = ({ }) => { const progress = ((currentStep + 1) / stepCount) * 100; return ( -
+
diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.css b/packages/cursorless-vscode-tutorial-webview/src/index.css index ed1a2909b6..558c4b335f 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/index.css +++ b/packages/cursorless-vscode-tutorial-webview/src/index.css @@ -1,4 +1,4 @@ -@import 'tailwindcss'; +@import "tailwindcss"; @theme { --text-2xs: 0.625rem; From 2a9737faacc420e1dc2a8c34fb0f84ef3d53ea19 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 08:30:17 +0200 Subject: [PATCH 04/12] semver mismatch fix --- packages/cheatsheet-local/package.json | 2 +- packages/cursorless-org/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cheatsheet-local/package.json b/packages/cheatsheet-local/package.json index 576dc5ce45..21e3e5936c 100644 --- a/packages/cheatsheet-local/package.json +++ b/packages/cheatsheet-local/package.json @@ -34,7 +34,7 @@ }, "devDependencies": { "@effortlessmotion/html-webpack-inline-source-plugin": "^1.0.3", - "@tailwindcss/postcss": "4.1.11", + "@tailwindcss/postcss": "^4.1.11", "@testing-library/dom": "^10.4.0", "@testing-library/react": "^16.3.0", "@types/jest": "^30.0.0", diff --git a/packages/cursorless-org/package.json b/packages/cursorless-org/package.json index e426b9ae6e..856280b0f8 100644 --- a/packages/cursorless-org/package.json +++ b/packages/cursorless-org/package.json @@ -40,7 +40,7 @@ }, "devDependencies": { "@svgr/webpack": "^8.1.0", - "@tailwindcss/postcss": "4.1.11", + "@tailwindcss/postcss": "^4.1.11", "@types/mdx": "^2.0.13", "@types/node": "^24.1.0", "@types/react": "^19.1.8", From ed821048301aed552f56ceb588c502f3a6ac5524 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 08:51:41 +0200 Subject: [PATCH 05/12] Update lock file --- pnpm-lock.yaml | 48 ++++-------------------------------------------- 1 file changed, 4 insertions(+), 44 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67d7eb501c..0fdb48c64e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,7 +143,7 @@ importers: specifier: ^1.0.3 version: 1.0.3(html-webpack-plugin@5.6.3(webpack@5.100.2))(webpack@5.100.2) '@tailwindcss/postcss': - specifier: 4.1.11 + specifier: ^4.1.11 version: 4.1.11 '@testing-library/dom': specifier: ^10.4.0 @@ -499,7 +499,7 @@ importers: specifier: ^8.1.0 version: 8.1.0(typescript@5.8.3) '@tailwindcss/postcss': - specifier: 4.1.11 + specifier: ^4.1.11 version: 4.1.11 '@types/mdx': specifier: ^2.0.13 @@ -16939,7 +16939,7 @@ snapshots: eslint: 9.31.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)))(eslint@9.31.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.31.0(jiti@2.5.1)) eslint-plugin-react: 7.37.5(eslint@9.31.0(jiti@2.5.1)) eslint-plugin-react-hooks: 5.2.0(eslint@9.31.0(jiti@2.5.1)) @@ -16980,7 +16980,7 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)))(eslint@9.31.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color @@ -16999,17 +16999,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.31.0(jiti@2.5.1)): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.5.1) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)) - transitivePeerDependencies: - - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)): dependencies: debug: 3.2.7 @@ -17021,35 +17010,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0(jiti@2.5.1)))(eslint@9.31.0(jiti@2.5.1)): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.9 - array.prototype.findlastindex: 1.2.6 - array.prototype.flat: 1.3.3 - array.prototype.flatmap: 1.3.3 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 9.31.0(jiti@2.5.1) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.31.0(jiti@2.5.1)) - hasown: 2.0.2 - is-core-module: 2.16.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.1 - semver: 6.3.1 - string.prototype.trimend: 1.0.9 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 From 87b0b4556b18781946f58424a9f636ad363d1989 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 09:54:40 +0200 Subject: [PATCH 06/12] Use default border color --- packages/cheatsheet-local/src/styles.css | 19 ------------------- .../cursorless-org-docs/src/css/custom.css | 18 ------------------ .../cursorless-org/src/styles/globals.css | 18 ------------------ .../src/index.css | 18 ------------------ 4 files changed, 73 deletions(-) diff --git a/packages/cheatsheet-local/src/styles.css b/packages/cheatsheet-local/src/styles.css index ca7cd91e34..f1d8c73cdc 100644 --- a/packages/cheatsheet-local/src/styles.css +++ b/packages/cheatsheet-local/src/styles.css @@ -1,20 +1 @@ -/* You can add global styles to this file, and also import other style files */ @import "tailwindcss"; - -/* - The default border color has changed to `currentcolor` in Tailwind CSS v4, - so we've added these compatibility styles to make sure everything still - looks the same as it did with Tailwind CSS v3. - - If we ever want to remove these styles, we need to add an explicit border - color utility to any element that depends on these defaults. -*/ -@layer base { - *, - ::after, - ::before, - ::backdrop, - ::file-selector-button { - border-color: var(--color-gray-200, currentcolor); - } -} diff --git a/packages/cursorless-org-docs/src/css/custom.css b/packages/cursorless-org-docs/src/css/custom.css index fddd3b593f..bc34189fc7 100644 --- a/packages/cursorless-org-docs/src/css/custom.css +++ b/packages/cursorless-org-docs/src/css/custom.css @@ -1,23 +1,5 @@ @import "tailwindcss"; -/* - The default border color has changed to `currentcolor` in Tailwind CSS v4, - so we've added these compatibility styles to make sure everything still - looks the same as it did with Tailwind CSS v3. - - If we ever want to remove these styles, we need to add an explicit border - color utility to any element that depends on these defaults. -*/ -@layer base { - *, - ::after, - ::before, - ::backdrop, - ::file-selector-button { - border-color: var(--color-gray-200, currentcolor); - } -} - /* From https://github.com/facebook/docusaurus/blob/cc0bceab9c1678303f6237f5526753edc1b12fc3/website/src/css/custom.css#L70-L86 */ .header-github-link:hover { opacity: 0.6; diff --git a/packages/cursorless-org/src/styles/globals.css b/packages/cursorless-org/src/styles/globals.css index a21aaae805..a5f04929b6 100644 --- a/packages/cursorless-org/src/styles/globals.css +++ b/packages/cursorless-org/src/styles/globals.css @@ -2,24 +2,6 @@ @config '../../tailwind.config.js'; -/* - The default border color has changed to `currentcolor` in Tailwind CSS v4, - so we've added these compatibility styles to make sure everything still - looks the same as it did with Tailwind CSS v3. - - If we ever want to remove these styles, we need to add an explicit border - color utility to any element that depends on these defaults. -*/ -@layer base { - *, - ::after, - ::before, - ::backdrop, - ::file-selector-button { - border-color: var(--color-gray-200, currentcolor); - } -} - :root { --safe-area-inset-top: env(safe-area-inset-top); --safe-area-inset-bottom: env(safe-area-inset-bottom); diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.css b/packages/cursorless-vscode-tutorial-webview/src/index.css index 558c4b335f..fb9b096a6e 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/index.css +++ b/packages/cursorless-vscode-tutorial-webview/src/index.css @@ -3,21 +3,3 @@ @theme { --text-2xs: 0.625rem; } - -/* - The default border color has changed to `currentcolor` in Tailwind CSS v4, - so we've added these compatibility styles to make sure everything still - looks the same as it did with Tailwind CSS v3. - - If we ever want to remove these styles, we need to add an explicit border - color utility to any element that depends on these defaults. -*/ -@layer base { - *, - ::after, - ::before, - ::backdrop, - ::file-selector-button { - border-color: var(--color-gray-200, currentcolor); - } -} From 2acc5a9414c2b6fcf8b0503e6a34468aaf089544 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 10:05:20 +0200 Subject: [PATCH 07/12] Restore tailwind config files --- packages/cheatsheet-local/src/styles.css | 2 ++ packages/cheatsheet-local/tailwind.config.js | 13 +++++++++++++ packages/cursorless-org-docs/src/css/custom.css | 2 ++ packages/cursorless-org-docs/tailwind.config.js | 9 +++++++++ packages/cursorless-org/src/styles/globals.css | 2 +- .../src/index.css | 4 +--- .../tailwind.config.js | 17 +++++++++++++++++ 7 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 packages/cheatsheet-local/tailwind.config.js create mode 100644 packages/cursorless-org-docs/tailwind.config.js create mode 100644 packages/cursorless-vscode-tutorial-webview/tailwind.config.js diff --git a/packages/cheatsheet-local/src/styles.css b/packages/cheatsheet-local/src/styles.css index f1d8c73cdc..290cac4783 100644 --- a/packages/cheatsheet-local/src/styles.css +++ b/packages/cheatsheet-local/src/styles.css @@ -1 +1,3 @@ @import "tailwindcss"; + +@config "../../tailwind.config.js"; diff --git a/packages/cheatsheet-local/tailwind.config.js b/packages/cheatsheet-local/tailwind.config.js new file mode 100644 index 0000000000..2da9910980 --- /dev/null +++ b/packages/cheatsheet-local/tailwind.config.js @@ -0,0 +1,13 @@ +import { readFileSync } from "fs"; + +const references = JSON.parse( + readFileSync("tsconfig.json", "utf-8"), +).references.map((ref) => ref.path); + +export const content = [".", ...references].map( + (dir) => `${dir}/src/**/*!(*.stories|*.spec).{ts,tsx,html}`, +); +export const theme = { + extend: {}, +}; +export const plugins = []; diff --git a/packages/cursorless-org-docs/src/css/custom.css b/packages/cursorless-org-docs/src/css/custom.css index bc34189fc7..308e18447f 100644 --- a/packages/cursorless-org-docs/src/css/custom.css +++ b/packages/cursorless-org-docs/src/css/custom.css @@ -1,5 +1,7 @@ @import "tailwindcss"; +@config "../../tailwind.config.js"; + /* From https://github.com/facebook/docusaurus/blob/cc0bceab9c1678303f6237f5526753edc1b12fc3/website/src/css/custom.css#L70-L86 */ .header-github-link:hover { opacity: 0.6; diff --git a/packages/cursorless-org-docs/tailwind.config.js b/packages/cursorless-org-docs/tailwind.config.js new file mode 100644 index 0000000000..da49ad1396 --- /dev/null +++ b/packages/cursorless-org-docs/tailwind.config.js @@ -0,0 +1,9 @@ +/** @type {import('tailwindcss').Config} */ + +export const content = ["./src/**/*.{js,ts,jsx,tsx}"]; + +export const corePlugins = { + preflight: false, +}; + +export const plugins = []; diff --git a/packages/cursorless-org/src/styles/globals.css b/packages/cursorless-org/src/styles/globals.css index a5f04929b6..9187288686 100644 --- a/packages/cursorless-org/src/styles/globals.css +++ b/packages/cursorless-org/src/styles/globals.css @@ -1,6 +1,6 @@ @import "tailwindcss"; -@config '../../tailwind.config.js'; +@config "../../tailwind.config.js"; :root { --safe-area-inset-top: env(safe-area-inset-top); diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.css b/packages/cursorless-vscode-tutorial-webview/src/index.css index fb9b096a6e..290cac4783 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/index.css +++ b/packages/cursorless-vscode-tutorial-webview/src/index.css @@ -1,5 +1,3 @@ @import "tailwindcss"; -@theme { - --text-2xs: 0.625rem; -} +@config "../../tailwind.config.js"; diff --git a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js new file mode 100644 index 0000000000..fa89491448 --- /dev/null +++ b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js @@ -0,0 +1,17 @@ +import { readFileSync } from "fs"; + +const references = JSON.parse( + readFileSync("tsconfig.json", "utf-8"), +).references.map((ref) => ref.path); + +export const content = [".", ...references].map( + (dir) => `${dir}/src/**/*!(*.stories|*.spec).{ts,tsx,html}`, +); +export const theme = { + extend: { + fontSize: { + ["2xs"]: "0.625rem", + }, + }, +}; +export const plugins = []; From eb04574b06971de8582722d12432cbee5f4200da Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 10:08:36 +0200 Subject: [PATCH 08/12] Fix incorrect config path --- packages/cursorless-vscode-tutorial-webview/src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.css b/packages/cursorless-vscode-tutorial-webview/src/index.css index 290cac4783..010f190cd8 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/index.css +++ b/packages/cursorless-vscode-tutorial-webview/src/index.css @@ -1,3 +1,3 @@ @import "tailwindcss"; -@config "../../tailwind.config.js"; +@config "../tailwind.config.js"; From 7e1cd41a9c3466be38091d38893c5b4fa4285e47 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 10:20:19 +0200 Subject: [PATCH 09/12] Another incorrect import --- packages/cheatsheet-local/src/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cheatsheet-local/src/styles.css b/packages/cheatsheet-local/src/styles.css index 290cac4783..010f190cd8 100644 --- a/packages/cheatsheet-local/src/styles.css +++ b/packages/cheatsheet-local/src/styles.css @@ -1,3 +1,3 @@ @import "tailwindcss"; -@config "../../tailwind.config.js"; +@config "../tailwind.config.js"; From 6d1ac58f703e8125a2cbca0ff0241ab274d45c29 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 12:22:54 +0200 Subject: [PATCH 10/12] Clean up tail wind config files --- packages/cheatsheet-local/tailwind.config.js | 15 +-- .../cursorless-org-docs/tailwind.config.js | 20 ++-- packages/cursorless-org/tailwind.config.js | 102 +++++++++--------- .../tailwind.config.js | 19 ++-- 4 files changed, 82 insertions(+), 74 deletions(-) diff --git a/packages/cheatsheet-local/tailwind.config.js b/packages/cheatsheet-local/tailwind.config.js index 2da9910980..f0676e75a9 100644 --- a/packages/cheatsheet-local/tailwind.config.js +++ b/packages/cheatsheet-local/tailwind.config.js @@ -1,13 +1,14 @@ -import { readFileSync } from "fs"; +import { readFileSync } from "node:fs"; const references = JSON.parse( readFileSync("tsconfig.json", "utf-8"), ).references.map((ref) => ref.path); -export const content = [".", ...references].map( - (dir) => `${dir}/src/**/*!(*.stories|*.spec).{ts,tsx,html}`, -); -export const theme = { - extend: {}, +/** @type {import('tailwindcss').Config} */ +export default { + content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{js,ts,jsx,tsx}`), + theme: { + extend: {}, + }, + plugins: [], }; -export const plugins = []; diff --git a/packages/cursorless-org-docs/tailwind.config.js b/packages/cursorless-org-docs/tailwind.config.js index da49ad1396..473fd7f86f 100644 --- a/packages/cursorless-org-docs/tailwind.config.js +++ b/packages/cursorless-org-docs/tailwind.config.js @@ -1,9 +1,17 @@ -/** @type {import('tailwindcss').Config} */ +import { readFileSync } from "node:fs"; -export const content = ["./src/**/*.{js,ts,jsx,tsx}"]; +const references = JSON.parse( + readFileSync("tsconfig.json", "utf-8"), +).references.map((ref) => ref.path); -export const corePlugins = { - preflight: false, +/** @type {import('tailwindcss').Config} */ +export default { + content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{js,ts,jsx,tsx}`), + theme: { + extend: {}, + }, + corePlugins: { + preflight: false, + }, + plugins: [], }; - -export const plugins = []; diff --git a/packages/cursorless-org/tailwind.config.js b/packages/cursorless-org/tailwind.config.js index 10f42e334e..6c5fb3dd53 100644 --- a/packages/cursorless-org/tailwind.config.js +++ b/packages/cursorless-org/tailwind.config.js @@ -1,6 +1,5 @@ -import { fontFamily as _fontFamily } from "tailwindcss/defaultTheme"; -import { join } from "path"; -import { readFileSync } from "fs"; +import { fontFamily } from "tailwindcss/defaultTheme"; +import { readFileSync } from "node:fs"; const CONTENT_RATIO = 1000 / 814; @@ -44,60 +43,59 @@ const { } = getScalingStrings(5, 5); const references = JSON.parse( - // eslint-disable-next-line unicorn/prefer-module - readFileSync(join(__dirname, "tsconfig.json"), "utf-8"), + readFileSync("tsconfig.json", "utf-8"), ).references.map((ref) => ref.path); /** @type {import('tailwindcss').Config} */ -export const content = [".", ...references].map( - (pkg) => `${pkg}/src/**/*.{js,ts,jsx,tsx}`, -); -export const theme = { - extend: { - screens: { - stretched: { raw: "(min-aspect-ratio: 2/1), (max-aspect-ratio: 1/1)" }, - }, - fontFamily: { - mono: ["Inconsolata", ..._fontFamily.mono], - monoWide: ["Inconsolata-SemiExpanded", ..._fontFamily.mono], - }, - width: { - smBase: smallWidth, - stretchedBase: stretchedWidth, - }, - height: { - smBase: smallHeight, - stretchedBase: stretchedHeight, - }, - fontSize: { - smBase: smallFontSize, - stretchedBase: stretchedFontSize, - xs: "1.2em", - lg: "1.8em", - "2xl": "2.4em", - "3xl": "3.6em", - }, - colors: { - salmon: { - 100: "#FFFAF8", - 300: "#F8C9BA", - 400: "#FF9273", - 700: "#372e2a", - 800: "#161110", - 900: "#0A0707", +export default { + content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{js,ts,jsx,tsx}`), + theme: { + extend: { + screens: { + stretched: { raw: "(min-aspect-ratio: 2/1), (max-aspect-ratio: 1/1)" }, + }, + fontFamily: { + mono: ["Inconsolata", ...fontFamily.mono], + monoWide: ["Inconsolata-SemiExpanded", ...fontFamily.mono], + }, + width: { + smBase: smallWidth, + stretchedBase: stretchedWidth, + }, + height: { + smBase: smallHeight, + stretchedBase: stretchedHeight, + }, + fontSize: { + smBase: smallFontSize, + stretchedBase: stretchedFontSize, + xs: "1.2em", + lg: "1.8em", + "2xl": "2.4em", + "3xl": "3.6em", }, - teal: { - 100: "#F9FFFE", - 200: "#CDFFF9", - 300: "#99FFF3", - 400: "#00907F", - 500: "#47D4C3", - 600: "#0F776B", - 700: "#005349", - 800: "#00443C", - 900: "#00110F", + colors: { + salmon: { + 100: "#FFFAF8", + 300: "#F8C9BA", + 400: "#FF9273", + 700: "#372e2a", + 800: "#161110", + 900: "#0A0707", + }, + teal: { + 100: "#F9FFFE", + 200: "#CDFFF9", + 300: "#99FFF3", + 400: "#00907F", + 500: "#47D4C3", + 600: "#0F776B", + 700: "#005349", + 800: "#00443C", + 900: "#00110F", + }, }, }, }, + plugins: [], }; -export const plugins = []; diff --git a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js index fa89491448..32c2d96fd3 100644 --- a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js +++ b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js @@ -1,17 +1,18 @@ -import { readFileSync } from "fs"; +import { readFileSync } from "node:fs"; const references = JSON.parse( readFileSync("tsconfig.json", "utf-8"), ).references.map((ref) => ref.path); -export const content = [".", ...references].map( - (dir) => `${dir}/src/**/*!(*.stories|*.spec).{ts,tsx,html}`, -); -export const theme = { - extend: { - fontSize: { - ["2xs"]: "0.625rem", +/** @type {import('tailwindcss').Config} */ +export default { + content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{js,ts,jsx,tsx}`), + theme: { + extend: { + fontSize: { + ["2xs"]: "0.625rem", + }, }, }, + plugins: [], }; -export const plugins = []; From 47f8856d9f6a668d053925c83ae573456c649540 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 13:05:14 +0200 Subject: [PATCH 11/12] More clean up --- packages/cheatsheet-local/tailwind.config.js | 2 +- packages/cursorless-vscode-tutorial-webview/src/index.css | 4 ++++ .../cursorless-vscode-tutorial-webview/tailwind.config.js | 8 ++------ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/cheatsheet-local/tailwind.config.js b/packages/cheatsheet-local/tailwind.config.js index f0676e75a9..2bd01894c0 100644 --- a/packages/cheatsheet-local/tailwind.config.js +++ b/packages/cheatsheet-local/tailwind.config.js @@ -6,7 +6,7 @@ const references = JSON.parse( /** @type {import('tailwindcss').Config} */ export default { - content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{js,ts,jsx,tsx}`), + content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{ts,tsx,html}`), theme: { extend: {}, }, diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.css b/packages/cursorless-vscode-tutorial-webview/src/index.css index 010f190cd8..ee1180cd9e 100644 --- a/packages/cursorless-vscode-tutorial-webview/src/index.css +++ b/packages/cursorless-vscode-tutorial-webview/src/index.css @@ -1,3 +1,7 @@ @import "tailwindcss"; @config "../tailwind.config.js"; + +@theme { + --text-2xs: 0.625rem; +} diff --git a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js index 32c2d96fd3..2bd01894c0 100644 --- a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js +++ b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js @@ -6,13 +6,9 @@ const references = JSON.parse( /** @type {import('tailwindcss').Config} */ export default { - content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{js,ts,jsx,tsx}`), + content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{ts,tsx,html}`), theme: { - extend: { - fontSize: { - ["2xs"]: "0.625rem", - }, - }, + extend: {}, }, plugins: [], }; From 9381b2f289970b4abc6b1dd81d0510ea457c77c2 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sat, 26 Jul 2025 13:10:38 +0200 Subject: [PATCH 12/12] Exclude spec files --- packages/cheatsheet-local/tailwind.config.js | 5 ++++- .../cursorless-vscode-tutorial-webview/tailwind.config.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/cheatsheet-local/tailwind.config.js b/packages/cheatsheet-local/tailwind.config.js index 2bd01894c0..1f717a9105 100644 --- a/packages/cheatsheet-local/tailwind.config.js +++ b/packages/cheatsheet-local/tailwind.config.js @@ -6,7 +6,10 @@ const references = JSON.parse( /** @type {import('tailwindcss').Config} */ export default { - content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{ts,tsx,html}`), + content: [".", ...references].flatMap((pkg) => [ + `${pkg}/src/**/*.{ts,tsx,html}`, + `!${pkg}/src/**/*.{stories,spec}.{ts,tsx,html}`, + ]), theme: { extend: {}, }, diff --git a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js index 2bd01894c0..1f717a9105 100644 --- a/packages/cursorless-vscode-tutorial-webview/tailwind.config.js +++ b/packages/cursorless-vscode-tutorial-webview/tailwind.config.js @@ -6,7 +6,10 @@ const references = JSON.parse( /** @type {import('tailwindcss').Config} */ export default { - content: [".", ...references].map((pkg) => `${pkg}/src/**/*.{ts,tsx,html}`), + content: [".", ...references].flatMap((pkg) => [ + `${pkg}/src/**/*.{ts,tsx,html}`, + `!${pkg}/src/**/*.{stories,spec}.{ts,tsx,html}`, + ]), theme: { extend: {}, },