mirror of
https://github.com/sabjorn7/meetguru.git
synced 2025-06-26 22:56:58 +03:00
76 lines
17 KiB
JavaScript
76 lines
17 KiB
JavaScript
import { defineConfig } from 'vite';
|
|
import vue from '@vitejs/plugin-vue';
|
|
import autoprefixer from 'autoprefixer';
|
|
import path from 'path';
|
|
import fs from 'fs';
|
|
import handlebars from 'handlebars';
|
|
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
|
|
|
const pages = {"users":{"outputDir":"./users","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/users/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/users/"}]},"promo":{"outputDir":"./promo","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/promo/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/promo/"}]},"testpage":{"outputDir":"./testpage","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/testpage/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/testpage/"}]},"osteo":{"outputDir":"./osteo","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/osteo/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/osteo/"}]},"login":{"outputDir":"./login","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/login/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/login/"}]},"articles":{"outputDir":"./articles","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/articles/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/articles/"}]},"components":{"outputDir":"./components","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/components/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/components/"}]},"kinesis":{"outputDir":"./kinesis","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/kinesis/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/kinesis/"}]},"welcome":{"outputDir":"./welcome","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/welcome/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/welcome/"}]},"feedback":{"outputDir":"./feedback","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/feedback/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/feedback/"}]},"my_finanse":{"outputDir":"./my_finanse","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/my_finanse/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/my_finanse/"}]},"registration":{"outputDir":"./registration","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/registration/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/registration/"}]},"superadmin":{"outputDir":"./superadmin","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/superadmin/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/superadmin/"}]},"politica":{"outputDir":"./politica","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/politica/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/politica/"}]},"profile_page":{"outputDir":"./profile_page","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/profile_page/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/profile_page/"}]},"chats":{"outputDir":"./chats","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/chats/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/chats/"}]},"faq":{"outputDir":"./faq","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/faq/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/faq/"}]},"articles_manage":{"outputDir":"./articles_manage","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/articles_manage/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/articles_manage/"}]},"article_page":{"outputDir":"./article_page","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/article_page/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/article_page/"}]},"course_info":{"outputDir":"./course_info","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/course_info/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/course_info/"}]},"courses_manage":{"outputDir":"./courses_manage","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/courses_manage/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/courses_manage/"}]},"index":{"outputDir":"./","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/"}]},"about_meet":{"outputDir":"./about_meet","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/about_meet/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/about_meet/"}]},"oferta":{"outputDir":"./oferta","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/oferta/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/oferta/"}]},"contacts":{"outputDir":"./contacts","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/contacts/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/contacts/"}]},"profile":{"outputDir":"./profile","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/profile/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/profile/"}]},"my_courses":{"outputDir":"./my_courses","lang":"en","title":"","cacheVersion":63,"meta":[{"name":"twitter:card","content":"summary"},{"property":"og:type","content":"website"},{"name":"robots","content":"index, follow"}],"scripts":{"head":"\n","body":"\n"},"baseTag":{"href":"/","target":"_self"},"alternateLinks":[{"rel":"alternate","hreflang":"x-default","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/my_courses/"},{"rel":"alternate","hreflang":"en","href":"https://c64190db-b628-4e09-b006-ec381176a34c.weweb-preview.io/my_courses/"}]}};
|
|
|
|
// Read the main HTML template
|
|
const template = fs.readFileSync(path.resolve(__dirname, 'template.html'), 'utf-8');
|
|
const compiledTemplate = handlebars.compile(template);
|
|
|
|
// Generate an HTML file for each page with its metadata
|
|
Object.values(pages).forEach(pageConfig => {
|
|
// Compile the template with page metadata
|
|
const html = compiledTemplate({
|
|
title: pageConfig.title,
|
|
lang: pageConfig.lang,
|
|
meta: pageConfig.meta,
|
|
scripts: {
|
|
head: pageConfig.scripts.head,
|
|
body: pageConfig.scripts.body,
|
|
},
|
|
alternateLinks: pageConfig.alternateLinks,
|
|
cacheVersion: pageConfig.cacheVersion,
|
|
baseTag: pageConfig.baseTag,
|
|
});
|
|
|
|
// Save output html for each page
|
|
if (!fs.existsSync(pageConfig.outputDir)) {
|
|
fs.mkdirSync(pageConfig.outputDir, { recursive: true });
|
|
}
|
|
fs.writeFileSync(`${pageConfig.outputDir}/index.html`, html);
|
|
});
|
|
|
|
const rollupOptionsInput = {};
|
|
for (const pageName in pages) {
|
|
rollupOptionsInput[pageName] = path.resolve(__dirname, pages[pageName].outputDir, 'index.html');
|
|
}
|
|
|
|
export default defineConfig(() => {
|
|
return {
|
|
plugins: [nodePolyfills({ include: ['events', 'stream', 'string_decoder'] }), vue()],
|
|
base: "/",
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
css: {
|
|
preprocessorOptions: {
|
|
scss: {
|
|
api: 'modern-compiler',
|
|
},
|
|
},
|
|
postcss: {
|
|
plugins: [autoprefixer],
|
|
},
|
|
},
|
|
build: {
|
|
chunkSizeWarningLimit: 10000,
|
|
rollupOptions: {
|
|
input: rollupOptionsInput,
|
|
onwarn: (entry, next) => {
|
|
if (entry.loc?.file && /js$/.test(entry.loc.file) && /Use of eval in/.test(entry.message)) return;
|
|
return next(entry);
|
|
},
|
|
maxParallelFileOps: 900,
|
|
},
|
|
},
|
|
logLevel: 'warn',
|
|
};
|
|
});
|