You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.5 KiB
61 lines
1.5 KiB
import { execSync } from 'child_process';
|
|
import { resolve } from 'path';
|
|
import { visualizer } from 'rollup-plugin-visualizer';
|
|
import { defineConfig } from 'vite';
|
|
import EnvironmentPlugin from 'vite-plugin-environment';
|
|
|
|
import react from '@vitejs/plugin-react';
|
|
|
|
let hash = "";
|
|
|
|
try {
|
|
hash = execSync("git rev-parse --short HEAD").toString().trim();
|
|
} catch (error) {
|
|
hash = "DEVELOPMENT";
|
|
}
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
react(),
|
|
EnvironmentPlugin({
|
|
COMMIT_HASH: hash
|
|
})
|
|
// VitePWA({
|
|
// registerType: "autoUpdate",
|
|
// devOptions: {
|
|
// enabled: true
|
|
// }
|
|
// })
|
|
],
|
|
build: {
|
|
target: "esnext",
|
|
assetsDir: "",
|
|
rollupOptions: {
|
|
plugins: [visualizer()]
|
|
}
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@app": resolve(__dirname, "./src"),
|
|
"@pages": resolve(__dirname, "./src/pages"),
|
|
"@components": resolve(__dirname, "./src/components"),
|
|
"@core": resolve(__dirname, "./src/core"),
|
|
"@layouts": resolve(__dirname, "./src/layouts")
|
|
}
|
|
},
|
|
server: {
|
|
proxy: {
|
|
// Firmware must be downloaded through this server as a proxy.
|
|
// It can't be downloaded directly because of GitHub's CORS policy.
|
|
"^/firmware/.*": {
|
|
target: "https://api.github.com/repos/meshtastic/firmware/releases/assets/",
|
|
changeOrigin: true,
|
|
followRedirects: true,
|
|
rewrite: (path) => path.replace(/^\/firmware/, ''),
|
|
headers: {
|
|
"Accept": "application/octet-stream"
|
|
}
|
|
}
|
|
},
|
|
}
|
|
});
|
|
|