Skip to content

Commit

Permalink
fix: Attempting to generate files for build (#12)
Browse files Browse the repository at this point in the history
  • Loading branch information
incutonez authored Sep 21, 2024
1 parent 0c6937e commit d80c17d
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 32 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ node_modules
dist
dist-ssr
*.local
src/indices/*

# Editor directories and files
.vscode/*
Expand Down
22 changes: 5 additions & 17 deletions makeIndex.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { mkdirSync, writeFileSync } from "fs";
import { writeFileSync } from "fs";
import { glob } from "glob";
import { existsSync } from "node:fs";

// TODOJEF: Need to include loading the theme in PrimeVue
const Dirs = [{
Expand All @@ -22,26 +21,15 @@ const Dirs = [{
}];
const SrcRe = /^src/;
const ComponentNameRe = /(\w+)\.(\w+)$/;
for (const { dir, match, name } of Dirs) {
for (const { dir, match } of Dirs) {
const files = glob.sync(`${dir}${match}`);
for (const file of files) {
let output = "";
if (file.endsWith("index.ts")) {
continue;
}
const [, componentName, extension] = file.match(ComponentNameRe);
if (extension === "ts") {
output = `export * from "${file.replace(SrcRe, "@").replace(/\\/g, "/")}";`;
}
else {
output = `export { default as ${componentName} } from "${file.replace(SrcRe, "@").replace(/\\/g, "/")}";`;
}
const outDir = `./src/indices/${name}/`;
if (!existsSync(outDir)) {
mkdirSync(outDir, {
recursive: true,
});
continue;
}
writeFileSync(`${outDir}${componentName}.ts`, output);
output = `export { default as ${componentName} } from "${file.replace(SrcRe, "@").replace(/\\/g, "/")}";`;
writeFileSync(`${dir}${componentName}.ts`, output);
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
],
"scripts": {
"dev": "vite --config vite/config.dev.ts",
"build": "vite build --config vite/config.prod.ts",
"build": "npx tsx makeIndex.ts && vite build --config vite/config.prod.ts",
"prepare": "husky"
},
"dependencies": {
Expand Down
1 change: 0 additions & 1 deletion src/components/BaseButton.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/components/BaseContextMenu.ts

This file was deleted.

13 changes: 6 additions & 7 deletions tsconfig.build.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,11 @@
}
},
"include": [
"src/components/BaseButton.ts",
"src/components/BaseButton.vue",
"src/components/BaseContextMenu.vue",
"src/components/BaseContextMenu.ts",
"src/types/components.ts",
"src/utils/menu.ts"
"src/components/**/*",
"src/utils/**/*",
"src/types/**/*",
"src/assets/**/*.vue",
"src/vite-env.d.ts"
],
"exclude": ["node_modules", "src/App.vue", "src/main.ts", "src/router.ts", "src/assets/theme", "src/indices"],
"exclude": ["node_modules", "src/App.vue", "src/main.ts", "src/router.ts", "src/assets/theme", "src/indices"]
}
19 changes: 15 additions & 4 deletions vite/config.prod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,20 @@ import { defineConfig } from "vite";
import dts from "vite-plugin-dts";
import svgLoader from "vite-svg-loader";

const entries: Record<string, string> = {};
glob.sync("src/components/**/*.ts").forEach((file) => {
entries[file.replace(/\\/g, "/").replace("src/", "").replace(".ts", "")] = file;
});
glob.sync("src/utils/**/*.ts").forEach((file) => {
entries[file.replace(/\\/g, "/").replace("src/", "").replace(".ts", "")] = file;
});
glob.sync("src/types/**/*.ts").forEach((file) => {
entries[file.replace(/\\/g, "/").replace("src/", "").replace(".ts", "")] = file;
});
glob.sync("src/assets/**/*.ts").forEach((file) => {
entries[file.replace(/\\/g, "/").replace("src/", "").replace(".ts", "")] = file;
});

export default defineConfig({
base: "/core-ui/",
plugins: [vue(), svgLoader(), dts({
Expand All @@ -27,10 +41,7 @@ export default defineConfig({
emptyOutDir: true,
outDir: "dist",
lib: {
entry: {
"components/BaseButton": "src/components/BaseButton.ts",
"components/BaseContextMenu": "src/components/BaseContextMenu.ts",
},
entry: entries,
formats: ["es"],
},
rollupOptions: {
Expand Down

0 comments on commit d80c17d

Please sign in to comment.