ol-base-components 2.8.0 → 2.8.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol-base-components",
3
- "version": "2.8.0",
3
+ "version": "2.8.1",
4
4
  "private": false,
5
5
  "main": "src/package/index.js",
6
6
  "bin": {
@@ -0,0 +1,118 @@
1
+ #!/usr/bin/env node
2
+ const fs = require("fs");
3
+ const path = require("path");
4
+ const os = require("os");
5
+
6
+ // 检测 VSCode 扩展目录
7
+ function getVSCodeExtensionsPath() {
8
+ const platform = os.platform();
9
+ const homeDir = os.homedir();
10
+
11
+ switch (platform) {
12
+ case "win32":
13
+ return path.join(homeDir, ".vscode", "extensions");
14
+ case "darwin":
15
+ return path.join(homeDir, ".vscode", "extensions");
16
+ case "linux":
17
+ return path.join(homeDir, ".vscode", "extensions");
18
+ default:
19
+ throw new Error("Unsupported platform");
20
+ }
21
+ }
22
+
23
+ // 安装 VSCode 扩展
24
+ function installVSCodeExtension() {
25
+ try {
26
+ const extensionsPath = getVSCodeExtensionsPath();
27
+ const extensionName = "vue-page-generator";
28
+ const extensionDir = path.join(extensionsPath, extensionName);
29
+
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");
52
+
53
+ if (fs.existsSync(webviewSrcDir)) {
54
+ if (!fs.existsSync(webviewDestDir)) {
55
+ fs.mkdirSync(webviewDestDir, { recursive: true });
56
+ }
57
+
58
+ const panelFile = path.join(webviewSrcDir, "panel.js");
59
+ const panelDestFile = path.join(webviewDestDir, "panel.js");
60
+
61
+ if (fs.existsSync(panelFile)) {
62
+ fs.copyFileSync(panelFile, panelDestFile);
63
+ console.log("✅ 复制文件: webview/panel.js");
64
+ }
65
+ }
66
+
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);
105
+ } catch (error) {
106
+ console.error("❌ 安装失败:", error.message);
107
+ process.exit(1);
108
+ }
109
+ }
110
+
111
+ // 如果直接运行此脚本
112
+ if (require.main === module) {
113
+ installVSCodeExtension();
114
+ }
115
+
116
+ module.exports = {
117
+ installVSCodeExtension,
118
+ };