vite: add https variables
All checks were successful
/ depoly (push) Successful in 1m21s

Personal note from Rubicon: I am unware that I
originally put the localhost.direct cert files
into the repository. All reference to the files
are now removed.

Sorry for the inconvenience.
This commit is contained in:
thislight 2024-10-27 00:22:28 +08:00
parent 4958fb1346
commit 130a989185
No known key found for this signature in database
GPG key ID: A50F9451AC56A63E
4 changed files with 95 additions and 50 deletions

View file

@ -1,4 +1,4 @@
import { defineConfig } from "vite";
import { defineConfig, loadEnv } from "vite";
import solid from "vite-plugin-solid";
import solidStyled from "vite-plugin-solid-styled";
import suid from "@suid/vite-plugin";
@ -45,57 +45,71 @@ const chunkStrs: GetManualChunk = (id, { getModuleInfo }) => {
}
};
const manualChunks: GetManualChunk = (id, meta) => {
return chunkStrs(id, meta);
};
export default defineConfig(({ mode }) => ({
plugins: [
suid(),
solid(),
solidStyled({
filter: {
include: "src/**/*.{tsx,jsx}",
exclude: "node_modules/**/*.{ts,js,tsx,jsx}",
},
}),
VitePWA({
strategies: "injectManifest",
registerType: "autoUpdate",
devOptions: {
enabled: !["production", "staging"].includes(mode),
},
srcDir: "src/serviceworker",
filename: "main.ts",
manifest: manifest,
pwaAssets: {
config: true,
},
}),
version(),
],
server: {
https: {
// localhost.direct: https://github.com/Upinel/localhost.direct
key: "tools/certs/localhost.direct.key",
cert: "tools/certs/localhost.direct.crt",
passphrase: "localhost",
},
},
define: {
"import.meta.env.BUILT_AT": `"${new Date().toISOString()}"`,
},
css: {
devSourcemap: true,
},
build: {
target: ["firefox98", "safari15.4", "ios15.4", "chrome84", "edge87"],
sourcemap: true,
rollupOptions: {
output: {
manualChunks,
export default defineConfig(({ mode }) => {
const devConf = loadEnv(mode, import.meta.dirname, "DEV");
const serverHttpCertBase = devConf["DEV_SERVER_HTTP_CERT_BASE"];
const serverHttpCertPassword = devConf["DEV_SERVER_HTTP_CERT_PASS"];
const serverHttpCertKey = serverHttpCertBase
? `${serverHttpCertBase}.key`
: undefined;
const serverHttpCertCrt = serverHttpCertBase
? `${serverHttpCertBase}.crt`
: undefined;
return {
plugins: [
suid(),
solid(),
solidStyled({
filter: {
include: "src/**/*.{tsx,jsx}",
exclude: "node_modules/**/*.{ts,js,tsx,jsx}",
},
}),
VitePWA({
strategies: "injectManifest",
registerType: "autoUpdate",
devOptions: {
enabled: !["production", "staging"].includes(mode),
},
srcDir: "src/serviceworker",
filename: "main.ts",
manifest: manifest,
pwaAssets: {
config: true,
},
}),
version(),
],
server: {
https: {
// This config controls https for the *dev server*.
// See docs/dev-https.md for setting up https
key: serverHttpCertKey,
cert: serverHttpCertCrt,
passphrase: serverHttpCertPassword,
},
},
},
}));
define: {
"import.meta.env.BUILT_AT": `"${new Date().toISOString()}"`,
},
css: {
devSourcemap: true,
},
build: {
target: ["firefox98", "safari15.4", "ios15.4", "chrome84", "edge87"],
sourcemap: true,
rollupOptions: {
output: {
manualChunks,
},
},
},
};
});