diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index f2d095fc59ccf..94b95c9cb8686 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -119,10 +119,14 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} run: | # Create a unique version using the commit SHA as a prerelease identifier - # This ensures we can publish multiple times from the same codebase with unique versions npm version --no-git-tag-version 1.0.1-$COMMIT_SHA - # Publish the package to the npm registry with public access flag - pnpm publish --access public --no-git-checks + + # Check if a custom publish script exists in package.json + if jq -e '.scripts.publish' package.json > /dev/null; then + pnpm run publish + else + pnpm publish --access public --no-git-checks + fi - name: Notify on Manual Release if: ${{ github.event_name == 'workflow_dispatch' }} diff --git a/.gitignore b/.gitignore index 5857938755bf8..6dbefc3ed5566 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,9 @@ apps/site/public/blog-data.json junit.xml lcov.info +# Distributed Files +dist + # Storybook storybook-static build-storybook.log diff --git a/.prettierignore b/.prettierignore index 364ca79393788..ae7d4df21b609 100644 --- a/.prettierignore +++ b/.prettierignore @@ -39,6 +39,9 @@ CODEOWNERS # Public Folders apps/site/public +# Distributed Files +dist + # Prettier's Handlebar parser is limited and chokes on some syntax features # https://github.com/prettier/prettier/issues/11834 scripts/release-post/template.hbs diff --git a/eslint.config.js b/eslint.config.js index fa0d69bfa4c32..99476e67d32c5 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -18,6 +18,7 @@ export default [ '**/.open-next', 'test-results', 'playwright-report', + 'dist', ], }, { diff --git a/packages/ui-components/.stylelintignore b/packages/ui-components/.stylelintignore index 20687473be0b3..14ac349fbd289 100644 --- a/packages/ui-components/.stylelintignore +++ b/packages/ui-components/.stylelintignore @@ -1 +1,2 @@ storybook-static +dist \ No newline at end of file diff --git a/packages/ui-components/package.json b/packages/ui-components/package.json index a5fa4ef483aeb..930f9105cb204 100644 --- a/packages/ui-components/package.json +++ b/packages/ui-components/package.json @@ -11,6 +11,10 @@ ] }, "scripts": { + "compile:ts": "tsc", + "compile:css": "postcss --dir dist --base src \"src/**/*.module.css\" src/styles/index.css", + "compile": "node --run compile:ts && node --run compile:css", + "publish": "node --run compile && node scripts/publish.mjs", "lint": "turbo run lint:js lint:css", "lint:css": "stylelint \"**/*.css\" --allow-empty-input --cache --cache-strategy=content --cache-location=.stylelintcache", "lint:fix": "node --run lint -- -- --fix", @@ -33,13 +37,13 @@ "@radix-ui/react-tabs": "~1.1.12", "@radix-ui/react-toast": "~1.2.14", "@radix-ui/react-tooltip": "~1.2.7", - "@tailwindcss/postcss": "~4.1.11", "@vcarl/remark-headings": "~0.1.0", - "classnames": "catalog:", - "postcss-calc": "^10.1.1", - "tailwindcss": "catalog:" + "classnames": "catalog:" }, "devDependencies": { + "@tailwindcss/postcss": "~4.1.11", + "postcss-calc": "^10.1.1", + "tailwindcss": "catalog:", "@storybook/addon-styling-webpack": "^2.0.0", "@storybook/addon-themes": "^9.0.15", "@storybook/addon-webpack5-compiler-swc": "^3.0.0", @@ -53,6 +57,7 @@ "eslint-plugin-react": "~7.37.4", "eslint-plugin-storybook": "~9.0.3", "global-jsdom": "^26.0.0", + "postcss-cli": "^11.0.1", "postcss-loader": "~8.1.1", "react": "catalog:", "storybook": "^9.0.15", diff --git a/packages/ui-components/src/Common/BasePagination/PaginationListItem/__tests__/index.test.jsx b/packages/ui-components/src/Common/BasePagination/PaginationListItem/__tests__/index.test.jsx index a94f3040e9ab8..bacc5cd0524cf 100644 --- a/packages/ui-components/src/Common/BasePagination/PaginationListItem/__tests__/index.test.jsx +++ b/packages/ui-components/src/Common/BasePagination/PaginationListItem/__tests__/index.test.jsx @@ -3,6 +3,7 @@ import assert from 'node:assert/strict'; import { render, screen } from '@testing-library/react'; +// @ts-ignore this file is intentionally stored outside of the `rootDir` import { isVisible } from '../../../../../../../tests/utilities.mjs'; import PaginationListItem from '#ui/Common/BasePagination/PaginationListItem'; diff --git a/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx b/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx index e984088aa9560..adab757052d3d 100644 --- a/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx +++ b/packages/ui-components/src/Common/BasePagination/__tests__/index.test.jsx @@ -3,6 +3,7 @@ import assert from 'node:assert/strict'; import { render, screen } from '@testing-library/react'; +// @ts-ignore this file is intentionally stored outside of the `rootDir` import { isVisible } from '../../../../../../tests/utilities.mjs'; import BasePagination from '#ui/Common/BasePagination'; diff --git a/packages/ui-components/src/scripts/publish.mjs b/packages/ui-components/src/scripts/publish.mjs new file mode 100644 index 0000000000000..b386c869a5a60 --- /dev/null +++ b/packages/ui-components/src/scripts/publish.mjs @@ -0,0 +1,21 @@ +import { spawnSync } from 'node:child_process'; +import { writeFile } from 'node:fs/promises'; + +import pkg from '../package.json' with { type: 'json' }; + +// Strip the devDependencies, since they aren't needed for publish +// Strip the exports, since we don't want to reference './src' +/* eslint-disable @typescript-eslint/no-unused-vars */ +const { devDependencies, exports, ...cleanedPkg } = pkg; +// Change `#ui` to `./` from `./src`, since we are publishing +// from the same directory as the source code (rather, the compiled code). +cleanedPkg.imports['#ui/*'] = ['./*']; + +await writeFile( + 'dist/package.json', + JSON.stringify(cleanedPkg, null, 2), + 'utf8' +); + +// Now, publish the generated `dist` folder +spawnSync('pnpm', ['publish'], { cwd: 'dist', stdio: 'inherit' }); diff --git a/packages/ui-components/tsconfig.json b/packages/ui-components/tsconfig.json index 43f3f43d8c52e..61229203fd8b5 100644 --- a/packages/ui-components/tsconfig.json +++ b/packages/ui-components/tsconfig.json @@ -6,15 +6,16 @@ "skipLibCheck": true, "strict": true, "forceConsistentCasingInFileNames": true, - "noEmit": true, "esModuleInterop": true, "module": "esnext", "moduleResolution": "Bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, - "baseUrl": "." + "baseUrl": "./src", + "rootDir": "./src", + "outDir": "./dist" }, "include": ["src"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 695fdf440ef4e..9b3dfd68b48b0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -386,21 +386,12 @@ importers: '@radix-ui/react-tooltip': specifier: ~1.2.7 version: 1.2.7(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tailwindcss/postcss': - specifier: ~4.1.11 - version: 4.1.11 '@vcarl/remark-headings': specifier: ~0.1.0 version: 0.1.0 classnames: specifier: 'catalog:' version: 2.5.1 - postcss-calc: - specifier: ^10.1.1 - version: 10.1.1(postcss@8.5.3) - tailwindcss: - specifier: 'catalog:' - version: 4.0.17 devDependencies: '@storybook/addon-styling-webpack': specifier: ^2.0.0 @@ -417,6 +408,9 @@ importers: '@storybook/react-webpack5': specifier: ^9.0.15 version: 9.0.15(@swc/core@1.11.24)(esbuild@0.25.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3) + '@tailwindcss/postcss': + specifier: ~4.1.11 + version: 4.1.11 '@testing-library/user-event': specifier: ~14.6.1 version: 14.6.1(@testing-library/dom@10.4.0) @@ -441,6 +435,12 @@ importers: global-jsdom: specifier: ^26.0.0 version: 26.0.0(jsdom@26.1.0) + postcss-calc: + specifier: ^10.1.1 + version: 10.1.1(postcss@8.5.3) + postcss-cli: + specifier: ^11.0.1 + version: 11.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.20.3) postcss-loader: specifier: ~8.1.1 version: 8.1.1(postcss@8.5.3)(typescript@5.8.3)(webpack@5.99.9(@swc/core@1.11.24)(esbuild@0.25.5)) @@ -465,6 +465,9 @@ importers: stylelint-selector-bem-pattern: specifier: 4.0.1 version: 4.0.1(stylelint@16.21.1(typescript@5.8.3)) + tailwindcss: + specifier: 'catalog:' + version: 4.0.17 tsx: specifier: ^4.20.3 version: 4.20.3 @@ -3903,6 +3906,10 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} @@ -4168,6 +4175,10 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dependency-graph@1.0.0: + resolution: {integrity: sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==} + engines: {node: '>=4'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -4775,6 +4786,10 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + fs-monkey@1.0.6: resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} @@ -4805,6 +4820,10 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.3.0: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} @@ -6235,6 +6254,10 @@ packages: engines: {node: '>=0.10'} hasBin: true + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -6268,6 +6291,28 @@ packages: peerDependencies: postcss: ^8.4.38 + postcss-cli@11.0.1: + resolution: {integrity: sha512-0UnkNPSayHKRe/tc2YGW6XnSqqOA9eqpiRMgRlV1S6HdGi16vwJBx7lviARzbV1HpQHqLLRH3o8vTcB0cLc+5g==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + postcss: ^8.0.0 + + postcss-load-config@5.1.0: + resolution: {integrity: sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + postcss-loader@8.1.1: resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} @@ -6305,6 +6350,12 @@ packages: peerDependencies: postcss: ^8.1.0 + postcss-reporter@7.1.0: + resolution: {integrity: sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.1.0 + postcss-resolve-nested-selector@0.1.6: resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} @@ -6409,6 +6460,10 @@ packages: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-hrtime@1.0.3: + resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} + engines: {node: '>= 0.8'} + printable-characters@1.0.42: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} @@ -6531,6 +6586,9 @@ packages: resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-package-json-fast@3.0.2: resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -6762,6 +6820,10 @@ packages: renderkid@3.0.0: resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -6951,6 +7013,10 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -7268,6 +7334,9 @@ packages: engines: {node: '>=10'} hasBin: true + thenby@1.3.4: + resolution: {integrity: sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==} + tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -7800,6 +7869,10 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -7821,6 +7894,14 @@ packages: engines: {node: '>= 14.6'} hasBin: true + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -12081,6 +12162,12 @@ snapshots: client-only@0.0.1: {} + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + code-block-writer@13.0.3: {} collapse-white-space@2.1.0: {} @@ -12302,6 +12389,8 @@ snapshots: depd@2.0.0: {} + dependency-graph@1.0.0: {} + dequal@2.0.3: {} detect-libc@2.0.4: {} @@ -13249,6 +13338,12 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs-monkey@1.0.6: {} fs.realpath@1.0.0: {} @@ -13274,6 +13369,8 @@ snapshots: gensync@1.0.0-beta.2: {} + get-caller-file@2.0.5: {} + get-east-asian-width@1.3.0: {} get-intrinsic@1.3.0: @@ -15051,6 +15148,8 @@ snapshots: pidtree@0.6.0: {} + pify@2.3.0: {} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 @@ -15079,6 +15178,33 @@ snapshots: postcss-selector-parser: 7.1.0 postcss-value-parser: 4.2.0 + postcss-cli@11.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.20.3): + dependencies: + chokidar: 3.6.0 + dependency-graph: 1.0.0 + fs-extra: 11.3.0 + picocolors: 1.1.1 + postcss: 8.5.3 + postcss-load-config: 5.1.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.20.3) + postcss-reporter: 7.1.0(postcss@8.5.3) + pretty-hrtime: 1.0.3 + read-cache: 1.0.0 + slash: 5.1.0 + tinyglobby: 0.2.14 + yargs: 17.7.2 + transitivePeerDependencies: + - jiti + - tsx + + postcss-load-config@5.1.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.20.3): + dependencies: + lilconfig: 3.1.3 + yaml: 2.8.0 + optionalDependencies: + jiti: 2.4.2 + postcss: 8.5.3 + tsx: 4.20.3 + postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.8.3)(webpack@5.99.9(@swc/core@1.11.24)(esbuild@0.25.5)): dependencies: cosmiconfig: 9.0.0(typescript@5.8.3) @@ -15132,6 +15258,12 @@ snapshots: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 + postcss-reporter@7.1.0(postcss@8.5.3): + dependencies: + picocolors: 1.1.1 + postcss: 8.5.3 + thenby: 1.3.4 + postcss-resolve-nested-selector@0.1.6: {} postcss-safe-parser@7.0.1(postcss@8.5.6): @@ -15186,6 +15318,8 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 + pretty-hrtime@1.0.3: {} + printable-characters@1.0.42: {} proc-log@4.2.0: {} @@ -15300,6 +15434,10 @@ snapshots: react@19.1.0: {} + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + read-package-json-fast@3.0.2: dependencies: json-parse-even-better-errors: 3.0.2 @@ -15923,6 +16061,8 @@ snapshots: lodash: 4.17.21 strip-ansi: 6.0.1 + require-directory@2.1.1: {} + require-from-string@2.0.2: {} require-in-the-middle@7.5.2: @@ -16213,6 +16353,8 @@ snapshots: slash@3.0.0: {} + slash@5.1.0: {} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 @@ -16589,6 +16731,8 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 + thenby@1.3.4: {} + tiny-invariant@1.3.3: {} tinyglobby@0.2.14: @@ -17252,6 +17396,8 @@ snapshots: xmlchars@2.2.0: {} + y18n@5.0.8: {} + yallist@3.1.1: {} yallist@5.0.0: {} @@ -17262,6 +17408,18 @@ snapshots: yaml@2.8.0: {} + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yocto-queue@0.1.0: {} yocto-queue@1.2.1: {}