@mongodb-js/compass-editor 0.66.1 → 0.68.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.
Files changed (32) hide show
  1. package/dist/codemirror/ace-compat-autocompleter.d.ts +1 -2
  2. package/dist/codemirror/ace-compat-autocompleter.d.ts.map +1 -1
  3. package/dist/codemirror/ace-compat-autocompleter.js +1 -38
  4. package/dist/codemirror/ace-compat-autocompleter.js.map +1 -1
  5. package/dist/codemirror/query-autocompleter.d.ts +2 -2
  6. package/dist/codemirror/query-autocompleter.d.ts.map +1 -1
  7. package/dist/codemirror/query-autocompleter.js +33 -12
  8. package/dist/codemirror/query-autocompleter.js.map +1 -1
  9. package/dist/codemirror/query-history-autocompleter.d.ts +2 -2
  10. package/dist/codemirror/query-history-autocompleter.d.ts.map +1 -1
  11. package/dist/codemirror/query-history-autocompleter.js +145 -85
  12. package/dist/codemirror/query-history-autocompleter.js.map +1 -1
  13. package/dist/codemirror/stage-autocompleter.d.ts.map +1 -1
  14. package/dist/codemirror/stage-autocompleter.js +1 -0
  15. package/dist/codemirror/stage-autocompleter.js.map +1 -1
  16. package/dist/codemirror/utils.d.ts +4 -1
  17. package/dist/codemirror/utils.d.ts.map +1 -1
  18. package/dist/codemirror/utils.js +62 -0
  19. package/dist/codemirror/utils.js.map +1 -1
  20. package/dist/editor.d.ts +3 -1
  21. package/dist/editor.d.ts.map +1 -1
  22. package/dist/editor.js +7 -2
  23. package/dist/editor.js.map +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/use-json-schema-autocompleter.d.ts +42 -0
  29. package/dist/use-json-schema-autocompleter.d.ts.map +1 -0
  30. package/dist/use-json-schema-autocompleter.js +446 -0
  31. package/dist/use-json-schema-autocompleter.js.map +1 -0
  32. package/package.json +20 -10
@@ -0,0 +1,446 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useJsonSchemaAutocompleter = useJsonSchemaAutocompleter;
7
+ const react_1 = require("react");
8
+ const vscode_json_languageservice_1 = require("vscode-json-languageservice");
9
+ const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
10
+ const autocomplete_1 = require("@codemirror/autocomplete");
11
+ const view_1 = require("@codemirror/view");
12
+ const compass_components_1 = require("@mongodb-js/compass-components");
13
+ const unified_1 = require("unified");
14
+ const remark_parse_1 = __importDefault(require("remark-parse"));
15
+ const remark_rehype_1 = __importDefault(require("remark-rehype"));
16
+ const rehype_sanitize_1 = __importDefault(require("rehype-sanitize"));
17
+ const rehype_stringify_1 = __importDefault(require("rehype-stringify"));
18
+ // The URI we use for the schema
19
+ const SCHEMA_URI = 'inmemory://json-schema.json';
20
+ // The URI we use for the current document being edited
21
+ const DOCUMENT_URI = 'file:///json-schema-document.json';
22
+ // Create markdown parser using remark for rendering hover tooltips
23
+ const markdownParser = (0, unified_1.unified)()
24
+ .use(remark_parse_1.default)
25
+ .use(remark_rehype_1.default, {
26
+ handlers: {
27
+ // Custom handler for links to add target="_blank" and rel="noopener noreferrer"
28
+ link(state, node) {
29
+ const result = {
30
+ type: 'element',
31
+ tagName: 'a',
32
+ properties: {
33
+ href: node.url,
34
+ target: '_blank',
35
+ rel: 'noopener noreferrer',
36
+ ...(node.title ? { title: node.title } : {}),
37
+ },
38
+ children: state.all(node),
39
+ };
40
+ return result;
41
+ },
42
+ },
43
+ })
44
+ .use(() => {
45
+ // Custom rehype plugin to unwrap paragraph tags (render inline without <p>)
46
+ return (tree) => {
47
+ tree.children = tree.children.flatMap((node) => node.type === 'element' && node.tagName === 'p' ? node.children : [node]);
48
+ };
49
+ })
50
+ .use(rehype_sanitize_1.default)
51
+ .use(rehype_stringify_1.default);
52
+ // Shared tooltip styles for hover and lint tooltips
53
+ const tooltipStyles = {
54
+ padding: `${compass_components_1.spacing[200]}px`,
55
+ maxWidth: '300px',
56
+ whiteSpace: 'pre-wrap',
57
+ wordBreak: 'break-word',
58
+ };
59
+ const hoverTooltipStyles = (0, compass_components_1.css)(tooltipStyles);
60
+ // Theme extension to style tooltips - override fixed height on parent container
61
+ const tooltipTheme = view_1.EditorView.theme({
62
+ '.cm-tooltip-hover': {
63
+ height: 'auto !important',
64
+ },
65
+ '.cm-tooltip-lint': tooltipStyles,
66
+ });
67
+ // CompletionItemKind and InsertTextFormat are numeric enums in LSP
68
+ // Values from https://microsoft.github.io/language-server-protocol/specifications/specification-current/
69
+ const CompletionItemKindMap = {
70
+ Text: 1,
71
+ Method: 2,
72
+ Function: 3,
73
+ Constructor: 4,
74
+ Field: 5,
75
+ Variable: 6,
76
+ Class: 7,
77
+ Interface: 8,
78
+ Module: 9,
79
+ Property: 10,
80
+ Unit: 11,
81
+ Value: 12,
82
+ Enum: 13,
83
+ Keyword: 14,
84
+ Snippet: 15,
85
+ Color: 16,
86
+ File: 17,
87
+ Reference: 18,
88
+ Folder: 19,
89
+ EnumMember: 20,
90
+ Constant: 21,
91
+ Struct: 22,
92
+ };
93
+ const InsertTextFormatMap = {
94
+ PlainText: 1,
95
+ Snippet: 2,
96
+ };
97
+ /**
98
+ * Gets a cached JSON document from a text document, parsing it if necessary.
99
+ */
100
+ function getJsonDocument(languageService, document, cache) {
101
+ const content = document.getText();
102
+ if (cache.content === content && cache.jsonDoc) {
103
+ return cache.jsonDoc;
104
+ }
105
+ cache.jsonDoc = languageService.parseJSONDocument(document);
106
+ cache.content = content;
107
+ return cache.jsonDoc;
108
+ }
109
+ /**
110
+ * Creates a JSON language service configured with the provided schema.
111
+ */
112
+ function createJsonLanguageService(schema) {
113
+ const schemaContent = JSON.stringify(schema);
114
+ const languageService = (0, vscode_json_languageservice_1.getLanguageService)({
115
+ schemaRequestService: (uri) => {
116
+ if (uri === SCHEMA_URI) {
117
+ return Promise.resolve(schemaContent);
118
+ }
119
+ return Promise.reject(new Error(`Unable to load schema at ${uri}`));
120
+ },
121
+ });
122
+ languageService.configure({
123
+ allowComments: true,
124
+ schemas: [
125
+ {
126
+ uri: SCHEMA_URI,
127
+ fileMatch: ['*'],
128
+ },
129
+ ],
130
+ });
131
+ return languageService;
132
+ }
133
+ /**
134
+ * Converts LSP CompletionItemKind to CodeMirror completion type.
135
+ */
136
+ function fromCompletionItemKind(kind) {
137
+ if (kind === undefined)
138
+ return undefined;
139
+ switch (kind) {
140
+ case CompletionItemKindMap.Text:
141
+ case CompletionItemKindMap.Snippet:
142
+ return 'text';
143
+ case CompletionItemKindMap.Method:
144
+ return 'method';
145
+ case CompletionItemKindMap.Function:
146
+ return 'function';
147
+ case CompletionItemKindMap.Constructor:
148
+ case CompletionItemKindMap.Class:
149
+ return 'class';
150
+ case CompletionItemKindMap.Field:
151
+ case CompletionItemKindMap.Property:
152
+ return 'property';
153
+ case CompletionItemKindMap.Variable:
154
+ case CompletionItemKindMap.Value:
155
+ return 'variable';
156
+ case CompletionItemKindMap.Interface:
157
+ case CompletionItemKindMap.Struct:
158
+ return 'type';
159
+ case CompletionItemKindMap.Module:
160
+ return 'namespace';
161
+ case CompletionItemKindMap.Enum:
162
+ case CompletionItemKindMap.EnumMember:
163
+ return 'enum';
164
+ case CompletionItemKindMap.Keyword:
165
+ return 'keyword';
166
+ case CompletionItemKindMap.Constant:
167
+ return 'constant';
168
+ default:
169
+ return undefined;
170
+ }
171
+ }
172
+ /**
173
+ * Hook that provides JSON schema-based autocompletion, validation, and hover tooltips.
174
+ *
175
+ * This hook manages the state "above" the editor, following Compass patterns where
176
+ * the parent component owns validation state and provides annotations down to the editor.
177
+ *
178
+ * @param schema - JSON Schema to validate and autocomplete against
179
+ * @param text - Current editor text content (for validation)
180
+ * @returns Object with completer, extensions, annotations, and hasErrors state
181
+ *
182
+ * @example
183
+ * ```tsx
184
+ * const { completer, extensions, annotations, hasErrors } = useJsonSchemaAutocompleter(schema, text);
185
+ * return (
186
+ * <>
187
+ * <CodemirrorMultilineEditor
188
+ * text={text}
189
+ * completer={completer}
190
+ * customExtensions={extensions}
191
+ * annotations={annotations}
192
+ * />
193
+ * <Button disabled={hasErrors}>Save</Button>
194
+ * </>
195
+ * );
196
+ * ```
197
+ */
198
+ function useJsonSchemaAutocompleter(schema, text) {
199
+ const [editorConfig, setEditorConfig] = (0, react_1.useState)({ completer: undefined, extensions: [] });
200
+ const [annotations, setAnnotations] = (0, react_1.useState)([]);
201
+ const languageServiceRef = (0, react_1.useRef)(null);
202
+ // Per-instance cache for parsed JSON documents in case we need to support multiple editors
203
+ const jsonDocCacheRef = (0, react_1.useRef)({
204
+ content: null,
205
+ jsonDoc: null,
206
+ });
207
+ // Load extensions and language service when schema changes
208
+ (0, react_1.useEffect)(() => {
209
+ if (!schema) {
210
+ setEditorConfig({ completer: undefined, extensions: [] });
211
+ languageServiceRef.current = null;
212
+ return;
213
+ }
214
+ // schema is already checked above in the if(!schema) guard
215
+ const languageService = createJsonLanguageService(schema);
216
+ languageServiceRef.current = languageService;
217
+ // Capture cache reference for use in closures
218
+ const jsonDocCache = jsonDocCacheRef.current;
219
+ // Helper to create a TextDocument from content
220
+ const createTextDoc = (content) => {
221
+ return vscode_languageserver_textdocument_1.TextDocument.create(DOCUMENT_URI, 'json', 0, content);
222
+ };
223
+ // Create completion source for autocompletion
224
+ const completionSource = async (context) => {
225
+ // Don't auto-trigger right after comma (user just finished a value)
226
+ if (!context.explicit) {
227
+ const currentLine = context.state.doc.lineAt(context.pos);
228
+ const textBeforeCursor = context.state.sliceDoc(currentLine.from, context.pos);
229
+ if (textBeforeCursor.trimEnd().endsWith(',')) {
230
+ return null;
231
+ }
232
+ }
233
+ const content = context.state.doc.toString();
234
+ const textDoc = createTextDoc(content);
235
+ const jsonDocument = getJsonDocument(languageService, textDoc, jsonDocCache);
236
+ // Calculate LSP position
237
+ const line = context.state.doc.lineAt(context.pos);
238
+ const position = {
239
+ line: line.number - 1,
240
+ character: context.pos - line.from,
241
+ };
242
+ const completions = await languageService.doComplete(textDoc, position, jsonDocument);
243
+ if (!completions || completions.items.length === 0) {
244
+ return null;
245
+ }
246
+ // Use a token-based range that includes punctuation e.g. lucene.xxxx
247
+ // eslint-disable-next-line no-useless-escape
248
+ const word = context.matchBefore(/[^\s"'`:;,=()\[\]{}]*$/);
249
+ const filterFrom = word ? word.from : context.pos;
250
+ const options = [];
251
+ for (const item of completions.items) {
252
+ const { detail, documentation, kind, label, textEdit, insertText } = item;
253
+ // Strip surrounding quotes from the label so that CodeMirror's
254
+ // prefix filtering matches the text the user is actually typing
255
+ // (the filtering range starts after the opening quote).
256
+ const displayLabel = label.replace(/^"(.*)"$/, '$1');
257
+ const completion = {
258
+ label: displayLabel,
259
+ detail,
260
+ type: fromCompletionItemKind(kind),
261
+ info: documentation && typeof documentation === 'string'
262
+ ? documentation
263
+ : documentation &&
264
+ typeof documentation === 'object' &&
265
+ 'value' in documentation
266
+ ? documentation.value
267
+ : undefined,
268
+ };
269
+ if (textEdit && 'range' in textEdit) {
270
+ const insert = textEdit.newText;
271
+ const insertTextFormat = item.insertTextFormat;
272
+ completion.apply = (view, _completion, from, to) => {
273
+ // Swallow a preceding double quote if present. This handles two cases:
274
+ // 1. Key completions: insert starts with '"', avoid doubling it.
275
+ // 2. Non-string value completions (numbers, booleans): the user typed
276
+ // '"' but the LSP returns an unquoted value like `1`, so we need to
277
+ // remove the quote the user already typed.
278
+ let adjFrom = from;
279
+ if (from > 0 && view.state.sliceDoc(from - 1, from) === '"') {
280
+ adjFrom = from - 1;
281
+ }
282
+ // Also swallow a trailing quote right at `to` if present. This covers the
283
+ // common case where closeBrackets auto-inserts the closing quote and the
284
+ // cursor is still before it ("fie|"), otherwise we'd leave an extra '"'.
285
+ let adjTo = to;
286
+ const next = view.state.sliceDoc(to, to + 1);
287
+ if (next === '"') {
288
+ adjTo = to + 1;
289
+ }
290
+ if (insertTextFormat === InsertTextFormatMap.Snippet) {
291
+ (0, autocomplete_1.snippet)(insert.replaceAll(/\$(\d+)/g, '$${$1}'))(view, completion, adjFrom, adjTo);
292
+ }
293
+ else {
294
+ view.dispatch((0, autocomplete_1.insertCompletionText)(view.state, insert, adjFrom, adjTo));
295
+ }
296
+ // Close the completion popup to prevent it from re-triggering
297
+ // immediately after applying.
298
+ (0, autocomplete_1.closeCompletion)(view);
299
+ };
300
+ }
301
+ else if (insertText) {
302
+ completion.apply = insertText;
303
+ }
304
+ options.push(completion);
305
+ }
306
+ return {
307
+ from: filterFrom,
308
+ to: context.pos,
309
+ options,
310
+ // Keep list active while typing token characters including punctuation
311
+ // eslint-disable-next-line no-useless-escape
312
+ validFor: /[^\s"'`:;,=()\[\]{}]*/,
313
+ };
314
+ };
315
+ // Create hover tooltip source
316
+ const hoverSource = async (view, pos) => {
317
+ const content = view.state.doc.toString();
318
+ const textDoc = createTextDoc(content);
319
+ const jsonDocument = getJsonDocument(languageService, textDoc, jsonDocCache);
320
+ // Calculate LSP position
321
+ const line = view.state.doc.lineAt(pos);
322
+ const position = {
323
+ line: line.number - 1,
324
+ character: pos - line.from,
325
+ };
326
+ const hover = await languageService.doHover(textDoc, position, jsonDocument);
327
+ if (!hover || !hover.contents) {
328
+ return null;
329
+ }
330
+ let start = pos;
331
+ let end;
332
+ if (hover.range) {
333
+ start = textDoc.offsetAt(hover.range.start);
334
+ end = textDoc.offsetAt(hover.range.end);
335
+ }
336
+ // Extract the text content from the hover
337
+ let hoverText = '';
338
+ const contents = hover.contents;
339
+ if (typeof contents === 'string') {
340
+ hoverText = contents;
341
+ }
342
+ else if (Array.isArray(contents)) {
343
+ hoverText = contents
344
+ .map((c) => (typeof c === 'string' ? c : c.value))
345
+ .join('\n\n');
346
+ }
347
+ else if ('value' in contents) {
348
+ hoverText = contents.value;
349
+ }
350
+ if (!hoverText) {
351
+ return null;
352
+ }
353
+ const tooltipView = {
354
+ dom: (() => {
355
+ const div = document.createElement('div');
356
+ div.className = hoverTooltipStyles;
357
+ div.dataset.testid = 'json-schema-hover-tooltip';
358
+ div.innerHTML = String(markdownParser.processSync(hoverText));
359
+ return div;
360
+ })(),
361
+ };
362
+ return {
363
+ pos: start,
364
+ end,
365
+ create: () => tooltipView,
366
+ };
367
+ };
368
+ // Extension to trigger completions on specific JSON characters
369
+ const triggerCompletionOnType = view_1.EditorView.updateListener.of((update) => {
370
+ if (!update.docChanged)
371
+ return;
372
+ update.changes.iterChanges((_fromA, _toA, _fromB, _toB, inserted) => {
373
+ const insertedText = inserted.toString();
374
+ const shouldTrigger = insertedText === ':' || insertedText.startsWith('\n');
375
+ if (shouldTrigger) {
376
+ (0, autocomplete_1.startCompletion)(update.view);
377
+ }
378
+ });
379
+ });
380
+ setEditorConfig({
381
+ completer: completionSource,
382
+ extensions: [
383
+ tooltipTheme,
384
+ triggerCompletionOnType,
385
+ (0, view_1.hoverTooltip)(hoverSource),
386
+ ],
387
+ });
388
+ }, [schema]);
389
+ // Validate text against schema whenever text or extensions change
390
+ (0, react_1.useEffect)(() => {
391
+ if (!schema ||
392
+ !languageServiceRef.current ||
393
+ editorConfig.extensions.length === 0) {
394
+ setAnnotations([]);
395
+ return;
396
+ }
397
+ let aborted = false;
398
+ async function validate() {
399
+ const languageService = languageServiceRef.current;
400
+ if (!languageService)
401
+ return;
402
+ const textDoc = vscode_languageserver_textdocument_1.TextDocument.create(DOCUMENT_URI, 'json', 0, text);
403
+ const jsonDocument = getJsonDocument(languageService, textDoc, jsonDocCacheRef.current);
404
+ const diagnostics = await languageService.doValidation(textDoc, jsonDocument);
405
+ if (aborted)
406
+ return;
407
+ const results = diagnostics.map((diagnostic) => {
408
+ const { message, range, severity } = diagnostic;
409
+ const from = textDoc.offsetAt(range.start);
410
+ const to = textDoc.offsetAt(range.end);
411
+ return {
412
+ message,
413
+ from,
414
+ to,
415
+ severity: severity === 4
416
+ ? 'hint'
417
+ : severity === 3
418
+ ? 'info'
419
+ : severity === 2
420
+ ? 'warning'
421
+ : 'error',
422
+ };
423
+ });
424
+ setAnnotations(results);
425
+ }
426
+ validate().catch(() => {
427
+ // Ignore validation errors
428
+ });
429
+ return () => {
430
+ aborted = true;
431
+ };
432
+ }, [schema, text, editorConfig.extensions.length]);
433
+ // Compute hasErrors from annotations - both error and warning severity block validation
434
+ // Note: vscode-json-languageservice reports schema violations (missing required fields,
435
+ // type mismatches, etc.) as warnings, so we include them in validation blocking
436
+ const hasErrors = (0, react_1.useMemo)(() => {
437
+ return annotations.some((a) => a.severity === 'error' || a.severity === 'warning');
438
+ }, [annotations]);
439
+ return {
440
+ completer: editorConfig.completer,
441
+ extensions: editorConfig.extensions,
442
+ annotations,
443
+ hasErrors,
444
+ };
445
+ }
446
+ //# sourceMappingURL=use-json-schema-autocompleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-json-schema-autocompleter.js","sourceRoot":"","sources":["../src/use-json-schema-autocompleter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "email": "compass@mongodb.com"
14
14
  },
15
15
  "homepage": "https://github.com/mongodb-js/compass",
16
- "version": "0.66.1",
16
+ "version": "0.68.0",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/compass.git"
@@ -46,12 +46,13 @@
46
46
  "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ."
47
47
  },
48
48
  "devDependencies": {
49
- "@mongodb-js/eslint-config-compass": "^1.4.19",
50
- "@mongodb-js/mocha-config-compass": "^1.7.7",
49
+ "@mongodb-js/eslint-config-compass": "^1.4.21",
50
+ "@mongodb-js/mocha-config-compass": "^1.8.0",
51
51
  "@mongodb-js/prettier-config-compass": "^1.2.9",
52
- "@mongodb-js/testing-library-compass": "^1.5.3",
53
- "@mongodb-js/tsconfig-compass": "^1.2.14",
52
+ "@mongodb-js/testing-library-compass": "^1.5.5",
53
+ "@mongodb-js/tsconfig-compass": "^1.3.0",
54
54
  "@types/chai": "^4.2.21",
55
+ "@types/hast": "^3.0.4",
55
56
  "@types/mocha": "^9.0.0",
56
57
  "@types/prettier": "^2.7.1",
57
58
  "@types/sinon-chai": "^3.2.5",
@@ -72,12 +73,21 @@
72
73
  "@codemirror/state": "^6.5.2",
73
74
  "@codemirror/view": "^6.38.0",
74
75
  "@lezer/highlight": "^1.2.1",
75
- "@mongodb-js/compass-components": "^1.64.1",
76
- "@mongodb-js/mongodb-constants": "^0.20.1",
77
- "mongodb-query-parser": "^4.7.6",
76
+ "@mongodb-js/compass-components": "^1.66.0",
77
+ "@mongodb-js/mongodb-constants": "^0.21.0",
78
+ "hast": "^0.0.2",
79
+ "json-schema": "^0.4.0",
80
+ "mongodb-query-parser": "^4.7.7",
78
81
  "polished": "^4.2.2",
79
82
  "prettier": "^2.7.1",
80
- "react": "^17.0.2"
83
+ "react": "^17.0.2",
84
+ "rehype-sanitize": "^5.0.1",
85
+ "rehype-stringify": "^9.0.4",
86
+ "remark-parse": "^10.0.0",
87
+ "remark-rehype": "^10.0.0",
88
+ "unified": "^10.0.0",
89
+ "vscode-json-languageservice": "^5.7.2",
90
+ "vscode-languageserver-textdocument": "^1.0.12"
81
91
  },
82
- "gitHead": "1ed29c06e4fb11e30e246a9b92f19571097e9e7f"
92
+ "gitHead": "770074ed08cbb77c1b71282393d285d3bcf7f024"
83
93
  }