diff --git a/package-lock.json b/package-lock.json index fce20056b9822325db30158a0f2d230b21be0613..1d82c562ba184472ad372b26858d5cbaba408f35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,6 +62,7 @@ "typescript": "^4.7.4", "vite": "^5.4.8", "vite-plugin-dts": "^4.3.0", + "vite-plugin-lib-inject-css": "^2.1.1", "vitest": "^2.1.2" }, "peerDependencies": { @@ -93,6 +94,153 @@ "node": ">=6.0.0" } }, + "node_modules/@ast-grep/napi": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi/-/napi-0.22.6.tgz", + "integrity": "sha512-kNF87HiI4omHC7VzyBZSvqOAXtMlSDRF2YX+O5ya0XKv/7/GYms1opLQ+BQ9twLLDj0WsSFX4MYg0TrinZTxTg==", + "dev": true, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@ast-grep/napi-darwin-arm64": "0.22.6", + "@ast-grep/napi-darwin-x64": "0.22.6", + "@ast-grep/napi-linux-arm64-gnu": "0.22.6", + "@ast-grep/napi-linux-x64-gnu": "0.22.6", + "@ast-grep/napi-linux-x64-musl": "0.22.6", + "@ast-grep/napi-win32-arm64-msvc": "0.22.6", + "@ast-grep/napi-win32-ia32-msvc": "0.22.6", + "@ast-grep/napi-win32-x64-msvc": "0.22.6" + } + }, + "node_modules/@ast-grep/napi-darwin-arm64": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.22.6.tgz", + "integrity": "sha512-L9rEGJ8fNi5LxbZj860wbXxjX7DLNV799zcTaPOSzYadvNyhMY3LWvDXd45Vtx6Dh8QRtCoEMQmw8KaRCEjm9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-darwin-x64": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.22.6.tgz", + "integrity": "sha512-0iuM6iDJNhcPd6a/JJr64AallR7ttGW/MvUujfQdvJEZY5p9LK35xm23dULznW0tIMgwtMKPRaprgk8LPondKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-linux-arm64-gnu": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.22.6.tgz", + "integrity": "sha512-9PAqNJlAQfFm1RW0DVCM/S4gFHdppxUTWacB3qEeJZXgdLnoH0KGQa4z3Xo559SPYDKZy0VnY02mZ3XJ+v6/Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-linux-x64-gnu": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.22.6.tgz", + "integrity": "sha512-nZf+gxXVrZqvP1LN6HwzOMA4brF3umBXfMequQzv8S6HeJ4c34P23F0Tw8mHtQpVYP9PQWJUvt3LJQ8Xvd5Hiw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-linux-x64-musl": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.22.6.tgz", + "integrity": "sha512-gcJeBMgJQf2pZZo0lgH0Vg4ycyujM7Am8VlomXhavC/dPpkddA1tiHSIC4fCNneLU1EqHITy3ALSmM4GLdsjBw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-win32-arm64-msvc": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.22.6.tgz", + "integrity": "sha512-YDDzvPIyl4ti8xZfjvGSGVCX9JJjMQjyWPlXcwRpiLRnHThtHTDL8PyE2yq+gAPuZ28QbrygMkP9EKXIyYFVcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-win32-ia32-msvc": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.22.6.tgz", + "integrity": "sha512-w5P0MDcBD3bifC2K9nCDEFYacy8HQnXdf6fX6cIE/7xL8XEDs6D1lQjGewrZDcMAXVXUQfupj4P27ZsJRmuIoQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-win32-x64-msvc": { + "version": "0.22.6", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.22.6.tgz", + "integrity": "sha512-1aaHvgsCBwUP0tDf4HXPMpUV/nUwsOWgRCiBc2zIJjdEjT9TTk795EIX9Z1Nc0OMCrxVEceyiKcYTofXa0Fpxw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@babel/code-frame": { "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", @@ -13803,6 +13951,20 @@ } } }, + "node_modules/vite-plugin-lib-inject-css": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-plugin-lib-inject-css/-/vite-plugin-lib-inject-css-2.1.1.tgz", + "integrity": "sha512-RIMeVnqBK/8I0E9nnQWzws6pdj5ilRMPJSnXYb6nWxNR4EmDPnksnb/ACoR5Fy7QfzULqS4gtQMrjwnNCC9zoA==", + "dev": true, + "dependencies": { + "@ast-grep/napi": "^0.22.3", + "magic-string": "^0.30.10", + "picocolors": "^1.0.0" + }, + "peerDependencies": { + "vite": "*" + } + }, "node_modules/vite/node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", diff --git a/package.json b/package.json index 77d9eac30d2a723f119cb2daba11d1f3f9398cb9..5e9430c50d7ba3b59acd71aa70e2a9863abe82d4 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,10 @@ "main": "dist/index.js", "module": "dist/index.es.js", "types": "dist/index.d.ts", - "exports": { + "sideEffects": [ + "**/*.css" + ], + "exports": { ".": { "import": "./dist/index.js" } @@ -69,6 +72,7 @@ "typescript": "^4.7.4", "vite": "^5.4.8", "vite-plugin-dts": "^4.3.0", + "vite-plugin-lib-inject-css": "^2.1.1", "vitest": "^2.1.2" }, "peerDependencies": { diff --git a/vite.config.ts b/vite.config.ts index a98e50d1c45a170257a4468b9f391d34faaf13ee..ebd337e9e0d02b358d74aca8d6fa42deb83e61b8 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -6,6 +6,8 @@ import { extname, join, relative, resolve } from "node:path"; import { glob } from "glob"; import { fileURLToPath } from "node:url"; import { peerDependencies } from "./package.json"; +import { libInjectCss } from 'vite-plugin-lib-inject-css'; + export default defineConfig({ build: { lib: { @@ -36,13 +38,13 @@ export default defineConfig({ ), output: { assetFileNames: "assets/[name][extname]", - chunkFileNames: "assets/[name].js", + chunkFileNames: "chunks/[name].[hash].js", entryFileNames: "[name].js" }, external: [...Object.keys(peerDependencies)] } }, - plugins: [react(), dts()], + plugins: [react(), dts(), libInjectCss()], test: { setupFiles: "./src/setupTests.ts", environment: "jsdom",