From 28cf3ca4b3d81687ccde52b76020a7959a7f4a4f Mon Sep 17 00:00:00 2001 From: Seth Sharp Date: Tue, 24 Sep 2024 13:32:19 +1000 Subject: [PATCH 1/5] adjust many things - vite rollup options + alias - define entry points in package.json --- package.json | 5 ++++- vite.config.ts | 13 +++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e4f2260..dcce273 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,11 @@ "exports": { ".": { "import": "./dist/lumuix.js", - "require": "./dist/lumuix.umd.cjs", "types": "./dist/types/index.d.ts" + }, + "./dropdown-menu": { + "import": "./dist/dropdown-menu.js", + "types": "./dist/types/components/dropdown-menu/index.d.ts" } }, "types": "./dist/types/index.d.ts", diff --git a/vite.config.ts b/vite.config.ts index 71af805..57be9e5 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -7,18 +7,27 @@ export default defineConfig({ plugins: [vue()], build: { lib: { - entry: resolve(__dirname, 'src/index.ts'), + entry: { + lumuix: resolve(__dirname, 'src/index.ts'), + 'dropdown-menu': resolve(__dirname, 'src/components/dropdown-menu/index.ts'), + }, name: 'lumuix', - fileName: 'lumuix' + fileName: (entry) => entry.name, }, rollupOptions: { external: ['vue'], + // Add this to ensure separate chunks for each entry point + output: { + entryFileNames: '[name].js', + }, }, emptyOutDir: true, }, resolve: { alias: { '@': resolve(__dirname, 'src'), + '@sethsharp/lumuix': '/src', + '@sethsharp/lumuix/dropdown-menu': '/src/components/dropdown-menu', }, }, }) From 1223249d6dcab0618f0f3222a26e0010ad50b343 Mon Sep 17 00:00:00 2001 From: Seth Sharp Date: Tue, 29 Oct 2024 14:01:54 +1000 Subject: [PATCH 2/5] wip? --- package-lock.json | 2 +- package.json | 7 ++++--- vite.config.ts | 12 +++++++----- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 68e8d6c..b23fda1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7117,7 +7117,7 @@ "version": "5.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "dev": true, + "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 913f680..e9664c1 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,13 @@ "module": "./dist/ui.js", "exports": { ".": { - "import": "./dist/lumuix.js", - "require": "./dist/lumuix.umd.cjs", + "import": "./dist/lumuix.cjs.js", + "require": "./dist/lumuix.cjs.js", "types": "./dist/types/index.d.ts" }, "./dropdown-menu": { - "import": "./dist/dropdown-menu.js", + "import": "./dist/dropdown-menu.cjs.js", + "require": "./dist/dropdown-menu.cjs.js", "types": "./dist/types/components/dropdown-menu/index.d.ts" }, "./dist/types/presets/*.css": { diff --git a/vite.config.ts b/vite.config.ts index 80444be..ced13f5 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -23,12 +23,14 @@ export default defineConfig({ }, name: 'lumuix', fileName: (entry) => entry.name, + formats: ['es', 'cjs'], }, rollupOptions: { external: ['vue'], - // Add this to ensure separate chunks for each entry point output: { - entryFileNames: '[name].js', + dir: 'dist', + entryFileNames: '[name].cjs.js', + chunkFileNames: '[name].js', }, }, emptyOutDir: true, @@ -37,8 +39,8 @@ export default defineConfig({ alias: { '@': resolve(__dirname, 'src'), '@/app': resolve(__dirname, 'app'), - '@sethsharp/lumuix': '/src', - '@sethsharp/lumuix/dropdown-menu': '/src/components/dropdown-menu', + '@sethsharp/lumuix': resolve(__dirname, 'dist'), + '@sethsharp/lumuix/dropdown-menu': resolve(__dirname, 'dist/types/components/dropdown-menu'), }, }, -}) +}) \ No newline at end of file From 46edac12865896049df3e3d1ab4f5c8561d253f3 Mon Sep 17 00:00:00 2001 From: Seth Sharp Date: Tue, 29 Oct 2024 14:24:21 +1000 Subject: [PATCH 3/5] wip --- package.json | 15 +++++---------- vite.config.ts | 19 +++++-------------- 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index e9664c1..1147b1a 100644 --- a/package.json +++ b/package.json @@ -2,25 +2,20 @@ "name": "@sethsharp/lumuix", "version": "1.0.0-alpha.10.3", "type": "module", - "files": [ - "dist", - "src" - ], + "files": ["dist/*"], "repository": { "type": "git", "url": "https://github.com/SethSharp/lumuix" }, - "main": "./dist/ui.umd.cjs", - "module": "./dist/ui.js", "exports": { ".": { - "import": "./dist/lumuix.cjs.js", - "require": "./dist/lumuix.cjs.js", + "import": "./dist/lumuix.js", + "require": "./dist/lumuix.cjs", "types": "./dist/types/index.d.ts" }, "./dropdown-menu": { - "import": "./dist/dropdown-menu.cjs.js", - "require": "./dist/dropdown-menu.cjs.js", + "import": "./dist/dropdown-menu.js", + "require": "./dist/dropdown-menu.cjs", "types": "./dist/types/components/dropdown-menu/index.d.ts" }, "./dist/types/presets/*.css": { diff --git a/vite.config.ts b/vite.config.ts index ced13f5..ee2c978 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -16,31 +16,22 @@ export default defineConfig({ }), ], build: { + emptyOutDir: false, + outDir: "dist", + sourcemap: true, lib: { entry: { lumuix: resolve(__dirname, 'src/index.ts'), 'dropdown-menu': resolve(__dirname, 'src/components/dropdown-menu/index.ts'), }, - name: 'lumuix', - fileName: (entry) => entry.name, - formats: ['es', 'cjs'], + formats: ["es", "cjs"], }, - rollupOptions: { - external: ['vue'], - output: { - dir: 'dist', - entryFileNames: '[name].cjs.js', - chunkFileNames: '[name].js', - }, - }, - emptyOutDir: true, }, resolve: { alias: { '@': resolve(__dirname, 'src'), + '@/components': resolve(__dirname, 'src/components'), '@/app': resolve(__dirname, 'app'), - '@sethsharp/lumuix': resolve(__dirname, 'dist'), - '@sethsharp/lumuix/dropdown-menu': resolve(__dirname, 'dist/types/components/dropdown-menu'), }, }, }) \ No newline at end of file From 6ae59d1874ce919c750111830736c0dd1ca83915 Mon Sep 17 00:00:00 2001 From: Seth Sharp Date: Thu, 31 Oct 2024 13:31:21 +1000 Subject: [PATCH 4/5] wip --- package.json | 8 ++------ tsconfig.app.json | 3 +-- tsconfig.json | 27 +++++++-------------------- tsconfig.node.json | 2 +- vite.config.ts | 4 ++-- 5 files changed, 13 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 1147b1a..37b3455 100644 --- a/package.json +++ b/package.json @@ -8,15 +8,11 @@ "url": "https://github.com/SethSharp/lumuix" }, "exports": { - ".": { - "import": "./dist/lumuix.js", - "require": "./dist/lumuix.cjs", - "types": "./dist/types/index.d.ts" - }, + "./*": "./components/*", "./dropdown-menu": { "import": "./dist/dropdown-menu.js", "require": "./dist/dropdown-menu.cjs", - "types": "./dist/types/components/dropdown-menu/index.d.ts" + "types": "./src/components/dropdown-menu/index.ts" }, "./dist/types/presets/*.css": { "import": "./dist/types/presets/*.css", diff --git a/tsconfig.app.json b/tsconfig.app.json index 88a4bee..bbe21f3 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -9,7 +9,6 @@ "baseUrl": ".", "paths": { "@/*": ["./src/*"] - }, - "moduleResolution": "Node" + } } } diff --git a/tsconfig.json b/tsconfig.json index 6d7349f..66b5e57 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,24 +1,11 @@ { - "include": ["src/**/*.ts", "src/types.d.ts", "src/**/*.vue"], - "compilerOptions": { - "target": "ES2015", - "module": "commonjs", - "outDir": "dist", - "declaration": true, - "declarationDir": "dist/types", - "paths": { - "@/*": ["./src/*"] + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" }, - "allowJs": true, - "lib": [ - "ESNext", - "DOM", - "DOM.Iterable" - ], - "skipLibCheck": true - }, - "exclude": [ - "./dist/**/*", - "node_modules" + { + "path": "./tsconfig.app.json" + } ] } diff --git a/tsconfig.node.json b/tsconfig.node.json index 52de997..f094063 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -13,7 +13,7 @@ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "module": "ESNext", - "moduleResolution": "Node", + "moduleResolution": "Bundler", "types": ["node"] } } diff --git a/vite.config.ts b/vite.config.ts index ee2c978..6261018 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -21,12 +21,12 @@ export default defineConfig({ sourcemap: true, lib: { entry: { - lumuix: resolve(__dirname, 'src/index.ts'), - 'dropdown-menu': resolve(__dirname, 'src/components/dropdown-menu/index.ts'), + 'dropdown-menu': './src/components/dropdown-menu/index.ts', }, formats: ["es", "cjs"], }, }, + resolve: { alias: { '@': resolve(__dirname, 'src'), From 3b6da82a526eca4225b40e7c855f052eabd751cd Mon Sep 17 00:00:00 2001 From: Seth Sharp Date: Mon, 4 Nov 2024 13:19:53 +1000 Subject: [PATCH 5/5] wip --- package.json | 18 ++++++++++++------ vite.config.ts | 3 ++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 37b3455..3057ab6 100644 --- a/package.json +++ b/package.json @@ -8,21 +8,27 @@ "url": "https://github.com/SethSharp/lumuix" }, "exports": { - "./*": "./components/*", "./dropdown-menu": { "import": "./dist/dropdown-menu.js", "require": "./dist/dropdown-menu.cjs", "types": "./src/components/dropdown-menu/index.ts" }, - "./dist/types/presets/*.css": { - "import": "./dist/types/presets/*.css", - "require": "./dist/types/presets/*.css" + "./badge": { + "import": "./dist/badge.js", + "require": "./dist/badge.cjs", + "types": "./src/components/badge/index.ts" + }, + "./presets": { + "import": "./dist/presets.js", + "require": "./dist/presets.cjs", + "types": "./src/presets/preset.ts" } }, - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "scripts": { "dev": "vite", - "build": "run-p format type-check build-all", + "build": "run-p format type-check build-types build-all", + "build-types": "tsc src/**/*.ts --declaration --emitDeclarationOnly --declarationDir dist/types", "build-all": "vite build", "type-check": "vue-tsc --declaration --emitDeclarationOnly --outDir dist/types", "preview": "vite preview", diff --git a/vite.config.ts b/vite.config.ts index 6261018..fd8f647 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -22,11 +22,12 @@ export default defineConfig({ lib: { entry: { 'dropdown-menu': './src/components/dropdown-menu/index.ts', + badge: './src/components/badge/index.ts', + presets: './src/presets/preset.ts', }, formats: ["es", "cjs"], }, }, - resolve: { alias: { '@': resolve(__dirname, 'src'),