Files
cinny/vite.config.js.timestamp-1771642098574-00e5d9a55dc42.mjs

166 lines
15 KiB
JavaScript

// vite.config.js
import { defineConfig } from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/vite/dist/node/index.js";
import react from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/@vitejs/plugin-react/dist/index.mjs";
import { wasm } from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/@rollup/plugin-wasm/dist/es/index.js";
import { viteStaticCopy } from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/vite-plugin-static-copy/dist/index.js";
import { vanillaExtractPlugin } from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/@vanilla-extract/vite-plugin/dist/vanilla-extract-vite-plugin.cjs.js";
import { NodeGlobalsPolyfillPlugin } from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js";
import inject from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/@rollup/plugin-inject/dist/es/index.js";
import topLevelAwait from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/vite-plugin-top-level-await/exports/import.mjs";
import { VitePWA } from "file:///home/litruv/Development/cinny-desktop/cinny/node_modules/vite-plugin-pwa/dist/index.js";
import fs from "fs";
import path from "path";
// build.config.ts
var build_config_default = {
base: "/"
};
// vite.config.js
var copyFiles = {
targets: [
{
src: "node_modules/pdfjs-dist/build/pdf.worker.min.mjs",
dest: "",
rename: "pdf.worker.min.js"
},
{
src: "node_modules/gif.js/dist/gif.worker.js",
dest: ""
},
{
src: "netlify.toml",
dest: ""
},
{
src: "config.json",
dest: ""
},
{
src: "public/manifest.json",
dest: ""
},
{
src: "public/res/android",
dest: "public/"
},
{
src: "public/locales",
dest: "public/"
}
]
};
function serverMatrixSdkCryptoWasm(wasmFilePath) {
return {
name: "vite-plugin-serve-matrix-sdk-crypto-wasm",
configureServer(server) {
server.middlewares.use((req, res, next) => {
if (req.url === wasmFilePath) {
const resolvedPath = path.join(path.resolve(), "/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm");
if (fs.existsSync(resolvedPath)) {
res.setHeader("Content-Type", "application/wasm");
res.setHeader("Cache-Control", "no-cache");
const fileStream = fs.createReadStream(resolvedPath);
fileStream.pipe(res);
} else {
res.writeHead(404);
res.end("File not found");
}
} else {
next();
}
});
}
};
}
function serveGifWorker() {
return {
name: "vite-plugin-serve-gif-worker",
configureServer(server) {
server.middlewares.use((req, res, next) => {
if (req.url === "/gif.worker.js") {
const resolvedPath = path.join(path.resolve(), "/node_modules/gif.js/dist/gif.worker.js");
if (fs.existsSync(resolvedPath)) {
res.setHeader("Content-Type", "application/javascript");
res.setHeader("Cache-Control", "no-cache");
const fileStream = fs.createReadStream(resolvedPath);
fileStream.pipe(res);
} else {
res.writeHead(404);
res.end("File not found");
}
} else {
next();
}
});
}
};
}
var vite_config_default = defineConfig({
appType: "spa",
publicDir: false,
base: build_config_default.base,
server: {
port: 8080,
host: "0.0.0.0",
fs: {
// Allow serving files from one level up to the project root
allow: [".."]
}
},
plugins: [
serverMatrixSdkCryptoWasm("/node_modules/.vite/deps/pkg/matrix_sdk_crypto_wasm_bg.wasm"),
serveGifWorker(),
topLevelAwait({
// The export name of top-level await promise for each chunk module
promiseExportName: "__tla",
// The function to generate import names of top-level await promise in each chunk module
promiseImportName: (i) => `__tla_${i}`
}),
viteStaticCopy(copyFiles),
vanillaExtractPlugin(),
wasm(),
react(),
VitePWA({
srcDir: "src",
filename: "sw.ts",
strategies: "injectManifest",
injectRegister: false,
manifest: false,
injectManifest: {
injectionPoint: void 0
},
devOptions: {
enabled: false,
type: "module"
}
})
],
optimizeDeps: {
esbuildOptions: {
define: {
global: "globalThis"
},
plugins: [
// Enable esbuild polyfill plugins
NodeGlobalsPolyfillPlugin({
process: false,
buffer: true
})
]
}
},
build: {
outDir: "dist",
sourcemap: true,
copyPublicDir: false,
rollupOptions: {
plugins: [inject({ Buffer: ["buffer", "Buffer"] })]
}
}
});
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAiYnVpbGQuY29uZmlnLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvbGl0cnV2L0RldmVsb3BtZW50L2Npbm55LWRlc2t0b3AvY2lubnlcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xpdHJ1di9EZXZlbG9wbWVudC9jaW5ueS1kZXNrdG9wL2Npbm55L3ZpdGUuY29uZmlnLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL2xpdHJ1di9EZXZlbG9wbWVudC9jaW5ueS1kZXNrdG9wL2Npbm55L3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSc7XG5pbXBvcnQgcmVhY3QgZnJvbSAnQHZpdGVqcy9wbHVnaW4tcmVhY3QnO1xuaW1wb3J0IHsgd2FzbSB9IGZyb20gJ0Byb2xsdXAvcGx1Z2luLXdhc20nO1xuaW1wb3J0IHsgdml0ZVN0YXRpY0NvcHkgfSBmcm9tICd2aXRlLXBsdWdpbi1zdGF0aWMtY29weSc7XG5pbXBvcnQgeyB2YW5pbGxhRXh0cmFjdFBsdWdpbiB9IGZyb20gJ0B2YW5pbGxhLWV4dHJhY3Qvdml0ZS1wbHVnaW4nO1xuaW1wb3J0IHsgTm9kZUdsb2JhbHNQb2x5ZmlsbFBsdWdpbiB9IGZyb20gJ0Blc2J1aWxkLXBsdWdpbnMvbm9kZS1nbG9iYWxzLXBvbHlmaWxsJztcbmltcG9ydCBpbmplY3QgZnJvbSAnQHJvbGx1cC9wbHVnaW4taW5qZWN0JztcbmltcG9ydCB0b3BMZXZlbEF3YWl0IGZyb20gJ3ZpdGUtcGx1Z2luLXRvcC1sZXZlbC1hd2FpdCc7XG5pbXBvcnQgeyBWaXRlUFdBIH0gZnJvbSAndml0ZS1wbHVnaW4tcHdhJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBidWlsZENvbmZpZyBmcm9tICcuL2J1aWxkLmNvbmZpZyc7XG5cbmNvbnN0IGNvcHlGaWxlcyA9IHtcbiAgdGFyZ2V0czogW1xuICAgIHtcbiAgICAgIHNyYzogJ25vZGVfbW9kdWxlcy9wZGZqcy1kaXN0L2J1aWxkL3BkZi53b3JrZXIubWluLm1qcycsXG4gICAgICBkZXN0OiAnJyxcbiAgICAgIHJlbmFtZTogJ3BkZi53b3JrZXIubWluLmpzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHNyYzogJ25vZGVfbW9kdWxlcy9naWYuanMvZGlzdC9naWYud29ya2VyLmpzJyxcbiAgICAgIGRlc3Q6ICcnLFxuICAgIH0sXG4gICAge1xuICAgICAgc3JjOiAnbmV0bGlmeS50b21sJyxcbiAgICAgIGRlc3Q6ICcnLFxuICAgIH0sXG4gICAge1xuICAgICAgc3JjOiAnY29uZmlnLmpzb24nLFxuICAgICAgZGVzdDogJycsXG4gICAgfSxcbiAgICB7XG4gICAgICBzcmM6ICdwdWJsaWMvbWFuaWZlc3QuanNvbicsXG4gICAgICBkZXN0OiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHNyYzogJ3B1YmxpYy9yZXMvYW5kcm9pZCcsXG4gICAgICBkZXN0OiAncHVibGljLycsXG4gICAgfSxcbiAgICB7XG4gICAgICBzcmM6ICdwdWJsaWMvbG9jYWxlcycsXG4gICAgICBkZXN0OiAncHVibGljLycsXG4gICAgfSxcbiAgXSxcbn07XG5cbmZ1bmN0aW9uIHNlcnZlck1hdHJpeFNka0NyeXB0b1dhc20od2FzbUZpbGVQYXRoKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3ZpdGUtcGx1Z2luLXNlcnZlLW1hdHJpeC1zZGstY3J5cHRvLXdhc20nLFxuICAgIGNvbmZpZ3VyZVNlcnZlcihzZXJ2ZXIpIHtcbiAgICAgIHNlcnZlci5taWRkbGV3YXJlcy51c2UoKHJlcSwgcmVzLCBuZXh0KSA9PiB7XG4gICAgICAgIGlmIChyZXEudXJsID09PSB3YXNtRmlsZVBhdGgpIHtcbiAgICAgICAgICBjb25zdCByZXNvbHZlZFBhdGggPSBwYXRoLmpvaW4ocGF0aC5yZXNvbHZlKCksIFwiL25vZGVfbW9kdWxlcy9AbWF0cml4LW9yZy9tYXRyaXgtc2RrLWNyeXB0by13YXNtL3BrZy9tYXRyaXhfc2RrX2NyeXB0b193YXNtX2JnLndhc21cIik7XG5cbiAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhyZXNvbHZlZFBhdGgpKSB7XG4gICAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vd2FzbScpO1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcignQ2FjaGUtQ29udHJvbCcsICduby1jYWNoZScpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWxlU3RyZWFtID0gZnMuY3JlYXRlUmVhZFN0cmVhbShyZXNvbHZlZFBhdGgpO1xuICAgICAgICAgICAgZmlsZVN0cmVhbS5waXBlKHJlcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcy53cml0ZUhlYWQoNDA0KTtcbiAgICAgICAgICAgIHJlcy5lbmQoJ0ZpbGUgbm90IGZvdW5kJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gc2VydmVHaWZXb3JrZXIoKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3ZpdGUtcGx1Z2luLXNlcnZlLWdpZi13b3JrZXInLFxuICAgIGNvbmZpZ3VyZVNlcnZlcihzZXJ2ZXIpIHtcbiAgICAgIHNlcnZlci5taWRkbGV3YXJlcy51c2UoKHJlcSwgcmVzLCBuZXh0KSA9PiB7XG4gICAgICAgIGlmIChyZXEudXJsID09PSAnL2dpZi53b3JrZXIuanMnKSB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcGF0aC5qb2luKHBhdGgucmVzb2x2ZSgpLCAnL25vZGVfbW9kdWxlcy9naWYuanMvZGlzdC9naWYud29ya2VyLmpzJyk7XG5cbiAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhyZXNvbHZlZFBhdGgpKSB7XG4gICAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vamF2YXNjcmlwdCcpO1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcignQ2FjaGUtQ29udHJvbCcsICduby1jYWNoZScpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWxlU3RyZWFtID0gZnMuY3JlYXRlUmVhZFN0cmVhbShyZXNvbHZlZFBhdGgpO1xuICAgICAgICAgICAgZmlsZVN0cmVhbS5waXBlKHJlcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcy53cml0ZUhlYWQoNDA0KTtcbiAgICAgICAgICAgIHJlcy5lbmQoJ0ZpbGUgbm90IGZvdW5kJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgYXBwVHlwZTogJ3NwYScsXG4gIHB1YmxpY0RpcjogZmFsc2UsXG4gIGJhc2U6IGJ1aWxkQ29uZmlnLmJhc2UsXG4gIHNlcnZlcjoge1xuICAgIHBvcnQ6IDgwODAsXG4gICAgaG9zdDogJzAuMC4wLjAnLFxuICAgIGZzOiB7XG4gICAgICAvLyBBbGxvdyBzZXJ2aW5nIGZpbGVzIGZyb20gb25lIGxldmVsIHVwIHRvIHRoZSBwcm9qZWN0IHJvb3RcbiAgICAgIGFsbG93OiBbJy4uJ10sXG4gICAgfSxcbiAgfSxcbiAgcGx1Z2luczogW1xuICAgIHNlcnZlck1hdHJpeFNka0NyeXB0b1dhc20oJy9ub2RlX21vZHVsZXMvLnZpdGUvZGVwcy9wa2cvbWF0cml4X3Nka19jcnlwdG9fd2FzbV9iZy53YXNtJyksXG4gICAgc2VydmVHaWZXb3JrZXIoKSxcbiAgICB0b3BMZXZlbEF3YWl0KHtcbiAgICAgIC8vIFRoZSBleHBvcnQgbmFtZSBvZiB0b3AtbGV2ZWwgYXdhaXQgcHJvbWlzZSBmb3IgZWFjaCBjaHVuayBtb2R1bGVcbiAgICAgIHByb21pc2VFeHBvcnROYW1lOiAnX190bGEnLFxuICAgICAgLy8gVGhlIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGltcG9ydCBuYW1lcyBvZiB0b3AtbGV2ZWwgYXdhaXQgcHJvbWlzZSBpbiBlYWNoIGNodW5rIG1vZHVsZVxuICAgICAgcHJvbWlzZUltcG9ydE5hbWU6IChpKSA9PiBgX190bGFfJHtpfWAsXG4gICAgfSksXG4gICAgdml0ZVN0YXRpY0NvcHkoY29weUZpbGVzKSxcbiAgICB2YW5pbGxhRXh0cmFjdFBsdWdpbigpLFxuICAgIHdhc20oKSxcbiAgICByZWFjdCgpLFxuICAgIFZpdGVQV0Eoe1xuICAgICAgc3JjRGlyOiAnc3JjJyxcbiAgICAgIGZpbGVuYW1lOiAnc3cudHMnLFxuICAgICAgc3RyYXRlZ2llczogJ2luamVjdE1hbmlmZXN0JyxcbiAgICAgIGluamVjdFJlZ2lzdGVyOiBmYWxzZSxcbiAgICAgIG1hbmlmZXN0OiBmYWxzZSxcbiAgICAgIGluamVjdE1hbmlmZXN0OiB7XG4gICAgICAgIGluamVjdGlvblBvaW50OiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgZGV2T3B0aW9uczoge1xuICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgdHlwZTogJ21vZHVsZSdcbiAgICAgIH1cbiAgICB9KSxcbiAgXSxcbiAgb3B0aW1pemVEZXBzOiB7XG4gICAgZXNidWlsZE9wdGlvbnM6IHtcbiAgICAgIGRlZmluZToge1xuICAgICAgICBnbG9iYWw6ICdnbG9iYWxUaGlzJyxcbiAgICAgIH0sXG4gICAgICBwbHVnaW5zOiBbXG4gICAgICAgIC8vIEVuYWJsZSBlc2J1aWxkIHBvbHlmaWxsIHBsdWdpbnNcbiAgICAgICAgTm9kZUdsb2JhbHNQb2x5ZmlsbFBsdWdpbih7XG4gICAgICAgICAgcHJvY2VzczogZmFsc2UsXG4gICAgICAgICAgYnVmZmVyOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgYnVpbGQ6IHtcbiAgICBvdXREaXI6ICdkaXN0JyxcbiAgICBzb3VyY2VtYXA6IHRydWUsXG4gICAgY29weVB1YmxpY0RpcjogZmFsc2UsXG4gICAgcm9sbHVwT3B0aW9uczoge1xuICAgICAgcGx1Z2luczogW2luamVjdCh7IEJ1ZmZlcjogWydidWZmZXInLCAnQnVmZmVyJ10gfSldLFxuICAgIH0sXG4gIH0sXG59KTtcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvbGl0cnV2L0RldmVsb3BtZW50L2Npbm55LWRlc2t0b3AvY2lubnlcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xpdHJ1di9EZXZlbG9wbWVudC9jaW5ueS1kZXNrdG9wL2Npbm55L2J1aWxkLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9saXRydXYvRGV2ZWxvcG1lbnQvY2lubnktZGVza3RvcC9jaW5ueS9idWlsZC5jb25maWcudHNcIjtleHBvcnQgZGVmYXVsdCB7XG4gIGJhc2U6ICcvJyxcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXNULFNBQVMsb0JBQW9CO0FBQ25WLE9BQU8sV0FBVztBQUNsQixTQUFTLFlBQVk7QUFDckIsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyw0QkFBNEI7QUFDckMsU0FBUyxpQ0FBaUM7QUFDMUMsT0FBTyxZQUFZO0FBQ25CLE9BQU8sbUJBQW1CO0FBQzFCLFNBQVMsZUFBZTtBQUN4QixPQUFPLFFBQVE7QUFDZixPQUFPLFVBQVU7OztBQ1Z1UyxJQUFPLHVCQUFRO0FBQUEsRUFDclUsTUFBTTtBQUNSOzs7QURXQSxJQUFNLFlBQVk7QUFBQSxFQUNoQixTQUFT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