@meng-xi/vite-plugin 0.1.3 → 0.1.5
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-en.md +49 -775
- package/README.md +46 -770
- package/dist/common/format/index.cjs +1 -1
- package/dist/common/format/index.d.cts +1 -130
- package/dist/common/format/index.d.mts +1 -130
- package/dist/common/format/index.d.ts +1 -130
- package/dist/common/format/index.mjs +1 -1
- package/dist/common/fs/index.cjs +1 -1
- package/dist/common/fs/index.d.cts +1 -89
- package/dist/common/fs/index.d.mts +1 -89
- package/dist/common/fs/index.d.ts +1 -89
- package/dist/common/fs/index.mjs +1 -1
- package/dist/common/html/index.cjs +2 -2
- package/dist/common/html/index.d.cts +19 -81
- package/dist/common/html/index.d.mts +19 -81
- package/dist/common/html/index.d.ts +19 -81
- package/dist/common/html/index.mjs +2 -2
- package/dist/common/index.cjs +1 -1
- package/dist/common/index.d.cts +7 -8
- package/dist/common/index.d.mts +7 -8
- package/dist/common/index.d.ts +7 -8
- package/dist/common/index.mjs +1 -1
- package/dist/common/script/index.cjs +1 -1
- package/dist/common/script/index.d.cts +1 -44
- package/dist/common/script/index.d.mts +1 -44
- package/dist/common/script/index.d.ts +1 -44
- package/dist/common/script/index.mjs +1 -1
- package/dist/common/ui/index.cjs +1 -0
- package/dist/common/ui/index.d.cts +22 -0
- package/dist/common/ui/index.d.mts +22 -0
- package/dist/common/ui/index.d.ts +22 -0
- package/dist/common/ui/index.mjs +1 -0
- package/dist/common/validation/index.cjs +1 -1
- package/dist/common/validation/index.d.cts +2 -79
- package/dist/common/validation/index.d.mts +2 -79
- package/dist/common/validation/index.d.ts +2 -79
- package/dist/common/validation/index.mjs +1 -1
- package/dist/factory/index.cjs +1 -1
- package/dist/factory/index.d.cts +1 -1
- package/dist/factory/index.d.mts +1 -1
- package/dist/factory/index.d.ts +1 -1
- package/dist/factory/index.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +12 -10
- package/dist/index.d.mts +12 -10
- package/dist/index.d.ts +12 -10
- package/dist/index.mjs +1 -1
- package/dist/logger/index.d.cts +92 -1
- package/dist/logger/index.d.mts +92 -1
- package/dist/logger/index.d.ts +92 -1
- package/dist/plugins/autoImport/index.cjs +17 -0
- package/dist/plugins/autoImport/index.d.cts +291 -0
- package/dist/plugins/autoImport/index.d.mts +291 -0
- package/dist/plugins/autoImport/index.d.ts +291 -0
- package/dist/plugins/autoImport/index.mjs +17 -0
- package/dist/plugins/buildProgress/index.cjs +2 -2
- package/dist/plugins/buildProgress/index.d.cts +1 -1
- package/dist/plugins/buildProgress/index.d.mts +1 -1
- package/dist/plugins/buildProgress/index.d.ts +1 -1
- package/dist/plugins/buildProgress/index.mjs +2 -2
- package/dist/plugins/bundleAnalyzer/index.cjs +11 -11
- package/dist/plugins/bundleAnalyzer/index.d.cts +1 -1
- package/dist/plugins/bundleAnalyzer/index.d.mts +1 -1
- package/dist/plugins/bundleAnalyzer/index.d.ts +1 -1
- package/dist/plugins/bundleAnalyzer/index.mjs +18 -18
- package/dist/plugins/compressAssets/index.cjs +1 -1
- package/dist/plugins/compressAssets/index.d.cts +1 -1
- package/dist/plugins/compressAssets/index.d.mts +1 -1
- package/dist/plugins/compressAssets/index.d.ts +1 -1
- package/dist/plugins/compressAssets/index.mjs +1 -1
- package/dist/plugins/copyFile/index.cjs +1 -1
- package/dist/plugins/copyFile/index.d.cts +21 -3
- package/dist/plugins/copyFile/index.d.mts +21 -3
- package/dist/plugins/copyFile/index.d.ts +21 -3
- package/dist/plugins/copyFile/index.mjs +1 -1
- package/dist/plugins/envGuard/index.cjs +67 -0
- package/dist/plugins/envGuard/index.d.cts +255 -0
- package/dist/plugins/envGuard/index.d.mts +255 -0
- package/dist/plugins/envGuard/index.d.ts +255 -0
- package/dist/plugins/envGuard/index.mjs +67 -0
- package/dist/plugins/faviconManager/index.cjs +1 -1
- package/dist/plugins/faviconManager/index.d.cts +44 -6
- package/dist/plugins/faviconManager/index.d.mts +44 -6
- package/dist/plugins/faviconManager/index.d.ts +44 -6
- package/dist/plugins/faviconManager/index.mjs +1 -1
- package/dist/plugins/generateRouter/index.cjs +4 -4
- package/dist/plugins/generateRouter/index.d.cts +62 -15
- package/dist/plugins/generateRouter/index.d.mts +62 -15
- package/dist/plugins/generateRouter/index.d.ts +62 -15
- package/dist/plugins/generateRouter/index.mjs +4 -4
- package/dist/plugins/generateVersion/index.cjs +1 -1
- package/dist/plugins/generateVersion/index.d.cts +13 -1
- package/dist/plugins/generateVersion/index.d.mts +13 -1
- package/dist/plugins/generateVersion/index.d.ts +13 -1
- package/dist/plugins/generateVersion/index.mjs +1 -1
- package/dist/plugins/htmlInject/index.cjs +7 -7
- package/dist/plugins/htmlInject/index.d.cts +50 -195
- package/dist/plugins/htmlInject/index.d.mts +50 -195
- package/dist/plugins/htmlInject/index.d.ts +50 -195
- package/dist/plugins/htmlInject/index.mjs +7 -7
- package/dist/plugins/index.cjs +1 -1
- package/dist/plugins/index.d.cts +5 -2
- package/dist/plugins/index.d.mts +5 -2
- package/dist/plugins/index.d.ts +5 -2
- package/dist/plugins/index.mjs +1 -1
- package/dist/plugins/loadingManager/index.cjs +26 -26
- package/dist/plugins/loadingManager/index.d.cts +1 -1
- package/dist/plugins/loadingManager/index.d.mts +1 -1
- package/dist/plugins/loadingManager/index.d.ts +1 -1
- package/dist/plugins/loadingManager/index.mjs +11 -11
- package/dist/plugins/versionUpdateChecker/index.cjs +1 -1
- package/dist/plugins/versionUpdateChecker/index.d.cts +1 -1
- package/dist/plugins/versionUpdateChecker/index.d.mts +1 -1
- package/dist/plugins/versionUpdateChecker/index.d.ts +1 -1
- package/dist/plugins/versionUpdateChecker/index.mjs +1 -1
- package/dist/shared/vite-plugin.B8FuZce1.d.cts +45 -0
- package/dist/shared/vite-plugin.B8FuZce1.d.mts +45 -0
- package/dist/shared/vite-plugin.B8FuZce1.d.ts +45 -0
- package/dist/shared/vite-plugin.BI9taN75.d.cts +122 -0
- package/dist/shared/vite-plugin.BI9taN75.d.mts +122 -0
- package/dist/shared/vite-plugin.BI9taN75.d.ts +122 -0
- package/dist/shared/vite-plugin.BPFqtmWa.mjs +1 -0
- package/dist/shared/vite-plugin.CnOy46d3.cjs +1 -0
- package/package.json +16 -16
- package/dist/common/compress/index.cjs +0 -1
- package/dist/common/compress/index.d.cts +0 -23
- package/dist/common/compress/index.d.mts +0 -23
- package/dist/common/compress/index.d.ts +0 -23
- package/dist/common/compress/index.mjs +0 -1
- package/dist/common/object/index.cjs +0 -1
- package/dist/common/object/index.d.cts +0 -30
- package/dist/common/object/index.d.mts +0 -30
- package/dist/common/object/index.d.ts +0 -30
- package/dist/common/object/index.mjs +0 -1
- package/dist/common/path/index.cjs +0 -1
- package/dist/common/path/index.d.cts +0 -22
- package/dist/common/path/index.d.mts +0 -22
- package/dist/common/path/index.d.ts +0 -22
- package/dist/common/path/index.mjs +0 -1
- package/dist/shared/vite-plugin.CLr0ttuO.d.cts +0 -135
- package/dist/shared/vite-plugin.CLr0ttuO.d.mts +0 -135
- package/dist/shared/vite-plugin.CLr0ttuO.d.ts +0 -135
package/dist/factory/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const logger_index=require("../logger/index.cjs"),
|
|
1
|
+
"use strict";const logger_index=require("../logger/index.cjs"),validator=require("../shared/vite-plugin.Bcg6RW2N.cjs");function i(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&Object.prototype.toString.call(n)==="[object Object]"}function deepMerge(...n){const t={};for(const o of n)if(o)for(const e in o){if(!Object.prototype.hasOwnProperty.call(o,e))continue;const r=o[e],s=t[e];r!==void 0&&(i(r)&&i(s)?t[e]=deepMerge(s,r):t[e]=r)}return t}class BasePlugin{options;logger;validator;viteConfig=null;constructor(t,o){this.options=this.mergeOptions(t),this.logger=this.initLogger(o),this.validator=new validator.Validator(this.options),this.safeExecuteSync(()=>this.validateOptions(),"\u63D2\u4EF6\u914D\u7F6E\u9A8C\u8BC1")}getDefaultOptions(){return{}}mergeOptions(t){const o={enabled:!0,verbose:!0,errorStrategy:"throw"},e=this.getDefaultOptions();return deepMerge(o,e,t)}initLogger(t){return logger_index.Logger.create({name:this.getPluginName(),enabled:this.options.verbose,...t}).createPluginLogger(this.getPluginName())}validateOptions(){}getEnforce(){}onConfigResolved(t){this.viteConfig=t,this.logger.info("\u914D\u7F6E\u89E3\u6790\u5B8C\u6210\uFF0C\u63D2\u4EF6\u5DF2\u521D\u59CB\u5316")}destroy(){logger_index.Logger.unregister(this.getPluginName())}safeExecuteSync(t,o){try{return t()}catch(e){return this.handleError(e,o)}}async safeExecute(t,o){try{return await t()}catch(e){return this.handleError(e,o)}}handleError(t,o){let e=`${o}: `;switch(t instanceof Error?e+=t.message:typeof t=="string"?e+=t:e+=String(t),this.options.errorStrategy){case"throw":throw this.logger.error(e),t;case"log":case"ignore":this.logger.error(e);return;default:throw this.logger.error(e),t}}toPlugin(){const t={name:this.getPluginName(),enforce:this.getEnforce()};this.addPluginHooks(t);const o=t.configResolved;t.configResolved=s=>{this.options.enabled&&(this.onConfigResolved(s),typeof o=="function"&&o(s))};const e=this,r=t.closeBundle;return t.closeBundle=function(){typeof r=="function"&&r.call(this),e.destroy()},t}}function createPluginFactory(n,t){return o=>{const e=t?t(o):o,r=new n(e),s=r.toPlugin();return s.pluginInstance=r,s}}exports.BasePlugin=BasePlugin,exports.createPluginFactory=createPluginFactory;
|
package/dist/factory/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Plugin, ResolvedConfig } from 'vite';
|
|
2
|
-
import { P as PluginLogger,
|
|
2
|
+
import { P as PluginLogger, L as LoggerOptions } from '../shared/vite-plugin.B8FuZce1.cjs';
|
|
3
3
|
import { V as Validator } from '../shared/vite-plugin.DRRlWY8P.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
package/dist/factory/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Plugin, ResolvedConfig } from 'vite';
|
|
2
|
-
import { P as PluginLogger,
|
|
2
|
+
import { P as PluginLogger, L as LoggerOptions } from '../shared/vite-plugin.B8FuZce1.mjs';
|
|
3
3
|
import { V as Validator } from '../shared/vite-plugin.DRRlWY8P.mjs';
|
|
4
4
|
|
|
5
5
|
/**
|
package/dist/factory/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Plugin, ResolvedConfig } from 'vite';
|
|
2
|
-
import { P as PluginLogger,
|
|
2
|
+
import { P as PluginLogger, L as LoggerOptions } from '../shared/vite-plugin.B8FuZce1.js';
|
|
3
3
|
import { V as Validator } from '../shared/vite-plugin.DRRlWY8P.js';
|
|
4
4
|
|
|
5
5
|
/**
|
package/dist/factory/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Logger as s}from"../logger/index.mjs";import{
|
|
1
|
+
import{Logger as s}from"../logger/index.mjs";import{V as a}from"../shared/vite-plugin.DcExl6jd.mjs";function u(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&Object.prototype.toString.call(n)==="[object Object]"}function g(...n){const t={};for(const o of n)if(o)for(const e in o){if(!Object.prototype.hasOwnProperty.call(o,e))continue;const r=o[e],i=t[e];r!==void 0&&(u(r)&&u(i)?t[e]=g(i,r):t[e]=r)}return t}class c{options;logger;validator;viteConfig=null;constructor(t,o){this.options=this.mergeOptions(t),this.logger=this.initLogger(o),this.validator=new a(this.options),this.safeExecuteSync(()=>this.validateOptions(),"\u63D2\u4EF6\u914D\u7F6E\u9A8C\u8BC1")}getDefaultOptions(){return{}}mergeOptions(t){const o={enabled:!0,verbose:!0,errorStrategy:"throw"},e=this.getDefaultOptions();return g(o,e,t)}initLogger(t){return s.create({name:this.getPluginName(),enabled:this.options.verbose,...t}).createPluginLogger(this.getPluginName())}validateOptions(){}getEnforce(){}onConfigResolved(t){this.viteConfig=t,this.logger.info("\u914D\u7F6E\u89E3\u6790\u5B8C\u6210\uFF0C\u63D2\u4EF6\u5DF2\u521D\u59CB\u5316")}destroy(){s.unregister(this.getPluginName())}safeExecuteSync(t,o){try{return t()}catch(e){return this.handleError(e,o)}}async safeExecute(t,o){try{return await t()}catch(e){return this.handleError(e,o)}}handleError(t,o){let e=`${o}: `;switch(t instanceof Error?e+=t.message:typeof t=="string"?e+=t:e+=String(t),this.options.errorStrategy){case"throw":throw this.logger.error(e),t;case"log":case"ignore":this.logger.error(e);return;default:throw this.logger.error(e),t}}toPlugin(){const t={name:this.getPluginName(),enforce:this.getEnforce()};this.addPluginHooks(t);const o=t.configResolved;t.configResolved=i=>{this.options.enabled&&(this.onConfigResolved(i),typeof o=="function"&&o(i))};const e=this,r=t.closeBundle;return t.closeBundle=function(){typeof r=="function"&&r.call(this),e.destroy()},t}}function l(n,t){return o=>{const e=t?t(o):o,r=new n(e),i=r.toPlugin();return i.pluginInstance=r,i}}export{c as BasePlugin,l as createPluginFactory};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const common_format_index=require("./common/format/index.cjs"),common_fs_index=require("./common/fs/index.cjs"),common_html_index=require("./common/html/index.cjs"),common_script_index=require("./common/script/index.cjs"),common_ui_index=require("./common/ui/index.cjs"),validator=require("./shared/vite-plugin.Bcg6RW2N.cjs"),common_validation_index=require("./common/validation/index.cjs"),factory_index=require("./factory/index.cjs"),logger_index=require("./logger/index.cjs"),plugins_autoImport_index=require("./plugins/autoImport/index.cjs"),plugins_buildProgress_index=require("./plugins/buildProgress/index.cjs"),plugins_bundleAnalyzer_index=require("./plugins/bundleAnalyzer/index.cjs"),plugins_compressAssets_index=require("./plugins/compressAssets/index.cjs"),plugins_copyFile_index=require("./plugins/copyFile/index.cjs"),plugins_envGuard_index=require("./plugins/envGuard/index.cjs"),plugins_faviconManager_index=require("./plugins/faviconManager/index.cjs"),plugins_generateRouter_index=require("./plugins/generateRouter/index.cjs"),plugins_generateVersion_index=require("./plugins/generateVersion/index.cjs"),plugins_htmlInject_index=require("./plugins/htmlInject/index.cjs"),plugins_loadingManager_index=require("./plugins/loadingManager/index.cjs"),plugins_versionUpdateChecker_index=require("./plugins/versionUpdateChecker/index.cjs"),security=require("./shared/vite-plugin.CnOy46d3.cjs");require("fs"),require("path"),require("node:fs"),require("node:path"),require("node:zlib"),require("node:util"),require("node:stream/promises"),require("crypto"),exports.formatFileSize=common_format_index.formatFileSize,exports.getDateFormatParams=common_format_index.getDateFormatParams,exports.checkSourceExists=common_fs_index.checkSourceExists,exports.copySourceToTarget=common_fs_index.copySourceToTarget,exports.scanDirectory=common_fs_index.scanDirectory,exports.writeFileContent=common_fs_index.writeFileContent,exports.writeJsonReport=common_fs_index.writeJsonReport,exports.injectBeforeTag=common_html_index.injectBeforeTag,exports.injectHeadAndBody=common_html_index.injectHeadAndBody,exports.makeCallback=common_script_index.makeCallback,exports.ANSI=common_ui_index.ANSI,exports.Validator=validator.Validator,exports.validateCallbackFields=common_validation_index.validateCallbackFields,exports.validateGlobalName=common_validation_index.validateGlobalName,exports.validateNoScriptInTemplate=common_validation_index.validateNoScriptInTemplate,exports.BasePlugin=factory_index.BasePlugin,exports.createPluginFactory=factory_index.createPluginFactory,exports.Logger=logger_index.Logger,exports.autoImport=plugins_autoImport_index.autoImport,exports.buildProgress=plugins_buildProgress_index.buildProgress,exports.bundleAnalyzer=plugins_bundleAnalyzer_index.bundleAnalyzer,exports.compressAssets=plugins_compressAssets_index.compressAssets,exports.copyFile=plugins_copyFile_index.copyFile,exports.envGuard=plugins_envGuard_index.envGuard,exports.faviconManager=plugins_faviconManager_index.faviconManager,exports.generateRouter=plugins_generateRouter_index.generateRouter,exports.generateVersion=plugins_generateVersion_index.generateVersion,exports.htmlInject=plugins_htmlInject_index.htmlInject,exports.loadingManager=plugins_loadingManager_index.loadingManager,exports.versionUpdateChecker=plugins_versionUpdateChecker_index.versionUpdateChecker,exports.sanitizeContent=security.sanitizeContent;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export { isNodeModule } from './common/path/index.cjs';
|
|
7
|
-
export { containsScriptTag, makeCallback, validateIdentifierName } from './common/script/index.cjs';
|
|
1
|
+
export { DateFormatOptions, formatFileSize, getDateFormatParams } from './common/format/index.cjs';
|
|
2
|
+
export { CopyOptions, CopyResult, ScanDirectoryOptions, ScannedFile, checkSourceExists, copySourceToTarget, scanDirectory, writeFileContent, writeJsonReport } from './common/fs/index.cjs';
|
|
3
|
+
export { SanitizeRuleOptions, injectBeforeTag, injectHeadAndBody, sanitizeContent } from './common/html/index.cjs';
|
|
4
|
+
export { makeCallback } from './common/script/index.cjs';
|
|
5
|
+
export { ANSI } from './common/ui/index.cjs';
|
|
8
6
|
export { V as Validator } from './shared/vite-plugin.DRRlWY8P.cjs';
|
|
9
|
-
export { validateCallbackFields,
|
|
7
|
+
export { validateCallbackFields, validateGlobalName, validateNoScriptInTemplate } from './common/validation/index.cjs';
|
|
10
8
|
export { BasePlugin, BasePluginOptions, OptionsNormalizer, PluginFactory, PluginWithInstance, createPluginFactory } from './factory/index.cjs';
|
|
11
|
-
export {
|
|
9
|
+
export { Logger } from './logger/index.cjs';
|
|
10
|
+
export { AutoImportOptions, ImportMapping, ResolvedImport, ScannedModule, TransformResult, autoImport } from './plugins/autoImport/index.cjs';
|
|
12
11
|
export { BuildPhase, BuildProgressOptions, ProgressFormat, ProgressTheme, buildProgress } from './plugins/buildProgress/index.cjs';
|
|
13
12
|
export { BundleAnalysisResult, BundleAnalyzerOptions, BundleOutputFormat, ChunkStats, ComparisonDiff, FileTypeDistribution, ModuleStats, SizeWarning, bundleAnalyzer } from './plugins/bundleAnalyzer/index.cjs';
|
|
14
13
|
export { CompressAlgorithm, CompressAssetsOptions, CompressStats, CompressSummary, compressAssets } from './plugins/compressAssets/index.cjs';
|
|
15
14
|
export { CopyFileOptions, copyFile } from './plugins/copyFile/index.cjs';
|
|
15
|
+
export { EnvFailAction, EnvGuardOptions, EnvGuardResult, RuntimeGuardMode, envGuard } from './plugins/envGuard/index.cjs';
|
|
16
16
|
export { FaviconManagerOptions, Icon, faviconManager } from './plugins/faviconManager/index.cjs';
|
|
17
17
|
export { GenerateRouterOptions, NameStrategy, OutputFormat, RouteConfig, RouteMeta, UniAppPageConfig, UniAppPagesJson, UniAppTabBarConfig, generateRouter } from './plugins/generateRouter/index.cjs';
|
|
18
18
|
export { GenerateVersionOptions, OutputType, VersionFormat, VersionInfo, generateVersion } from './plugins/generateVersion/index.cjs';
|
|
19
|
-
export {
|
|
19
|
+
export { HtmlInjectOptions, InjectRule, InjectionLogEntry, htmlInject } from './plugins/htmlInject/index.cjs';
|
|
20
20
|
export { AutoBindMode, AutoHideOn, DebounceHide, DelayShow, LoadingCallbacks, LoadingManager, LoadingManagerOptions, LoadingPosition, LoadingStyle, MinDisplayTime, RequestFilter, SpinnerType, TransitionConfig, loadingManager } from './plugins/loadingManager/index.cjs';
|
|
21
21
|
export { PromptStyle, VersionSource, VersionUpdateCheckerOptions, versionUpdateChecker } from './plugins/versionUpdateChecker/index.cjs';
|
|
22
|
+
export { C as ConditionType, D as DualInjectResult, H as HtmlInjectResult, I as InjectCondition, a as InjectPosition, S as SecurityConfig, b as SelectorMatch } from './shared/vite-plugin.BI9taN75.cjs';
|
|
23
|
+
export { L as LoggerOptions, P as PluginLogger } from './shared/vite-plugin.B8FuZce1.cjs';
|
|
22
24
|
import 'vite';
|
package/dist/index.d.mts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export { isNodeModule } from './common/path/index.mjs';
|
|
7
|
-
export { containsScriptTag, makeCallback, validateIdentifierName } from './common/script/index.mjs';
|
|
1
|
+
export { DateFormatOptions, formatFileSize, getDateFormatParams } from './common/format/index.mjs';
|
|
2
|
+
export { CopyOptions, CopyResult, ScanDirectoryOptions, ScannedFile, checkSourceExists, copySourceToTarget, scanDirectory, writeFileContent, writeJsonReport } from './common/fs/index.mjs';
|
|
3
|
+
export { SanitizeRuleOptions, injectBeforeTag, injectHeadAndBody, sanitizeContent } from './common/html/index.mjs';
|
|
4
|
+
export { makeCallback } from './common/script/index.mjs';
|
|
5
|
+
export { ANSI } from './common/ui/index.mjs';
|
|
8
6
|
export { V as Validator } from './shared/vite-plugin.DRRlWY8P.mjs';
|
|
9
|
-
export { validateCallbackFields,
|
|
7
|
+
export { validateCallbackFields, validateGlobalName, validateNoScriptInTemplate } from './common/validation/index.mjs';
|
|
10
8
|
export { BasePlugin, BasePluginOptions, OptionsNormalizer, PluginFactory, PluginWithInstance, createPluginFactory } from './factory/index.mjs';
|
|
11
|
-
export {
|
|
9
|
+
export { Logger } from './logger/index.mjs';
|
|
10
|
+
export { AutoImportOptions, ImportMapping, ResolvedImport, ScannedModule, TransformResult, autoImport } from './plugins/autoImport/index.mjs';
|
|
12
11
|
export { BuildPhase, BuildProgressOptions, ProgressFormat, ProgressTheme, buildProgress } from './plugins/buildProgress/index.mjs';
|
|
13
12
|
export { BundleAnalysisResult, BundleAnalyzerOptions, BundleOutputFormat, ChunkStats, ComparisonDiff, FileTypeDistribution, ModuleStats, SizeWarning, bundleAnalyzer } from './plugins/bundleAnalyzer/index.mjs';
|
|
14
13
|
export { CompressAlgorithm, CompressAssetsOptions, CompressStats, CompressSummary, compressAssets } from './plugins/compressAssets/index.mjs';
|
|
15
14
|
export { CopyFileOptions, copyFile } from './plugins/copyFile/index.mjs';
|
|
15
|
+
export { EnvFailAction, EnvGuardOptions, EnvGuardResult, RuntimeGuardMode, envGuard } from './plugins/envGuard/index.mjs';
|
|
16
16
|
export { FaviconManagerOptions, Icon, faviconManager } from './plugins/faviconManager/index.mjs';
|
|
17
17
|
export { GenerateRouterOptions, NameStrategy, OutputFormat, RouteConfig, RouteMeta, UniAppPageConfig, UniAppPagesJson, UniAppTabBarConfig, generateRouter } from './plugins/generateRouter/index.mjs';
|
|
18
18
|
export { GenerateVersionOptions, OutputType, VersionFormat, VersionInfo, generateVersion } from './plugins/generateVersion/index.mjs';
|
|
19
|
-
export {
|
|
19
|
+
export { HtmlInjectOptions, InjectRule, InjectionLogEntry, htmlInject } from './plugins/htmlInject/index.mjs';
|
|
20
20
|
export { AutoBindMode, AutoHideOn, DebounceHide, DelayShow, LoadingCallbacks, LoadingManager, LoadingManagerOptions, LoadingPosition, LoadingStyle, MinDisplayTime, RequestFilter, SpinnerType, TransitionConfig, loadingManager } from './plugins/loadingManager/index.mjs';
|
|
21
21
|
export { PromptStyle, VersionSource, VersionUpdateCheckerOptions, versionUpdateChecker } from './plugins/versionUpdateChecker/index.mjs';
|
|
22
|
+
export { C as ConditionType, D as DualInjectResult, H as HtmlInjectResult, I as InjectCondition, a as InjectPosition, S as SecurityConfig, b as SelectorMatch } from './shared/vite-plugin.BI9taN75.mjs';
|
|
23
|
+
export { L as LoggerOptions, P as PluginLogger } from './shared/vite-plugin.B8FuZce1.mjs';
|
|
22
24
|
import 'vite';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export { isNodeModule } from './common/path/index.js';
|
|
7
|
-
export { containsScriptTag, makeCallback, validateIdentifierName } from './common/script/index.js';
|
|
1
|
+
export { DateFormatOptions, formatFileSize, getDateFormatParams } from './common/format/index.js';
|
|
2
|
+
export { CopyOptions, CopyResult, ScanDirectoryOptions, ScannedFile, checkSourceExists, copySourceToTarget, scanDirectory, writeFileContent, writeJsonReport } from './common/fs/index.js';
|
|
3
|
+
export { SanitizeRuleOptions, injectBeforeTag, injectHeadAndBody, sanitizeContent } from './common/html/index.js';
|
|
4
|
+
export { makeCallback } from './common/script/index.js';
|
|
5
|
+
export { ANSI } from './common/ui/index.js';
|
|
8
6
|
export { V as Validator } from './shared/vite-plugin.DRRlWY8P.js';
|
|
9
|
-
export { validateCallbackFields,
|
|
7
|
+
export { validateCallbackFields, validateGlobalName, validateNoScriptInTemplate } from './common/validation/index.js';
|
|
10
8
|
export { BasePlugin, BasePluginOptions, OptionsNormalizer, PluginFactory, PluginWithInstance, createPluginFactory } from './factory/index.js';
|
|
11
|
-
export {
|
|
9
|
+
export { Logger } from './logger/index.js';
|
|
10
|
+
export { AutoImportOptions, ImportMapping, ResolvedImport, ScannedModule, TransformResult, autoImport } from './plugins/autoImport/index.js';
|
|
12
11
|
export { BuildPhase, BuildProgressOptions, ProgressFormat, ProgressTheme, buildProgress } from './plugins/buildProgress/index.js';
|
|
13
12
|
export { BundleAnalysisResult, BundleAnalyzerOptions, BundleOutputFormat, ChunkStats, ComparisonDiff, FileTypeDistribution, ModuleStats, SizeWarning, bundleAnalyzer } from './plugins/bundleAnalyzer/index.js';
|
|
14
13
|
export { CompressAlgorithm, CompressAssetsOptions, CompressStats, CompressSummary, compressAssets } from './plugins/compressAssets/index.js';
|
|
15
14
|
export { CopyFileOptions, copyFile } from './plugins/copyFile/index.js';
|
|
15
|
+
export { EnvFailAction, EnvGuardOptions, EnvGuardResult, RuntimeGuardMode, envGuard } from './plugins/envGuard/index.js';
|
|
16
16
|
export { FaviconManagerOptions, Icon, faviconManager } from './plugins/faviconManager/index.js';
|
|
17
17
|
export { GenerateRouterOptions, NameStrategy, OutputFormat, RouteConfig, RouteMeta, UniAppPageConfig, UniAppPagesJson, UniAppTabBarConfig, generateRouter } from './plugins/generateRouter/index.js';
|
|
18
18
|
export { GenerateVersionOptions, OutputType, VersionFormat, VersionInfo, generateVersion } from './plugins/generateVersion/index.js';
|
|
19
|
-
export {
|
|
19
|
+
export { HtmlInjectOptions, InjectRule, InjectionLogEntry, htmlInject } from './plugins/htmlInject/index.js';
|
|
20
20
|
export { AutoBindMode, AutoHideOn, DebounceHide, DelayShow, LoadingCallbacks, LoadingManager, LoadingManagerOptions, LoadingPosition, LoadingStyle, MinDisplayTime, RequestFilter, SpinnerType, TransitionConfig, loadingManager } from './plugins/loadingManager/index.js';
|
|
21
21
|
export { PromptStyle, VersionSource, VersionUpdateCheckerOptions, versionUpdateChecker } from './plugins/versionUpdateChecker/index.js';
|
|
22
|
+
export { C as ConditionType, D as DualInjectResult, H as HtmlInjectResult, I as InjectCondition, a as InjectPosition, S as SecurityConfig, b as SelectorMatch } from './shared/vite-plugin.BI9taN75.js';
|
|
23
|
+
export { L as LoggerOptions, P as PluginLogger } from './shared/vite-plugin.B8FuZce1.js';
|
|
22
24
|
import 'vite';
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{formatFileSize,getDateFormatParams}from"./common/format/index.mjs";export{checkSourceExists,copySourceToTarget,scanDirectory,writeFileContent,writeJsonReport}from"./common/fs/index.mjs";export{injectBeforeTag,injectHeadAndBody}from"./common/html/index.mjs";export{makeCallback}from"./common/script/index.mjs";export{ANSI}from"./common/ui/index.mjs";export{V as Validator}from"./shared/vite-plugin.DcExl6jd.mjs";export{validateCallbackFields,validateGlobalName,validateNoScriptInTemplate}from"./common/validation/index.mjs";export{BasePlugin,createPluginFactory}from"./factory/index.mjs";export{Logger}from"./logger/index.mjs";export{autoImport}from"./plugins/autoImport/index.mjs";export{buildProgress}from"./plugins/buildProgress/index.mjs";export{bundleAnalyzer}from"./plugins/bundleAnalyzer/index.mjs";export{compressAssets}from"./plugins/compressAssets/index.mjs";export{copyFile}from"./plugins/copyFile/index.mjs";export{envGuard}from"./plugins/envGuard/index.mjs";export{faviconManager}from"./plugins/faviconManager/index.mjs";export{generateRouter}from"./plugins/generateRouter/index.mjs";export{generateVersion}from"./plugins/generateVersion/index.mjs";export{htmlInject}from"./plugins/htmlInject/index.mjs";export{loadingManager}from"./plugins/loadingManager/index.mjs";export{versionUpdateChecker}from"./plugins/versionUpdateChecker/index.mjs";export{s as sanitizeContent}from"./shared/vite-plugin.BPFqtmWa.mjs";import"fs";import"path";import"node:fs";import"node:path";import"node:zlib";import"node:util";import"node:stream/promises";import"crypto";
|
package/dist/logger/index.d.cts
CHANGED
|
@@ -1 +1,92 @@
|
|
|
1
|
-
|
|
1
|
+
import { L as LoggerOptions, P as PluginLogger } from '../shared/vite-plugin.B8FuZce1.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 日志工具类(单例模式)
|
|
5
|
+
* @description 全局单例日志管理器,统一管理所有插件的日志输出
|
|
6
|
+
*/
|
|
7
|
+
declare class Logger {
|
|
8
|
+
/**
|
|
9
|
+
* 单例实例
|
|
10
|
+
*/
|
|
11
|
+
private static instance;
|
|
12
|
+
/**
|
|
13
|
+
* 库名称
|
|
14
|
+
*/
|
|
15
|
+
private readonly libName;
|
|
16
|
+
/**
|
|
17
|
+
* 插件日志配置映射表
|
|
18
|
+
* @description 存储每个插件的日志开关状态
|
|
19
|
+
*/
|
|
20
|
+
private pluginConfigs;
|
|
21
|
+
/**
|
|
22
|
+
* 日志类型映射
|
|
23
|
+
*/
|
|
24
|
+
private readonly logTypes;
|
|
25
|
+
/**
|
|
26
|
+
* 私有构造函数,防止外部实例化
|
|
27
|
+
*/
|
|
28
|
+
private constructor();
|
|
29
|
+
/**
|
|
30
|
+
* 获取单例实例
|
|
31
|
+
* @returns Logger 单例实例
|
|
32
|
+
*/
|
|
33
|
+
private static getInstance;
|
|
34
|
+
/**
|
|
35
|
+
* 创建日志记录器(工厂方法)
|
|
36
|
+
* @param options 配置选项
|
|
37
|
+
* @returns Logger 单例实例
|
|
38
|
+
* @description 为插件创建日志记录器,实际返回单例实例并注册插件配置
|
|
39
|
+
*/
|
|
40
|
+
static create(options: LoggerOptions): Logger;
|
|
41
|
+
/**
|
|
42
|
+
* 注册插件日志配置
|
|
43
|
+
* @param pluginName 插件名称
|
|
44
|
+
* @param enabled 是否启用日志
|
|
45
|
+
*/
|
|
46
|
+
private registerPlugin;
|
|
47
|
+
/**
|
|
48
|
+
* 注销插件日志配置
|
|
49
|
+
* @param pluginName 插件名称
|
|
50
|
+
*/
|
|
51
|
+
private unregisterPlugin;
|
|
52
|
+
/**
|
|
53
|
+
* 注销指定插件的日志配置
|
|
54
|
+
* @param pluginName 插件名称
|
|
55
|
+
* @description 从单例中移除指定插件的日志配置,通常在插件销毁时调用
|
|
56
|
+
*/
|
|
57
|
+
static unregister(pluginName: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* 销毁单例实例,释放所有资源
|
|
60
|
+
* @description 清除所有已注册的插件配置,重置单例实例。主要用于测试场景
|
|
61
|
+
*/
|
|
62
|
+
static destroy(): void;
|
|
63
|
+
/**
|
|
64
|
+
* 生成日志前缀
|
|
65
|
+
* @param pluginName 插件名称
|
|
66
|
+
* @returns 格式化的日志前缀
|
|
67
|
+
*/
|
|
68
|
+
private formatPrefix;
|
|
69
|
+
/**
|
|
70
|
+
* 检查插件日志是否启用
|
|
71
|
+
* @param pluginName 插件名称
|
|
72
|
+
* @returns 是否启用
|
|
73
|
+
*/
|
|
74
|
+
private isPluginEnabled;
|
|
75
|
+
/**
|
|
76
|
+
* 统一日志输出方法
|
|
77
|
+
* @param pluginName 插件名称
|
|
78
|
+
* @param type 日志类型
|
|
79
|
+
* @param message 日志消息
|
|
80
|
+
* @param data 附加数据
|
|
81
|
+
*/
|
|
82
|
+
private log;
|
|
83
|
+
/**
|
|
84
|
+
* 创建插件日志代理对象
|
|
85
|
+
* @param pluginName 插件名称
|
|
86
|
+
* @returns 插件日志代理对象
|
|
87
|
+
* @internal 供 BasePlugin 内部使用
|
|
88
|
+
*/
|
|
89
|
+
createPluginLogger(pluginName: string): PluginLogger;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export { Logger, LoggerOptions, PluginLogger };
|
package/dist/logger/index.d.mts
CHANGED
|
@@ -1 +1,92 @@
|
|
|
1
|
-
|
|
1
|
+
import { L as LoggerOptions, P as PluginLogger } from '../shared/vite-plugin.B8FuZce1.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 日志工具类(单例模式)
|
|
5
|
+
* @description 全局单例日志管理器,统一管理所有插件的日志输出
|
|
6
|
+
*/
|
|
7
|
+
declare class Logger {
|
|
8
|
+
/**
|
|
9
|
+
* 单例实例
|
|
10
|
+
*/
|
|
11
|
+
private static instance;
|
|
12
|
+
/**
|
|
13
|
+
* 库名称
|
|
14
|
+
*/
|
|
15
|
+
private readonly libName;
|
|
16
|
+
/**
|
|
17
|
+
* 插件日志配置映射表
|
|
18
|
+
* @description 存储每个插件的日志开关状态
|
|
19
|
+
*/
|
|
20
|
+
private pluginConfigs;
|
|
21
|
+
/**
|
|
22
|
+
* 日志类型映射
|
|
23
|
+
*/
|
|
24
|
+
private readonly logTypes;
|
|
25
|
+
/**
|
|
26
|
+
* 私有构造函数,防止外部实例化
|
|
27
|
+
*/
|
|
28
|
+
private constructor();
|
|
29
|
+
/**
|
|
30
|
+
* 获取单例实例
|
|
31
|
+
* @returns Logger 单例实例
|
|
32
|
+
*/
|
|
33
|
+
private static getInstance;
|
|
34
|
+
/**
|
|
35
|
+
* 创建日志记录器(工厂方法)
|
|
36
|
+
* @param options 配置选项
|
|
37
|
+
* @returns Logger 单例实例
|
|
38
|
+
* @description 为插件创建日志记录器,实际返回单例实例并注册插件配置
|
|
39
|
+
*/
|
|
40
|
+
static create(options: LoggerOptions): Logger;
|
|
41
|
+
/**
|
|
42
|
+
* 注册插件日志配置
|
|
43
|
+
* @param pluginName 插件名称
|
|
44
|
+
* @param enabled 是否启用日志
|
|
45
|
+
*/
|
|
46
|
+
private registerPlugin;
|
|
47
|
+
/**
|
|
48
|
+
* 注销插件日志配置
|
|
49
|
+
* @param pluginName 插件名称
|
|
50
|
+
*/
|
|
51
|
+
private unregisterPlugin;
|
|
52
|
+
/**
|
|
53
|
+
* 注销指定插件的日志配置
|
|
54
|
+
* @param pluginName 插件名称
|
|
55
|
+
* @description 从单例中移除指定插件的日志配置,通常在插件销毁时调用
|
|
56
|
+
*/
|
|
57
|
+
static unregister(pluginName: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* 销毁单例实例,释放所有资源
|
|
60
|
+
* @description 清除所有已注册的插件配置,重置单例实例。主要用于测试场景
|
|
61
|
+
*/
|
|
62
|
+
static destroy(): void;
|
|
63
|
+
/**
|
|
64
|
+
* 生成日志前缀
|
|
65
|
+
* @param pluginName 插件名称
|
|
66
|
+
* @returns 格式化的日志前缀
|
|
67
|
+
*/
|
|
68
|
+
private formatPrefix;
|
|
69
|
+
/**
|
|
70
|
+
* 检查插件日志是否启用
|
|
71
|
+
* @param pluginName 插件名称
|
|
72
|
+
* @returns 是否启用
|
|
73
|
+
*/
|
|
74
|
+
private isPluginEnabled;
|
|
75
|
+
/**
|
|
76
|
+
* 统一日志输出方法
|
|
77
|
+
* @param pluginName 插件名称
|
|
78
|
+
* @param type 日志类型
|
|
79
|
+
* @param message 日志消息
|
|
80
|
+
* @param data 附加数据
|
|
81
|
+
*/
|
|
82
|
+
private log;
|
|
83
|
+
/**
|
|
84
|
+
* 创建插件日志代理对象
|
|
85
|
+
* @param pluginName 插件名称
|
|
86
|
+
* @returns 插件日志代理对象
|
|
87
|
+
* @internal 供 BasePlugin 内部使用
|
|
88
|
+
*/
|
|
89
|
+
createPluginLogger(pluginName: string): PluginLogger;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export { Logger, LoggerOptions, PluginLogger };
|
package/dist/logger/index.d.ts
CHANGED
|
@@ -1 +1,92 @@
|
|
|
1
|
-
|
|
1
|
+
import { L as LoggerOptions, P as PluginLogger } from '../shared/vite-plugin.B8FuZce1.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 日志工具类(单例模式)
|
|
5
|
+
* @description 全局单例日志管理器,统一管理所有插件的日志输出
|
|
6
|
+
*/
|
|
7
|
+
declare class Logger {
|
|
8
|
+
/**
|
|
9
|
+
* 单例实例
|
|
10
|
+
*/
|
|
11
|
+
private static instance;
|
|
12
|
+
/**
|
|
13
|
+
* 库名称
|
|
14
|
+
*/
|
|
15
|
+
private readonly libName;
|
|
16
|
+
/**
|
|
17
|
+
* 插件日志配置映射表
|
|
18
|
+
* @description 存储每个插件的日志开关状态
|
|
19
|
+
*/
|
|
20
|
+
private pluginConfigs;
|
|
21
|
+
/**
|
|
22
|
+
* 日志类型映射
|
|
23
|
+
*/
|
|
24
|
+
private readonly logTypes;
|
|
25
|
+
/**
|
|
26
|
+
* 私有构造函数,防止外部实例化
|
|
27
|
+
*/
|
|
28
|
+
private constructor();
|
|
29
|
+
/**
|
|
30
|
+
* 获取单例实例
|
|
31
|
+
* @returns Logger 单例实例
|
|
32
|
+
*/
|
|
33
|
+
private static getInstance;
|
|
34
|
+
/**
|
|
35
|
+
* 创建日志记录器(工厂方法)
|
|
36
|
+
* @param options 配置选项
|
|
37
|
+
* @returns Logger 单例实例
|
|
38
|
+
* @description 为插件创建日志记录器,实际返回单例实例并注册插件配置
|
|
39
|
+
*/
|
|
40
|
+
static create(options: LoggerOptions): Logger;
|
|
41
|
+
/**
|
|
42
|
+
* 注册插件日志配置
|
|
43
|
+
* @param pluginName 插件名称
|
|
44
|
+
* @param enabled 是否启用日志
|
|
45
|
+
*/
|
|
46
|
+
private registerPlugin;
|
|
47
|
+
/**
|
|
48
|
+
* 注销插件日志配置
|
|
49
|
+
* @param pluginName 插件名称
|
|
50
|
+
*/
|
|
51
|
+
private unregisterPlugin;
|
|
52
|
+
/**
|
|
53
|
+
* 注销指定插件的日志配置
|
|
54
|
+
* @param pluginName 插件名称
|
|
55
|
+
* @description 从单例中移除指定插件的日志配置,通常在插件销毁时调用
|
|
56
|
+
*/
|
|
57
|
+
static unregister(pluginName: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* 销毁单例实例,释放所有资源
|
|
60
|
+
* @description 清除所有已注册的插件配置,重置单例实例。主要用于测试场景
|
|
61
|
+
*/
|
|
62
|
+
static destroy(): void;
|
|
63
|
+
/**
|
|
64
|
+
* 生成日志前缀
|
|
65
|
+
* @param pluginName 插件名称
|
|
66
|
+
* @returns 格式化的日志前缀
|
|
67
|
+
*/
|
|
68
|
+
private formatPrefix;
|
|
69
|
+
/**
|
|
70
|
+
* 检查插件日志是否启用
|
|
71
|
+
* @param pluginName 插件名称
|
|
72
|
+
* @returns 是否启用
|
|
73
|
+
*/
|
|
74
|
+
private isPluginEnabled;
|
|
75
|
+
/**
|
|
76
|
+
* 统一日志输出方法
|
|
77
|
+
* @param pluginName 插件名称
|
|
78
|
+
* @param type 日志类型
|
|
79
|
+
* @param message 日志消息
|
|
80
|
+
* @param data 附加数据
|
|
81
|
+
*/
|
|
82
|
+
private log;
|
|
83
|
+
/**
|
|
84
|
+
* 创建插件日志代理对象
|
|
85
|
+
* @param pluginName 插件名称
|
|
86
|
+
* @returns 插件日志代理对象
|
|
87
|
+
* @internal 供 BasePlugin 内部使用
|
|
88
|
+
*/
|
|
89
|
+
createPluginLogger(pluginName: string): PluginLogger;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export { Logger, LoggerOptions, PluginLogger };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";const factory_index=require("../../factory/index.cjs"),p=require("node:fs"),i=require("node:path");require("../../logger/index.cjs"),require("../../shared/vite-plugin.Bcg6RW2N.cjs");function _interopDefaultCompat(s){return s&&typeof s=="object"&&"default"in s?s.default:s}const p__default=_interopDefaultCompat(p),i__default=_interopDefaultCompat(i);function resolveImports(s){if(!s)return[];const e=[];if(Array.isArray(s))for(const t of s)if("module"in t&&"names"in t){const n=t;for(const o of n.names)e.push({module:n.module,name:o,isDefault:n.defaultImport??!1})}else{const n=t;for(const[o,r]of Object.entries(n))for(const a of r)e.push({module:o,name:a,isDefault:!1})}else for(const[t,n]of Object.entries(s))for(const o of n)e.push({module:t,name:o,isDefault:!1});return e}function buildNameLookup(s){const e=new Map;for(const t of s)e.set(t.name,t);return e}function h(s){const e=i__default.basename(s,i__default.extname(s));return e==="index"?i__default.basename(i__default.dirname(s)):e}function scanDirectories(s,e){const t=[];for(const n of s){const o=i__default.isAbsolute(n)?n:i__default.resolve(e,n);!p__default.existsSync(o)||!p__default.statSync(o).isDirectory()||f$1(o,t)}return t}function f$1(s,e){const t=p__default.readdirSync(s,{withFileTypes:!0});for(const n of t){const o=i__default.join(s,n.name);if(n.isDirectory()){if(n.name==="node_modules"||n.name.startsWith("."))continue;f$1(o,e);continue}if(!n.isFile())continue;const r=i__default.extname(n.name).toLowerCase();if(![".ts",".js",".mts",".mjs"].includes(r)||n.name.endsWith(".d.ts"))continue;const a=parseModuleExports(o);a&&e.push(a)}}function parseModuleExports(s){try{const e=p__default.readFileSync(s,"utf-8"),t=[];let n=null;const o=/export\s+(?:async\s+)?function\s+(\w+)/g;let r;for(;(r=o.exec(e))!==null;)t.push(r[1]);const a=/export\s+(?:const|let|var)\s+(\w+)/g;for(;(r=a.exec(e))!==null;)t.push(r[1]);const u=/export\s+class\s+(\w+)/g;for(;(r=u.exec(e))!==null;)t.push(r[1]);const l=/export\s*\{([^}]+)\}/g;for(;(r=l.exec(e))!==null;){const S=r[1].split(",").map(m=>{const v=m.trim().split(/\s+as\s+/);return v.length>1?v[v.length-1].trim():v[0].trim()});for(const m of S)m&&m!=="default"&&t.push(m)}const c=/export\s+default\s+(?:function\s+(\w+)|class\s+(\w+)|(\w+))?/.exec(e);c&&(n=c[1]||c[2]||c[3]||h(s));const $=/export\s+(?:type|interface)\s+(\w+)/g;for(;(r=$.exec(e))!==null;)t.push(r[1]);return t.length===0&&n===null?null:{filePath:s,exports:t,defaultExport:n}}catch{return null}}function scannedModulesToImports(s){const e=[];for(const t of s){for(const n of t.exports)e.push({module:t.filePath,name:n,isDefault:!1});t.defaultExport&&e.push({module:t.filePath,name:t.defaultExport,isDefault:!0})}return e}const g=new Set(["break","case","catch","continue","debugger","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","this","throw","try","typeof","var","void","while","with","class","const","enum","export","extends","import","super","implements","interface","let","package","private","protected","public","static","yield","async","await","of","true","false","null","undefined","NaN","Infinity","console","window","document","global","globalThis","process","require","module","exports","__dirname","__filename","Object","Array","String","Number","Boolean","Symbol","BigInt","Map","Set","WeakMap","WeakSet","Promise","Proxy","Reflect","Error","TypeError","RangeError","SyntaxError","ReferenceError","Date","RegExp","Math","JSON","Intl","ArrayBuffer","DataView","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","Uint8ClampedArray"]);function y(s){const e=[];let t=0;const n=s.length;for(;t<n;){if(s[t]==="/"&&s[t+1]==="/"){for(;t<n&&s[t]!==`
|
|
2
|
+
`;)e.push(" "),t++;continue}if(s[t]==="/"&&s[t+1]==="*"){for(e.push(" "),e.push(" "),t+=2;t<n&&!(s[t-1]==="*"&&s[t]==="/");)e.push(s[t]===`
|
|
3
|
+
`?`
|
|
4
|
+
`:" "),t++;t<n&&(e.push(" "),t++);continue}if(s[t]==="'"){for(e.push(" "),t++;t<n&&s[t]!=="'";){if(s[t]==="\\"&&t+1<n){e.push(" "),e.push(" "),t+=2;continue}e.push(s[t]===`
|
|
5
|
+
`?`
|
|
6
|
+
`:" "),t++}t<n&&(e.push(" "),t++);continue}if(s[t]==='"'){for(e.push(" "),t++;t<n&&s[t]!=='"';){if(s[t]==="\\"&&t+1<n){e.push(" "),e.push(" "),t+=2;continue}e.push(s[t]===`
|
|
7
|
+
`?`
|
|
8
|
+
`:" "),t++}t<n&&(e.push(" "),t++);continue}if(s[t]==="`"){for(e.push(" "),t++;t<n&&s[t]!=="`";){if(s[t]==="\\"&&t+1<n){e.push(" "),e.push(" "),t+=2;continue}if(s[t]==="$"&&s[t+1]==="{"){e.push(" "),e.push(" "),t+=2;let o=1;for(;t<n&&o>0;)s[t]==="{"&&o++,s[t]==="}"&&o--,o>0&&(e.push(s[t]),t++);t<n&&(e.push(" "),t++);continue}e.push(s[t]===`
|
|
9
|
+
`?`
|
|
10
|
+
`:" "),t++}t<n&&(e.push(" "),t++);continue}e.push(s[t]),t++}return e.join("")}function f(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function detectUsedImports(s,e,t){const n=[],o=new Set,r=y(s),a=/(?<![.\w$])([a-zA-Z_$][\w$]*)(?=\s*[<(.,:;\n\r)\]}]|$)/g;let u;for(;(u=a.exec(r))!==null;){const l=u[1];if(g.has(l)||o.has(l)||t.has(l))continue;const c=e.get(l);c&&(o.add(l),n.push(c))}return n}function isAlreadyImported(s,e){return!!(new RegExp(`import\\s*\\{[^}]*\\b${f(e)}\\b[^}]*\\}\\s*from`,"m").test(s)||new RegExp(`import\\s+${f(e)}\\s+from`,"m").test(s)||new RegExp(`import\\s*\\*\\s*as\\s+${f(e)}\\s+from`,"m").test(s))}function generateImportStatements(s){const e=new Map;for(const n of s){e.has(n.module)||e.set(n.module,{named:[],default_:null});const o=e.get(n.module);n.isDefault?o.default_===null&&(o.default_=n.name):o.named.includes(n.name)||o.named.push(n.name)}const t=[];for(const[n,o]of e){const r=[];o.default_&&r.push(o.default_),o.named.length>0&&r.push(`{ ${o.named.join(", ")} }`),r.length>0&&t.push(`import ${r.join(", ")} from '${n}'`)}return t.join(`
|
|
11
|
+
`)}function injectImports(s,e,t){if(!e.trim())return s;if(t==="top")return d(s,e);const n=findLastImportEnd(s);return n===-1?d(s,e):s.slice(0,n)+`
|
|
12
|
+
`+e+`
|
|
13
|
+
`+s.slice(n)}function d(s,e){let t=0;if(s.startsWith("#!")){const o=s.indexOf(`
|
|
14
|
+
`);o!==-1?t=o+1:t=s.length}const n=s.slice(t).match(/^\s*["']use strict["'];?\s*\n?/);return n&&(t+=n[0].length),s.slice(0,t)+e+`
|
|
15
|
+
`+s.slice(t)}function findLastImportEnd(s){let e=-1;const t=/^import\s+[\s\S]+?from\s+['"][^'"]+['"];?\s*$/gm;let n;for(;(n=t.exec(s))!==null;){const o=n.index+n[0].length;o>e&&(e=o)}return e}function detectVueTemplateImports(s,e,t){const n=s.match(/<template[^>]*>([\s\S]*?)<\/template>/);if(!n)return[];const o=n[1],r=[],a=/\{\{([\s\S]*?)\}\}/g;let u;for(;(u=a.exec(o))!==null;)r.push(u[1]);const l=/(?:v-[\w-]+|:[\w-]+|@[\w-]+)(?:\.[\w-]+)*="([^"]*)"/g;for(;(u=l.exec(o))!==null;)r.push(u[1]);const c=/v-model="([^"]*)"/g;for(;(u=c.exec(o))!==null;)r.push(u[1]);if(r.length===0)return[];const $=r.join(`
|
|
16
|
+
`),S=[],m=new Set,v=/(?<![.\w$])([a-zA-Z_$][\w$]*)(?=\s*[<(.,:;\n\r)\]}]|$)/g;for(;(u=v.exec($))!==null;){const x=u[1];if(m.has(x)||t.has(x)||g.has(x)||R(x)||I(x))continue;const A=e.get(x);A&&(m.add(x),S.push(A))}return S}const b=new Set(["div","span","p","a","img","ul","ol","li","h1","h2","h3","h4","h5","h6","table","tr","td","th","thead","tbody","form","input","button","select","option","textarea","label","section","article","header","footer","nav","main","aside","script","style","link","meta","title","head","body","html","br","hr","pre","code","em","strong","b","i","u","sub","sup","small","mark","del","ins","blockquote","q","cite","abbr","dfn","kbd","samp","var","time","figure","figcaption","details","summary","dialog","menu","template","slot","component","transition","transition-group","keep-alive","teleport","suspense","video","audio","source","canvas","svg","path","circle","rect","line","polygon","iframe","embed","object","picture","area","map","base","col","colgroup","datalist","fieldset","legend","meter","optgroup","output","progress","ruby","rt","rp","wbr"]);function R(s){return b.has(s.toLowerCase())}function I(s){return s.startsWith("v")&&s.length>1&&s[1]===s[1].toUpperCase()}function generateDtsContent(s){const e=[];e.push("// Auto generated by @meng-xi/vite-plugin autoImport"),e.push("// @ts-nocheck"),e.push("export {}"),e.push("");const t=new Map;for(const n of s)t.has(n.module)||t.set(n.module,[]),t.get(n.module).push(n);e.push("declare global {");for(const[n,o]of t){e.push(` // from '${n}'`);for(const r of o)r.isDefault?e.push(` const ${r.name}: typeof import('${n}')['default']`):e.push(` const ${r.name}: typeof import('${n}')['${r.name}']`);e.push("")}return e.push("}"),e.join(`
|
|
17
|
+
`)}function writeDtsFile(s,e){const t=i__default.dirname(s);p__default.existsSync(t)||p__default.mkdirSync(t,{recursive:!0}),p__default.writeFileSync(s,e,"utf-8")}function shouldUpdateDts(s,e){if(!p__default.existsSync(s))return!0;try{return p__default.readFileSync(s,"utf-8")!==e}catch{return!0}}class w extends factory_index.BasePlugin{nameLookup=new Map;allResolvedImports=[];ignoreSet=new Set;initialized=!1;getDefaultOptions(){return{imports:{},dirs:[],dts:"auto-imports.d.ts",vueTemplate:!1,ignore:[],fileFilter:/\.(vue|jsx|tsx|ts|js|mjs)$/,injectAtPosition:"top"}}validateOptions(){this.validator.field("dts").custom(e=>e===!1||typeof e=="string","dts \u5FC5\u987B\u4E3A false \u6216\u5B57\u7B26\u4E32\u8DEF\u5F84").field("vueTemplate").boolean().field("injectAtPosition").enum(["top","after-last-import"]).validate()}getPluginName(){return"auto-import"}addPluginHooks(e){e.configResolved=()=>{this.initialize()},e.transform={order:"pre",handler:(t,n)=>!this.initialized||!this.options.fileFilter.test(n)?null:this.transformCode(t,n)},e.buildEnd=()=>{this.options.dts&&this.initialized&&this.generateDts()}}initialize(){const e=resolveImports(this.options.imports),t=this.viteConfig?.root||process.cwd(),n=scanDirectories(this.options.dirs,t),o=scannedModulesToImports(n);this.allResolvedImports=[...e,...o],this.nameLookup=buildNameLookup(this.allResolvedImports),this.ignoreSet=new Set(this.options.ignore),this.initialized=!0,this.logger.info(`\u521D\u59CB\u5316\u5B8C\u6210: ${this.allResolvedImports.length} \u4E2A\u81EA\u52A8\u5BFC\u5165\u6620\u5C04, ${n.length} \u4E2A\u626B\u63CF\u6A21\u5757`),this.options.dts&&this.generateDts()}transformCode(e,t){let n=detectUsedImports(e,this.nameLookup,this.ignoreSet);if(this.options.vueTemplate&&t.endsWith(".vue")){const r=detectVueTemplateImports(e,this.nameLookup,this.ignoreSet),a=new Set(n.map(u=>u.name));for(const u of r)a.has(u.name)||(a.add(u.name),n.push(u))}if(n=n.filter(r=>!isAlreadyImported(e,r.name)),n.length===0)return null;const o=generateImportStatements(n);return{code:injectImports(e,o,this.options.injectAtPosition)}}generateDts(){if(this.allResolvedImports.length===0)return;const e=this.viteConfig?.root||process.cwd(),t=i__default.isAbsolute(this.options.dts)?this.options.dts:i__default.resolve(e,this.options.dts),n=generateDtsContent(this.allResolvedImports);shouldUpdateDts(t,n)&&this.safeExecuteSync(()=>{writeDtsFile(t,n),this.logger.info(`\u7C7B\u578B\u58F0\u660E\u6587\u4EF6\u5DF2\u751F\u6210: ${this.options.dts}`)},"\u751F\u6210\u7C7B\u578B\u58F0\u660E\u6587\u4EF6")}getResolvedImports(){return[...this.allResolvedImports]}getNameLookup(){return new Map(this.nameLookup)}}const autoImport=factory_index.createPluginFactory(w);exports.autoImport=autoImport;
|