@meituan-nocode/vite-plugin-nocode-compiler 0.2.5 → 0.2.6

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/dist/index.cjs CHANGED
@@ -47,9 +47,68 @@ function readJsonBody(req) {
47
47
  }
48
48
 
49
49
  // package.json
50
- var version = "0.2.5";
50
+ var version = "0.2.6";
51
51
 
52
52
  // src/index.ts
53
+ function getHotChannel(server) {
54
+ try {
55
+ if (server.hot && typeof server.hot.on === "function") {
56
+ return server.hot;
57
+ }
58
+ if (server.ws && typeof server.ws.on === "function") {
59
+ return server.ws;
60
+ }
61
+ } catch {
62
+ }
63
+ return null;
64
+ }
65
+ function safeOnConnection(server, callback) {
66
+ try {
67
+ const channel = getHotChannel(server);
68
+ if (!channel) {
69
+ return false;
70
+ }
71
+ channel.on("connection", callback);
72
+ return true;
73
+ } catch (e) {
74
+ console.warn("[VitePluginNocodeCompiler] Error setting up connection listener:", e);
75
+ return false;
76
+ }
77
+ }
78
+ function safeSendHmrUpdate(server, payload) {
79
+ try {
80
+ const channel = getHotChannel(server);
81
+ if (!channel) {
82
+ return false;
83
+ }
84
+ channel.send(payload);
85
+ return true;
86
+ } catch (e) {
87
+ console.warn("[VitePluginNocodeCompiler] Error sending HMR update:", e);
88
+ return false;
89
+ }
90
+ }
91
+ function safeInvalidateModule(server, mod) {
92
+ try {
93
+ if (server.moduleGraph && typeof server.moduleGraph.invalidateModule === "function") {
94
+ server.moduleGraph.invalidateModule(mod);
95
+ return true;
96
+ }
97
+ } catch (e) {
98
+ console.warn("[VitePluginNocodeCompiler] Error invalidating module:", e);
99
+ }
100
+ return false;
101
+ }
102
+ function safeGetModulesByFile(server, filePath) {
103
+ try {
104
+ if (server.moduleGraph && typeof server.moduleGraph.getModulesByFile === "function") {
105
+ return server.moduleGraph.getModulesByFile(filePath) || null;
106
+ }
107
+ } catch (e) {
108
+ console.warn("[VitePluginNocodeCompiler] Error getting modules by file:", e);
109
+ }
110
+ return null;
111
+ }
53
112
  var overrideMap = /* @__PURE__ */ new Map();
54
113
  function resolveFileToAbsPath(file, viteRoot) {
55
114
  if ((0, import_path.isAbsolute)(file)) {
@@ -98,16 +157,17 @@ function componentCompiler(options = {}) {
98
157
  },
99
158
  /**
100
159
  * 配置开发服务器,添加 Override 中间件
160
+ * 兼容 Vite 2.x - 5.x
101
161
  */
102
162
  configureServer(_server) {
103
163
  server = _server;
104
- server.ws.on("connection", () => {
164
+ safeOnConnection(server, () => {
105
165
  if (overrideMap.size === 0) return;
106
166
  for (const filePath of overrideMap.keys()) {
107
- const mods = server.moduleGraph.getModulesByFile(filePath);
167
+ const mods = safeGetModulesByFile(server, filePath);
108
168
  if (mods && mods.size > 0) {
109
169
  for (const mod of mods) {
110
- server.moduleGraph.invalidateModule(mod);
170
+ safeInvalidateModule(server, mod);
111
171
  }
112
172
  }
113
173
  }
@@ -132,11 +192,11 @@ function componentCompiler(options = {}) {
132
192
  return;
133
193
  }
134
194
  overrideMap.set(absolutePath, code);
135
- const mods = server.moduleGraph.getModulesByFile(absolutePath);
195
+ const mods = safeGetModulesByFile(server, absolutePath);
136
196
  if (mods && mods.size > 0) {
137
197
  for (const mod of mods) {
138
- server.moduleGraph.invalidateModule(mod);
139
- server.ws.send({
198
+ safeInvalidateModule(server, mod);
199
+ safeSendHmrUpdate(server, {
140
200
  type: "update",
141
201
  updates: [
142
202
  {
package/dist/index.js CHANGED
@@ -22,9 +22,68 @@ function readJsonBody(req) {
22
22
  }
23
23
 
24
24
  // package.json
25
- var version = "0.2.5";
25
+ var version = "0.2.6";
26
26
 
27
27
  // src/index.ts
28
+ function getHotChannel(server) {
29
+ try {
30
+ if (server.hot && typeof server.hot.on === "function") {
31
+ return server.hot;
32
+ }
33
+ if (server.ws && typeof server.ws.on === "function") {
34
+ return server.ws;
35
+ }
36
+ } catch {
37
+ }
38
+ return null;
39
+ }
40
+ function safeOnConnection(server, callback) {
41
+ try {
42
+ const channel = getHotChannel(server);
43
+ if (!channel) {
44
+ return false;
45
+ }
46
+ channel.on("connection", callback);
47
+ return true;
48
+ } catch (e) {
49
+ console.warn("[VitePluginNocodeCompiler] Error setting up connection listener:", e);
50
+ return false;
51
+ }
52
+ }
53
+ function safeSendHmrUpdate(server, payload) {
54
+ try {
55
+ const channel = getHotChannel(server);
56
+ if (!channel) {
57
+ return false;
58
+ }
59
+ channel.send(payload);
60
+ return true;
61
+ } catch (e) {
62
+ console.warn("[VitePluginNocodeCompiler] Error sending HMR update:", e);
63
+ return false;
64
+ }
65
+ }
66
+ function safeInvalidateModule(server, mod) {
67
+ try {
68
+ if (server.moduleGraph && typeof server.moduleGraph.invalidateModule === "function") {
69
+ server.moduleGraph.invalidateModule(mod);
70
+ return true;
71
+ }
72
+ } catch (e) {
73
+ console.warn("[VitePluginNocodeCompiler] Error invalidating module:", e);
74
+ }
75
+ return false;
76
+ }
77
+ function safeGetModulesByFile(server, filePath) {
78
+ try {
79
+ if (server.moduleGraph && typeof server.moduleGraph.getModulesByFile === "function") {
80
+ return server.moduleGraph.getModulesByFile(filePath) || null;
81
+ }
82
+ } catch (e) {
83
+ console.warn("[VitePluginNocodeCompiler] Error getting modules by file:", e);
84
+ }
85
+ return null;
86
+ }
28
87
  var overrideMap = /* @__PURE__ */ new Map();
29
88
  function resolveFileToAbsPath(file, viteRoot) {
30
89
  if (isAbsolute(file)) {
@@ -73,16 +132,17 @@ function componentCompiler(options = {}) {
73
132
  },
74
133
  /**
75
134
  * 配置开发服务器,添加 Override 中间件
135
+ * 兼容 Vite 2.x - 5.x
76
136
  */
77
137
  configureServer(_server) {
78
138
  server = _server;
79
- server.ws.on("connection", () => {
139
+ safeOnConnection(server, () => {
80
140
  if (overrideMap.size === 0) return;
81
141
  for (const filePath of overrideMap.keys()) {
82
- const mods = server.moduleGraph.getModulesByFile(filePath);
142
+ const mods = safeGetModulesByFile(server, filePath);
83
143
  if (mods && mods.size > 0) {
84
144
  for (const mod of mods) {
85
- server.moduleGraph.invalidateModule(mod);
145
+ safeInvalidateModule(server, mod);
86
146
  }
87
147
  }
88
148
  }
@@ -107,11 +167,11 @@ function componentCompiler(options = {}) {
107
167
  return;
108
168
  }
109
169
  overrideMap.set(absolutePath, code);
110
- const mods = server.moduleGraph.getModulesByFile(absolutePath);
170
+ const mods = safeGetModulesByFile(server, absolutePath);
111
171
  if (mods && mods.size > 0) {
112
172
  for (const mod of mods) {
113
- server.moduleGraph.invalidateModule(mod);
114
- server.ws.send({
173
+ safeInvalidateModule(server, mod);
174
+ safeSendHmrUpdate(server, {
115
175
  type: "update",
116
176
  updates: [
117
177
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meituan-nocode/vite-plugin-nocode-compiler",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Vite plugin for nocode compiler",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,7 +23,7 @@
23
23
  "tsup": "8.5.0"
24
24
  },
25
25
  "dependencies": {
26
- "@meituan-nocode/nocode-compiler-core": "0.2.6"
26
+ "@meituan-nocode/nocode-compiler-core": "0.2.7"
27
27
  },
28
28
  "scripts": {
29
29
  "dev": "tsup --watch",