From 83508b681e9b0a2232a4414361b763b75e6a4605 Mon Sep 17 00:00:00 2001 From: Noel De Martin Date: Mon, 29 Jun 2026 16:12:58 +0200 Subject: [PATCH] Configure postcss-custom-media in CSS --- package.json | 1 + pnpm-lock.yaml | 317 ++++++++++++++++++++++++++++++++++++++- src/vite/config/build.ts | 7 +- src/vite/config/css.ts | 17 +++ src/vite/config/index.ts | 2 + src/vite/plugins/css.ts | 8 + 6 files changed, 340 insertions(+), 12 deletions(-) create mode 100644 src/vite/config/css.ts diff --git a/package.json b/package.json index 263699c..c52e16d 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@babel/preset-env": "^7.29.5", "@babel/preset-typescript": "^7.28.5", "@rolldown/plugin-babel": "^0.2.3", + "postcss-custom-media": "^12.0.1", "unplugin-dts": "^1.0.2", "vite-plugin-css-injected-by-js": "^3.5.2", "vite-plugin-lit-css": "^3.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2f900df..82058ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,6 +38,9 @@ importers: '@rolldown/plugin-babel': specifier: ^0.2.3 version: 0.2.3(@babel/core@7.29.7)(@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7))(@babel/runtime@7.29.7)(@voidzero-dev/vite-plus-core@0.2.1(@tsdown/css@0.22.1)(@types/node@24.13.2)(typescript@6.0.3))(rolldown@1.1.2) + postcss-custom-media: + specifier: ^12.0.1 + version: 12.0.1(postcss@8.5.15) unplugin-dts: specifier: ^1.0.2 version: 1.0.2(@voidzero-dev/vite-plus-core@0.2.1(@tsdown/css@0.22.1)(@types/node@24.13.2)(typescript@6.0.3))(rolldown@1.1.2)(typescript@6.0.3) @@ -62,16 +65,16 @@ importers: version: 7.0.0-dev.20260509.2 pane-registry: specifier: dev - version: 3.1.2-0(rdflib@2.3.9)(solid-logic@4.0.8-0(rdflib@2.3.9)) + version: 3.1.2-1 rdflib: specifier: ^2.3.6 version: 2.3.9 solid-logic: specifier: dev - version: 4.0.8-0(rdflib@2.3.9) + version: 4.0.8-1 solid-ui: specifier: dev - version: 3.1.3-5 + version: 3.1.3-6(@floating-ui/utils@0.2.11)(@types/node@24.13.2)(@types/react@19.2.17) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -81,6 +84,10 @@ importers: packages: + '@awesome.me/webawesome@3.9.0': + resolution: {integrity: sha512-doKgUCglb/E1d/dYSzXQQthlYmyndFOtG/Vr5HyHjIFqNwn/tbutMsIMYJrYFEjq07vPwcOHKeAulbiqoslRoQ==} + engines: {node: '>=14.17.0'} + '@babel/code-frame@7.29.7': resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} @@ -654,6 +661,34 @@ packages: resolution: {integrity: sha512-K8ponJDxBwDHigkeFqaqT5wLGl4bTlwMafR8k7b5CPxr6Ww+UG9ls8Yx6Tcpboxu97eeGVEEyKcHmEyOwN1vSw==} engines: {node: ^22.18.0 || >=24.11.0} + '@csstools/cascade-layer-name-parser@3.0.0': + resolution: {integrity: sha512-/3iksyevwRfSJx5yH0RkcrcYXwuhMQx3Juqf40t97PeEy2/Mz2TItZ/z/216qpe4GgOyFBP8MKIwVvytzHmfIQ==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 + + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-tokenizer': ^4.0.0 + + '@csstools/css-tokenizer@4.0.0': + resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} + engines: {node: '>=20.19.0'} + + '@csstools/media-query-list-parser@5.0.0': + resolution: {integrity: sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 + + '@ctrl/tinycolor@4.1.0': + resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} + engines: {node: '>=14'} + '@digitalbazaar/http-client@4.3.0': resolution: {integrity: sha512-6lMpxpt9BOmqHKGs9Xm6DP4LlZTBFer/ZjHvP3FcW3IaUWYIWC7dw5RFZnvw4fP57kAVcm1dp3IF+Y50qhBvAw==} engines: {node: '>=18.0'} @@ -667,6 +702,15 @@ packages: '@emnapi/wasi-threads@1.2.2': resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + '@floating-ui/core@1.7.5': + resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} + + '@floating-ui/dom@1.7.6': + resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + + '@floating-ui/utils@0.2.11': + resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + '@frogcat/ttl2jsonld@0.0.10': resolution: {integrity: sha512-0NLM96V3ziZkkOlhixSZiXe8CzewECVNtSj04s2hW2e65SgzQPzM12VWSovuRIy+2UJA2Bjkf9405yrty9tgcg==} hasBin: true @@ -687,12 +731,32 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@konnorr/qr-creator@1.0.1': + resolution: {integrity: sha512-EmRR9rny1ENBtQy7TLOguO/79h1EpzXUmqIdMTGp2BW8NkZtRRPr5hmQcE+n9QXYo4T8NjcaJ14hnZg+s/+K+A==} + + '@lit-labs/ssr-client@1.1.8': + resolution: {integrity: sha512-PjGh81oKsoI64m3IDjTqqjhC7dr2uC/o0jrllUb5gRAyp/RlAHxapgJrjq9kWz97faCHLQ8jUlTi6tGm+8fgyA==} + '@lit-labs/ssr-dom-shim@1.6.0': resolution: {integrity: sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==} + '@lit-labs/ssr@4.1.0': + resolution: {integrity: sha512-m0zymVVlHB1ddJQ1lastsV8ROW3whFOiHJhVPQWd04MnGTkTlUUVLQctux1QlyD9BtLXNN6iASxv388vhgKMFg==} + engines: {node: '>=13.9.0'} + peerDependencies: + '@types/node': '>=20.0.0 <25.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + '@lit/context@1.1.6': resolution: {integrity: sha512-M26qDE6UkQbZA2mQ3RjJ3Gzd8TxP+/0obMgE5HfkfLhEEyYE3Bui4A5XHiGPjy0MUGAyxB3QgVuw2ciS0kHn6A==} + '@lit/react@1.0.8': + resolution: {integrity: sha512-p2+YcF+JE67SRX3mMlJ1TKCSTsgyOVdAwd/nxp3NuV1+Cb6MWALbN6nT7Ld4tpmYofcE5kcaSY1YBB9erY+6fw==} + peerDependencies: + '@types/react': 17 || 18 || 19 + '@lit/reactive-element@2.1.2': resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==} @@ -1005,6 +1069,9 @@ packages: resolution: {integrity: sha512-nkOyZEF1vH527CkdQtOp1HMrVFEM4ResURvI2JFeGoup+h+43J/k/FgdOR9b9Isxg+Yae7qVDa7y3nssE8b3TQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@parse5/tools@0.3.0': + resolution: {integrity: sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg==} + '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} @@ -1138,6 +1205,12 @@ packages: rollup: optional: true + '@shoelace-style/animations@1.2.0': + resolution: {integrity: sha512-avvo1xxkLbv2dgtabdewBbqcJfV0e0zCwFqkPMnHFGbJbBHorRFfMAHh1NG9ymmXn0jW95ibUVH03E1NYXD6Gw==} + + '@shoelace-style/localize@3.2.2': + resolution: {integrity: sha512-h3+2/cFWGaw3KQUwintkP4Cy3PtrVW//ysr9DM5nOfIXYekgrHwsELk/nyxc8hmjVP/Kcon7KCzvUtSwUBipfQ==} + '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} @@ -1184,6 +1257,9 @@ packages: '@types/node@24.13.2': resolution: {integrity: sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==} + '@types/react@19.2.17': + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} @@ -1543,6 +1619,11 @@ packages: compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + composed-offset-position@0.0.6: + resolution: {integrity: sha512-Q7dLompI6lUwd7LWyIcP66r4WcS9u7AL2h8HaeipiRfCRPLMWqRx8fYsjb4OHi6UQFifO7XtNC2IlEJ1ozIFxw==} + peerDependencies: + '@floating-ui/utils': ^0.2.5 + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -1565,6 +1646,13 @@ packages: cross-fetch@4.1.0: resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1607,6 +1695,14 @@ packages: resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} engines: {node: '>=14'} + enhanced-resolve@5.24.1: + resolution: {integrity: sha512-7DdUaTjmNwMcH2gLr1qycesKII3BK4RLy/mdAb7x10Lq7bR4aNKHt1BR1ZALSv0rPM/hF5wYF0PhGop/rJm8vw==} + engines: {node: '>=10.13.0'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + err@1.1.1: resolution: {integrity: sha512-N97Ybd2jJHVQ+Ft3Q5+C2gM3kgygkdeQmEqbN2z15UTVyyEsIwLA1VK39O1DHEJhXbwIFcJLqm6iARNhFANcQA==} @@ -1660,6 +1756,14 @@ packages: picomatch: optional: true + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1695,6 +1799,9 @@ packages: resolution: {integrity: sha512-1qd54GLxvVgzuidFmw9ze9umxS3rzhdBH6Wt6BTYrTQUXTN01vGGYXwzLzYLowNx8HBH3/c7kRyvx90fh13i7Q==} engines: {node: '>=0.10.0 <7'} + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + gry@5.0.8: resolution: {integrity: sha512-meq9ZjYVpLzZh3ojhTg7IMad9grGsx6rUUKHLqPnhLXzJkRQvEL2U3tQpS5/WentYTtHtxkT3Ew/mb10D6F6/g==} @@ -1887,6 +1994,11 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + marked@11.2.0: + resolution: {integrity: sha512-HR0m3bvu0jAPYiIvLUUQtdg1g6D247//lvcekpHO1WMvbwDlwSkZAX9Lw4F4YHE1T0HaaNve0tuAWuV1UJ6vtw==} + engines: {node: '>= 18'} + hasBin: true + mime-db@1.54.0: resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} @@ -1917,6 +2029,16 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.1.16: + resolution: {integrity: sha512-kVrnsrJqMR8+oLJnGEmSWw9BivK5mt7H3FZatVRjrc5wGqFYuBxX1yG7+A7Gi5AefkX6t/oCkizcQgpu0cY1dQ==} + engines: {node: ^18 || >=20} + hasBin: true + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -1926,6 +2048,10 @@ packages: encoding: optional: true + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-releases@2.0.48: resolution: {integrity: sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==} engines: {node: '>=18'} @@ -2011,6 +2137,9 @@ packages: rdflib: 2.3.9 solid-logic: 4.0.8-0 + pane-registry@3.1.2-1: + resolution: {integrity: sha512-aibuyF8pAgHDnmywsMEKUddIcqC0oPF8fNx2TP7zRpRW9aYk2iv06td+br8wenbmu2V/l6Y6aJmCkckHWN/GpA==} + parse-json@2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -2018,6 +2147,9 @@ packages: parse-url@1.3.11: resolution: {integrity: sha512-1wj9nkgH/5EboDxLwaTMGJh3oH3f+Gue+aGdh631oCqoSBpokzmMmOldvOeBPtB8GJBYJbaF93KPzlkU+Y1ksg==} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -2056,6 +2188,12 @@ packages: resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} engines: {node: '>=14.19.0'} + postcss-custom-media@12.0.1: + resolution: {integrity: sha512-66syE14+VeqkUf0rRX0bvbTCbNRJF132jD+ceo8th1dap2YJEAqpdh5uG98CE3IbgHT7m9XM0GIlOazNWqQdeA==} + engines: {node: '>=20.19.0'} + peerDependencies: + postcss: ^8.4 + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -2222,11 +2360,15 @@ packages: peerDependencies: rdflib: ^2.3.9 + solid-logic@4.0.8-1: + resolution: {integrity: sha512-9Vtg9ukEaDTIvBPqECORWRtEJ3nTlEvInJzUCJZDp1qjN9VIdJG0mSiPTIP9RXOEOSAA+Q+cP3d7BzsNyI/RVA==} + engines: {node: '>=18'} + solid-namespace@0.5.4: resolution: {integrity: sha512-oPAv8xIg2MOLz069JRdvsSbYCpQN+umPJJ9LBFPzCrYuSw+dW4TMUOTDxTWS5xy+B3XN4+Fx3iIS5Jm8abm4Mg==} - solid-ui@3.1.3-5: - resolution: {integrity: sha512-vSxDbDA2Ruca7HKX/Gayl8WP5/1Lxs9YskafoWkMtI0fxwnauGDv4nqwzMj1itU+xRMlYz7u05mHrYeCvCdSgw==} + solid-ui@3.1.3-6: + resolution: {integrity: sha512-5bzrJ5ChrYnqZARj+RAXybmRaOmkh7KD3AHIpSw1Uu/JDAKz5ateye5FPVuLs0WDY4GFn+/pHqaRfTEzXrsisQ==} source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} @@ -2264,6 +2406,10 @@ packages: tailwindcss@4.3.0: resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + timed-out@3.1.3: resolution: {integrity: sha512-3RB4qgvPkxF/FGPnrzaWLhW1rxNK2sdH0mFjbhxkfTR6QXvcM3EtYm9L44UrhODZrZ+yhDXeMncLqi8QXn2MJg==} engines: {node: '>=0.10.0'} @@ -2456,6 +2602,10 @@ packages: w-json@1.3.10: resolution: {integrity: sha512-XadVyw0xE+oZ5FGApXsdswv96rOhStzKqL53uSe5UaTadABGkWIg1+DTx8kiZ/VqTZTBneoL0l65RcPe4W3ecw==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -2485,6 +2635,26 @@ packages: snapshots: + '@awesome.me/webawesome@3.9.0(@floating-ui/utils@0.2.11)(@types/node@24.13.2)(@types/react@19.2.17)': + dependencies: + '@ctrl/tinycolor': 4.1.0 + '@floating-ui/dom': 1.7.6 + '@konnorr/qr-creator': 1.0.1 + '@lit-labs/ssr': 4.1.0(@types/node@24.13.2) + '@lit-labs/ssr-client': 1.1.8 + '@lit/context': 1.1.6 + '@lit/react': 1.0.8(@types/react@19.2.17) + '@shoelace-style/animations': 1.2.0 + '@shoelace-style/localize': 3.2.2 + composed-offset-position: 0.0.6(@floating-ui/utils@0.2.11) + lit: 3.3.3 + marked: 11.2.0 + nanoid: 5.1.16 + transitivePeerDependencies: + - '@floating-ui/utils' + - '@types/node' + - '@types/react' + '@babel/code-frame@7.29.7': dependencies: '@babel/helper-validator-identifier': 7.29.7 @@ -2523,7 +2693,7 @@ snapshots: '@babel/generator@8.0.0-rc.6': dependencies: - '@babel/parser': 8.0.0-rc.6 + '@babel/parser': 8.0.0 '@babel/types': 8.0.0 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 @@ -3234,6 +3404,24 @@ snapshots: '@babel/helper-string-parser': 8.0.0 '@babel/helper-validator-identifier': 8.0.2 + '@csstools/cascade-layer-name-parser@3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-tokenizer': 4.0.0 + + '@csstools/css-tokenizer@4.0.0': {} + + '@csstools/media-query-list-parser@5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + + '@ctrl/tinycolor@4.1.0': {} + '@digitalbazaar/http-client@4.3.0': dependencies: ky: 1.14.3 @@ -3255,6 +3443,17 @@ snapshots: tslib: 2.8.1 optional: true + '@floating-ui/core@1.7.5': + dependencies: + '@floating-ui/utils': 0.2.11 + + '@floating-ui/dom@1.7.6': + dependencies: + '@floating-ui/core': 1.7.5 + '@floating-ui/utils': 0.2.11 + + '@floating-ui/utils@0.2.11': {} + '@frogcat/ttl2jsonld@0.0.10': {} '@jridgewell/gen-mapping@0.3.13': @@ -3276,12 +3475,39 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@konnorr/qr-creator@1.0.1': {} + + '@lit-labs/ssr-client@1.1.8': + dependencies: + '@lit/reactive-element': 2.1.2 + lit: 3.3.3 + lit-html: 3.3.3 + '@lit-labs/ssr-dom-shim@1.6.0': {} + '@lit-labs/ssr@4.1.0(@types/node@24.13.2)': + dependencies: + '@lit-labs/ssr-client': 1.1.8 + '@lit-labs/ssr-dom-shim': 1.6.0 + '@lit/reactive-element': 2.1.2 + '@parse5/tools': 0.3.0 + enhanced-resolve: 5.24.1 + lit: 3.3.3 + lit-element: 4.2.2 + lit-html: 3.3.3 + node-fetch: 3.3.2 + parse5: 7.3.0 + optionalDependencies: + '@types/node': 24.13.2 + '@lit/context@1.1.6': dependencies: '@lit/reactive-element': 2.1.2 + '@lit/react@1.0.8(@types/react@19.2.17)': + dependencies: + '@types/react': 19.2.17 + '@lit/reactive-element@2.1.2': dependencies: '@lit-labs/ssr-dom-shim': 1.6.0 @@ -3443,6 +3669,10 @@ snapshots: '@oxlint/plugins@1.61.0': {} + '@parse5/tools@0.3.0': + dependencies: + parse5: 7.3.0 + '@polka/url@1.0.0-next.29': {} '@quansync/fs@1.0.0': @@ -3520,6 +3750,10 @@ snapshots: estree-walker: 2.0.2 picomatch: 4.0.4 + '@shoelace-style/animations@1.2.0': {} + + '@shoelace-style/localize@3.2.2': {} + '@standard-schema/spec@1.1.0': {} '@tsdown/css@0.22.1(postcss@8.5.15)(tsdown@0.22.1)': @@ -3559,6 +3793,10 @@ snapshots: dependencies: undici-types: 7.18.2 + '@types/react@19.2.17': + dependencies: + csstype: 3.2.3 + '@types/responselike@1.0.3': dependencies: '@types/node': 24.13.2 @@ -3783,6 +4021,10 @@ snapshots: compare-versions@6.1.1: {} + composed-offset-position@0.0.6(@floating-ui/utils@0.2.11): + dependencies: + '@floating-ui/utils': 0.2.11 + confbox@0.1.8: {} confbox@0.2.4: {} @@ -3805,6 +4047,10 @@ snapshots: transitivePeerDependencies: - encoding + csstype@3.2.3: {} + + data-uri-to-buffer@4.0.1: {} + debug@4.4.3: dependencies: ms: 2.1.3 @@ -3829,6 +4075,13 @@ snapshots: empathic@2.0.1: {} + enhanced-resolve@5.24.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + entities@6.0.1: {} + err@1.1.1: dependencies: typpy: 2.4.0 @@ -3868,6 +4121,15 @@ snapshots: optionalDependencies: picomatch: 4.0.4 + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + fsevents@2.3.3: optional: true @@ -3928,6 +4190,8 @@ snapshots: unzip-response: 1.0.2 url-parse-lax: 1.0.0 + graceful-fs@4.2.11: {} + gry@5.0.8: dependencies: abs: 1.3.15 @@ -4083,6 +4347,8 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + marked@11.2.0: {} + mime-db@1.54.0: {} mime-types@3.0.2: @@ -4109,10 +4375,20 @@ snapshots: nanoid@3.3.15: {} + nanoid@5.1.16: {} + + node-domexception@1.0.0: {} + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-releases@2.0.48: {} node-status-codes@1.0.0: {} @@ -4228,6 +4504,8 @@ snapshots: rdflib: 2.3.9 solid-logic: 4.0.8-0(rdflib@2.3.9) + pane-registry@3.1.2-1: {} + parse-json@2.2.0: dependencies: error-ex: 1.3.4 @@ -4237,6 +4515,10 @@ snapshots: is-ssh: 1.4.1 protocols: 1.4.8 + parse5@7.3.0: + dependencies: + entities: 6.0.1 + path-browserify@1.0.1: {} path-parse@1.0.7: {} @@ -4271,6 +4553,14 @@ snapshots: pngjs@7.0.0: {} + postcss-custom-media@12.0.1(postcss@8.5.15): + dependencies: + '@csstools/cascade-layer-name-parser': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 + '@csstools/media-query-list-parser': 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + postcss: 8.5.15 + postcss-load-config@6.0.1(postcss@8.5.15): dependencies: lilconfig: 3.1.3 @@ -4458,10 +4748,16 @@ snapshots: rdflib: 2.3.9 solid-namespace: 0.5.4 + solid-logic@4.0.8-1: + dependencies: + '@uvdsl/solid-oidc-client-browser': 0.2.3 + solid-namespace: 0.5.4 + solid-namespace@0.5.4: {} - solid-ui@3.1.3-5: + solid-ui@3.1.3-6(@floating-ui/utils@0.2.11)(@types/node@24.13.2)(@types/react@19.2.17): dependencies: + '@awesome.me/webawesome': 3.9.0(@floating-ui/utils@0.2.11)(@types/node@24.13.2)(@types/react@19.2.17) '@lit/context': 1.1.6 '@noble/curves': 2.2.0 '@noble/hashes': 2.2.0 @@ -4477,6 +4773,9 @@ snapshots: optionalDependencies: fsevents: 2.3.3 transitivePeerDependencies: + - '@floating-ui/utils' + - '@types/node' + - '@types/react' - encoding source-map-js@1.2.1: {} @@ -4511,6 +4810,8 @@ snapshots: tailwindcss@4.3.0: {} + tapable@2.3.3: {} + timed-out@3.1.3: {} tinybench@2.9.0: {} @@ -4704,6 +5005,8 @@ snapshots: w-json@1.3.10: {} + web-streams-polyfill@3.3.3: {} + webidl-conversions@3.0.1: {} webpack-virtual-modules@0.6.2: {} diff --git a/src/vite/config/build.ts b/src/vite/config/build.ts index e29a539..92a4899 100644 --- a/src/vite/config/build.ts +++ b/src/vite/config/build.ts @@ -8,7 +8,7 @@ export interface BuildConfigOptions { } export default function ({ entry, overrides }: BuildConfigOptions): UserConfig['build'] { - const defaults: UserConfig['build'] = { + return { cssCodeSplit: true, sourcemap: true, lib: { @@ -33,9 +33,6 @@ export default function ({ entry, overrides }: BuildConfigOptions): UserConfig[' ], external: (id: string) => !id.startsWith('.') && !isAbsolute(id), }, + ...overrides, }; - - if (!overrides) return defaults; - - return { ...defaults, ...overrides }; } diff --git a/src/vite/config/css.ts b/src/vite/config/css.ts new file mode 100644 index 0000000..892e280 --- /dev/null +++ b/src/vite/config/css.ts @@ -0,0 +1,17 @@ +import postcssCustomMedia from 'postcss-custom-media'; +import type { UserConfig } from 'vite'; + +export interface CSSConfigOptions { + overrides?: NonNullable; +} + +export default function cssConfig({ overrides }: CSSConfigOptions = {}): NonNullable< + UserConfig['css'] +> { + return { + postcss: { + plugins: [postcssCustomMedia()], + }, + ...overrides, + }; +} diff --git a/src/vite/config/index.ts b/src/vite/config/index.ts index db55743..61ca5c7 100644 --- a/src/vite/config/index.ts +++ b/src/vite/config/index.ts @@ -1,3 +1,5 @@ export * from './build'; +export * from './css'; export { default as buildConfig } from './build'; +export { default as cssConfig } from './css'; diff --git a/src/vite/plugins/css.ts b/src/vite/plugins/css.ts index 337c855..cd88bf4 100644 --- a/src/vite/plugins/css.ts +++ b/src/vite/plugins/css.ts @@ -3,8 +3,16 @@ import injectedCSS from 'vite-plugin-css-injected-by-js'; // @ts-ignore - runtime export shape is correct; types are out of sync import litCss from 'vite-plugin-lit-css'; +import cssConfig from '@/vite/config/css'; + export default function (): PluginOption[] { return [ + { + name: 'solidos-toolkit:css', + config() { + return { css: cssConfig() }; + }, + }, litCss({ include: /\.styles\.css$/ }), injectedCSS({ relativeCSSInjection: true,