diff --git a/docs/preview/README.md b/docs/preview/README.md index b5707632b0..b2c858fea1 100644 --- a/docs/preview/README.md +++ b/docs/preview/README.md @@ -4,8 +4,12 @@ This tool makes it easier to preview reference docs that are deployed to shopify ## Usage -Run the CLI with a path to the docs metadata file, and an app will boot up rendering a preview of the docs. +Run the dev command from a path that contains a `docs/generated/generated_docs_data.json` file. + +Example from the `packages/hydrogen` or `packages/hydrogen-react` directories: ```bash -node preview/bin/cli.js path/to/generated_docs_data.json +npm run dev --prefix ../../docs/preview ``` + +Alternatively, pass `GEN_DOCS_PATH` as an environment variable to overwrite the default path. diff --git a/docs/preview/app/root.tsx b/docs/preview/app/root.tsx index c4d312870c..5469d77c49 100644 --- a/docs/preview/app/root.tsx +++ b/docs/preview/app/root.tsx @@ -1,7 +1,6 @@ import {json, type LinksFunction} from '@remix-run/node'; import { Links, - LiveReload, Meta, NavLink, Outlet, @@ -10,7 +9,7 @@ import { useLoaderData, useParams, } from '@remix-run/react'; -import stylesheet from '~/tailwind.css'; +import stylesheet from '~/tailwind.css?url'; import {Fragment, useCallback, useState} from 'react'; import he from 'he'; @@ -19,8 +18,7 @@ export const links: LinksFunction = () => [ ]; export async function loader() { - delete require.cache[process.env.DOCS_META_FILE!]; - const data = require(process.env.DOCS_META_FILE!); + const {default: data} = await import('virtual:docs.json'); for (const doc of data) { for (const tab of doc.defaultExample.codeblock.tabs) { @@ -69,7 +67,6 @@ export default function App() { - ); diff --git a/docs/preview/app/tailwind.css b/docs/preview/app/tailwind.css index b5c61c9567..d4b5078586 100644 --- a/docs/preview/app/tailwind.css +++ b/docs/preview/app/tailwind.css @@ -1,3 +1 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; diff --git a/docs/preview/bin/cli.js b/docs/preview/bin/cli.js deleted file mode 100644 index 5c1abddfff..0000000000 --- a/docs/preview/bin/cli.js +++ /dev/null @@ -1,12 +0,0 @@ -const {spawnSync} = require('child_process'); -const path = require('path'); - -const docsMetaFile = path.resolve(process.cwd(), process.argv[2]); -process.env.DOCS_META_FILE = docsMetaFile; - -console.log('Watching: ' + docsMetaFile); - -spawnSync('npm', ['run', 'dev'], { - cwd: path.resolve(__dirname, '..'), - stdio: 'inherit', -}); diff --git a/docs/preview/env.d.ts b/docs/preview/env.d.ts new file mode 100644 index 0000000000..4e6944926a --- /dev/null +++ b/docs/preview/env.d.ts @@ -0,0 +1,7 @@ +/// +/// + +declare module 'virtual:docs.json' { + const value: Array>; + export default value; +} diff --git a/docs/preview/package.json b/docs/preview/package.json index 2a1adec2e4..86fc25025a 100644 --- a/docs/preview/package.json +++ b/docs/preview/package.json @@ -2,18 +2,17 @@ "name": "docs-preview", "private": true, "sideEffects": false, + "type": "module", "scripts": { - "build": "remix build", - "dev": "remix dev", + "dev": "remix vite:dev", "typecheck": "tsc" }, "dependencies": { - "@remix-run/css-bundle": "^2.10.1", "@remix-run/node": "^2.10.1", "@remix-run/react": "^2.10.1", "@remix-run/serve": "^2.10.1", "he": "^1.2.0", - "isbot": "^3.6.8", + "isbot": "^3.8.0", "marked": "^9.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -22,13 +21,15 @@ "devDependencies": { "@remix-run/dev": "^2.10.1", "@remix-run/eslint-config": "^2.10.1", + "@tailwindcss/vite": "4.0.0-alpha.16", "@types/he": "^1.2.1", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", "@types/react-syntax-highlighter": "^15.5.7", "eslint": "^8.38.0", - "tailwindcss": "^3.3.0", - "typescript": "^5.2.2" + "typescript": "^5.2.2", + "vite": "^5.1.0", + "vite-tsconfig-paths": "^4.3.1" }, "engines": { "node": ">=18.0.0" diff --git a/docs/preview/remix.config.js b/docs/preview/remix.config.js deleted file mode 100644 index fbf79095ce..0000000000 --- a/docs/preview/remix.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('@remix-run/dev').AppConfig} */ -module.exports = { - ignoredRouteFiles: ['**/.*'], - watchPaths: [process.env.DOCS_META_FILE], - serverModuleFormat: 'cjs', -}; diff --git a/docs/preview/remix.env.d.ts b/docs/preview/remix.env.d.ts deleted file mode 100644 index dcf8c45e1d..0000000000 --- a/docs/preview/remix.env.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -/// diff --git a/docs/preview/tailwind.config.js b/docs/preview/tailwind.config.js deleted file mode 100644 index c47f1a9545..0000000000 --- a/docs/preview/tailwind.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - content: ['./app/**/*.{js,jsx,ts,tsx}'], - theme: { - extend: {}, - }, - plugins: [], -}; diff --git a/docs/preview/tailwind.config.ts b/docs/preview/tailwind.config.ts deleted file mode 100644 index 8aa1ec6d06..0000000000 --- a/docs/preview/tailwind.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type {Config} from 'tailwindcss'; - -module.exports = { - content: ['./app/**/*.{js,jsx,ts,tsx}'], - theme: { - extend: {}, - }, - plugins: [], -} satisfies Config; diff --git a/docs/preview/tsconfig.json b/docs/preview/tsconfig.json index b3a178bfee..2b0ad038ec 100644 --- a/docs/preview/tsconfig.json +++ b/docs/preview/tsconfig.json @@ -1,5 +1,5 @@ { - "include": ["remix.env.d.ts", "**/*.ts", "**/*.tsx"], + "include": ["env.d.ts", "**/*.ts", "**/*.tsx"], "compilerOptions": { "lib": ["DOM", "DOM.Iterable", "ES2022"], "isolatedModules": true, diff --git a/docs/preview/vite.config.js b/docs/preview/vite.config.js new file mode 100644 index 0000000000..4510819d7f --- /dev/null +++ b/docs/preview/vite.config.js @@ -0,0 +1,43 @@ +import path from 'node:path'; +import {defineConfig} from 'vite'; +import {vitePlugin as remix} from '@remix-run/dev'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import tailwindcss from '@tailwindcss/vite'; + +const {INIT_CWD, GEN_DOCS_PATH} = process.env; + +if (!GEN_DOCS_PATH && INIT_CWD === process.env.PWD) { + const message = + '\n\nRun this utility from a directory that contains a generated docs folder,\n' + + 'or set the `GEN_DOCS_PATH` environment variable to the path of the generated docs folder.\n\n'; + const error = new Error(message); + error.stack = ''; + throw error; +} + +export default defineConfig({ + plugins: [ + remix({ + ignoredRouteFiles: ['**/.*'], + future: { + v3_fetcherPersist: false, + v3_relativeSplatPath: false, + v3_throwAbortReason: false, + }, + }), + tsconfigPaths(), + tailwindcss(), + { + name: 'docs:preview', + resolveId(id) { + if (id.startsWith('virtual:docs.json')) { + return { + id: + GEN_DOCS_PATH ?? + path.join(INIT_CWD, 'docs/generated/generated_docs_data.json'), + }; + } + }, + }, + ], +}); diff --git a/examples/express/package.json b/examples/express/package.json index 73a2dd6d2f..a0c7420549 100644 --- a/examples/express/package.json +++ b/examples/express/package.json @@ -10,7 +10,6 @@ "typecheck": "tsc" }, "dependencies": { - "@remix-run/css-bundle": "^2.10.1", "@remix-run/express": "^2.10.1", "@remix-run/node": "^2.10.1", "@remix-run/react": "^2.10.1", diff --git a/package-lock.json b/package-lock.json index 3273ef4a81..2bb59e84b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,12 +55,11 @@ "docs/preview": { "name": "docs-preview", "dependencies": { - "@remix-run/css-bundle": "^2.10.1", "@remix-run/node": "^2.10.1", "@remix-run/react": "^2.10.1", "@remix-run/serve": "^2.10.1", "he": "^1.2.0", - "isbot": "^3.6.8", + "isbot": "^3.8.0", "marked": "^9.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -69,13 +68,15 @@ "devDependencies": { "@remix-run/dev": "^2.10.1", "@remix-run/eslint-config": "^2.10.1", + "@tailwindcss/vite": "4.0.0-alpha.16", "@types/he": "^1.2.1", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", "@types/react-syntax-highlighter": "^15.5.7", "eslint": "^8.38.0", - "tailwindcss": "^3.3.0", - "typescript": "^5.2.2" + "typescript": "^5.2.2", + "vite": "^5.1.0", + "vite-tsconfig-paths": "^4.3.1" }, "engines": { "node": ">=18.0.0" @@ -109,7 +110,6 @@ "examples/express": { "name": "example-hydrogen-express", "dependencies": { - "@remix-run/css-bundle": "^2.10.1", "@remix-run/express": "^2.10.1", "@remix-run/node": "^2.10.1", "@remix-run/react": "^2.10.1", @@ -6595,14 +6595,6 @@ "node": ">=12" } }, - "node_modules/@remix-run/css-bundle": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@remix-run/css-bundle/-/css-bundle-2.10.1.tgz", - "integrity": "sha512-pbI7VxClUCgeUYlK4woRJKjbbvYblJFTZu4vWzPKZUEGV0xk4Up2CKm0H+1EiHmO0+M9emiu1XuZui6vbVCFdg==", - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@remix-run/dev": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/@remix-run/dev/-/dev-2.10.1.tgz", @@ -8129,9 +8121,9 @@ } }, "node_modules/@shopify/oxygen-workers-types": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@shopify/oxygen-workers-types/-/oxygen-workers-types-4.1.2.tgz", - "integrity": "sha512-UypDLh4/BR56i8kq+iZk4meJQd584A9I/RH2kQah/I0UK6k8ohWl5ehfwaxOwAtc/fDSsj+2WA6fbOLRa9FtKA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@shopify/oxygen-workers-types/-/oxygen-workers-types-4.1.3.tgz", + "integrity": "sha512-HBLl8ZTWG0T5B9DxSxMmTkhQ0RPYAQr7t5D5cyp9MpU9hh0Ab2QkOEQoVi2UQcyU88fKeUx596YAPPOxobFD2w==", "dev": true }, "node_modules/@shopify/plugin-cloudflare": { @@ -8419,6 +8411,201 @@ "node": ">=14.16" } }, + "node_modules/@tailwindcss/oxide": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.0.0-alpha.16.tgz", + "integrity": "sha512-sm/Y8dcTyM7WtNqGhpBkzcjWwhMqt46CN2VQ0KxAFH+FAz4BElnl/8eWaSd1ZKWosxDQCXB8d2Yy38h7Yqbw8g==", + "dev": true, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.0.0-alpha.16", + "@tailwindcss/oxide-darwin-arm64": "4.0.0-alpha.16", + "@tailwindcss/oxide-darwin-x64": "4.0.0-alpha.16", + "@tailwindcss/oxide-freebsd-x64": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-arm64-gnu": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-arm64-musl": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-x64-gnu": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-x64-musl": "4.0.0-alpha.16", + "@tailwindcss/oxide-win32-x64-msvc": "4.0.0-alpha.16" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.0-alpha.16.tgz", + "integrity": "sha512-duaTHvkAeUJQoqfA5XnYIp6F0PtqdcjXILuUF43wV0hC3NH2CECaxAgG2Ca5OVFAGqCI3fo29iqPMVcEEDlyjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.0-alpha.16.tgz", + "integrity": "sha512-4T5+35t5Qb0hZLLmclhVzsV5tmnjMwCqEySMnG8YLMB7YlATvmZG9TL8JqJLQjxqwjMDsl5tCddkui4FAxgLbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.0-alpha.16.tgz", + "integrity": "sha512-dchop1QRdOcnh8hwI/w1HrUgE3ZAvvz8iCEv5akEA0zOglBsHd3hGA2u8zAt5PrDz/wBmdOpr+R5H2bYLw1MPw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.0-alpha.16.tgz", + "integrity": "sha512-K5otxfNigxsY2fkgHI63Jjm+hvSI4gCFa2xGtsvTVUEHPUTOEo4n+aj9yIkNFgGpeIDii2nt3DtKYjhKyfUirw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.0-alpha.16.tgz", + "integrity": "sha512-AT8tYba/32q5FVLnJThcvYS8zmOBwLU5JzScaTY0Lc34WbGQ0+y6dtPlZoyyW+e+OBI8mDsTiD2BR3h0rdqb7g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.0-alpha.16.tgz", + "integrity": "sha512-RcKr+fXs0kOT679UM2SEBRqGkXTP+jzk9+G96gwqa4OLgp6fiW1TSRB22V8j+Q10oWqfMHxsBSe9awM7F2ebuw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.0-alpha.16.tgz", + "integrity": "sha512-lsUf21WkPufMVSOmj3EwoSGdb0KbCq0czMChkeIyLlt5WC/ZvH0ZMd9U5sfHQ7c1Q9usWfhz+Is9SbX7n2WvuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.0-alpha.16.tgz", + "integrity": "sha512-D+uu2PCFb1fOuVWWS+xhtKVfbNbPmGYdMy4xwplOdHn8gacokUvDGsKdW/nogFoHtSws4+U6O4+mFjSQH3heSg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.0-alpha.16.tgz", + "integrity": "sha512-zFoaEQvx9DhXO7LUNRlmUFm8N92LXs9n1YD/60MOYJqpVzPdqLBplk+Ltpw1NPE/Y2BZ7XvXyrBl11XH6Wj0/A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.0-alpha.16.tgz", + "integrity": "sha512-ClCzUFuD6xptvcksYtoLJekUdSN9TVoSrr66eNVAErtA+vKKTThOyliEz/pZfe7lHsI93sDR22HMtu/zP0prJA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.0.0-alpha.16.tgz", + "integrity": "sha512-Zeft2VUwKvg7f7fHdftHt+VNWNPKhZH1gkRRKnU0qCa2SVEX5ShgokrsUE0sWIWSbETu5sUJeLPoZI3k/WaVMg==", + "dev": true, + "dependencies": { + "@tailwindcss/oxide": "4.0.0-alpha.16", + "lightningcss": "^1.25.1", + "tailwindcss": "4.0.0-alpha.16" + }, + "peerDependencies": { + "vite": "^5.2.0" + } + }, "node_modules/@testing-library/dom": { "version": "8.20.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", @@ -10911,14 +11098,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/camelcase-keys": { "version": "7.0.2", "dev": true, @@ -12488,11 +12667,6 @@ "integrity": "sha512-wivW6Jfe1Y75MY4PdZAaVsyeL37oMfmbodbuWkAQDuE1YAAJ5GnyrNpTfhXoQXFBoIWQdmBEf6t4U73OXctHrQ==", "dev": true }, - "node_modules/didyoumean": { - "version": "1.2.2", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/diff": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", @@ -12532,11 +12706,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/dlv": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, "node_modules/docs-preview": { "resolved": "docs/preview", "link": true @@ -17761,9 +17930,9 @@ } }, "node_modules/jiti": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", - "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "devOptional": true, "bin": { "jiti": "bin/jiti.js" @@ -18065,13 +18234,232 @@ "node": ">= 0.8.0" } }, + "node_modules/lightningcss": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.25.1.tgz", + "integrity": "sha512-V0RMVZzK1+rCHpymRv4URK2lNhIRyO8g7U7zOFwVAhJuat74HtkjIQpQRKNCwFEYkRGpafOpmXXLoaoBcyVtBg==", + "dev": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.25.1", + "lightningcss-darwin-x64": "1.25.1", + "lightningcss-freebsd-x64": "1.25.1", + "lightningcss-linux-arm-gnueabihf": "1.25.1", + "lightningcss-linux-arm64-gnu": "1.25.1", + "lightningcss-linux-arm64-musl": "1.25.1", + "lightningcss-linux-x64-gnu": "1.25.1", + "lightningcss-linux-x64-musl": "1.25.1", + "lightningcss-win32-x64-msvc": "1.25.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.25.1.tgz", + "integrity": "sha512-G4Dcvv85bs5NLENcu/s1f7ehzE3D5ThnlWSDwE190tWXRQCQaqwcuHe+MGSVI/slm0XrxnaayXY+cNl3cSricw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.25.1.tgz", + "integrity": "sha512-dYWuCzzfqRueDSmto6YU5SoGHvZTMU1Em9xvhcdROpmtOQLorurUZz8+xFxZ51lCO2LnYbfdjZ/gCqWEkwixNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.25.1.tgz", + "integrity": "sha512-hXoy2s9A3KVNAIoKz+Fp6bNeY+h9c3tkcx1J3+pS48CqAt+5bI/R/YY4hxGL57fWAIquRjGKW50arltD6iRt/w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.25.1.tgz", + "integrity": "sha512-tWyMgHFlHlp1e5iW3EpqvH5MvsgoN7ZkylBbG2R2LWxnvH3FuWCJOhtGcYx9Ks0Kv0eZOBud789odkYLhyf1ng==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.25.1.tgz", + "integrity": "sha512-Xjxsx286OT9/XSnVLIsFEDyDipqe4BcLeB4pXQ/FEA5+2uWCCuAEarUNQumRucnj7k6ftkAHUEph5r821KBccQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.25.1.tgz", + "integrity": "sha512-IhxVFJoTW8wq6yLvxdPvyHv4NjzcpN1B7gjxrY3uaykQNXPHNIpChLB52+wfH+yS58zm1PL4LemUp8u9Cfp6Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.25.1.tgz", + "integrity": "sha512-RXIaru79KrREPEd6WLXfKfIp4QzoppZvD3x7vuTKkDA64PwTzKJ2jaC43RZHRt8BmyIkRRlmywNhTRMbmkPYpA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.25.1.tgz", + "integrity": "sha512-TdcNqFsAENEEFr8fJWg0Y4fZ/nwuqTRsIr7W7t2wmDUlA8eSXVepeeONYcb+gtTj1RaXn/WgNLB45SFkz+XBZA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.25.1.tgz", + "integrity": "sha512-9KZZkmmy9oGDSrnyHuxP6iMhbsgChUiu/NSgOx+U1I/wTngBStDf2i2aGRCHvFqj19HqqBEI4WuGVQBa2V6e0A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -22149,14 +22537,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-hash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/object-inspect": { "version": "1.12.2", "license": "MIT", @@ -23084,24 +23464,6 @@ "postcss": "^8.2.15" } }, - "node_modules/postcss-js": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.3.3" - } - }, "node_modules/postcss-load-config": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", @@ -23137,18 +23499,6 @@ } } }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, "node_modules/postcss-modules": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.0.tgz", @@ -23227,29 +23577,10 @@ "postcss": "^8.1.0" } }, - "node_modules/postcss-nested": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.0.10", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -23696,22 +24027,6 @@ "react": ">= 0.14.0" } }, - "node_modules/read-cache": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-cache/node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/read-pkg": { "version": "5.2.0", "dev": true, @@ -26067,12 +26382,14 @@ } }, "node_modules/sucrase": { - "version": "3.29.0", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, - "license": "MIT", "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -26083,7 +26400,16 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/sucrase/node_modules/commander": { @@ -26095,19 +26421,38 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -26179,108 +26524,10 @@ "dev": true }, "node_modules/tailwindcss": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.17.2", - "lilconfig": "^2.0.6", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1", - "sucrase": "^3.29.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tailwindcss/node_modules/postcss-import": { - "version": "14.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/tailwindcss/node_modules/postcss-load-config": { - "version": "3.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/tailwindcss/node_modules/yaml": { - "version": "1.10.2", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.0-alpha.16.tgz", + "integrity": "sha512-h6UIkQEpOJZy0N8tXeWgIhsEYPfUyqST9Oidr46+1W78p8S9hjJDfnW08/bKW17NA9/ro8sZvFHT98LtwwxtSQ==", + "dev": true }, "node_modules/tapable": { "version": "2.2.1", @@ -36545,11 +36792,6 @@ "config-chain": "^1.1.11" } }, - "@remix-run/css-bundle": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@remix-run/css-bundle/-/css-bundle-2.10.1.tgz", - "integrity": "sha512-pbI7VxClUCgeUYlK4woRJKjbbvYblJFTZu4vWzPKZUEGV0xk4Up2CKm0H+1EiHmO0+M9emiu1XuZui6vbVCFdg==" - }, "@remix-run/dev": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/@remix-run/dev/-/dev-2.10.1.tgz", @@ -39203,9 +39445,9 @@ } }, "@shopify/oxygen-workers-types": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@shopify/oxygen-workers-types/-/oxygen-workers-types-4.1.2.tgz", - "integrity": "sha512-UypDLh4/BR56i8kq+iZk4meJQd584A9I/RH2kQah/I0UK6k8ohWl5ehfwaxOwAtc/fDSsj+2WA6fbOLRa9FtKA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@shopify/oxygen-workers-types/-/oxygen-workers-types-4.1.3.tgz", + "integrity": "sha512-HBLl8ZTWG0T5B9DxSxMmTkhQ0RPYAQr7t5D5cyp9MpU9hh0Ab2QkOEQoVi2UQcyU88fKeUx596YAPPOxobFD2w==", "dev": true }, "@shopify/plugin-cloudflare": { @@ -39363,6 +39605,105 @@ "defer-to-connect": "^2.0.1" } }, + "@tailwindcss/oxide": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.0.0-alpha.16.tgz", + "integrity": "sha512-sm/Y8dcTyM7WtNqGhpBkzcjWwhMqt46CN2VQ0KxAFH+FAz4BElnl/8eWaSd1ZKWosxDQCXB8d2Yy38h7Yqbw8g==", + "dev": true, + "requires": { + "@tailwindcss/oxide-android-arm64": "4.0.0-alpha.16", + "@tailwindcss/oxide-darwin-arm64": "4.0.0-alpha.16", + "@tailwindcss/oxide-darwin-x64": "4.0.0-alpha.16", + "@tailwindcss/oxide-freebsd-x64": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-arm64-gnu": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-arm64-musl": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-x64-gnu": "4.0.0-alpha.16", + "@tailwindcss/oxide-linux-x64-musl": "4.0.0-alpha.16", + "@tailwindcss/oxide-win32-x64-msvc": "4.0.0-alpha.16" + } + }, + "@tailwindcss/oxide-android-arm64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.0-alpha.16.tgz", + "integrity": "sha512-duaTHvkAeUJQoqfA5XnYIp6F0PtqdcjXILuUF43wV0hC3NH2CECaxAgG2Ca5OVFAGqCI3fo29iqPMVcEEDlyjA==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-darwin-arm64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.0-alpha.16.tgz", + "integrity": "sha512-4T5+35t5Qb0hZLLmclhVzsV5tmnjMwCqEySMnG8YLMB7YlATvmZG9TL8JqJLQjxqwjMDsl5tCddkui4FAxgLbA==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-darwin-x64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.0-alpha.16.tgz", + "integrity": "sha512-dchop1QRdOcnh8hwI/w1HrUgE3ZAvvz8iCEv5akEA0zOglBsHd3hGA2u8zAt5PrDz/wBmdOpr+R5H2bYLw1MPw==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-freebsd-x64": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.0-alpha.16.tgz", + "integrity": "sha512-K5otxfNigxsY2fkgHI63Jjm+hvSI4gCFa2xGtsvTVUEHPUTOEo4n+aj9yIkNFgGpeIDii2nt3DtKYjhKyfUirw==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.0-alpha.16.tgz", + "integrity": "sha512-AT8tYba/32q5FVLnJThcvYS8zmOBwLU5JzScaTY0Lc34WbGQ0+y6dtPlZoyyW+e+OBI8mDsTiD2BR3h0rdqb7g==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.0-alpha.16.tgz", + "integrity": "sha512-RcKr+fXs0kOT679UM2SEBRqGkXTP+jzk9+G96gwqa4OLgp6fiW1TSRB22V8j+Q10oWqfMHxsBSe9awM7F2ebuw==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.0-alpha.16.tgz", + "integrity": "sha512-lsUf21WkPufMVSOmj3EwoSGdb0KbCq0czMChkeIyLlt5WC/ZvH0ZMd9U5sfHQ7c1Q9usWfhz+Is9SbX7n2WvuA==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.0-alpha.16.tgz", + "integrity": "sha512-D+uu2PCFb1fOuVWWS+xhtKVfbNbPmGYdMy4xwplOdHn8gacokUvDGsKdW/nogFoHtSws4+U6O4+mFjSQH3heSg==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-linux-x64-musl": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.0-alpha.16.tgz", + "integrity": "sha512-zFoaEQvx9DhXO7LUNRlmUFm8N92LXs9n1YD/60MOYJqpVzPdqLBplk+Ltpw1NPE/Y2BZ7XvXyrBl11XH6Wj0/A==", + "dev": true, + "optional": true + }, + "@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.0-alpha.16.tgz", + "integrity": "sha512-ClCzUFuD6xptvcksYtoLJekUdSN9TVoSrr66eNVAErtA+vKKTThOyliEz/pZfe7lHsI93sDR22HMtu/zP0prJA==", + "dev": true, + "optional": true + }, + "@tailwindcss/vite": { + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.0.0-alpha.16.tgz", + "integrity": "sha512-Zeft2VUwKvg7f7fHdftHt+VNWNPKhZH1gkRRKnU0qCa2SVEX5ShgokrsUE0sWIWSbETu5sUJeLPoZI3k/WaVMg==", + "dev": true, + "requires": { + "@tailwindcss/oxide": "4.0.0-alpha.16", + "lightningcss": "^1.25.1", + "tailwindcss": "4.0.0-alpha.16" + } + }, "@testing-library/dom": { "version": "8.20.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", @@ -41208,10 +41549,6 @@ "version": "6.3.0", "dev": true }, - "camelcase-css": { - "version": "2.0.1", - "dev": true - }, "camelcase-keys": { "version": "7.0.2", "dev": true, @@ -42239,10 +42576,6 @@ "integrity": "sha512-wivW6Jfe1Y75MY4PdZAaVsyeL37oMfmbodbuWkAQDuE1YAAJ5GnyrNpTfhXoQXFBoIWQdmBEf6t4U73OXctHrQ==", "dev": true }, - "didyoumean": { - "version": "1.2.2", - "dev": true - }, "diff": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", @@ -42265,32 +42598,29 @@ "resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz", "integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==" }, - "dlv": { - "version": "1.1.3", - "dev": true - }, "docs-preview": { "version": "file:docs/preview", "requires": { - "@remix-run/css-bundle": "^2.10.1", "@remix-run/dev": "^2.10.1", "@remix-run/eslint-config": "^2.10.1", "@remix-run/node": "^2.10.1", "@remix-run/react": "^2.10.1", "@remix-run/serve": "^2.10.1", + "@tailwindcss/vite": "4.0.0-alpha.16", "@types/he": "^1.2.1", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", "@types/react-syntax-highlighter": "^15.5.7", "eslint": "^8.38.0", "he": "^1.2.0", - "isbot": "^3.6.8", + "isbot": "^3.8.0", "marked": "^9.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-syntax-highlighter": "^15.5.0", - "tailwindcss": "^3.3.0", - "typescript": "^5.2.2" + "typescript": "^5.2.2", + "vite": "^5.1.0", + "vite-tsconfig-paths": "^4.3.1" } }, "doctrine": { @@ -43226,7 +43556,6 @@ "example-hydrogen-express": { "version": "file:examples/express", "requires": { - "@remix-run/css-bundle": "^2.10.1", "@remix-run/dev": "^2.10.1", "@remix-run/eslint-config": "^2.10.1", "@remix-run/express": "^2.10.1", @@ -45815,9 +46144,9 @@ } }, "jiti": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", - "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "devOptional": true }, "jju": { @@ -46025,10 +46354,100 @@ "type-check": "~0.4.0" } }, + "lightningcss": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.25.1.tgz", + "integrity": "sha512-V0RMVZzK1+rCHpymRv4URK2lNhIRyO8g7U7zOFwVAhJuat74HtkjIQpQRKNCwFEYkRGpafOpmXXLoaoBcyVtBg==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3", + "lightningcss-darwin-arm64": "1.25.1", + "lightningcss-darwin-x64": "1.25.1", + "lightningcss-freebsd-x64": "1.25.1", + "lightningcss-linux-arm-gnueabihf": "1.25.1", + "lightningcss-linux-arm64-gnu": "1.25.1", + "lightningcss-linux-arm64-musl": "1.25.1", + "lightningcss-linux-x64-gnu": "1.25.1", + "lightningcss-linux-x64-musl": "1.25.1", + "lightningcss-win32-x64-msvc": "1.25.1" + } + }, + "lightningcss-darwin-arm64": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.25.1.tgz", + "integrity": "sha512-G4Dcvv85bs5NLENcu/s1f7ehzE3D5ThnlWSDwE190tWXRQCQaqwcuHe+MGSVI/slm0XrxnaayXY+cNl3cSricw==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-darwin-x64": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.25.1.tgz", + "integrity": "sha512-dYWuCzzfqRueDSmto6YU5SoGHvZTMU1Em9xvhcdROpmtOQLorurUZz8+xFxZ51lCO2LnYbfdjZ/gCqWEkwixNg==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-freebsd-x64": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.25.1.tgz", + "integrity": "sha512-hXoy2s9A3KVNAIoKz+Fp6bNeY+h9c3tkcx1J3+pS48CqAt+5bI/R/YY4hxGL57fWAIquRjGKW50arltD6iRt/w==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-linux-arm-gnueabihf": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.25.1.tgz", + "integrity": "sha512-tWyMgHFlHlp1e5iW3EpqvH5MvsgoN7ZkylBbG2R2LWxnvH3FuWCJOhtGcYx9Ks0Kv0eZOBud789odkYLhyf1ng==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-linux-arm64-gnu": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.25.1.tgz", + "integrity": "sha512-Xjxsx286OT9/XSnVLIsFEDyDipqe4BcLeB4pXQ/FEA5+2uWCCuAEarUNQumRucnj7k6ftkAHUEph5r821KBccQ==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-linux-arm64-musl": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.25.1.tgz", + "integrity": "sha512-IhxVFJoTW8wq6yLvxdPvyHv4NjzcpN1B7gjxrY3uaykQNXPHNIpChLB52+wfH+yS58zm1PL4LemUp8u9Cfp6Bw==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-linux-x64-gnu": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.25.1.tgz", + "integrity": "sha512-RXIaru79KrREPEd6WLXfKfIp4QzoppZvD3x7vuTKkDA64PwTzKJ2jaC43RZHRt8BmyIkRRlmywNhTRMbmkPYpA==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-linux-x64-musl": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.25.1.tgz", + "integrity": "sha512-TdcNqFsAENEEFr8fJWg0Y4fZ/nwuqTRsIr7W7t2wmDUlA8eSXVepeeONYcb+gtTj1RaXn/WgNLB45SFkz+XBZA==", + "dev": true, + "optional": true, + "peer": true + }, + "lightningcss-win32-x64-msvc": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.25.1.tgz", + "integrity": "sha512-9KZZkmmy9oGDSrnyHuxP6iMhbsgChUiu/NSgOx+U1I/wTngBStDf2i2aGRCHvFqj19HqqBEI4WuGVQBa2V6e0A==", + "dev": true, + "optional": true, + "peer": true + }, "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true }, "lines-and-columns": { @@ -48656,10 +49075,6 @@ "object-assign": { "version": "4.1.1" }, - "object-hash": { - "version": "3.0.0", - "dev": true - }, "object-inspect": { "version": "1.12.2" }, @@ -49273,13 +49688,6 @@ "dev": true, "requires": {} }, - "postcss-js": { - "version": "4.0.0", - "dev": true, - "requires": { - "camelcase-css": "^2.0.1" - } - }, "postcss-load-config": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", @@ -49288,14 +49696,6 @@ "requires": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" - }, - "dependencies": { - "lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true - } } }, "postcss-modules": { @@ -49350,17 +49750,8 @@ "icss-utils": "^5.0.0" } }, - "postcss-nested": { - "version": "6.0.0", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, "postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.0.10", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -49661,19 +50052,6 @@ "refractor": "^3.6.0" } }, - "read-cache": { - "version": "1.0.0", - "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "dev": true - } - } - }, "read-pkg": { "version": "5.2.0", "dev": true, @@ -51365,31 +51743,54 @@ } }, "sucrase": { - "version": "3.29.0", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, "requires": { + "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "commander": { "version": "4.1.1", "dev": true }, "glob": { - "version": "7.1.6", + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" } } } @@ -51441,64 +51842,10 @@ } }, "tailwindcss": { - "version": "3.3.0", - "dev": true, - "requires": { - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.17.2", - "lilconfig": "^2.0.6", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1", - "sucrase": "^3.29.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "postcss-import": { - "version": "14.1.0", - "dev": true, - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-load-config": { - "version": "3.1.4", - "dev": true, - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - } - }, - "yaml": { - "version": "1.10.2", - "dev": true - } - } + "version": "4.0.0-alpha.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.0-alpha.16.tgz", + "integrity": "sha512-h6UIkQEpOJZy0N8tXeWgIhsEYPfUyqST9Oidr46+1W78p8S9hjJDfnW08/bKW17NA9/ro8sZvFHT98LtwwxtSQ==", + "dev": true }, "tapable": { "version": "2.2.1", diff --git a/packages/hydrogen-react/package.json b/packages/hydrogen-react/package.json index e48fc79561..53894a95fc 100644 --- a/packages/hydrogen-react/package.json +++ b/packages/hydrogen-react/package.json @@ -128,7 +128,7 @@ "typecheck": "run-p typecheck:*", "typecheck:code": "tsc --noEmit", "typecheck:examples": "tsc --noEmit --project tsconfig.examples.json", - "preview-docs": "node ../../docs/preview/bin/cli.js docs/generated/generated_docs_data.json" + "preview-docs": "npm run dev --prefix ../../docs/preview" }, "devDependencies": { "@faker-js/faker": "^7.6.0", diff --git a/packages/hydrogen/package.json b/packages/hydrogen/package.json index df2f20c19a..1b40dfd64c 100644 --- a/packages/hydrogen/package.json +++ b/packages/hydrogen/package.json @@ -20,7 +20,7 @@ "test:watch": "vitest", "build-docs": "sh ./docs/build-docs.sh && npm run format", "format": "prettier --write \"{src,docs}/**/*\" --ignore-unknown", - "preview-docs": "node ../../docs/preview/bin/cli.js docs/generated/generated_docs_data.json" + "preview-docs": "npm run dev --prefix ../../docs/preview" }, "exports": { ".": {