ol-base-components 2.8.1 → 2.8.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol-base-components",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "private": false,
5
5
  "main": "src/package/index.js",
6
6
  "bin": {
@@ -3,105 +3,135 @@ const fs = require("fs");
3
3
  const path = require("path");
4
4
  const os = require("os");
5
5
 
6
- // 检测 VSCode 扩展目录
6
+ // 检测 VSCode/Cursor 扩展目录
7
7
  function getVSCodeExtensionsPath() {
8
8
  const platform = os.platform();
9
9
  const homeDir = os.homedir();
10
10
 
11
11
  switch (platform) {
12
12
  case "win32":
13
- return path.join(homeDir, ".vscode", "extensions");
13
+ return [
14
+ path.join(homeDir, ".vscode", "extensions"),
15
+ path.join(homeDir, ".cursor", "extensions"), // Cursor 扩展目录
16
+ path.join(homeDir, "AppData", "Roaming", "Cursor", "User", "extensions"), // Cursor 另一个可能的位置
17
+ ];
14
18
  case "darwin":
15
- return path.join(homeDir, ".vscode", "extensions");
19
+ return [
20
+ path.join(homeDir, ".vscode", "extensions"),
21
+ path.join(homeDir, ".cursor", "extensions"),
22
+ path.join(homeDir, "Library", "Application Support", "Cursor", "User", "extensions"),
23
+ ];
16
24
  case "linux":
17
- return path.join(homeDir, ".vscode", "extensions");
25
+ return [
26
+ path.join(homeDir, ".vscode", "extensions"),
27
+ path.join(homeDir, ".cursor", "extensions"),
28
+ path.join(homeDir, ".config", "Cursor", "User", "extensions"),
29
+ ];
18
30
  default:
19
31
  throw new Error("Unsupported platform");
20
32
  }
21
33
  }
22
34
 
23
- // 安装 VSCode 扩展
35
+ // 安装 VSCode/Cursor 扩展
24
36
  function installVSCodeExtension() {
25
37
  try {
26
- const extensionsPath = getVSCodeExtensionsPath();
38
+ const extensionsPaths = getVSCodeExtensionsPath();
27
39
  const extensionName = "vue-page-generator";
28
- const extensionDir = path.join(extensionsPath, extensionName);
29
40
 
30
- // 创建扩展目录
31
- if (!fs.existsSync(extensionDir)) {
32
- fs.mkdirSync(extensionDir, { recursive: true });
33
- }
34
-
35
- // 复制扩展文件
36
- const srcDir = path.join(__dirname, "../src/vscode");
37
- const files = ["extension.js"];
38
-
39
- files.forEach(file => {
40
- const srcFile = path.join(srcDir, file);
41
- const destFile = path.join(extensionDir, file);
42
-
43
- if (fs.existsSync(srcFile)) {
44
- fs.copyFileSync(srcFile, destFile);
45
- console.log(`✅ 复制文件: ${file}`);
46
- }
47
- });
48
-
49
- // 复制 webview 目录
50
- const webviewSrcDir = path.join(srcDir, "webview");
51
- const webviewDestDir = path.join(extensionDir, "webview");
41
+ let installed = false;
42
+
43
+ for (const extensionsPath of extensionsPaths) {
44
+ if (fs.existsSync(extensionsPath)) {
45
+ const extensionDir = path.join(extensionsPath, extensionName);
46
+
47
+ // 创建扩展目录
48
+ if (!fs.existsSync(extensionDir)) {
49
+ fs.mkdirSync(extensionDir, { recursive: true });
50
+ }
51
+
52
+ // 复制扩展文件
53
+ const srcDir = path.join(__dirname, "../src/vscode");
54
+ const files = ["extension.js"];
55
+
56
+ files.forEach(file => {
57
+ const srcFile = path.join(srcDir, file);
58
+ const destFile = path.join(extensionDir, file);
59
+
60
+ if (fs.existsSync(srcFile)) {
61
+ fs.copyFileSync(srcFile, destFile);
62
+ console.log(`✅ 复制文件: ${file}`);
63
+ }
64
+ });
65
+
66
+ // 复制 webview 目录
67
+ const webviewSrcDir = path.join(srcDir, "webview");
68
+ const webviewDestDir = path.join(extensionDir, "webview");
69
+
70
+ if (fs.existsSync(webviewSrcDir)) {
71
+ if (!fs.existsSync(webviewDestDir)) {
72
+ fs.mkdirSync(webviewDestDir, { recursive: true });
73
+ }
74
+
75
+ const panelFile = path.join(webviewSrcDir, "panel.js");
76
+ const panelDestFile = path.join(webviewDestDir, "panel.js");
77
+
78
+ if (fs.existsSync(panelFile)) {
79
+ fs.copyFileSync(panelFile, panelDestFile);
80
+ console.log("✅ 复制文件: webview/panel.js");
81
+ }
82
+ }
83
+
84
+ // 创建 package.json
85
+ const packageJson = {
86
+ name: extensionName,
87
+ displayName: "Vue Page Generator",
88
+ description: "Generate Vue CRUD pages from Swagger API",
89
+ version: "0.0.1",
90
+ engines: {
91
+ vscode: "^1.60.0",
92
+ },
93
+ activationEvents: ["onCommand:vue-generator.createPage"],
94
+ main: "./extension.js",
95
+ contributes: {
96
+ commands: [
97
+ {
98
+ command: "vue-generator.createPage",
99
+ title: "Generate Vue Page",
100
+ category: "Vue Generator",
101
+ },
102
+ ],
103
+ menus: {
104
+ "explorer/context": [
105
+ {
106
+ command: "vue-generator.createPage",
107
+ group: "navigation",
108
+ when: "resourceExtname == .vue || resourceExtname == .js || resourceExtname == .ts || resourceExtname == .jsx || resourceExtname == .tsx",
109
+ },
110
+ ],
111
+ },
112
+ },
113
+ };
52
114
 
53
- if (fs.existsSync(webviewSrcDir)) {
54
- if (!fs.existsSync(webviewDestDir)) {
55
- fs.mkdirSync(webviewDestDir, { recursive: true });
56
- }
115
+ const packageJsonPath = path.join(extensionDir, "package.json");
116
+ fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
117
+ console.log("✅ 创建文件: package.json");
57
118
 
58
- const panelFile = path.join(webviewSrcDir, "panel.js");
59
- const panelDestFile = path.join(webviewDestDir, "panel.js");
119
+ console.log(`\n�� VSCode/Cursor 扩展安装成功!`);
120
+ console.log("请重启 Cursor 以激活扩展。");
121
+ console.log("安装位置:", extensionDir);
60
122
 
61
- if (fs.existsSync(panelFile)) {
62
- fs.copyFileSync(panelFile, panelDestFile);
63
- console.log("✅ 复制文件: webview/panel.js");
123
+ installed = true;
124
+ break;
64
125
  }
65
126
  }
66
127
 
67
- // 创建 package.json
68
- const packageJson = {
69
- name: extensionName,
70
- displayName: "Vue Page Generator",
71
- description: "Generate Vue CRUD pages from Swagger API",
72
- version: "0.0.1",
73
- engines: {
74
- vscode: "^1.60.0",
75
- },
76
- activationEvents: ["onCommand:vue-generator.createPage"],
77
- main: "./extension.js",
78
- contributes: {
79
- commands: [
80
- {
81
- command: "vue-generator.createPage",
82
- title: "Generate Vue Page",
83
- category: "Vue Generator",
84
- },
85
- ],
86
- menus: {
87
- "explorer/context": [
88
- {
89
- command: "vue-generator.createPage",
90
- group: "navigation",
91
- when: "resourceExtname == .vue || resourceExtname == .js",
92
- },
93
- ],
94
- },
95
- },
96
- };
97
-
98
- const packageJsonPath = path.join(extensionDir, "package.json");
99
- fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
100
- console.log("✅ 创建文件: package.json");
101
-
102
- console.log("\n�� VSCode 扩展安装成功!");
103
- console.log("请重启 VSCode 以激活扩展。");
104
- console.log("安装位置:", extensionDir);
128
+ if (!installed) {
129
+ console.log("❌ 未找到 VSCode 或 Cursor 扩展目录");
130
+ console.log("尝试的路径:");
131
+ extensionsPaths.forEach(path => {
132
+ console.log(" -", path);
133
+ });
134
+ }
105
135
  } catch (error) {
106
136
  console.error("❌ 安装失败:", error.message);
107
137
  process.exit(1);