@gylautorun/dev-proxy-cookie 1.0.0 → 1.0.1

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.
package/README.md CHANGED
@@ -239,11 +239,32 @@ export default defineConfig({
239
239
 
240
240
  ```javascript
241
241
  const getCookie = createFileCookieGetter('./cookie.txt', {
242
- watch: true, // 是否监听文件变化,默认 false
242
+ watch: true, // 是否监听文件变化,默认 'auto'
243
243
  debug: true, // 是否输出调试日志,默认 false
244
+ isDev: process.env.NODE_ENV === 'development', // 是否为开发环境(优先级最高)
244
245
  });
245
246
  ```
246
247
 
248
+ **选项:**
249
+
250
+ - `cookieFile` (string): Cookie 文件路径(必需)
251
+ - `watch` (boolean | 'auto'): 是否监听文件变化,默认 `'auto'`
252
+ - `true`: 始终监听
253
+ - `false`: 从不监听
254
+ - `'auto'`: 根据环境自动判断(默认)
255
+ - `debug` (boolean): 是否输出调试日志,默认 `false`
256
+ - `productionEnvs` (string[]): 自定义生产环境变量列表,用于判断是否禁用监听
257
+ - `isDev` (boolean): 是否为开发环境(优先级最高)
258
+ - 设置此参数后,将直接决定是否启用文件监听
259
+ - `true`: 启用监听(开发模式)
260
+ - `false`: 禁用监听(生产模式)
261
+
262
+ **参数优先级:**
263
+
264
+ ```
265
+ isDev (最高) → watch (中等) → 智能检测 (最低)
266
+ ```
267
+
247
268
  ### Vite 相关
248
269
 
249
270
  #### viteAutoProxyCookie(options)
@@ -265,6 +286,10 @@ Vite 插件,自动配置代理和 Cookie 注入。
265
286
  - `includePaths` (string[]): 只代理这些路径
266
287
  - `ignorePaths` (array): 忽略的路径
267
288
  - `hooks` (object): 钩子函数配置
289
+ - `isDev` (boolean): 是否为开发环境(优先级最高)
290
+ - 设置此参数后,将直接决定是否启用文件监听
291
+ - `true`: 启用监听(开发模式)
292
+ - `false`: 禁用监听(生产模式)
268
293
 
269
294
  #### viteDevProxyCookie(options)
270
295
 
@@ -275,6 +300,14 @@ Vite 插件,基础 Cookie 注入功能。
275
300
  - `cookieFile` (string): Cookie 文件路径(必需)
276
301
  - `debug` (boolean): 是否开启调试日志,默认 `false`
277
302
  - `onCookieChange` ((cookie: string) => void): Cookie 变化回调
303
+ - `watch` (boolean | 'auto'): 是否监听文件变化,默认 `'auto'`
304
+ - `true`: 始终监听
305
+ - `false`: 从不监听
306
+ - `'auto'`: 根据环境自动判断(默认)
307
+ - `isDev` (boolean): 是否为开发环境(优先级最高)
308
+ - 设置此参数后,将直接决定是否启用文件监听
309
+ - `true`: 启用监听(开发模式)
310
+ - `false`: 禁用监听(生产模式)
278
311
 
279
312
  ### 工具类
280
313
 
@@ -458,6 +491,8 @@ src/
458
491
 
459
492
  ## 最佳实践
460
493
 
494
+ ### 推荐配置
495
+
461
496
  ```javascript
462
497
  // cookie.txt - 存放登录后的 Cookie
463
498
  session-id=abc123
@@ -475,7 +510,10 @@ module.exports = {
475
510
  devServer: {
476
511
  proxy: createAutoProxyConfig({
477
512
  target: 'http://localhost:3000',
478
- getCookie: createFileCookieGetter('./cookie.txt', { watch: true }),
513
+ getCookie: createFileCookieGetter('./cookie.txt', {
514
+ watch: 'auto', // 自动判断环境
515
+ debug: true,
516
+ }),
479
517
  ignorePaths: ['/assets/', '/public/'],
480
518
  }),
481
519
  },
@@ -489,12 +527,51 @@ export default defineConfig({
489
527
  viteAutoProxyCookie({
490
528
  cookieFile: './cookie.txt',
491
529
  target: 'http://localhost:3000',
530
+ isDev: process.env.NODE_ENV === 'development', // 显式指定环境
492
531
  ignorePaths: ['/assets/', '/public/'],
493
532
  }),
494
533
  ],
495
534
  });
496
535
  ```
497
536
 
537
+ ### 环境配置建议
538
+
539
+ **开发环境(推荐使用 `isDev`)**
540
+
541
+ ```javascript
542
+ const getCookie = createFileCookieGetter('./cookie.txt', {
543
+ isDev: process.env.NODE_ENV === 'development',
544
+ debug: true,
545
+ });
546
+ ```
547
+
548
+ **预发布环境(需要调试)**
549
+
550
+ ```javascript
551
+ const getCookie = createFileCookieGetter('./cookie.txt', {
552
+ isDev: true, // 强制启用监听
553
+ debug: true,
554
+ });
555
+ ```
556
+
557
+ **生产环境(禁用监听)**
558
+
559
+ ```javascript
560
+ const getCookie = createFileCookieGetter('./cookie.txt', {
561
+ isDev: false, // 强制禁用监听
562
+ debug: false,
563
+ });
564
+ ```
565
+
566
+ **自动检测(默认行为)**
567
+
568
+ ```javascript
569
+ const getCookie = createFileCookieGetter('./cookie.txt', {
570
+ watch: 'auto', // 默认值,自动判断环境
571
+ debug: true,
572
+ });
573
+ ```
574
+
498
575
  ## 常见问题
499
576
 
500
577
  ### Q: Cookie 文件修改后没有生效?
@@ -522,10 +599,145 @@ A: Cookie 值会被自动处理,支持包含 `/`、`+`、`=` 等特殊字符
522
599
 
523
600
  A: 启用 `debug: true` 选项,控制台会输出详细的代理日志。也可以在 `hooks.onProxyReq` 中添加自定义日志。
524
601
 
602
+ ### Q: 构建完成后进程不退出,一直挂起?
603
+
604
+ A: 这是由于文件监听器在生产环境下仍然运行导致的。解决方案:
605
+
606
+ **方案一:使用 `isDev` 参数(推荐)**
607
+
608
+ ```javascript
609
+ // Vue CLI 项目
610
+ const getCookie = createFileCookieGetter('./cookie.txt', {
611
+ isDev: process.env.NODE_ENV === 'development',
612
+ debug: true,
613
+ });
614
+
615
+ // Vite 项目
616
+ export default defineConfig({
617
+ plugins: [
618
+ viteDevProxyCookie({
619
+ cookieFile: './cookie.txt',
620
+ isDev: process.env.NODE_ENV === 'development',
621
+ }),
622
+ ],
623
+ });
624
+ ```
625
+
626
+ **方案二:设置 `watch: false`**
627
+
628
+ ```javascript
629
+ const getCookie = createFileCookieGetter('./cookie.txt', {
630
+ watch: false, // 禁用文件监听
631
+ });
632
+ ```
633
+
634
+ **方案三:使用智能检测(默认行为)**
635
+
636
+ ```javascript
637
+ const getCookie = createFileCookieGetter('./cookie.txt', {
638
+ watch: 'auto', // 默认值,自动判断环境
639
+ });
640
+ ```
641
+
642
+ 智能检测会检查以下环境变量:
643
+
644
+ - `NODE_ENV`、`BUILD_MODE`、`VUE_APP_ENV`、`VITE_NODE_ENV` 等
645
+ - CI/CD 环境标识(`CI`)
646
+ - npm 生命周期事件(如 `build`)
647
+ - 进程参数(如 `--mode=production`)
648
+
649
+ ### Q: 如何在预发布环境(staging/uat)启用文件监听?
650
+
651
+ A: 预发布环境通常需要调试,建议显式设置 `isDev: true`:
652
+
653
+ ```javascript
654
+ const getCookie = createFileCookieGetter('./cookie.txt', {
655
+ isDev: true, // 强制启用监听
656
+ debug: true,
657
+ });
658
+ ```
659
+
660
+ 或者使用 `watch: true`:
661
+
662
+ ```javascript
663
+ const getCookie = createFileCookieGetter('./cookie.txt', {
664
+ watch: true, // 始终监听
665
+ debug: true,
666
+ });
667
+ ```
668
+
669
+ ### Q: `isDev`、`watch` 和智能检测的优先级是什么?
670
+
671
+ A: 优先级从高到低:
672
+
673
+ ```
674
+ isDev (最高) → watch (中等) → 智能检测 (最低)
675
+ ```
676
+
677
+ - 如果设置了 `isDev`,直接使用该值
678
+ - 如果 `isDev` 未设置但 `watch` 为 `true` 或 `false`,使用 `watch` 值
679
+ - 如果都未设置或 `watch` 为 `'auto'`,使用智能检测
680
+
681
+ ### Q: 如何自定义生产环境检测?
682
+
683
+ A: 使用 `productionEnvs` 参数:
684
+
685
+ ```javascript
686
+ const getCookie = createFileCookieGetter('./cookie.txt', {
687
+ productionEnvs: ['MY_APP_ENV', 'BUILD_TYPE'], // 自定义环境变量
688
+ debug: true,
689
+ });
690
+ ```
691
+
692
+ ### Q: ESLint 报错 `import/no-extraneous-dependencies`?
693
+
694
+ A: 确保在 `.eslintrc.js` 中正确配置:
695
+
696
+ ```javascript
697
+ module.exports = {
698
+ // ...
699
+ rules: {
700
+ 'import/no-extraneous-dependencies': ['error', {
701
+ devDependencies: true,
702
+ optionalDependencies: false,
703
+ }],
704
+ },
705
+ };
706
+ ```
707
+
708
+ ### Q: 如何查看当前环境检测的详细信息?
709
+
710
+ A: 启用 `debug: true` 选项:
711
+
712
+ ```javascript
713
+ const getCookie = createFileCookieGetter('./cookie.txt', {
714
+ watch: 'auto',
715
+ debug: true, // 输出环境检测日志
716
+ });
717
+ ```
718
+
719
+ 控制台会输出类似信息:
720
+
721
+ ```
722
+ [env-detector] Auto-detected production mode - disabling watch
723
+ ```
724
+
725
+
726
+
727
+ ```
728
+ [env-detector] Auto-detected development mode - enabling watch
729
+ ```
730
+
525
731
  ## 发布流程
526
732
 
527
733
  完整的发布流程文档请查看:[docs/release.md](docs/release.md)
528
734
 
735
+ ## 问题排查
736
+
737
+ ### 构建进程不退出问题
738
+
739
+ 如果遇到构建完成后进程不退出的问题,请查看详细解决方案:[docs/build-hang-issue.md](docs/build-hang-issue.md)
740
+
529
741
  ## License
530
742
 
531
743
  MIT License
package/dist/index.d.mts CHANGED
@@ -34,6 +34,15 @@ interface AutoProxyCookieOptions {
34
34
  [header: string]: string;
35
35
  };
36
36
  hooks?: ProxyHooks;
37
+ /**
38
+ * 是否为开发环境(优先级最高)
39
+ * 设置此参数后,将直接决定是否启用文件监听:
40
+ * - true: 启用监听(开发模式)
41
+ * - false: 禁用监听(生产模式)
42
+ *
43
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
44
+ */
45
+ isDev?: boolean;
37
46
  }
38
47
  declare class AutoProxyCookie {
39
48
  private options;
@@ -61,6 +70,15 @@ declare function createAutoProxyCookie(options: AutoProxyCookieOptions): AutoPro
61
70
 
62
71
  interface ViteAutoProxyCookiePluginOptions extends AutoProxyCookieOptions {
63
72
  name?: string;
73
+ /**
74
+ * 是否为开发环境(优先级最高)
75
+ * 设置此参数后,将直接决定是否启用文件监听:
76
+ * - true: 启用监听(开发模式)
77
+ * - false: 禁用监听(生产模式)
78
+ *
79
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
80
+ */
81
+ isDev?: boolean;
64
82
  }
65
83
  declare function viteAutoProxyCookie(options: ViteAutoProxyCookiePluginOptions): Plugin;
66
84
 
@@ -68,19 +86,55 @@ interface ViteDevProxyCookieOptions {
68
86
  cookieFile: string;
69
87
  debug?: boolean;
70
88
  onCookieChange?: (cookie: string) => void;
89
+ /**
90
+ * 是否监听文件变化
91
+ * - true: 始终监听
92
+ * - false: 从不监听
93
+ * - 'auto': 根据环境自动判断(默认)
94
+ * @default 'auto'
95
+ */
96
+ watch?: boolean | 'auto';
97
+ /**
98
+ * 是否为开发环境(优先级最高)
99
+ * 设置此参数后,将直接决定是否启用文件监听:
100
+ * - true: 启用监听(开发模式)
101
+ * - false: 禁用监听(生产模式)
102
+ *
103
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
104
+ */
105
+ isDev?: boolean;
71
106
  }
72
107
  declare function viteDevProxyCookie(options: ViteDevProxyCookieOptions): Plugin;
73
108
 
74
109
  /** Options for {@link createFileCookieGetter}. */
75
110
  interface CreateFileCookieGetterOptions {
76
111
  /**
77
- * Watch the file for logging when it changes. Cookie value is always read from disk on each proxy request,
78
- * so you do not need a dev-server restart when this is false.
79
- * @default true
112
+ * 是否监听文件变化
113
+ * - true: 始终监听
114
+ * - false: 从不监听
115
+ * - 'auto': 根据环境自动判断(默认)
116
+ *
117
+ * Cookie 值每次代理请求时都会从磁盘读取,因此即使 watch 为 false,
118
+ * 修改 cookie 文件后也不需要重启开发服务器。
119
+ * @default 'auto'
80
120
  */
81
- watch?: boolean;
121
+ watch?: boolean | 'auto';
82
122
  /** Log when the cookie file changes (only if `watch` is true). @default false */
83
123
  debug?: boolean;
124
+ /**
125
+ * 自定义生产环境变量名称列表,用于判断是否禁用监听
126
+ * 例如: ['MY_APP_ENV', 'BUILD_TYPE']
127
+ */
128
+ productionEnvs?: string[];
129
+ /**
130
+ * 是否为开发环境(优先级最高)
131
+ * 设置此参数后,将直接决定是否启用文件监听:
132
+ * - true: 启用监听(开发模式)
133
+ * - false: 禁用监听(生产模式)
134
+ *
135
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
136
+ */
137
+ isDev?: boolean;
84
138
  }
85
139
  interface VueProxyConfigOptions {
86
140
  getCookie?: () => string;
@@ -122,6 +176,23 @@ interface UnifiedProxyCookieOptions {
122
176
  includePaths?: string[];
123
177
  onCookieChange?: (cookie: string) => void;
124
178
  mode?: 'auto' | 'proxy' | 'cookie';
179
+ /**
180
+ * 是否监听文件变化
181
+ * - true: 始终监听
182
+ * - false: 从不监听
183
+ * - 'auto': 根据环境自动判断(默认)
184
+ * @default 'auto'
185
+ */
186
+ watch?: boolean | 'auto';
187
+ /**
188
+ * 是否为开发环境(优先级最高)
189
+ * 设置此参数后,将直接决定是否启用文件监听:
190
+ * - true: 启用监听(开发模式)
191
+ * - false: 禁用监听(生产模式)
192
+ *
193
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
194
+ */
195
+ isDev?: boolean;
125
196
  }
126
197
  declare function createDevProxyCookie(options: UnifiedProxyCookieOptions): Plugin;
127
198
  declare function getViteVersion(): string | null;
@@ -158,4 +229,36 @@ declare class CookieWatcher {
158
229
  }
159
230
  declare function watchCookieFile(cookieFile: string, onCookieChange: (cookie: string) => void, onError?: (error: Error) => void): CookieWatcher;
160
231
 
161
- export { type AutoProxyConfigOptions, AutoProxyCookie, type AutoProxyCookieOptions, CookieReader, type CookieReaderOptions, CookieWatcher, type CookieWatcherOptions, type CreateFileCookieGetterOptions, type ErrorCallback, type ProxyConfig, type ProxyHooks, type UnifiedProxyCookieOptions, type ViteAutoProxyCookiePluginOptions, type ViteDevProxyCookieOptions, type VueProxyConfigOptions, createAutoProxyConfig, createAutoProxyCookie, createCookieGetter, createDevProxyCookie, createFileCookieGetter, createVueProxyConfig, getViteMajorVersion, getViteVersion, viteAutoProxyCookie, viteDevProxyCookie, watchCookieFile };
232
+ /**
233
+ * 环境检测工具函数
234
+ * 用于智能判断当前是否为生产构建环境
235
+ */
236
+ /**
237
+ * 判断环境变量值是否表示生产环境
238
+ */
239
+ declare function isProductionValue(value: string): boolean;
240
+ /**
241
+ * 智能检测当前是否为生产构建环境
242
+ * 通过多种方式综合判断,避免依赖单一环境变量
243
+ *
244
+ * @param customEnvs 用户自定义的环境变量名称列表
245
+ * @param debug 是否输出调试日志
246
+ * @param loggerPrefix 日志前缀,用于区分不同模块
247
+ * @returns 是否为生产环境
248
+ */
249
+ declare function detectProductionEnvironment(customEnvs?: string[], debug?: boolean, loggerPrefix?: string): boolean;
250
+ /**
251
+ * 判断是否应该启用文件监听
252
+ *
253
+ * 注意:此函数仅在 isDev 参数未设置时调用,用于智能判断环境
254
+ * 如果用户已通过 isDev 参数明确指定环境,则不会调用此函数
255
+ *
256
+ * @param watch 用户设置的 watch 选项
257
+ * @param customEnvs 用户自定义的环境变量列表
258
+ * @param debug 是否输出调试日志
259
+ * @param loggerPrefix 日志前缀
260
+ * @returns 是否应该启用监听
261
+ */
262
+ declare function shouldEnableWatch(watch: boolean | 'auto', customEnvs?: string[], debug?: boolean, loggerPrefix?: string): boolean;
263
+
264
+ export { type AutoProxyConfigOptions, AutoProxyCookie, type AutoProxyCookieOptions, CookieReader, type CookieReaderOptions, CookieWatcher, type CookieWatcherOptions, type CreateFileCookieGetterOptions, type ErrorCallback, type ProxyConfig, type ProxyHooks, type UnifiedProxyCookieOptions, type ViteAutoProxyCookiePluginOptions, type ViteDevProxyCookieOptions, type VueProxyConfigOptions, createAutoProxyConfig, createAutoProxyCookie, createCookieGetter, createDevProxyCookie, createFileCookieGetter, createVueProxyConfig, detectProductionEnvironment, getViteMajorVersion, getViteVersion, isProductionValue, shouldEnableWatch, viteAutoProxyCookie, viteDevProxyCookie, watchCookieFile };
package/dist/index.d.ts CHANGED
@@ -34,6 +34,15 @@ interface AutoProxyCookieOptions {
34
34
  [header: string]: string;
35
35
  };
36
36
  hooks?: ProxyHooks;
37
+ /**
38
+ * 是否为开发环境(优先级最高)
39
+ * 设置此参数后,将直接决定是否启用文件监听:
40
+ * - true: 启用监听(开发模式)
41
+ * - false: 禁用监听(生产模式)
42
+ *
43
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
44
+ */
45
+ isDev?: boolean;
37
46
  }
38
47
  declare class AutoProxyCookie {
39
48
  private options;
@@ -61,6 +70,15 @@ declare function createAutoProxyCookie(options: AutoProxyCookieOptions): AutoPro
61
70
 
62
71
  interface ViteAutoProxyCookiePluginOptions extends AutoProxyCookieOptions {
63
72
  name?: string;
73
+ /**
74
+ * 是否为开发环境(优先级最高)
75
+ * 设置此参数后,将直接决定是否启用文件监听:
76
+ * - true: 启用监听(开发模式)
77
+ * - false: 禁用监听(生产模式)
78
+ *
79
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
80
+ */
81
+ isDev?: boolean;
64
82
  }
65
83
  declare function viteAutoProxyCookie(options: ViteAutoProxyCookiePluginOptions): Plugin;
66
84
 
@@ -68,19 +86,55 @@ interface ViteDevProxyCookieOptions {
68
86
  cookieFile: string;
69
87
  debug?: boolean;
70
88
  onCookieChange?: (cookie: string) => void;
89
+ /**
90
+ * 是否监听文件变化
91
+ * - true: 始终监听
92
+ * - false: 从不监听
93
+ * - 'auto': 根据环境自动判断(默认)
94
+ * @default 'auto'
95
+ */
96
+ watch?: boolean | 'auto';
97
+ /**
98
+ * 是否为开发环境(优先级最高)
99
+ * 设置此参数后,将直接决定是否启用文件监听:
100
+ * - true: 启用监听(开发模式)
101
+ * - false: 禁用监听(生产模式)
102
+ *
103
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
104
+ */
105
+ isDev?: boolean;
71
106
  }
72
107
  declare function viteDevProxyCookie(options: ViteDevProxyCookieOptions): Plugin;
73
108
 
74
109
  /** Options for {@link createFileCookieGetter}. */
75
110
  interface CreateFileCookieGetterOptions {
76
111
  /**
77
- * Watch the file for logging when it changes. Cookie value is always read from disk on each proxy request,
78
- * so you do not need a dev-server restart when this is false.
79
- * @default true
112
+ * 是否监听文件变化
113
+ * - true: 始终监听
114
+ * - false: 从不监听
115
+ * - 'auto': 根据环境自动判断(默认)
116
+ *
117
+ * Cookie 值每次代理请求时都会从磁盘读取,因此即使 watch 为 false,
118
+ * 修改 cookie 文件后也不需要重启开发服务器。
119
+ * @default 'auto'
80
120
  */
81
- watch?: boolean;
121
+ watch?: boolean | 'auto';
82
122
  /** Log when the cookie file changes (only if `watch` is true). @default false */
83
123
  debug?: boolean;
124
+ /**
125
+ * 自定义生产环境变量名称列表,用于判断是否禁用监听
126
+ * 例如: ['MY_APP_ENV', 'BUILD_TYPE']
127
+ */
128
+ productionEnvs?: string[];
129
+ /**
130
+ * 是否为开发环境(优先级最高)
131
+ * 设置此参数后,将直接决定是否启用文件监听:
132
+ * - true: 启用监听(开发模式)
133
+ * - false: 禁用监听(生产模式)
134
+ *
135
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
136
+ */
137
+ isDev?: boolean;
84
138
  }
85
139
  interface VueProxyConfigOptions {
86
140
  getCookie?: () => string;
@@ -122,6 +176,23 @@ interface UnifiedProxyCookieOptions {
122
176
  includePaths?: string[];
123
177
  onCookieChange?: (cookie: string) => void;
124
178
  mode?: 'auto' | 'proxy' | 'cookie';
179
+ /**
180
+ * 是否监听文件变化
181
+ * - true: 始终监听
182
+ * - false: 从不监听
183
+ * - 'auto': 根据环境自动判断(默认)
184
+ * @default 'auto'
185
+ */
186
+ watch?: boolean | 'auto';
187
+ /**
188
+ * 是否为开发环境(优先级最高)
189
+ * 设置此参数后,将直接决定是否启用文件监听:
190
+ * - true: 启用监听(开发模式)
191
+ * - false: 禁用监听(生产模式)
192
+ *
193
+ * 使用示例: isDev: process.env.NODE_ENV === 'development'
194
+ */
195
+ isDev?: boolean;
125
196
  }
126
197
  declare function createDevProxyCookie(options: UnifiedProxyCookieOptions): Plugin;
127
198
  declare function getViteVersion(): string | null;
@@ -158,4 +229,36 @@ declare class CookieWatcher {
158
229
  }
159
230
  declare function watchCookieFile(cookieFile: string, onCookieChange: (cookie: string) => void, onError?: (error: Error) => void): CookieWatcher;
160
231
 
161
- export { type AutoProxyConfigOptions, AutoProxyCookie, type AutoProxyCookieOptions, CookieReader, type CookieReaderOptions, CookieWatcher, type CookieWatcherOptions, type CreateFileCookieGetterOptions, type ErrorCallback, type ProxyConfig, type ProxyHooks, type UnifiedProxyCookieOptions, type ViteAutoProxyCookiePluginOptions, type ViteDevProxyCookieOptions, type VueProxyConfigOptions, createAutoProxyConfig, createAutoProxyCookie, createCookieGetter, createDevProxyCookie, createFileCookieGetter, createVueProxyConfig, getViteMajorVersion, getViteVersion, viteAutoProxyCookie, viteDevProxyCookie, watchCookieFile };
232
+ /**
233
+ * 环境检测工具函数
234
+ * 用于智能判断当前是否为生产构建环境
235
+ */
236
+ /**
237
+ * 判断环境变量值是否表示生产环境
238
+ */
239
+ declare function isProductionValue(value: string): boolean;
240
+ /**
241
+ * 智能检测当前是否为生产构建环境
242
+ * 通过多种方式综合判断,避免依赖单一环境变量
243
+ *
244
+ * @param customEnvs 用户自定义的环境变量名称列表
245
+ * @param debug 是否输出调试日志
246
+ * @param loggerPrefix 日志前缀,用于区分不同模块
247
+ * @returns 是否为生产环境
248
+ */
249
+ declare function detectProductionEnvironment(customEnvs?: string[], debug?: boolean, loggerPrefix?: string): boolean;
250
+ /**
251
+ * 判断是否应该启用文件监听
252
+ *
253
+ * 注意:此函数仅在 isDev 参数未设置时调用,用于智能判断环境
254
+ * 如果用户已通过 isDev 参数明确指定环境,则不会调用此函数
255
+ *
256
+ * @param watch 用户设置的 watch 选项
257
+ * @param customEnvs 用户自定义的环境变量列表
258
+ * @param debug 是否输出调试日志
259
+ * @param loggerPrefix 日志前缀
260
+ * @returns 是否应该启用监听
261
+ */
262
+ declare function shouldEnableWatch(watch: boolean | 'auto', customEnvs?: string[], debug?: boolean, loggerPrefix?: string): boolean;
263
+
264
+ export { type AutoProxyConfigOptions, AutoProxyCookie, type AutoProxyCookieOptions, CookieReader, type CookieReaderOptions, CookieWatcher, type CookieWatcherOptions, type CreateFileCookieGetterOptions, type ErrorCallback, type ProxyConfig, type ProxyHooks, type UnifiedProxyCookieOptions, type ViteAutoProxyCookiePluginOptions, type ViteDevProxyCookieOptions, type VueProxyConfigOptions, createAutoProxyConfig, createAutoProxyCookie, createCookieGetter, createDevProxyCookie, createFileCookieGetter, createVueProxyConfig, detectProductionEnvironment, getViteMajorVersion, getViteVersion, isProductionValue, shouldEnableWatch, viteAutoProxyCookie, viteDevProxyCookie, watchCookieFile };