earthsdk3-assets 3.0.15 → 3.0.16

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
@@ -134,11 +134,13 @@ earthsdk3-assets/
134
134
 
135
135
  1. **Vite** - 检查 `vite` 依赖或 `vite.config.*` 文件
136
136
  2. **Rspack** - 检查 `@rspack/core` 依赖或 `rspack.config.*` 文件
137
- 3. **Webpack** - 检查 `webpack` 依赖或 `webpack.config.*` 文件
137
+ 3. **Vue CLI** - 检查 `@vue/cli-service` 依赖(基于 Webpack 5)
138
+ 4. **Webpack** - 检查 `webpack` 依赖或 `webpack.config.*` 文件
138
139
 
139
140
  ## 注意事项
140
141
 
141
142
  - Webpack/Rspack 项目需要安装 `html-webpack-plugin` 或 `@rspack/plugin-html` 以支持 HTML 脚本注入
143
+ - Vue CLI 项目内置 `html-webpack-plugin`,无需额外安装
142
144
  - 所有构建工具插件均为可选依赖,未使用的构建工具不会引起报错
143
145
 
144
146
  ## 许可证
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "earthsdk3-assets",
3
- "version": "3.0.15",
3
+ "version": "3.0.16",
4
4
  "description": "地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "./src/index.js",
8
+ "types": "./src/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
10
11
  "import": "./src/index.js",
package/src/index.cjs CHANGED
@@ -20,9 +20,10 @@ function detectBuildTool() {
20
20
  ...pkg.devDependencies
21
21
  };
22
22
 
23
- // 优先级:Vite > Rspack > Webpack
23
+ // 优先级:Vite > Rspack > Vue CLI > Webpack
24
24
  if (allDeps.vite) return 'vite';
25
25
  if (allDeps['@rspack/core'] || allDeps.rspack) return 'rspack';
26
+ if (allDeps['@vue/cli-service']) return 'webpack';
26
27
  if (allDeps.webpack || allDeps['html-webpack-plugin']) return 'webpack';
27
28
 
28
29
  // 检测配置文件
package/src/index.d.ts ADDED
@@ -0,0 +1,47 @@
1
+ declare module 'earthsdk3-assets' {
2
+ export interface EarthsdkAssetsOptions {
3
+ forceTool?: 'vite' | 'webpack' | 'rspack' | 'vue-cli';
4
+ }
5
+
6
+ export interface EarthsdkAssetsPlugin {
7
+ name: string;
8
+ transformIndexHtml?: () => Array<{
9
+ tag: string;
10
+ attrs: Record<string, string>;
11
+ injectTo: 'head' | 'body';
12
+ }>;
13
+ configResolved?: (config: any) => void;
14
+ configureServer?: (server: any) => Promise<void>;
15
+ closeBundle?: () => Promise<void>;
16
+ apply?: (compiler: any) => void;
17
+ }
18
+
19
+ export function detectBuildTool(): 'vite' | 'webpack' | 'rspack' | null;
20
+
21
+ export function vitePlugin(options?: EarthsdkAssetsOptions): EarthsdkAssetsPlugin;
22
+ export function webpackPlugin(options?: EarthsdkAssetsOptions): any;
23
+ export function rspackPlugin(options?: EarthsdkAssetsOptions): any;
24
+
25
+ export default function earthsdkAssets(options?: EarthsdkAssetsOptions): Promise<EarthsdkAssetsPlugin> | any;
26
+ }
27
+
28
+ declare module 'earthsdk3-assets/vite' {
29
+ import type { EarthsdkAssetsOptions, EarthsdkAssetsPlugin } from 'earthsdk3-assets';
30
+ export default function vitePlugin(options?: EarthsdkAssetsOptions): EarthsdkAssetsPlugin;
31
+ }
32
+
33
+ declare module 'earthsdk3-assets/webpack' {
34
+ import type { EarthsdkAssetsOptions } from 'earthsdk3-assets';
35
+ export default class EarthsdkAssetsWebpackPlugin {
36
+ constructor(options?: EarthsdkAssetsOptions);
37
+ apply(compiler: any): void;
38
+ }
39
+ }
40
+
41
+ declare module 'earthsdk3-assets/rspack' {
42
+ import type { EarthsdkAssetsOptions } from 'earthsdk3-assets';
43
+ export default class EarthsdkAssetsRspackPlugin {
44
+ constructor(options?: EarthsdkAssetsOptions);
45
+ apply(compiler: any): void;
46
+ }
47
+ }
package/src/index.js CHANGED
@@ -24,10 +24,10 @@ function detectBuildTool() {
24
24
  ...pkg.devDependencies
25
25
  };
26
26
 
27
- // 优先级:Vite > Rspack > Webpack
28
- // Rspack 需要优先于 Webpack 检测,因为 Rspack 项目通常也依赖 @rspack/core
27
+ // 优先级:Vite > Rspack > Vue CLI > Webpack
29
28
  if (allDeps.vite) return 'vite';
30
29
  if (allDeps['@rspack/core'] || allDeps.rspack) return 'rspack';
30
+ if (allDeps['@vue/cli-service']) return 'webpack';
31
31
  if (allDeps.webpack || allDeps['html-webpack-plugin']) return 'webpack';
32
32
 
33
33
  // 检测配置文件