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', }; });