qidian-shared 1.0.71 → 1.0.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,7 +29,8 @@ function devProxy(env, prefix = "VITE") {
29
29
  rewrite: (path) => {
30
30
  const newPath = `/${path.replace(new RegExp(url), "")}`;
31
31
  return newPath;
32
- }
32
+ },
33
+ configure: createSseConfigure()
33
34
  };
34
35
  const otherProxy = `${env[`${prefix}_OTHER_PROXY${key.slice(prefix.length)}`]}`;
35
36
  if (otherProxy !== "undefined") {
@@ -41,10 +42,22 @@ function devProxy(env, prefix = "VITE") {
41
42
  autoRewrite: false,
42
43
  rewrite: (path) => {
43
44
  return path;
44
- }
45
+ },
46
+ configure: createSseConfigure()
45
47
  };
46
48
  }
47
49
  }
50
+ function createSseConfigure() {
51
+ return (proxyServer) => {
52
+ proxyServer.on("proxyReq", (proxyReq, req) => {
53
+ const accept = req.headers.accept || "";
54
+ const isSse = accept.includes("text/event-stream");
55
+ if (!isSse) return;
56
+ proxyReq.setHeader("Connection", "keep-alive");
57
+ proxyReq.setTimeout(0);
58
+ });
59
+ };
60
+ }
48
61
  return proxy;
49
62
  }
50
63
  function versionPlugin({ version, outputPath }) {
@@ -1 +1 @@
1
- {"version":3,"file":"qidian-vite-plugin.cjs.js","sources":["../../src/utils/vitePlugin.ts"],"sourcesContent":["import { mkdirSync, writeFileSync } from 'node:fs'\nimport { dirname } from 'node:path'\n\n/**\n * 开发代理配置生成器\n * @param env 环境变量\n * @param prefix 环境变量前缀,默认为VITE\n * @returns 代理配置对象\n */\nexport function devProxy(env: Record<string, string>, prefix = 'VITE') {\n const proxy: Record<string, string | object> = {}\n if (env.MODE === 'production' || env[`${prefix}_PROXY`] !== 'true') return proxy\n\n const baseUrlKey = `${prefix}_BASE_URL`\n for (const key in env) {\n const urlIndex = key.indexOf('_BASE_URL')\n if (urlIndex === -1) continue\n\n const isBase = key === baseUrlKey\n if (isBase) continue\n\n const isProxy = key.indexOf('_PROXY') !== -1\n if (isProxy) continue\n\n const url = env[key].endsWith('/') ? env[key] : `${env[key]}/`\n if (url === env[baseUrlKey]) continue\n\n const proxyUrl = env[`${prefix}_PROXY${key.slice(prefix.length)}`]\n if (!proxyUrl) continue\n\n proxy[url] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n pathRewrite: {\n // 兼容 vue-cli\n [url]: ''\n },\n rewrite: (path: string) => {\n const newPath = `/${path.replace(new RegExp(url), '')}`\n return newPath\n }\n }\n\n const otherProxy = `${env[`${prefix}_OTHER_PROXY${key.slice(prefix.length)}`]}`\n if (otherProxy !== 'undefined') {\n const reg = `^/(${otherProxy})(/.*|$)`\n proxy[reg] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n rewrite: (path: string) => {\n return path\n }\n }\n }\n }\n\n return proxy\n}\n\n/**\n * Vite 版本信息插件\n * 在构建完成后生成包含版本号和构建时间的 version.json 文件\n * @param options 配置选项\n * @param options.version 版本号字符串\n * @param options.outputPath 输出文件路径,相对于调用方的目录\n * @returns Vite 插件对象\n */\nexport function versionPlugin({ version, outputPath }: { version: string; outputPath?: string }) {\n return {\n name: 'version-plugin',\n closeBundle() {\n const versionInfo = {\n code: 200,\n version: version || 'unknown',\n buildTime: new Date().toISOString()\n }\n const outputPathResolved = outputPath || 'dist/version.json'\n\n const dir = dirname(outputPathResolved)\n mkdirSync(dir, { recursive: true })\n\n writeFileSync(outputPathResolved, JSON.stringify(versionInfo, null, 2))\n }\n }\n}\n"],"names":["dirname","mkdirSync","writeFileSync"],"mappings":";;;;AASO,SAAS,SAAS,KAA6B,SAAS,QAAQ;AACrE,QAAM,QAAyC,CAAA;AAC/C,MAAI,IAAI,SAAS,gBAAgB,IAAI,GAAG,MAAM,QAAQ,MAAM,OAAQ,QAAO;AAE3E,QAAM,aAAa,GAAG,MAAM;AAC5B,aAAW,OAAO,KAAK;AACrB,UAAM,WAAW,IAAI,QAAQ,WAAW;AACxC,QAAI,aAAa,GAAI;AAErB,UAAM,SAAS,QAAQ;AACvB,QAAI,OAAQ;AAEZ,UAAM,UAAU,IAAI,QAAQ,QAAQ,MAAM;AAC1C,QAAI,QAAS;AAEb,UAAM,MAAM,IAAI,GAAG,EAAE,SAAS,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;AAC3D,QAAI,QAAQ,IAAI,UAAU,EAAG;AAE7B,UAAM,WAAW,IAAI,GAAG,MAAM,SAAS,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE;AACjE,QAAI,CAAC,SAAU;AAEf,UAAM,GAAG,IAAI;AAAA,MACX,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,aAAa;AAAA;AAAA,QAEX,CAAC,GAAG,GAAG;AAAA,MAAA;AAAA,MAET,SAAS,CAAC,SAAiB;AACzB,cAAM,UAAU,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;AACrD,eAAO;AAAA,MACT;AAAA,IAAA;AAGF,UAAM,aAAa,GAAG,IAAI,GAAG,MAAM,eAAe,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE,CAAC;AAC7E,QAAI,eAAe,aAAa;AAC9B,YAAM,MAAM,MAAM,UAAU;AAC5B,YAAM,GAAG,IAAI;AAAA,QACX,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,SAAS,CAAC,SAAiB;AACzB,iBAAO;AAAA,QACT;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO;AACT;AAUO,SAAS,cAAc,EAAE,SAAS,cAAwD;AAC/F,SAAO;AAAA,IACL,MAAM;AAAA,IACN,cAAc;AACZ,YAAM,cAAc;AAAA,QAClB,MAAM;AAAA,QACN,SAAS,WAAW;AAAA,QACpB,YAAW,oBAAI,KAAA,GAAO,YAAA;AAAA,MAAY;AAEpC,YAAM,qBAAqB,cAAc;AAEzC,YAAM,MAAMA,UAAAA,QAAQ,kBAAkB;AACtCC,cAAAA,UAAU,KAAK,EAAE,WAAW,KAAA,CAAM;AAElCC,cAAAA,cAAc,oBAAoB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA,IACxE;AAAA,EAAA;AAEJ;;;"}
1
+ {"version":3,"file":"qidian-vite-plugin.cjs.js","sources":["../../src/utils/vitePlugin.ts"],"sourcesContent":["import { mkdirSync, writeFileSync } from 'node:fs'\nimport { dirname } from 'node:path'\n\n/**\n * 开发代理配置生成器\n * @param env 环境变量\n * @param prefix 环境变量前缀,默认为VITE\n * @returns 代理配置对象\n */\nexport function devProxy(env: Record<string, string>, prefix = 'VITE') {\n const proxy: Record<string, string | object> = {}\n if (env.MODE === 'production' || env[`${prefix}_PROXY`] !== 'true') return proxy\n\n const baseUrlKey = `${prefix}_BASE_URL`\n for (const key in env) {\n const urlIndex = key.indexOf('_BASE_URL')\n if (urlIndex === -1) continue\n\n const isBase = key === baseUrlKey\n if (isBase) continue\n\n const isProxy = key.indexOf('_PROXY') !== -1\n if (isProxy) continue\n\n const url = env[key].endsWith('/') ? env[key] : `${env[key]}/`\n if (url === env[baseUrlKey]) continue\n\n const proxyUrl = env[`${prefix}_PROXY${key.slice(prefix.length)}`]\n if (!proxyUrl) continue\n\n proxy[url] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n pathRewrite: {\n // 兼容 vue-cli\n [url]: ''\n },\n rewrite: (path: string) => {\n const newPath = `/${path.replace(new RegExp(url), '')}`\n return newPath\n },\n configure: createSseConfigure()\n }\n\n const otherProxy = `${env[`${prefix}_OTHER_PROXY${key.slice(prefix.length)}`]}`\n if (otherProxy !== 'undefined') {\n const reg = `^/(${otherProxy})(/.*|$)`\n proxy[reg] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n rewrite: (path: string) => {\n return path\n },\n configure: createSseConfigure()\n }\n }\n }\n\n function createSseConfigure() {\n return (proxyServer: any) => {\n proxyServer.on('proxyReq', (proxyReq: any, req: any) => {\n const accept = req.headers.accept || ''\n const isSse = accept.includes('text/event-stream')\n if (!isSse) return\n\n proxyReq.setHeader('Connection', 'keep-alive')\n proxyReq.setTimeout(0)\n })\n }\n }\n\n return proxy\n}\n\n/**\n * Vite 版本信息插件\n * 在构建完成后生成包含版本号和构建时间的 version.json 文件\n * @param options 配置选项\n * @param options.version 版本号字符串\n * @param options.outputPath 输出文件路径,相对于调用方的目录\n * @returns Vite 插件对象\n */\nexport function versionPlugin({ version, outputPath }: { version: string; outputPath?: string }) {\n return {\n name: 'version-plugin',\n closeBundle() {\n const versionInfo = {\n code: 200,\n version: version || 'unknown',\n buildTime: new Date().toISOString()\n }\n const outputPathResolved = outputPath || 'dist/version.json'\n\n const dir = dirname(outputPathResolved)\n mkdirSync(dir, { recursive: true })\n\n writeFileSync(outputPathResolved, JSON.stringify(versionInfo, null, 2))\n }\n }\n}\n"],"names":["dirname","mkdirSync","writeFileSync"],"mappings":";;;;AASO,SAAS,SAAS,KAA6B,SAAS,QAAQ;AACrE,QAAM,QAAyC,CAAA;AAC/C,MAAI,IAAI,SAAS,gBAAgB,IAAI,GAAG,MAAM,QAAQ,MAAM,OAAQ,QAAO;AAE3E,QAAM,aAAa,GAAG,MAAM;AAC5B,aAAW,OAAO,KAAK;AACrB,UAAM,WAAW,IAAI,QAAQ,WAAW;AACxC,QAAI,aAAa,GAAI;AAErB,UAAM,SAAS,QAAQ;AACvB,QAAI,OAAQ;AAEZ,UAAM,UAAU,IAAI,QAAQ,QAAQ,MAAM;AAC1C,QAAI,QAAS;AAEb,UAAM,MAAM,IAAI,GAAG,EAAE,SAAS,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;AAC3D,QAAI,QAAQ,IAAI,UAAU,EAAG;AAE7B,UAAM,WAAW,IAAI,GAAG,MAAM,SAAS,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE;AACjE,QAAI,CAAC,SAAU;AAEf,UAAM,GAAG,IAAI;AAAA,MACX,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,aAAa;AAAA;AAAA,QAEX,CAAC,GAAG,GAAG;AAAA,MAAA;AAAA,MAET,SAAS,CAAC,SAAiB;AACzB,cAAM,UAAU,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;AACrD,eAAO;AAAA,MACT;AAAA,MACA,WAAW,mBAAA;AAAA,IAAmB;AAGhC,UAAM,aAAa,GAAG,IAAI,GAAG,MAAM,eAAe,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE,CAAC;AAC7E,QAAI,eAAe,aAAa;AAC9B,YAAM,MAAM,MAAM,UAAU;AAC5B,YAAM,GAAG,IAAI;AAAA,QACX,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,SAAS,CAAC,SAAiB;AACzB,iBAAO;AAAA,QACT;AAAA,QACA,WAAW,mBAAA;AAAA,MAAmB;AAAA,IAElC;AAAA,EACF;AAEA,WAAS,qBAAqB;AAC5B,WAAO,CAAC,gBAAqB;AAC3B,kBAAY,GAAG,YAAY,CAAC,UAAe,QAAa;AACtD,cAAM,SAAS,IAAI,QAAQ,UAAU;AACrC,cAAM,QAAQ,OAAO,SAAS,mBAAmB;AACjD,YAAI,CAAC,MAAO;AAEZ,iBAAS,UAAU,cAAc,YAAY;AAC7C,iBAAS,WAAW,CAAC;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;AAUO,SAAS,cAAc,EAAE,SAAS,cAAwD;AAC/F,SAAO;AAAA,IACL,MAAM;AAAA,IACN,cAAc;AACZ,YAAM,cAAc;AAAA,QAClB,MAAM;AAAA,QACN,SAAS,WAAW;AAAA,QACpB,YAAW,oBAAI,KAAA,GAAO,YAAA;AAAA,MAAY;AAEpC,YAAM,qBAAqB,cAAc;AAEzC,YAAM,MAAMA,UAAAA,QAAQ,kBAAkB;AACtCC,cAAAA,UAAU,KAAK,EAAE,WAAW,KAAA,CAAM;AAElCC,cAAAA,cAAc,oBAAoB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA,IACxE;AAAA,EAAA;AAEJ;;;"}
@@ -27,7 +27,8 @@ function devProxy(env, prefix = "VITE") {
27
27
  rewrite: (path) => {
28
28
  const newPath = `/${path.replace(new RegExp(url), "")}`;
29
29
  return newPath;
30
- }
30
+ },
31
+ configure: createSseConfigure()
31
32
  };
32
33
  const otherProxy = `${env[`${prefix}_OTHER_PROXY${key.slice(prefix.length)}`]}`;
33
34
  if (otherProxy !== "undefined") {
@@ -39,10 +40,22 @@ function devProxy(env, prefix = "VITE") {
39
40
  autoRewrite: false,
40
41
  rewrite: (path) => {
41
42
  return path;
42
- }
43
+ },
44
+ configure: createSseConfigure()
43
45
  };
44
46
  }
45
47
  }
48
+ function createSseConfigure() {
49
+ return (proxyServer) => {
50
+ proxyServer.on("proxyReq", (proxyReq, req) => {
51
+ const accept = req.headers.accept || "";
52
+ const isSse = accept.includes("text/event-stream");
53
+ if (!isSse) return;
54
+ proxyReq.setHeader("Connection", "keep-alive");
55
+ proxyReq.setTimeout(0);
56
+ });
57
+ };
58
+ }
46
59
  return proxy;
47
60
  }
48
61
  function versionPlugin({ version, outputPath }) {
@@ -1 +1 @@
1
- {"version":3,"file":"qidian-vite-plugin.es.js","sources":["../../src/utils/vitePlugin.ts"],"sourcesContent":["import { mkdirSync, writeFileSync } from 'node:fs'\nimport { dirname } from 'node:path'\n\n/**\n * 开发代理配置生成器\n * @param env 环境变量\n * @param prefix 环境变量前缀,默认为VITE\n * @returns 代理配置对象\n */\nexport function devProxy(env: Record<string, string>, prefix = 'VITE') {\n const proxy: Record<string, string | object> = {}\n if (env.MODE === 'production' || env[`${prefix}_PROXY`] !== 'true') return proxy\n\n const baseUrlKey = `${prefix}_BASE_URL`\n for (const key in env) {\n const urlIndex = key.indexOf('_BASE_URL')\n if (urlIndex === -1) continue\n\n const isBase = key === baseUrlKey\n if (isBase) continue\n\n const isProxy = key.indexOf('_PROXY') !== -1\n if (isProxy) continue\n\n const url = env[key].endsWith('/') ? env[key] : `${env[key]}/`\n if (url === env[baseUrlKey]) continue\n\n const proxyUrl = env[`${prefix}_PROXY${key.slice(prefix.length)}`]\n if (!proxyUrl) continue\n\n proxy[url] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n pathRewrite: {\n // 兼容 vue-cli\n [url]: ''\n },\n rewrite: (path: string) => {\n const newPath = `/${path.replace(new RegExp(url), '')}`\n return newPath\n }\n }\n\n const otherProxy = `${env[`${prefix}_OTHER_PROXY${key.slice(prefix.length)}`]}`\n if (otherProxy !== 'undefined') {\n const reg = `^/(${otherProxy})(/.*|$)`\n proxy[reg] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n rewrite: (path: string) => {\n return path\n }\n }\n }\n }\n\n return proxy\n}\n\n/**\n * Vite 版本信息插件\n * 在构建完成后生成包含版本号和构建时间的 version.json 文件\n * @param options 配置选项\n * @param options.version 版本号字符串\n * @param options.outputPath 输出文件路径,相对于调用方的目录\n * @returns Vite 插件对象\n */\nexport function versionPlugin({ version, outputPath }: { version: string; outputPath?: string }) {\n return {\n name: 'version-plugin',\n closeBundle() {\n const versionInfo = {\n code: 200,\n version: version || 'unknown',\n buildTime: new Date().toISOString()\n }\n const outputPathResolved = outputPath || 'dist/version.json'\n\n const dir = dirname(outputPathResolved)\n mkdirSync(dir, { recursive: true })\n\n writeFileSync(outputPathResolved, JSON.stringify(versionInfo, null, 2))\n }\n }\n}\n"],"names":[],"mappings":";;AASO,SAAS,SAAS,KAA6B,SAAS,QAAQ;AACrE,QAAM,QAAyC,CAAA;AAC/C,MAAI,IAAI,SAAS,gBAAgB,IAAI,GAAG,MAAM,QAAQ,MAAM,OAAQ,QAAO;AAE3E,QAAM,aAAa,GAAG,MAAM;AAC5B,aAAW,OAAO,KAAK;AACrB,UAAM,WAAW,IAAI,QAAQ,WAAW;AACxC,QAAI,aAAa,GAAI;AAErB,UAAM,SAAS,QAAQ;AACvB,QAAI,OAAQ;AAEZ,UAAM,UAAU,IAAI,QAAQ,QAAQ,MAAM;AAC1C,QAAI,QAAS;AAEb,UAAM,MAAM,IAAI,GAAG,EAAE,SAAS,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;AAC3D,QAAI,QAAQ,IAAI,UAAU,EAAG;AAE7B,UAAM,WAAW,IAAI,GAAG,MAAM,SAAS,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE;AACjE,QAAI,CAAC,SAAU;AAEf,UAAM,GAAG,IAAI;AAAA,MACX,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,aAAa;AAAA;AAAA,QAEX,CAAC,GAAG,GAAG;AAAA,MAAA;AAAA,MAET,SAAS,CAAC,SAAiB;AACzB,cAAM,UAAU,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;AACrD,eAAO;AAAA,MACT;AAAA,IAAA;AAGF,UAAM,aAAa,GAAG,IAAI,GAAG,MAAM,eAAe,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE,CAAC;AAC7E,QAAI,eAAe,aAAa;AAC9B,YAAM,MAAM,MAAM,UAAU;AAC5B,YAAM,GAAG,IAAI;AAAA,QACX,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,SAAS,CAAC,SAAiB;AACzB,iBAAO;AAAA,QACT;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO;AACT;AAUO,SAAS,cAAc,EAAE,SAAS,cAAwD;AAC/F,SAAO;AAAA,IACL,MAAM;AAAA,IACN,cAAc;AACZ,YAAM,cAAc;AAAA,QAClB,MAAM;AAAA,QACN,SAAS,WAAW;AAAA,QACpB,YAAW,oBAAI,KAAA,GAAO,YAAA;AAAA,MAAY;AAEpC,YAAM,qBAAqB,cAAc;AAEzC,YAAM,MAAM,QAAQ,kBAAkB;AACtC,gBAAU,KAAK,EAAE,WAAW,KAAA,CAAM;AAElC,oBAAc,oBAAoB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA,IACxE;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"qidian-vite-plugin.es.js","sources":["../../src/utils/vitePlugin.ts"],"sourcesContent":["import { mkdirSync, writeFileSync } from 'node:fs'\nimport { dirname } from 'node:path'\n\n/**\n * 开发代理配置生成器\n * @param env 环境变量\n * @param prefix 环境变量前缀,默认为VITE\n * @returns 代理配置对象\n */\nexport function devProxy(env: Record<string, string>, prefix = 'VITE') {\n const proxy: Record<string, string | object> = {}\n if (env.MODE === 'production' || env[`${prefix}_PROXY`] !== 'true') return proxy\n\n const baseUrlKey = `${prefix}_BASE_URL`\n for (const key in env) {\n const urlIndex = key.indexOf('_BASE_URL')\n if (urlIndex === -1) continue\n\n const isBase = key === baseUrlKey\n if (isBase) continue\n\n const isProxy = key.indexOf('_PROXY') !== -1\n if (isProxy) continue\n\n const url = env[key].endsWith('/') ? env[key] : `${env[key]}/`\n if (url === env[baseUrlKey]) continue\n\n const proxyUrl = env[`${prefix}_PROXY${key.slice(prefix.length)}`]\n if (!proxyUrl) continue\n\n proxy[url] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n pathRewrite: {\n // 兼容 vue-cli\n [url]: ''\n },\n rewrite: (path: string) => {\n const newPath = `/${path.replace(new RegExp(url), '')}`\n return newPath\n },\n configure: createSseConfigure()\n }\n\n const otherProxy = `${env[`${prefix}_OTHER_PROXY${key.slice(prefix.length)}`]}`\n if (otherProxy !== 'undefined') {\n const reg = `^/(${otherProxy})(/.*|$)`\n proxy[reg] = {\n target: proxyUrl,\n changeOrigin: true,\n ws: true,\n autoRewrite: false,\n rewrite: (path: string) => {\n return path\n },\n configure: createSseConfigure()\n }\n }\n }\n\n function createSseConfigure() {\n return (proxyServer: any) => {\n proxyServer.on('proxyReq', (proxyReq: any, req: any) => {\n const accept = req.headers.accept || ''\n const isSse = accept.includes('text/event-stream')\n if (!isSse) return\n\n proxyReq.setHeader('Connection', 'keep-alive')\n proxyReq.setTimeout(0)\n })\n }\n }\n\n return proxy\n}\n\n/**\n * Vite 版本信息插件\n * 在构建完成后生成包含版本号和构建时间的 version.json 文件\n * @param options 配置选项\n * @param options.version 版本号字符串\n * @param options.outputPath 输出文件路径,相对于调用方的目录\n * @returns Vite 插件对象\n */\nexport function versionPlugin({ version, outputPath }: { version: string; outputPath?: string }) {\n return {\n name: 'version-plugin',\n closeBundle() {\n const versionInfo = {\n code: 200,\n version: version || 'unknown',\n buildTime: new Date().toISOString()\n }\n const outputPathResolved = outputPath || 'dist/version.json'\n\n const dir = dirname(outputPathResolved)\n mkdirSync(dir, { recursive: true })\n\n writeFileSync(outputPathResolved, JSON.stringify(versionInfo, null, 2))\n }\n }\n}\n"],"names":[],"mappings":";;AASO,SAAS,SAAS,KAA6B,SAAS,QAAQ;AACrE,QAAM,QAAyC,CAAA;AAC/C,MAAI,IAAI,SAAS,gBAAgB,IAAI,GAAG,MAAM,QAAQ,MAAM,OAAQ,QAAO;AAE3E,QAAM,aAAa,GAAG,MAAM;AAC5B,aAAW,OAAO,KAAK;AACrB,UAAM,WAAW,IAAI,QAAQ,WAAW;AACxC,QAAI,aAAa,GAAI;AAErB,UAAM,SAAS,QAAQ;AACvB,QAAI,OAAQ;AAEZ,UAAM,UAAU,IAAI,QAAQ,QAAQ,MAAM;AAC1C,QAAI,QAAS;AAEb,UAAM,MAAM,IAAI,GAAG,EAAE,SAAS,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;AAC3D,QAAI,QAAQ,IAAI,UAAU,EAAG;AAE7B,UAAM,WAAW,IAAI,GAAG,MAAM,SAAS,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE;AACjE,QAAI,CAAC,SAAU;AAEf,UAAM,GAAG,IAAI;AAAA,MACX,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,aAAa;AAAA;AAAA,QAEX,CAAC,GAAG,GAAG;AAAA,MAAA;AAAA,MAET,SAAS,CAAC,SAAiB;AACzB,cAAM,UAAU,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;AACrD,eAAO;AAAA,MACT;AAAA,MACA,WAAW,mBAAA;AAAA,IAAmB;AAGhC,UAAM,aAAa,GAAG,IAAI,GAAG,MAAM,eAAe,IAAI,MAAM,OAAO,MAAM,CAAC,EAAE,CAAC;AAC7E,QAAI,eAAe,aAAa;AAC9B,YAAM,MAAM,MAAM,UAAU;AAC5B,YAAM,GAAG,IAAI;AAAA,QACX,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,SAAS,CAAC,SAAiB;AACzB,iBAAO;AAAA,QACT;AAAA,QACA,WAAW,mBAAA;AAAA,MAAmB;AAAA,IAElC;AAAA,EACF;AAEA,WAAS,qBAAqB;AAC5B,WAAO,CAAC,gBAAqB;AAC3B,kBAAY,GAAG,YAAY,CAAC,UAAe,QAAa;AACtD,cAAM,SAAS,IAAI,QAAQ,UAAU;AACrC,cAAM,QAAQ,OAAO,SAAS,mBAAmB;AACjD,YAAI,CAAC,MAAO;AAEZ,iBAAS,UAAU,cAAc,YAAY;AAC7C,iBAAS,WAAW,CAAC;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;AAUO,SAAS,cAAc,EAAE,SAAS,cAAwD;AAC/F,SAAO;AAAA,IACL,MAAM;AAAA,IACN,cAAc;AACZ,YAAM,cAAc;AAAA,QAClB,MAAM;AAAA,QACN,SAAS,WAAW;AAAA,QACpB,YAAW,oBAAI,KAAA,GAAO,YAAA;AAAA,MAAY;AAEpC,YAAM,qBAAqB,cAAc;AAEzC,YAAM,MAAM,QAAQ,kBAAkB;AACtC,gBAAU,KAAK,EAAE,WAAW,KAAA,CAAM;AAElC,oBAAc,oBAAoB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA,IACxE;AAAA,EAAA;AAEJ;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-shared",
3
- "version": "1.0.71",
3
+ "version": "1.0.72",
4
4
  "description": "QiDian 共享工具函数和钩子",
5
5
  "type": "module",
6
6
  "author": "qidian",