@lvce-editor/editor-worker 14.3.0 → 15.0.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.
@@ -249,8 +249,8 @@ const getModuleNotFoundError = stderr => {
249
249
  const messageIndex = lines.findIndex(isModuleNotFoundMessage);
250
250
  const message = lines[messageIndex];
251
251
  return {
252
- message,
253
- code: ERR_MODULE_NOT_FOUND
252
+ code: ERR_MODULE_NOT_FOUND,
253
+ message
254
254
  };
255
255
  };
256
256
  const isModuleNotFoundError = stderr => {
@@ -273,14 +273,14 @@ const isUnhelpfulNativeModuleError = stderr => {
273
273
  const getNativeModuleErrorMessage = stderr => {
274
274
  const message = getMessageCodeBlock(stderr);
275
275
  return {
276
- message: `Incompatible native node module: ${message}`,
277
- code: E_INCOMPATIBLE_NATIVE_MODULE
276
+ code: E_INCOMPATIBLE_NATIVE_MODULE,
277
+ message: `Incompatible native node module: ${message}`
278
278
  };
279
279
  };
280
280
  const getModuleSyntaxError = () => {
281
281
  return {
282
- message: `ES Modules are not supported in electron`,
283
- code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
282
+ code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON,
283
+ message: `ES Modules are not supported in electron`
284
284
  };
285
285
  };
286
286
  const getHelpfulChildProcessError = (stdout, stderr) => {
@@ -299,8 +299,8 @@ const getHelpfulChildProcessError = (stdout, stderr) => {
299
299
  rest
300
300
  } = getDetails(lines);
301
301
  return {
302
- message: actualMessage,
303
302
  code: '',
303
+ message: actualMessage,
304
304
  stack: rest
305
305
  };
306
306
  };
@@ -310,8 +310,8 @@ class IpcError extends VError {
310
310
  if (stdout || stderr) {
311
311
  // @ts-ignore
312
312
  const {
313
- message,
314
313
  code,
314
+ message,
315
315
  stack
316
316
  } = getHelpfulChildProcessError(stdout, stderr);
317
317
  const cause = new Error(message);
@@ -372,8 +372,8 @@ const wrap$f = global => {
372
372
  };
373
373
  const waitForFirstMessage = async port => {
374
374
  const {
375
- resolve,
376
- promise
375
+ promise,
376
+ resolve
377
377
  } = Promise.withResolvers();
378
378
  port.addEventListener('message', resolve, {
379
379
  once: true
@@ -393,8 +393,8 @@ const listen$6 = async () => {
393
393
  const type = firstMessage.params[0];
394
394
  if (type === 'message-port') {
395
395
  parentIpc.send({
396
- jsonrpc: '2.0',
397
396
  id: firstMessage.id,
397
+ jsonrpc: '2.0',
398
398
  result: null
399
399
  });
400
400
  parentIpc.dispose();
@@ -451,8 +451,8 @@ const removeListener = (emitter, type, callback) => {
451
451
  };
452
452
  const getFirstEvent = (eventEmitter, eventMap) => {
453
453
  const {
454
- resolve,
455
- promise
454
+ promise,
455
+ resolve
456
456
  } = Promise.withResolvers();
457
457
  const listenerMap = Object.create(null);
458
458
  const cleanup = value => {
@@ -464,8 +464,8 @@ const getFirstEvent = (eventEmitter, eventMap) => {
464
464
  for (const [event, type] of Object.entries(eventMap)) {
465
465
  const listener = event => {
466
466
  cleanup({
467
- type,
468
- event
467
+ event,
468
+ type
469
469
  });
470
470
  };
471
471
  addListener(eventEmitter, event, listener);
@@ -475,8 +475,8 @@ const getFirstEvent = (eventEmitter, eventMap) => {
475
475
  };
476
476
  const Message$1 = 3;
477
477
  const create$5$2 = async ({
478
- messagePort,
479
- isMessagePortOpen
478
+ isMessagePortOpen,
479
+ messagePort
480
480
  }) => {
481
481
  if (!isMessagePort(messagePort)) {
482
482
  throw new IpcError('port must be of type MessagePort');
@@ -489,8 +489,8 @@ const create$5$2 = async ({
489
489
  });
490
490
  messagePort.start();
491
491
  const {
492
- type,
493
- event
492
+ event,
493
+ type
494
494
  } = await eventPromise;
495
495
  if (type !== Message$1) {
496
496
  throw new IpcError('Failed to wait for ipc message');
@@ -539,7 +539,7 @@ const create$4$2 = (method, params) => {
539
539
  };
540
540
  };
541
541
  const callbacks = Object.create(null);
542
- const set$c = (id, fn) => {
542
+ const set$d = (id, fn) => {
543
543
  callbacks[id] = fn;
544
544
  };
545
545
  const get$8 = id => {
@@ -558,7 +558,7 @@ const registerPromise = () => {
558
558
  resolve,
559
559
  promise
560
560
  } = Promise.withResolvers();
561
- set$c(id, resolve);
561
+ set$d(id, resolve);
562
562
  return {
563
563
  id,
564
564
  promise
@@ -903,7 +903,7 @@ const send$1 = (transport, method, ...params) => {
903
903
  const message = create$4$2(method, params);
904
904
  transport.send(message);
905
905
  };
906
- const invoke$d = (ipc, method, ...params) => {
906
+ const invoke$e = (ipc, method, ...params) => {
907
907
  return invokeHelper(ipc, method, params, false);
908
908
  };
909
909
  const invokeAndTransfer$3 = (ipc, method, ...params) => {
@@ -942,7 +942,7 @@ const createRpc = ipc => {
942
942
  send$1(ipc, method, ...params);
943
943
  },
944
944
  invoke(method, ...params) {
945
- return invoke$d(ipc, method, ...params);
945
+ return invoke$e(ipc, method, ...params);
946
946
  },
947
947
  invokeAndTransfer(method, ...params) {
948
948
  return invokeAndTransfer$3(ipc, method, ...params);
@@ -1140,6 +1140,7 @@ const CompletionWorker = 301;
1140
1140
  const DebugWorker = 55;
1141
1141
  const EditorWorker = 99;
1142
1142
  const ExtensionHostWorker = 44;
1143
+ const ExtensionManagementWorker = 9006;
1143
1144
  const MarkdownWorker = 300;
1144
1145
  const RendererWorker = 1;
1145
1146
  const TextMeasurementWorker = 7011;
@@ -1147,7 +1148,7 @@ const TextMeasurementWorker = 7011;
1147
1148
  const FocusEditorText$1 = 12;
1148
1149
 
1149
1150
  const rpcs = Object.create(null);
1150
- const set$b = (id, rpc) => {
1151
+ const set$c = (id, rpc) => {
1151
1152
  rpcs[id] = rpc;
1152
1153
  };
1153
1154
  const get$7 = id => {
@@ -1159,6 +1160,10 @@ const remove$8 = id => {
1159
1160
 
1160
1161
  const create$9 = rpcId => {
1161
1162
  return {
1163
+ async dispose() {
1164
+ const rpc = get$7(rpcId);
1165
+ await rpc.dispose();
1166
+ },
1162
1167
  // @ts-ignore
1163
1168
  invoke(method, ...params) {
1164
1169
  const rpc = get$7(rpcId);
@@ -1172,38 +1177,34 @@ const create$9 = rpcId => {
1172
1177
  return rpc.invokeAndTransfer(method, ...params);
1173
1178
  },
1174
1179
  set(rpc) {
1175
- set$b(rpcId, rpc);
1176
- },
1177
- async dispose() {
1178
- const rpc = get$7(rpcId);
1179
- await rpc.dispose();
1180
+ set$c(rpcId, rpc);
1180
1181
  }
1181
1182
  };
1182
1183
  };
1183
1184
 
1184
1185
  const {
1185
- invoke: invoke$c,
1186
+ dispose: dispose$2,
1187
+ invoke: invoke$d,
1186
1188
  invokeAndTransfer: invokeAndTransfer$2,
1187
- set: set$a,
1188
- dispose: dispose$2
1189
+ set: set$b
1189
1190
  } = create$9(ExtensionHostWorker);
1190
1191
  const executeReferenceProvider = async (id, offset) => {
1191
1192
  // @ts-ignore
1192
- return invoke$c('ExtensionHostReference.executeReferenceProvider', id, offset);
1193
+ return invoke$d('ExtensionHostReference.executeReferenceProvider', id, offset);
1193
1194
  };
1194
1195
  const executeFileReferenceProvider = async id => {
1195
1196
  // @ts-ignore
1196
- return invoke$c('ExtensionHostReference.executeFileReferenceProvider', id);
1197
+ return invoke$d('ExtensionHostReference.executeFileReferenceProvider', id);
1197
1198
  };
1198
1199
  const getRuntimeStatus = async extensionId => {
1199
1200
  // @ts-ignore
1200
- return invoke$c('ExtensionHost.getRuntimeStatus', extensionId);
1201
+ return invoke$d('ExtensionHost.getRuntimeStatus', extensionId);
1201
1202
  };
1202
1203
  const registerMockRpc = commandMap => {
1203
1204
  const mockRpc = createMockRpc({
1204
1205
  commandMap
1205
1206
  });
1206
- set$a(mockRpc);
1207
+ set$b(mockRpc);
1207
1208
  return mockRpc;
1208
1209
  };
1209
1210
 
@@ -1213,16 +1214,22 @@ const ExtensionHost = {
1213
1214
  executeFileReferenceProvider,
1214
1215
  executeReferenceProvider,
1215
1216
  getRuntimeStatus,
1216
- invoke: invoke$c,
1217
+ invoke: invoke$d,
1217
1218
  invokeAndTransfer: invokeAndTransfer$2,
1218
1219
  registerMockRpc,
1219
- set: set$a
1220
+ set: set$b
1220
1221
  };
1221
1222
 
1223
+ const {
1224
+ invoke: invoke$c,
1225
+ set: set$a
1226
+ } = create$9(ExtensionManagementWorker);
1227
+
1222
1228
  const {
1223
1229
  invoke: invoke$b,
1224
1230
  invokeAndTransfer: invokeAndTransfer$1,
1225
- set: set$9} = create$9(RendererWorker);
1231
+ set: set$9
1232
+ } = create$9(RendererWorker);
1226
1233
  const showContextMenu2 = async (uid, menuId, x, y, args) => {
1227
1234
  number(uid);
1228
1235
  number(menuId);
@@ -1236,12 +1243,16 @@ const sendMessagePortToTextMeasurementWorker = async port => {
1236
1243
  // @ts-ignore
1237
1244
  await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToTextMeasurementWorker', port, command, 0);
1238
1245
  };
1246
+ const sendMessagePortToExtensionManagementWorker = async (port, rpcId) => {
1247
+ const command = 'Extensions.handleMessagePort';
1248
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionManagementWorker', port, command, rpcId);
1249
+ };
1239
1250
 
1240
1251
  const {
1252
+ dispose: dispose$1,
1241
1253
  invoke: invoke$a,
1242
1254
  invokeAndTransfer,
1243
- set: set$8,
1244
- dispose: dispose$1
1255
+ set: set$8
1245
1256
  } = create$9(MarkdownWorker);
1246
1257
 
1247
1258
  const SyntaxHighlightingWorker = {
@@ -1257,7 +1268,7 @@ const createLazyRpc = rpcId => {
1257
1268
  let factory;
1258
1269
  const createRpc = async () => {
1259
1270
  const rpc = await factory();
1260
- set$b(rpcId, rpc);
1271
+ set$c(rpcId, rpc);
1261
1272
  };
1262
1273
  const ensureRpc = async () => {
1263
1274
  if (!rpcPromise) {
@@ -1266,13 +1277,18 @@ const createLazyRpc = rpcId => {
1266
1277
  await rpcPromise;
1267
1278
  };
1268
1279
  return {
1269
- setFactory(value) {
1270
- factory = value;
1271
- },
1272
1280
  async invoke(method, ...params) {
1273
1281
  await ensureRpc();
1274
1282
  const rpc = get$7(rpcId);
1275
1283
  return rpc.invoke(method, ...params);
1284
+ },
1285
+ async invokeAndTransfer(method, ...params) {
1286
+ await ensureRpc();
1287
+ const rpc = get$7(rpcId);
1288
+ return rpc.invokeAndTransfer(method, ...params);
1289
+ },
1290
+ setFactory(value) {
1291
+ factory = value;
1276
1292
  }
1277
1293
  };
1278
1294
  };
@@ -3111,9 +3127,8 @@ const getLanguageId$1 = (uri, languages) => {
3111
3127
  return 'unknown';
3112
3128
  };
3113
3129
 
3114
- const getLanguages = async () => {
3115
- // @ts-ignore
3116
- const languages = await invoke$6('Languages.getLanguages');
3130
+ const getLanguages = async (platform, assetDir) => {
3131
+ const languages = await invoke$c('Languages.getLanguages', platform, assetDir);
3117
3132
  return languages;
3118
3133
  };
3119
3134
 
@@ -3235,6 +3250,7 @@ const updateDiagnostics = async newState => {
3235
3250
  };
3236
3251
 
3237
3252
  const createEditor = async ({
3253
+ assetDir,
3238
3254
  columnToReveal,
3239
3255
  completionTriggerCharacters,
3240
3256
  content,
@@ -3256,6 +3272,7 @@ const createEditor = async ({
3256
3272
  lineNumbers,
3257
3273
  lineToReveal,
3258
3274
  links,
3275
+ platform,
3259
3276
  rowHeight,
3260
3277
  savedDeltaY,
3261
3278
  savedSelections,
@@ -3269,7 +3286,7 @@ const createEditor = async ({
3269
3286
  string(content);
3270
3287
  // TODO support overwriting language id by setting it explicitly or via settings
3271
3288
  const charWidth = await measureCharacterWidth(fontWeight, fontSize, fontFamily, letterSpacing);
3272
- const languages = await getLanguages();
3289
+ const languages = await getLanguages(platform, assetDir);
3273
3290
  const computedlanguageId = getLanguageId$1(uri, languages);
3274
3291
  const editor = {
3275
3292
  charWidth,
@@ -6268,7 +6285,7 @@ const launch = async () => {
6268
6285
  return;
6269
6286
  }
6270
6287
  const rpc = await launchFindWidgetWorker();
6271
- set$b(rpcId, rpc);
6288
+ set$c(rpcId, rpc);
6272
6289
  };
6273
6290
  const invoke$3 = async (method, ...params) => {
6274
6291
  const rpc = get$7(rpcId);
@@ -9759,7 +9776,7 @@ const handleMessagePort = async (port, rpcId) => {
9759
9776
  messagePort: port
9760
9777
  });
9761
9778
  if (rpcId) {
9762
- set$b(rpcId, rpc);
9779
+ set$c(rpcId, rpc);
9763
9780
  }
9764
9781
  };
9765
9782
 
@@ -9891,6 +9908,29 @@ const initializeExtensionHost = async () => {
9891
9908
  set$1(extensionHostRpc);
9892
9909
  };
9893
9910
 
9911
+ const createExtensionManagementWorkerRpc = async () => {
9912
+ try {
9913
+ const rpc = await TransferMessagePortRpcParent.create({
9914
+ commandMap: {},
9915
+ async send(port) {
9916
+ await sendMessagePortToExtensionManagementWorker(port, EditorWorker);
9917
+ }
9918
+ });
9919
+ return rpc;
9920
+ } catch (error) {
9921
+ throw new VError(error, `Failed to create extension management worker rpc`);
9922
+ }
9923
+ };
9924
+
9925
+ const initializeExtensionManagementWorker = async () => {
9926
+ try {
9927
+ const rpc = await createExtensionManagementWorkerRpc();
9928
+ set$a(rpc);
9929
+ } catch {
9930
+ // ignore
9931
+ }
9932
+ };
9933
+
9894
9934
  const sendMessagePortToSyntaxHighlightingWorker = async port => {
9895
9935
  try {
9896
9936
  await invokeAndTransfer$1(
@@ -9936,7 +9976,7 @@ const launchCompletionWorker = async () => {
9936
9976
 
9937
9977
  const intialize = async (syntaxHighlightingEnabled, syncIncremental) => {
9938
9978
  setFactory(launchCompletionWorker);
9939
- await Promise.all([initializeSyntaxHighlighting(syntaxHighlightingEnabled, syncIncremental), initializeExtensionHost()]);
9979
+ await Promise.all([initializeSyntaxHighlighting(syntaxHighlightingEnabled, syncIncremental), initializeExtensionHost(), initializeExtensionManagementWorker()]);
9940
9980
  };
9941
9981
 
9942
9982
  // TODO move cursor
@@ -10405,7 +10445,7 @@ const updateDebugInfo = async debugId => {
10405
10445
  await invoke$b('Editor.rerender', key);
10406
10446
  };
10407
10447
 
10408
- const keep = ['ActivateByEvent.activateByEvent', 'ExtensionHostManagement.activateByEvent', 'Editor.applyEdit2', 'Editor.applyEdits2', 'Editor.closeFind2', 'Editor.closeWidget2', 'Editor.create', 'Editor.getKeyBindings', 'Editor.getSourceActions', 'Editor.getLines2', 'Editor.getPositionAtCursor', 'Editor.getOffsetAtCursor', 'Editor.getQuickPickMenuEntries', 'Editor.getSelections', 'Editor.hotReload', 'Editor.getSelections2', 'Editor.getDiagnostics', 'Editor.getText', 'Editor.getWordAt', 'Editor.getWordAt2', 'Editor.getWordAtOffset2', 'Editor.getUri', 'Editor.getWordBefore', 'Editor.getWordBefore2', 'Editor.offsetAt', 'Editor.render', 'Editor.setSelections2', 'Editor.updateDebugInfo', 'Editor.getLanguageId', 'Editor.getProblems', 'Editor.getKeys', 'Font.ensure', 'HandleMessagePort.handleMessagePort', 'Hover.getHoverInfo', 'Hover.handleSashPointerDown', 'Hover.handleSashPointerMove', 'Hover.handleSashPointerUp', 'Hover.loadContent', 'Hover.render', 'Initialize.initialize', 'SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker'
10448
+ const keep = ['ActivateByEvent.activateByEvent', 'ExtensionHostManagement.activateByEvent', 'Editor.applyEdit2', 'Editor.applyEdits2', 'Editor.closeFind2', 'Editor.closeWidget2', 'Editor.create', 'Editor.getKeyBindings', 'Editor.getSourceActions', 'Editor.getLines2', 'Editor.getPositionAtCursor', 'Editor.getOffsetAtCursor', 'Editor.getQuickPickMenuEntries', 'Editor.getSelections', 'Editor.hotReload', 'Editor.getSelections2', 'Editor.getDiagnostics', 'Editor.getText', 'Editor.getWordAt', 'Editor.getWordAt2', 'Editor.getWordAtOffset2', 'Editor.getUri', 'Editor.getWordBefore', 'Editor.getWordBefore2', 'Editor.offsetAt', 'Editor.render', 'Editor.setSelections2', 'Editor.updateDebugInfo', 'Editor.getLanguageId', 'Editor.getProblems', 'Editor.getKeys', 'Editor.getMenuIds', 'Font.ensure', 'HandleMessagePort.handleMessagePort', 'Hover.getHoverInfo', 'Hover.handleSashPointerDown', 'Hover.handleSashPointerMove', 'Hover.handleSashPointerUp', 'Hover.loadContent', 'Hover.render', 'Initialize.initialize', 'SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker'
10409
10449
  // 'ColorPicker.handleSliderPointerDown',
10410
10450
  // 'ColorPicker.handleSliderPointerMove',
10411
10451
  // 'ColorPicker.loadContent',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/editor-worker",
3
- "version": "14.3.0",
3
+ "version": "15.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git@github.com:lvce-editor/editor-worker.git"