gtsoft-snail-job-admin/vite.config.ts.timestamp-1741836248153-b8376754cf3e.mjs

272 lines
33 KiB
JavaScript
Raw Normal View History

2025-03-13 12:06:25 +08:00
// vite.config.ts
import process3 from "node:process";
import { URL, fileURLToPath } from "node:url";
import { defineConfig, loadEnv } from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/vite@5.4.7_@types+node@22.5.5_sass@1.79.3/node_modules/vite/dist/node/index.js";
// build/plugins/index.ts
import vue from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/@vitejs+plugin-vue@5.1.4_vite@5.4.7_@types+node@22.5.5_sass@1.79.3__vue@3.5.7_typescript@5.6.2_/node_modules/@vitejs/plugin-vue/dist/index.mjs";
import vueJsx from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/@vitejs+plugin-vue-jsx@4.0.1_vite@5.4.7_@types+node@22.5.5_sass@1.79.3__vue@3.5.7_typescript@5.6.2_/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
import VueDevtools from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/vite-plugin-vue-devtools@7.4.5_rollup@4.24.2_vite@5.4.7_@types+node@22.5.5_sass@1.79.3__vue@3.5.7_typescript@5.6.2_/node_modules/vite-plugin-vue-devtools/dist/vite.mjs";
import progress from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/vite-plugin-progress@0.0.7_vite@5.4.7_@types+node@22.5.5_sass@1.79.3_/node_modules/vite-plugin-progress/dist/index.mjs";
// build/plugins/router.ts
import ElegantVueRouter from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/@elegant-router+vue@0.3.8/node_modules/@elegant-router/vue/dist/vite.mjs";
function setupElegantRouter() {
return ElegantVueRouter({
layouts: {
base: "src/layouts/base-layout/index.vue",
blank: "src/layouts/blank-layout/index.vue"
},
customRoutes: {
names: ["document"]
},
routePathTransformer(routeName, routePath) {
const key = routeName;
if (key === "login") {
const modules = ["pwd-login"];
const moduleReg = modules.join("|");
return `/login/:module(${moduleReg})?`;
}
return routePath;
},
onRouteMetaGen(routeName) {
const key = routeName;
const constantRoutes = ["login", "403", "404", "500"];
const meta = {
title: key,
i18nKey: `route.${key}`
};
if (constantRoutes.includes(key)) {
meta.constant = true;
}
return meta;
}
});
}
// build/plugins/unocss.ts
import process from "node:process";
import path from "node:path";
import unocss from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/@unocss+vite@0.62.4_rollup@4.24.2_vite@5.4.7_@types+node@22.5.5_sass@1.79.3_/node_modules/@unocss/vite/dist/index.mjs";
import presetIcons from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/@unocss+preset-icons@0.62.4/node_modules/@unocss/preset-icons/dist/index.mjs";
import { FileSystemIconLoader } from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/@iconify+utils@2.1.33/node_modules/@iconify/utils/lib/loader/node-loaders.mjs";
function setupUnocss(viteEnv) {
const { VITE_ICON_PREFIX, VITE_ICON_LOCAL_PREFIX } = viteEnv;
const localIconPath = path.join(process.cwd(), "src/assets/svg-icon");
const collectionName = VITE_ICON_LOCAL_PREFIX.replace(`${VITE_ICON_PREFIX}-`, "");
return unocss({
presets: [
presetIcons({
prefix: `${VITE_ICON_PREFIX}-`,
scale: 1,
extraProperties: {
display: "inline-block"
},
collections: {
[collectionName]: FileSystemIconLoader(
localIconPath,
(svg) => svg.replace(/^<svg\s/, '<svg width="1em" height="1em" ')
)
},
warn: true
})
]
});
}
// build/plugins/unplugin.ts
import process2 from "node:process";
import path2 from "node:path";
import Icons from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/unplugin-icons@0.19.3_@vue+compiler-sfc@3.5.7_webpack-sources@3.2.3/node_modules/unplugin-icons/dist/vite.js";
import IconsResolver from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/unplugin-icons@0.19.3_@vue+compiler-sfc@3.5.7_webpack-sources@3.2.3/node_modules/unplugin-icons/dist/resolver.js";
import Components from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/unplugin-vue-components@0.27.4_@babel+parser@7.26.1_rollup@4.24.2_vue@3.5.7_typescript@5.6.2__webpack-sources@3.2.3/node_modules/unplugin-vue-components/dist/vite.js";
import { AntDesignVueResolver, NaiveUiResolver } from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/unplugin-vue-components@0.27.4_@babel+parser@7.26.1_rollup@4.24.2_vue@3.5.7_typescript@5.6.2__webpack-sources@3.2.3/node_modules/unplugin-vue-components/dist/resolvers.js";
import { FileSystemIconLoader as FileSystemIconLoader2 } from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/unplugin-icons@0.19.3_@vue+compiler-sfc@3.5.7_webpack-sources@3.2.3/node_modules/unplugin-icons/dist/loaders.js";
import { createSvgIconsPlugin } from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1_vite@5.4.7_@types+node@22.5.5_sass@1.79.3_/node_modules/vite-plugin-svg-icons/dist/index.mjs";
function setupUnplugin(viteEnv) {
const { VITE_ICON_PREFIX, VITE_ICON_LOCAL_PREFIX } = viteEnv;
const localIconPath = path2.join(process2.cwd(), "src/assets/svg-icon");
const collectionName = VITE_ICON_LOCAL_PREFIX.replace(`${VITE_ICON_PREFIX}-`, "");
const plugins = [
Icons({
compiler: "vue3",
customCollections: {
[collectionName]: FileSystemIconLoader2(
localIconPath,
(svg) => svg.replace(/^<svg\s/, '<svg width="1em" height="1em" ')
)
},
scale: 1,
defaultClass: "inline-block"
}),
Components({
dts: "src/typings/components.d.ts",
types: [{ from: "vue-router", names: ["RouterLink", "RouterView"] }],
resolvers: [
AntDesignVueResolver({
importStyle: false
}),
NaiveUiResolver(),
IconsResolver({ customCollections: [collectionName], componentPrefix: VITE_ICON_PREFIX })
]
}),
createSvgIconsPlugin({
iconDirs: [localIconPath],
symbolId: `${VITE_ICON_LOCAL_PREFIX}-[dir]-[name]`,
inject: "body-last",
customDomId: "__SVG_ICON_LOCAL__"
})
];
return plugins;
}
// build/plugins/html.ts
function setupHtmlPlugin(buildTime) {
const plugin = {
name: "html-plugin",
apply: "build",
transformIndexHtml(html) {
return html.replace("<head>", `<head>
<meta name="buildTime" content="${buildTime}">`);
}
};
return plugin;
}
// build/plugins/index.ts
function setupVitePlugins(viteEnv, buildTime) {
const plugins = [
vue(),
vueJsx(),
VueDevtools(),
setupElegantRouter(),
setupUnocss(viteEnv),
...setupUnplugin(viteEnv),
progress(),
setupHtmlPlugin(buildTime)
];
return plugins;
}
// src/utils/service.ts
import json5 from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/index.js";
function createServiceConfig(env) {
const { VITE_SERVICE_BASE_URL, VITE_OTHER_SERVICE_BASE_URL } = env;
let other = {};
try {
if (VITE_OTHER_SERVICE_BASE_URL) {
other = json5.parse(VITE_OTHER_SERVICE_BASE_URL);
}
} catch {
console.error("VITE_OTHER_SERVICE_BASE_URL is not a valid json5 string");
}
const httpConfig = {
baseURL: VITE_SERVICE_BASE_URL,
other
};
const otherHttpKeys = Object.keys(httpConfig.other);
const otherConfig = otherHttpKeys.map((key) => {
return {
key,
baseURL: httpConfig.other[key],
proxyPattern: createProxyPattern(key)
};
});
const config = {
baseURL: httpConfig.baseURL,
proxyPattern: createProxyPattern(),
other: otherConfig
};
return config;
}
function createProxyPattern(key) {
if (!key) {
return "/snail-job";
}
return `/proxy-${key}`;
}
// build/config/proxy.ts
function createViteProxy(env, enable) {
const isEnableHttpProxy = enable && env.VITE_HTTP_PROXY === "Y";
if (!isEnableHttpProxy) return void 0;
const { baseURL, proxyPattern, other } = createServiceConfig(env);
const proxy = createProxyItem({ baseURL, proxyPattern });
other.forEach((item) => {
Object.assign(proxy, createProxyItem(item));
});
return proxy;
}
function createProxyItem(item) {
const proxy = {};
proxy[item.proxyPattern] = {
target: item.baseURL,
changeOrigin: true,
rewrite: (path3) => path3.replace(new RegExp(`^${item.proxyPattern}`), "")
};
return proxy;
}
// build/config/time.ts
import dayjs from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js";
import utc from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.js";
import timezone from "file:///D:/code/LIB/octopus-admin/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.js";
function getBuildTime() {
dayjs.extend(utc);
dayjs.extend(timezone);
const buildTime = dayjs.tz(Date.now(), "Asia/Shanghai").format("YYYY-MM-DD HH:mm:ss");
return buildTime;
}
// vite.config.ts
var __vite_injected_original_import_meta_url = "file:///D:/code/LIB/octopus-admin/vite.config.ts";
var vite_config_default = defineConfig((configEnv) => {
const viteEnv = loadEnv(configEnv.mode, process3.cwd());
const buildTime = getBuildTime();
const enableProxy = configEnv.command === "serve" && !configEnv.isPreview;
return {
base: viteEnv.VITE_BASE_URL,
resolve: {
alias: {
"~": fileURLToPath(new URL("./", __vite_injected_original_import_meta_url)),
"@": fileURLToPath(new URL("./src", __vite_injected_original_import_meta_url))
}
},
css: {
preprocessorOptions: {
scss: {
api: "modern-compiler",
additionalData: `@use "@/styles/scss/global.scss" as *;`
}
}
},
plugins: setupVitePlugins(viteEnv, buildTime),
define: {
BUILD_TIME: JSON.stringify(buildTime)
},
server: {
host: "0.0.0.0",
port: 9527,
open: true,
proxy: createViteProxy(viteEnv, enableProxy),
fs: {
cachedChecks: false
}
},
preview: {
port: 9725
},
build: {
reportCompressedSize: false,
sourcemap: viteEnv.VITE_SOURCE_MAP === "Y",
commonjsOptions: {
ignoreTryCatch: false
}
}
};
});
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAiYnVpbGQvcGx1Z2lucy9pbmRleC50cyIsICJidWlsZC9wbHVnaW5zL3JvdXRlci50cyIsICJidWlsZC9wbHVnaW5zL3Vub2Nzcy50cyIsICJidWlsZC9wbHVnaW5zL3VucGx1Z2luLnRzIiwgImJ1aWxkL3BsdWdpbnMvaHRtbC50cyIsICJzcmMvdXRpbHMvc2VydmljZS50cyIsICJidWlsZC9jb25maWcvcHJveHkudHMiLCAiYnVpbGQvY29uZmlnL3RpbWUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxjb2RlXFxcXExJQlxcXFxvY3RvcHVzLWFkbWluXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxjb2RlXFxcXExJQlxcXFxvY3RvcHVzLWFkbWluXFxcXHZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi9jb2RlL0xJQi9vY3RvcHVzLWFkbWluL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcbmltcG9ydCB7IFVSTCwgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCB7IGRlZmluZUNvbmZpZywgbG9hZEVudiB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHsgc2V0dXBWaXRlUGx1Z2lucyB9IGZyb20gJy4vYnVpbGQvcGx1Z2lucyc7XG5pbXBvcnQgeyBjcmVhdGVWaXRlUHJveHksIGdldEJ1aWxkVGltZSB9IGZyb20gJy4vYnVpbGQvY29uZmlnJztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKGNvbmZpZ0VudiA9PiB7XG4gIGNvbnN0IHZpdGVFbnYgPSBsb2FkRW52KGNvbmZpZ0Vudi5tb2RlLCBwcm9jZXNzLmN3ZCgpKSBhcyB1bmtub3duIGFzIEVudi5JbXBvcnRNZXRhO1xuXG4gIGNvbnN0IGJ1aWxkVGltZSA9IGdldEJ1aWxkVGltZSgpO1xuXG4gIGNvbnN0IGVuYWJsZVByb3h5ID0gY29uZmlnRW52LmNvbW1hbmQgPT09ICdzZXJ2ZScgJiYgIWNvbmZpZ0Vudi5pc1ByZXZpZXc7XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNlOiB2aXRlRW52LlZJVEVfQkFTRV9VUkwsXG4gICAgcmVzb2x2ZToge1xuICAgICAgYWxpYXM6IHtcbiAgICAgICAgJ34nOiBmaWxlVVJMVG9QYXRoKG5ldyBVUkwoJy4vJywgaW1wb3J0Lm1ldGEudXJsKSksXG4gICAgICAgICdAJzogZmlsZVVSTFRvUGF0aChuZXcgVVJMKCcuL3NyYycsIGltcG9ydC5tZXRhLnVybCkpXG4gICAgICB9XG4gICAgfSxcbiAgICBjc3M6IHtcbiAgICAgIHByZXByb2Nlc3Nvck9wdGlvbnM6IHtcbiAgICAgICAgc2Nzczoge1xuICAgICAgICAgIGFwaTogJ21vZGVybi1jb21waWxlcicsXG4gICAgICAgICAgYWRkaXRpb25hbERhdGE6IGBAdXNlIFwiQC9zdHlsZXMvc2Nzcy9nbG9iYWwuc2Nzc1wiIGFzICo7YFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBwbHVnaW5zOiBzZXR1cFZpdGVQbHVnaW5zKHZpdGVFbnYsIGJ1aWxkVGltZSksXG4gICAgZGVmaW5lOiB7XG4gICAgICBCVUlMRF9USU1FOiBKU09OLnN0cmluZ2lmeShidWlsZFRpbWUpXG4gICAgfSxcbiAgICBzZXJ2ZXI6IHtcbiAgICAgIGhvc3Q6ICcwLjAuMC4wJyxcbiAgICAgIHBvcnQ6IDk1MjcsXG4gICAgICBvcGVuOiB0cnVlLFxuICAgICAgcHJveHk6IGNyZWF0ZVZpdGVQcm94eSh2aXRlRW52LCBlbmFibGVQcm94eSksXG4gICAgICBmczoge1xuICAgICAgICBjYWNoZWRDaGVja3M6IGZhbHNlXG4gICAgICB9XG4gICAgfSxcbiAgICBwcmV2aWV3OiB7XG4gICAgICBwb3J0OiA5NzI1XG4gICAgfSxcbiAgICBidWlsZDoge1xuICAgICAgcmVwb3J0Q29tcHJlc3NlZFNpemU6IGZhbHNlLFxuICAgICAgc291cmNlbWFwOiB2aXRlRW52LlZJVEVfU09VUkNFX01BUCA9PT0gJ1knLFxuICAgICAgY29tbW9uanNPcHRpb25zOiB7XG4gICAgICAgIGlnbm9yZVRyeUNhdGNoOiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn0pO1xuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxjb2RlXFxcXExJQlxcXFxvY3RvcHVzLWFkbWluXFxcXGJ1aWxkXFxcXHBsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGNvZGVcXFxcTElCXFxcXG9jdG9wdXMtYWRtaW5cXFxcYnVpbGRcXFxccGx1Z2luc1xcXFxpbmRleC50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovY29kZS9MSUIvb2N0b3B1cy1hZG1pbi9idWlsZC9wbHVnaW5zL2luZGV4LnRzXCI7aW1wb3J0IHR5cGUgeyBQbHVnaW5PcHRpb24gfSBmcm9tICd2aXRlJztcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJztcbmltcG9ydCB2dWVKc3ggZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlLWpzeCc7XG5pbXBvcnQgVnVlRGV2dG9vbHMgZnJvbSAndml0ZS1wbHVnaW4tdnVlLWRldnRvb2xzJztcbmltcG9ydCBwcm9ncmVzcyBmcm9tICd2aXRlLXBsdWdpbi1wcm9ncmVzcyc7XG5pbXBvcnQgeyBzZXR1cEVsZWdhbnRSb3V0ZXIgfSBmcm9tICcuL3JvdXRlcic7XG5pbXBvcnQgeyBzZXR1cFVub2NzcyB9IGZyb20gJy4vdW5vY3NzJztcbmltcG9ydCB7IHNldHVwVW5wbHVnaW4gfSBmcm9tICcuL3VucGx1Z2luJztcbmltcG9ydCB7IHNldHVwSHRtbFBsdWdpbiB9IGZyb20gJy4vaHRtbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cFZpdGVQbHVnaW5zKHZpdGVFbnY6IEVudi5JbXBvcnRNZXRhLCBidWlsZFRpbWU6IHN0cmluZykge1xuICBjb25zdCBwbHVnaW5zOiBQbHVnaW5PcHRpb24gPSBbXG4gICAgdnVlKCksXG4gICAgdnVlSnN4KCksXG4gICAgVnVlRGV2dG9vbHMoKSxcbiAgICBzZXR1cEVsZWdhbnRSb3V0ZXIoKSxcbiAgICBzZXR1cFVub2Nzcyh2aXRlRW52KSxcbiAgICAuLi5zZXR1cFVucGx1Z2luKHZpdGVFbnYpLFxuICAgIHByb2dyZXNzKCksXG4gICAgc2V0dXBIdG1sUGx1Z2luKGJ1a