reconvert sigpro/ui
This commit is contained in:
56
dist/sigpro.vite.js
vendored
56
dist/sigpro.vite.js
vendored
@@ -1,52 +1,4 @@
|
||||
// src/sigpro.vite.js
|
||||
function sigproRouter() {
|
||||
const virtualModuleId = "virtual:sigpro-routes";
|
||||
const resolvedVirtualModuleId = "\x00" + virtualModuleId;
|
||||
const getFiles = (dir) => {
|
||||
if (!fs.existsSync(dir))
|
||||
return [];
|
||||
return fs.readdirSync(dir, { recursive: true }).filter((file) => /\.(js|jsx)$/.test(file) && !path.basename(file).startsWith("_")).map((file) => path.resolve(dir, file));
|
||||
};
|
||||
const pathToUrl = (pagesDir, filePath) => {
|
||||
let relative = path.relative(pagesDir, filePath).replace(/\\/g, "/").replace(/\.(js|jsx)$/, "").replace(/\/index$/, "").replace(/^index$/, "");
|
||||
return ("/" + relative).replace(/\/+/g, "/").replace(/\[\.\.\.([^\]]+)\]/g, "*").replace(/\[([^\]]+)\]/g, ":$1").replace(/\/$/, "") || "/";
|
||||
};
|
||||
return {
|
||||
name: "sigpro-router",
|
||||
resolveId(id) {
|
||||
if (id === virtualModuleId)
|
||||
return resolvedVirtualModuleId;
|
||||
},
|
||||
load(id) {
|
||||
if (id !== resolvedVirtualModuleId)
|
||||
return;
|
||||
const root = process.cwd();
|
||||
const pagesDir = path.resolve(root, "src/pages");
|
||||
const files = getFiles(pagesDir).sort((a, b) => {
|
||||
const urlA = pathToUrl(pagesDir, a);
|
||||
const urlB = pathToUrl(pagesDir, b);
|
||||
if (urlA.includes(":") && !urlB.includes(":"))
|
||||
return 1;
|
||||
if (!urlA.includes(":") && urlB.includes(":"))
|
||||
return -1;
|
||||
return urlB.length - urlA.length;
|
||||
});
|
||||
let routeEntries = "";
|
||||
files.forEach((fullPath) => {
|
||||
const urlPath = pathToUrl(pagesDir, fullPath);
|
||||
const relativeImport = "./" + path.relative(root, fullPath).replace(/\\/g, "/");
|
||||
routeEntries += ` { path: '${urlPath}', component: () => import('/${relativeImport}') },
|
||||
`;
|
||||
});
|
||||
if (!routeEntries.includes("path: '*'")) {
|
||||
routeEntries += ` { path: '*', component: () => ({ default: () => document.createTextNode('404 - Not Found') }) },
|
||||
`;
|
||||
}
|
||||
return `export const routes = [
|
||||
${routeEntries}];`;
|
||||
}
|
||||
};
|
||||
}
|
||||
export {
|
||||
sigproRouter
|
||||
};
|
||||
function g(){let u="\x00virtual:sigpro-routes",i=(e)=>{if(!fs.existsSync(e))return[];return fs.readdirSync(e,{recursive:!0}).filter((r)=>/\.(js|jsx)$/.test(r)&&!path.basename(r).startsWith("_")).map((r)=>path.resolve(e,r))},l=(e,r)=>{return("/"+path.relative(e,r).replace(/\\/g,"/").replace(/\.(js|jsx)$/,"").replace(/\/index$/,"").replace(/^index$/,"")).replace(/\/+/g,"/").replace(/\[\.\.\.([^\]]+)\]/g,"*").replace(/\[([^\]]+)\]/g,":$1").replace(/\/$/,"")||"/"};return{name:"sigpro-router",resolveId(e){if(e==="virtual:sigpro-routes")return u},load(e){if(e!==u)return;let r=process.cwd(),t=path.resolve(r,"src/pages"),p=i(t).sort((n,a)=>{let o=l(t,n),c=l(t,a);if(o.includes(":")&&!c.includes(":"))return 1;if(!o.includes(":")&&c.includes(":"))return-1;return c.length-o.length}),s="";if(p.forEach((n)=>{let a=l(t,n),o="./"+path.relative(r,n).replace(/\\/g,"/");s+=` { path: '${a}', component: () => import('/${o}') },
|
||||
`}),!s.includes("path: '*'"))s+=` { path: '*', component: () => ({ default: () => document.createTextNode('404 - Not Found') }) },
|
||||
`;return`export const routes = [
|
||||
${s}];`}}}export{g as sigproRouter};
|
||||
|
||||
Reference in New Issue
Block a user