mellos-mapping 0.23.0 → 0.25.0
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 +48 -10
- package/README.zh-CN.md +38 -9
- package/dist/hook-session-start.mjs +1 -1
- package/dist/native/LICENSES.txt +443 -0
- package/dist/native/darwin-arm64/fs-native-extensions.node +0 -0
- package/dist/native/darwin-x64/fs-native-extensions.node +0 -0
- package/dist/native/linux-arm64/fs-native-extensions.node +0 -0
- package/dist/native/linux-x64/fs-native-extensions.node +0 -0
- package/dist/native/win32-arm64/fs-native-extensions.node +0 -0
- package/dist/native/win32-x64/fs-native-extensions.node +0 -0
- package/dist/native-lock.cjs +346 -0
- package/dist/server.mjs +198 -138
- package/dist/terminal-worker.mjs +117 -74
- package/dist/watch.mjs +223 -100
- package/dist/web/app.css +106 -2
- package/dist/web/app.js +78 -0
- package/dist/web/index.html +1 -1
- package/dist/web/terminal.css +103 -0
- package/dist/web/terminal.html +1 -1
- package/dist/web/terminal.js +78 -0
- package/dist/web.mjs +305 -112
- package/docs/codex.md +4 -1
- package/docs/locking.md +115 -0
- package/docs/map-api.md +29 -13
- package/lib/store/migration.js +19 -12
- package/lib/store/native-lock.d.ts +5 -0
- package/lib/store/native-lock.js +27 -0
- package/lib/store/transaction.d.ts +9 -2
- package/lib/store/transaction.js +79 -50
- package/package.json +6 -3
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
4
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
// node_modules/which-runtime/index.js
|
|
8
|
+
var require_which_runtime = __commonJS({
|
|
9
|
+
"node_modules/which-runtime/index.js"(exports2) {
|
|
10
|
+
var { runtime, platform, arch, version } = typeof Bare !== "undefined" ? {
|
|
11
|
+
runtime: "bare",
|
|
12
|
+
platform: global.Bare.platform,
|
|
13
|
+
arch: global.Bare.arch,
|
|
14
|
+
version: global.Bare.version
|
|
15
|
+
} : typeof process !== "undefined" ? {
|
|
16
|
+
runtime: "node",
|
|
17
|
+
platform: global.process.platform,
|
|
18
|
+
arch: global.process.arch,
|
|
19
|
+
version: global.process.version
|
|
20
|
+
} : typeof Window !== "undefined" ? { runtime: "browser", platform: "unknown", arch: "unknown", version: "unknown" } : { runtime: "unknown", platform: "unknown", arch: "unknown", version: "unknown" };
|
|
21
|
+
exports2.runtime = runtime;
|
|
22
|
+
exports2.version = version;
|
|
23
|
+
exports2.platform = platform;
|
|
24
|
+
exports2.arch = arch;
|
|
25
|
+
exports2.isBare = runtime === "bare";
|
|
26
|
+
exports2.isBareKit = exports2.isBare && typeof BareKit !== "undefined";
|
|
27
|
+
exports2.isPear = typeof Pear !== "undefined";
|
|
28
|
+
exports2.isNode = runtime === "node";
|
|
29
|
+
exports2.isBrowser = runtime === "browser";
|
|
30
|
+
exports2.isWindows = platform === "win32";
|
|
31
|
+
exports2.isLinux = platform === "linux";
|
|
32
|
+
exports2.isMac = platform === "darwin";
|
|
33
|
+
exports2.isIOS = platform === "ios" || platform === "ios-simulator";
|
|
34
|
+
exports2.isAndroid = platform === "android";
|
|
35
|
+
exports2.isElectron = typeof process !== "undefined" && !!global.process.versions?.electron;
|
|
36
|
+
exports2.isElectronRenderer = exports2.isElectron && global.process.type === "renderer";
|
|
37
|
+
exports2.isElectronWorker = exports2.isElectron && global.process.type === "worker";
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// scripts/native-lock-binding.cjs
|
|
42
|
+
var require_native_lock_binding = __commonJS({
|
|
43
|
+
"scripts/native-lock-binding.cjs"(exports2, module2) {
|
|
44
|
+
var { join } = require("node:path");
|
|
45
|
+
var platform = `${process.platform}-${process.arch}`;
|
|
46
|
+
if (!["darwin", "linux", "win32"].includes(process.platform) || !["arm64", "x64"].includes(process.arch)) {
|
|
47
|
+
const error = new Error(`Native file locking is unavailable for ${platform}. Supported platforms: Windows 10+, macOS 13.0+, and Linux with glibc 2.28+ on x64 or arm64. The OS must also meet the installed Node.js version's requirements.`);
|
|
48
|
+
error.code = "NATIVE_LOCK_UNSUPPORTED";
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
module2.exports = require(join(__dirname, "native", platform, "fs-native-extensions.node"));
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// node_modules/fs-native-extensions/index.js
|
|
56
|
+
var require_fs_native_extensions = __commonJS({
|
|
57
|
+
"node_modules/fs-native-extensions/index.js"(exports2) {
|
|
58
|
+
var { isWindows } = require_which_runtime();
|
|
59
|
+
var binding = require_native_lock_binding();
|
|
60
|
+
function onwork(err, result) {
|
|
61
|
+
if (err) this.reject(err);
|
|
62
|
+
else this.resolve(result);
|
|
63
|
+
}
|
|
64
|
+
exports2.tryLock = function tryLock2(fd, offset = 0, length = 0, opts = {}) {
|
|
65
|
+
if (typeof offset === "object") {
|
|
66
|
+
opts = offset;
|
|
67
|
+
offset = 0;
|
|
68
|
+
}
|
|
69
|
+
if (typeof length === "object") {
|
|
70
|
+
opts = length;
|
|
71
|
+
length = 0;
|
|
72
|
+
}
|
|
73
|
+
if (typeof opts !== "object" || opts === null) {
|
|
74
|
+
opts = {};
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
binding.tryLock(fd, offset, length, opts.shared !== true);
|
|
78
|
+
} catch (err) {
|
|
79
|
+
if (err.code === "EAGAIN") return false;
|
|
80
|
+
throw err;
|
|
81
|
+
}
|
|
82
|
+
return true;
|
|
83
|
+
};
|
|
84
|
+
exports2.waitForLock = function waitForLock(fd, offset = 0, length = 0, opts = {}) {
|
|
85
|
+
if (typeof offset === "object") {
|
|
86
|
+
opts = offset;
|
|
87
|
+
offset = 0;
|
|
88
|
+
}
|
|
89
|
+
if (typeof length === "object") {
|
|
90
|
+
opts = length;
|
|
91
|
+
length = 0;
|
|
92
|
+
}
|
|
93
|
+
if (typeof opts !== "object" || opts === null) {
|
|
94
|
+
opts = {};
|
|
95
|
+
}
|
|
96
|
+
const req = {
|
|
97
|
+
handle: null,
|
|
98
|
+
resolve: null,
|
|
99
|
+
reject: null
|
|
100
|
+
};
|
|
101
|
+
const promise = new Promise((resolve, reject) => {
|
|
102
|
+
req.resolve = resolve;
|
|
103
|
+
req.reject = reject;
|
|
104
|
+
});
|
|
105
|
+
try {
|
|
106
|
+
req.handle = binding.waitForLock(fd, offset, length, opts.shared !== true, req, onwork);
|
|
107
|
+
} catch (err) {
|
|
108
|
+
return Promise.reject(err);
|
|
109
|
+
}
|
|
110
|
+
return promise;
|
|
111
|
+
};
|
|
112
|
+
exports2.waitForLockSync = function waitForLockSync(fd, offset = 0, length = 0, opts = {}) {
|
|
113
|
+
if (typeof offset === "object") {
|
|
114
|
+
opts = offset;
|
|
115
|
+
offset = 0;
|
|
116
|
+
}
|
|
117
|
+
if (typeof length === "object") {
|
|
118
|
+
opts = length;
|
|
119
|
+
length = 0;
|
|
120
|
+
}
|
|
121
|
+
if (typeof opts !== "object" || opts === null) {
|
|
122
|
+
opts = {};
|
|
123
|
+
}
|
|
124
|
+
binding.waitForLockSync(fd, offset, length, opts.shared !== true);
|
|
125
|
+
};
|
|
126
|
+
exports2.tryDowngradeLock = function tryDowngradeLock(fd, offset = 0, length = 0) {
|
|
127
|
+
try {
|
|
128
|
+
binding.tryDowngradeLock(fd, offset, length);
|
|
129
|
+
} catch (err) {
|
|
130
|
+
if (err.code === "EAGAIN") return false;
|
|
131
|
+
throw err;
|
|
132
|
+
}
|
|
133
|
+
return true;
|
|
134
|
+
};
|
|
135
|
+
exports2.waitForDowngradeLock = function downgradeLock(fd, offset = 0, length = 0) {
|
|
136
|
+
const req = {
|
|
137
|
+
handle: null,
|
|
138
|
+
resolve: null,
|
|
139
|
+
reject: null
|
|
140
|
+
};
|
|
141
|
+
const promise = new Promise((resolve, reject) => {
|
|
142
|
+
req.resolve = resolve;
|
|
143
|
+
req.reject = reject;
|
|
144
|
+
});
|
|
145
|
+
try {
|
|
146
|
+
req.handle = binding.waitForDowngradeLock(fd, offset, length, req, onwork);
|
|
147
|
+
} catch (err) {
|
|
148
|
+
return Promise.reject(err);
|
|
149
|
+
}
|
|
150
|
+
return promise;
|
|
151
|
+
};
|
|
152
|
+
exports2.waitForDowngradeLockSync = function waitForDowngradeLockSync(fd, offset = 0, length = 0) {
|
|
153
|
+
binding.waitForDowngradeLockSync(fd, offset, length);
|
|
154
|
+
};
|
|
155
|
+
exports2.tryUpgradeLock = function tryUpgradeLock(fd, offset = 0, length = 0) {
|
|
156
|
+
try {
|
|
157
|
+
binding.tryUpgradeLock(fd, offset, length);
|
|
158
|
+
} catch (err) {
|
|
159
|
+
if (err.code === "EAGAIN") return false;
|
|
160
|
+
throw err;
|
|
161
|
+
}
|
|
162
|
+
return true;
|
|
163
|
+
};
|
|
164
|
+
exports2.waitForUpgradeLock = function upgradeLock(fd, offset = 0, length = 0) {
|
|
165
|
+
const req = {
|
|
166
|
+
handle: null,
|
|
167
|
+
resolve: null,
|
|
168
|
+
reject: null
|
|
169
|
+
};
|
|
170
|
+
const promise = new Promise((resolve, reject) => {
|
|
171
|
+
req.resolve = resolve;
|
|
172
|
+
req.reject = reject;
|
|
173
|
+
});
|
|
174
|
+
try {
|
|
175
|
+
req.handle = binding.waitForUpgradeLock(fd, offset, length, req, onwork);
|
|
176
|
+
} catch (err) {
|
|
177
|
+
return Promise.reject(err);
|
|
178
|
+
}
|
|
179
|
+
return promise;
|
|
180
|
+
};
|
|
181
|
+
exports2.waitForUpgradeLockSync = function waitForUpgradeLockSync(fd, offset = 0, length = 0) {
|
|
182
|
+
binding.waitForUpgradeLockSync(fd, offset, length);
|
|
183
|
+
};
|
|
184
|
+
exports2.unlock = function unlock2(fd, offset = 0, length = 0) {
|
|
185
|
+
binding.unlock(fd, offset, length);
|
|
186
|
+
};
|
|
187
|
+
exports2.trim = function trim(fd, offset, length) {
|
|
188
|
+
const req = {
|
|
189
|
+
handle: null,
|
|
190
|
+
resolve: null,
|
|
191
|
+
reject: null
|
|
192
|
+
};
|
|
193
|
+
const promise = new Promise((resolve, reject) => {
|
|
194
|
+
req.resolve = resolve;
|
|
195
|
+
req.reject = reject;
|
|
196
|
+
});
|
|
197
|
+
try {
|
|
198
|
+
req.handle = binding.trim(fd, offset, length, req, onwork);
|
|
199
|
+
} catch (err) {
|
|
200
|
+
return Promise.reject(err);
|
|
201
|
+
}
|
|
202
|
+
return promise;
|
|
203
|
+
};
|
|
204
|
+
exports2.trimSync = function trimSync(fd, offset, length) {
|
|
205
|
+
binding.trimSync(fd, offset, length);
|
|
206
|
+
};
|
|
207
|
+
exports2.sparse = function sparse(fd) {
|
|
208
|
+
if (!isWindows) return Promise.resolve();
|
|
209
|
+
const req = {
|
|
210
|
+
handle: null,
|
|
211
|
+
resolve: null,
|
|
212
|
+
reject: null
|
|
213
|
+
};
|
|
214
|
+
const promise = new Promise((resolve, reject) => {
|
|
215
|
+
req.resolve = resolve;
|
|
216
|
+
req.reject = reject;
|
|
217
|
+
});
|
|
218
|
+
try {
|
|
219
|
+
req.handle = binding.sparse(fd, req, onwork);
|
|
220
|
+
} catch (err) {
|
|
221
|
+
return Promise.reject(err);
|
|
222
|
+
}
|
|
223
|
+
return promise;
|
|
224
|
+
};
|
|
225
|
+
exports2.sparseSync = function sparseSync(fd) {
|
|
226
|
+
if (!isWindows) return;
|
|
227
|
+
binding.sparseSync(fd);
|
|
228
|
+
};
|
|
229
|
+
exports2.swap = function swap(from, to) {
|
|
230
|
+
const req = {
|
|
231
|
+
handle: null,
|
|
232
|
+
resolve: null,
|
|
233
|
+
reject: null
|
|
234
|
+
};
|
|
235
|
+
const promise = new Promise((resolve, reject) => {
|
|
236
|
+
req.resolve = resolve;
|
|
237
|
+
req.reject = reject;
|
|
238
|
+
});
|
|
239
|
+
try {
|
|
240
|
+
req.handle = binding.swap(from, to, req, onwork);
|
|
241
|
+
} catch (err) {
|
|
242
|
+
return Promise.reject(err);
|
|
243
|
+
}
|
|
244
|
+
return promise;
|
|
245
|
+
};
|
|
246
|
+
exports2.swapSync = function swapSync(from, to) {
|
|
247
|
+
binding.swapSync(from, to);
|
|
248
|
+
};
|
|
249
|
+
exports2.getAttr = function getAttr(fd, name) {
|
|
250
|
+
const req = {
|
|
251
|
+
handle: null,
|
|
252
|
+
resolve: null,
|
|
253
|
+
reject: null
|
|
254
|
+
};
|
|
255
|
+
const promise = new Promise((resolve, reject) => {
|
|
256
|
+
req.resolve = resolve;
|
|
257
|
+
req.reject = reject;
|
|
258
|
+
});
|
|
259
|
+
try {
|
|
260
|
+
req.handle = binding.getAttr(fd, name, req, onwork);
|
|
261
|
+
} catch (err) {
|
|
262
|
+
return Promise.reject(err);
|
|
263
|
+
}
|
|
264
|
+
return promise.then((buffer) => buffer === null ? null : Buffer.from(buffer));
|
|
265
|
+
};
|
|
266
|
+
exports2.getAttrSync = function getAttrSync(fd, name) {
|
|
267
|
+
const buffer = binding.getAttrSync(fd, name);
|
|
268
|
+
return buffer === null ? null : Buffer.from(buffer);
|
|
269
|
+
};
|
|
270
|
+
exports2.setAttr = function setAttr(fd, name, value, encoding) {
|
|
271
|
+
if (typeof value === "string") value = Buffer.from(value, encoding);
|
|
272
|
+
const req = {
|
|
273
|
+
value,
|
|
274
|
+
handle: null,
|
|
275
|
+
resolve: null,
|
|
276
|
+
reject: null
|
|
277
|
+
};
|
|
278
|
+
const promise = new Promise((resolve, reject) => {
|
|
279
|
+
req.resolve = resolve;
|
|
280
|
+
req.reject = reject;
|
|
281
|
+
});
|
|
282
|
+
try {
|
|
283
|
+
req.handle = binding.setAttr(
|
|
284
|
+
fd,
|
|
285
|
+
name,
|
|
286
|
+
value.buffer,
|
|
287
|
+
value.byteOffset,
|
|
288
|
+
value.byteLength,
|
|
289
|
+
req,
|
|
290
|
+
onwork
|
|
291
|
+
);
|
|
292
|
+
} catch (err) {
|
|
293
|
+
return Promise.reject(err);
|
|
294
|
+
}
|
|
295
|
+
return promise;
|
|
296
|
+
};
|
|
297
|
+
exports2.setAttrSync = function setAttrSync(fd, name, value, encoding) {
|
|
298
|
+
if (typeof value === "string") value = Buffer.from(value, encoding);
|
|
299
|
+
binding.setAttrSync(fd, name, value.buffer, value.byteOffset, value.byteLength);
|
|
300
|
+
};
|
|
301
|
+
exports2.removeAttr = function removeAttr(fd, name) {
|
|
302
|
+
const req = {
|
|
303
|
+
handle: null,
|
|
304
|
+
resolve: null,
|
|
305
|
+
reject: null
|
|
306
|
+
};
|
|
307
|
+
const promise = new Promise((resolve, reject) => {
|
|
308
|
+
req.resolve = resolve;
|
|
309
|
+
req.reject = reject;
|
|
310
|
+
});
|
|
311
|
+
try {
|
|
312
|
+
req.handle = binding.removeAttr(fd, name, req, onwork);
|
|
313
|
+
} catch (err) {
|
|
314
|
+
return Promise.reject(err);
|
|
315
|
+
}
|
|
316
|
+
return promise;
|
|
317
|
+
};
|
|
318
|
+
exports2.removeAttrSync = function removeAttrSync(fd, name) {
|
|
319
|
+
binding.removeAttrSync(fd, name);
|
|
320
|
+
};
|
|
321
|
+
exports2.listAttrs = function listAttrs(fd) {
|
|
322
|
+
const req = {
|
|
323
|
+
handle: null,
|
|
324
|
+
resolve: null,
|
|
325
|
+
reject: null
|
|
326
|
+
};
|
|
327
|
+
const promise = new Promise((resolve, reject) => {
|
|
328
|
+
req.resolve = resolve;
|
|
329
|
+
req.reject = reject;
|
|
330
|
+
});
|
|
331
|
+
try {
|
|
332
|
+
req.handle = binding.listAttrs(fd, req, onwork);
|
|
333
|
+
} catch (err) {
|
|
334
|
+
return Promise.reject(err);
|
|
335
|
+
}
|
|
336
|
+
return promise;
|
|
337
|
+
};
|
|
338
|
+
exports2.listAttrsSync = function listAttrsSync(fd) {
|
|
339
|
+
return binding.listAttrsSync(fd);
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
// scripts/native-lock.cjs
|
|
345
|
+
var { tryLock, unlock } = require_fs_native_extensions();
|
|
346
|
+
module.exports = { tryLock, unlock };
|