Skip to content

Commit 959f8df

Browse files
committed
Updated build to be more treeshakeable, added CSS generation
1 parent e45395f commit 959f8df

4 files changed

Lines changed: 188 additions & 16 deletions

File tree

File renamed without changes.

package-lock.json

Lines changed: 164 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
{
22
"name": "@erjdev/vite-react-components",
3-
"version": "0.1.8",
3+
"version": "0.2.0",
44
"type": "module",
55
"files": [
6-
"dist/"
6+
"dist"
7+
],
8+
"types": "./dist/index.d.ts",
9+
"module": "./dist/index.js",
10+
"sideEffects": [
11+
"**/*.css"
712
],
8-
"types": "./dist/vrc.es.d.ts",
9-
"module": "./dist/vrc.es.js",
10-
"exports": {
11-
".": {
12-
"import": "./dist/vrc.es.js",
13-
"types": "./dist/vrc.es.d.ts"
14-
},
15-
"./dist/style.css": "./dist/style.css"
16-
},
1713
"repository": {
1814
"type": "git",
1915
"url": "git+https://github.com/erjdev/vite-react-components.git"
@@ -43,6 +39,7 @@
4339
"typescript": "^5.2.2",
4440
"vite": "^5.3.1",
4541
"vite-plugin-dts": "^3.9.1",
42+
"vite-plugin-lib-inject-css": "^2.1.1",
4643
"vitest": "^1.6.0"
4744
},
4845
"publishConfig": {

vite.config.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,44 @@ import { defineConfig } from 'vite'
33
import react from '@vitejs/plugin-react-swc'
44
import path, { resolve } from 'path'
55
import dts from 'vite-plugin-dts';
6+
import { libInjectCss } from 'vite-plugin-lib-inject-css';
67

78
// https://vitejs.dev/config/
89
export default defineConfig({
910
plugins: [
1011
react(),
1112
dts({
12-
include: ['lib'],
13+
include: ['lib'],
1314
tsconfigPath: 'tsconfig.lib.json',
1415
rollupTypes: true,
1516
}),
17+
libInjectCss(),
1618
],
1719
server: {
1820
port: 3000,
1921
},
2022
build: {
2123
copyPublicDir: false,
2224
lib: {
23-
entry: resolve(__dirname, 'lib/main.ts'),
25+
entry: {
26+
index: resolve(__dirname, 'lib/index.ts'),
27+
button: resolve(__dirname, 'lib/components/Button/index.tsx'),
28+
input: resolve(__dirname, 'lib/components/Input/index.tsx'),
29+
label: resolve(__dirname, 'lib/components/Label/index.tsx'),
30+
},
2431
formats: ['es'],
2532
name: 'ViteReactComponents',
2633
fileName: (format) => `vrc.${format}.js`,
2734
},
2835
rollupOptions: {
2936
external: ['react', 'react/jsx-runtime', 'react-dom'],
3037
output: {
38+
// Put chunk files at <output>/chunks
39+
chunkFileNames: 'chunks/[name].[hash].js',
40+
// Put chunk styles at <output>/assets
41+
assetFileNames: 'assets/[name][extname]',
42+
entryFileNames: '[name].js',
43+
// Register externals/globals
3144
globals: {
3245
react: "React",
3346
"react-dom": "ReactDOM",
@@ -42,6 +55,6 @@ export default defineConfig({
4255
},
4356
},
4457
test: {
45-
include: ['./vitest/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']
58+
include: ['./vitest/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
4659
},
4760
});

0 commit comments

Comments
 (0)