@neo4j-cypher/react-codemirror 2.0.0-next.41 → 2.0.0-next.42

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 (107) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/src/CypherEditor.d.ts +8 -4
  3. package/dist/src/CypherEditor.js +9 -1
  4. package/dist/src/CypherEditor.js.map +1 -1
  5. package/dist/src/CypherEditor.test.js +1 -0
  6. package/dist/src/CypherEditor.test.js.map +1 -1
  7. package/dist/src/index.d.ts +8 -3
  8. package/dist/src/index.js +3 -2
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/lang-cypher/createCypherTheme.js +46 -0
  11. package/dist/src/lang-cypher/createCypherTheme.js.map +1 -1
  12. package/dist/src/lang-cypher/hover/hover.d.ts +3 -0
  13. package/dist/src/lang-cypher/hover/hover.js +26 -0
  14. package/dist/src/lang-cypher/hover/hover.js.map +1 -0
  15. package/dist/src/lang-cypher/hover/hoverRender.d.ts +9 -0
  16. package/dist/src/lang-cypher/hover/hoverRender.js +142 -0
  17. package/dist/src/lang-cypher/hover/hoverRender.js.map +1 -0
  18. package/dist/src/lang-cypher/hover/hoverRender.test.js +123 -0
  19. package/dist/src/lang-cypher/hover/hoverRender.test.js.map +1 -0
  20. package/dist/src/lang-cypher/langCypher.js +3 -0
  21. package/dist/src/lang-cypher/langCypher.js.map +1 -1
  22. package/dist/src/lang-cypher/lintWorker.mjs +160 -162
  23. package/dist/src/lang-cypher/signatureHelp.js +13 -23
  24. package/dist/src/lang-cypher/signatureHelp.js.map +1 -1
  25. package/dist/src/lang-cypher/tooltipHighlighting.d.ts +21 -0
  26. package/dist/src/lang-cypher/tooltipHighlighting.js +76 -0
  27. package/dist/src/lang-cypher/tooltipHighlighting.js.map +1 -0
  28. package/dist/src/lang-cypher/tooltipHighlighting.test.js +63 -0
  29. package/dist/src/lang-cypher/tooltipHighlighting.test.js.map +1 -0
  30. package/dist/src/{e2e_tests → tests/e2e}/autoCompletion.spec.js +1 -1
  31. package/dist/src/tests/e2e/autoCompletion.spec.js.map +1 -0
  32. package/dist/src/{e2e_tests → tests/e2e}/configuration.spec.js +1 -1
  33. package/dist/src/tests/e2e/configuration.spec.js.map +1 -0
  34. package/dist/src/{e2e_tests → tests/e2e}/debounce.spec.js +2 -2
  35. package/dist/src/tests/e2e/debounce.spec.js.map +1 -0
  36. package/dist/src/tests/e2e/e2eUtils.js.map +1 -0
  37. package/dist/src/{e2e_tests → tests/e2e}/extraKeybindings.spec.js +1 -1
  38. package/dist/src/tests/e2e/extraKeybindings.spec.js.map +1 -0
  39. package/dist/src/{e2e_tests → tests/e2e}/historyNavigation.spec.js +1 -1
  40. package/dist/src/tests/e2e/historyNavigation.spec.js.map +1 -0
  41. package/dist/src/{e2e_tests → tests/e2e}/sanityChecks.spec.js +1 -1
  42. package/dist/src/tests/e2e/sanityChecks.spec.js.map +1 -0
  43. package/dist/src/{e2e_tests → tests/e2e}/signatureHelp.spec.js +1 -1
  44. package/dist/src/tests/e2e/signatureHelp.spec.js.map +1 -0
  45. package/dist/src/{e2e_tests → tests/e2e}/snippets.spec.js +1 -1
  46. package/dist/src/tests/e2e/snippets.spec.js.map +1 -0
  47. package/dist/src/tests/e2e/syntaxHighlighting.spec.d.ts +1 -0
  48. package/dist/src/{e2e_tests → tests/e2e}/syntaxHighlighting.spec.js +2 -2
  49. package/dist/src/tests/e2e/syntaxHighlighting.spec.js.map +1 -0
  50. package/dist/src/tests/e2e/syntaxValidation.spec.d.ts +1 -0
  51. package/dist/src/{e2e_tests → tests/e2e}/syntaxValidation.spec.js +1 -1
  52. package/dist/src/tests/e2e/syntaxValidation.spec.js.map +1 -0
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/vitest.config.d.mts +2 -0
  55. package/dist/vitest.config.mjs +16 -0
  56. package/dist/vitest.config.mjs.map +1 -0
  57. package/package.json +6 -5
  58. package/src/CypherEditor.test.tsx +1 -0
  59. package/src/CypherEditor.tsx +26 -3
  60. package/src/index.ts +17 -3
  61. package/src/lang-cypher/createCypherTheme.ts +47 -0
  62. package/src/lang-cypher/hover/hover.ts +32 -0
  63. package/src/lang-cypher/hover/hoverRender.test.ts +176 -0
  64. package/src/lang-cypher/hover/hoverRender.ts +198 -0
  65. package/src/lang-cypher/langCypher.ts +3 -0
  66. package/src/lang-cypher/lintWorker.mjs +160 -162
  67. package/src/lang-cypher/signatureHelp.ts +19 -24
  68. package/src/lang-cypher/tooltipHighlighting.test.ts +78 -0
  69. package/src/lang-cypher/tooltipHighlighting.ts +119 -0
  70. package/src/{e2e_tests → tests/e2e}/autoCompletion.spec.tsx +1 -1
  71. package/src/{e2e_tests → tests/e2e}/configuration.spec.tsx +1 -1
  72. package/src/{e2e_tests → tests/e2e}/debounce.spec.tsx +2 -2
  73. package/src/{e2e_tests → tests/e2e}/extraKeybindings.spec.tsx +1 -1
  74. package/src/{e2e_tests → tests/e2e}/historyNavigation.spec.tsx +1 -1
  75. package/src/{e2e_tests → tests/e2e}/sanityChecks.spec.tsx +1 -1
  76. package/src/{e2e_tests → tests/e2e}/signatureHelp.spec.tsx +1 -1
  77. package/src/{e2e_tests → tests/e2e}/snippets.spec.tsx +1 -1
  78. package/src/{e2e_tests → tests/e2e}/syntaxHighlighting.spec.tsx +2 -2
  79. package/src/{e2e_tests → tests/e2e}/syntaxValidation.spec.tsx +1 -1
  80. package/dist/src/e2e_tests/autoCompletion.spec.js.map +0 -1
  81. package/dist/src/e2e_tests/configuration.spec.js.map +0 -1
  82. package/dist/src/e2e_tests/debounce.spec.js.map +0 -1
  83. package/dist/src/e2e_tests/e2eUtils.js.map +0 -1
  84. package/dist/src/e2e_tests/extraKeybindings.spec.js.map +0 -1
  85. package/dist/src/e2e_tests/historyNavigation.spec.js.map +0 -1
  86. package/dist/src/e2e_tests/performanceTest.spec.d.ts +0 -6
  87. package/dist/src/e2e_tests/performanceTest.spec.js +0 -97
  88. package/dist/src/e2e_tests/performanceTest.spec.js.map +0 -1
  89. package/dist/src/e2e_tests/sanityChecks.spec.js.map +0 -1
  90. package/dist/src/e2e_tests/signatureHelp.spec.js.map +0 -1
  91. package/dist/src/e2e_tests/snippets.spec.js.map +0 -1
  92. package/dist/src/e2e_tests/syntaxHighlighting.spec.js.map +0 -1
  93. package/dist/src/e2e_tests/syntaxValidation.spec.js.map +0 -1
  94. package/src/e2e_tests/performanceTest.spec.tsx +0 -163
  95. /package/dist/src/{e2e_tests/autoCompletion.spec.d.ts → lang-cypher/hover/hoverRender.test.d.ts} +0 -0
  96. /package/dist/src/{e2e_tests/configuration.spec.d.ts → lang-cypher/tooltipHighlighting.test.d.ts} +0 -0
  97. /package/dist/src/{e2e_tests/debounce.spec.d.ts → tests/e2e/autoCompletion.spec.d.ts} +0 -0
  98. /package/dist/src/{e2e_tests/extraKeybindings.spec.d.ts → tests/e2e/configuration.spec.d.ts} +0 -0
  99. /package/dist/src/{e2e_tests/historyNavigation.spec.d.ts → tests/e2e/debounce.spec.d.ts} +0 -0
  100. /package/dist/src/{e2e_tests → tests/e2e}/e2eUtils.d.ts +0 -0
  101. /package/dist/src/{e2e_tests → tests/e2e}/e2eUtils.js +0 -0
  102. /package/dist/src/{e2e_tests/sanityChecks.spec.d.ts → tests/e2e/extraKeybindings.spec.d.ts} +0 -0
  103. /package/dist/src/{e2e_tests/signatureHelp.spec.d.ts → tests/e2e/historyNavigation.spec.d.ts} +0 -0
  104. /package/dist/src/{e2e_tests/snippets.spec.d.ts → tests/e2e/sanityChecks.spec.d.ts} +0 -0
  105. /package/dist/src/{e2e_tests/syntaxHighlighting.spec.d.ts → tests/e2e/signatureHelp.spec.d.ts} +0 -0
  106. /package/dist/src/{e2e_tests/syntaxValidation.spec.d.ts → tests/e2e/snippets.spec.d.ts} +0 -0
  107. /package/src/{e2e_tests → tests/e2e}/e2eUtils.ts +0 -0
@@ -0,0 +1,123 @@
1
+ // @vitest-environment jsdom
2
+ import { CypherLanguageService, testData, } from '@neo4j-cypher/language-support';
3
+ import { describe, expect, test } from 'vitest';
4
+ import { renderHoverInfo } from './hoverRender';
5
+ function methodHover(query) {
6
+ const languageService = new CypherLanguageService();
7
+ return languageService.hoverInfo(query, {
8
+ caretPosition: query.indexOf('(') - 1,
9
+ dbSchema: testData.mockSchema,
10
+ });
11
+ }
12
+ function renderMethodHover(query) {
13
+ return renderHoverInfo(methodHover(query));
14
+ }
15
+ describe('hover info html rendering', () => {
16
+ function highlightedFragments(info) {
17
+ const seen = [];
18
+ renderHoverInfo(info, (code, kind, target) => {
19
+ seen.push([code, kind]);
20
+ target.textContent = code;
21
+ });
22
+ return seen;
23
+ }
24
+ test('passes the fragment kind of each cypher block to the highlighter', () => {
25
+ expect(highlightedFragments({
26
+ kind: 'variable',
27
+ variable: 'n',
28
+ types: ['Node'],
29
+ labelExpression: '(Person | Pet)',
30
+ })).toEqual([['(Person | Pet)', 'labelExpression']]);
31
+ expect(highlightedFragments(methodHover('RETURN abs(1)'))).toEqual([
32
+ ['abs(input :: INTEGER | FLOAT) :: INTEGER | FLOAT', 'function'],
33
+ ]);
34
+ expect(highlightedFragments(methodHover('CALL db.labels()'))).toEqual([
35
+ ['db.labels() :: (label :: STRING)', 'procedure'],
36
+ ]);
37
+ });
38
+ test('renders a variable hover', () => {
39
+ expect(renderHoverInfo({
40
+ kind: 'variable',
41
+ variable: 'n',
42
+ types: ['Node'],
43
+ labelExpression: '(Person | Pet)',
44
+ }).innerHTML).toBe('<p><code>n: Node</code></p><pre><code>(Person | Pet)</code></pre>');
45
+ expect(renderHoverInfo({ kind: 'variable', variable: 'x', types: ['Integer'] })
46
+ .innerHTML).toBe('<p><code>x: Integer</code></p>');
47
+ });
48
+ test('renders a function hover', () => {
49
+ expect(renderMethodHover('RETURN toFloat(1)').innerHTML).toBe([
50
+ '<pre><code>toFloat(input :: STRING | INTEGER | FLOAT) :: FLOAT</code></pre>',
51
+ '<p>Converts a <code>STRING</code>, <code>INTEGER</code> or <code>FLOAT</code> value to a <code>FLOAT</code> value.</p>',
52
+ '<p><strong>Parameters</strong></p>',
53
+ '<ul><li><code>input</code> - A value to be converted into a float.</li></ul>',
54
+ '<p><strong>Returns:</strong> <code>FLOAT</code></p>',
55
+ ].join(''));
56
+ });
57
+ test('renders a procedure hover', () => {
58
+ expect(renderMethodHover('CALL db.labels()').innerHTML).toBe([
59
+ '<pre><code>db.labels() :: (label :: STRING)</code></pre>',
60
+ "<p>List all labels attached to nodes within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those labels.</p>",
61
+ '<p><strong>Returns</strong></p>',
62
+ '<ul><li><code>label</code> - A label within the database.</li></ul>',
63
+ ].join(''));
64
+ });
65
+ test('italicises the deprecation marker of a deprecated method', () => {
66
+ expect(renderMethodHover('CYPHER 5 RETURN apoc.create.uuid()').innerHTML).toContain('<p>(<em>deprecated</em>) Returns a UUID.</p>');
67
+ });
68
+ // The wildcards of dbms.queryJmx' descriptions are shown as written, both
69
+ // in prose and inside a code span
70
+ test('renders the wildcards of a procedure description', () => {
71
+ const html = renderMethodHover('CALL dbms.queryJmx()').innerHTML;
72
+ expect(html).toContain('<p>Query JMX management data by domain and name. For instance, use <code>*:*</code> to find all JMX beans.</p>');
73
+ expect(html).toContain("<li><code>query</code> - A query for MBeans on this MBeanServer (e.g. '*:*,name=*neo4j*' for all metrics in neo4j database).</li>");
74
+ });
75
+ test('renders the paragraphs, bullet list and italics of a procedure description', () => {
76
+ const html = renderMethodHover('CALL db.index.fulltext.queryNodes()').innerHTML;
77
+ expect(html).toContain('Valid <em>key: value</em> pairs');
78
+ expect(html).toContain([
79
+ '<ul>',
80
+ "<li>'skip' -- to skip the top N results.</li>",
81
+ "<li>'limit' -- to limit the number of results returned.</li>",
82
+ "<li>'analyzer' -- to use the specified analyzer as a search analyzer for this query.</li>",
83
+ '</ul>',
84
+ '<p>The <code>options</code> map and any of the keys are optional.',
85
+ ].join(''));
86
+ });
87
+ test('renders a parameter that carries its own layout as a code block', () => {
88
+ expect(renderMethodHover('CALL apoc.export.csv.all()').innerHTML).toContain([
89
+ '<ul><li><code>file</code> - The name of the file to which the data will be exported.</li>',
90
+ '<li><code>config</code> -<pre><code>{\n',
91
+ ' stream = false :: BOOLEAN,\n',
92
+ ].join(''));
93
+ });
94
+ // Schema descriptions list values such as 'AS_PATH_LIST', which must not
95
+ // turn into emphasis
96
+ test('leaves the underscores inside words alone', () => {
97
+ const description = "JSON path options: ('ALWAYS_RETURN_LIST', 'AS_PATH_LIST', 'DEFAULT_PATH_LEAF_TO_NULL').";
98
+ const dom = renderHoverInfo({
99
+ kind: 'function',
100
+ signature: 'f(pathOptions :: LIST<STRING>) :: ANY',
101
+ description: '',
102
+ isDeprecated: false,
103
+ parameters: [{ name: 'pathOptions', description }],
104
+ returnType: 'ANY',
105
+ });
106
+ expect(dom.querySelector('em')).toBeNull();
107
+ expect(dom.querySelector('li').textContent).toBe(`pathOptions - ${description}`);
108
+ });
109
+ test('never renders descriptions as html', () => {
110
+ const dom = renderHoverInfo({
111
+ kind: 'procedure',
112
+ signature: 'p()',
113
+ description: '<img src=x onerror=alert(1)>',
114
+ isDeprecated: false,
115
+ parameters: [],
116
+ returnValues: [{ name: 'r', description: '<b>bold</b>' }],
117
+ });
118
+ expect(dom.querySelector('img')).toBeNull();
119
+ expect(dom.querySelector('b')).toBeNull();
120
+ expect(dom.textContent).toContain('<img src=x onerror=alert(1)>');
121
+ });
122
+ });
123
+ //# sourceMappingURL=hoverRender.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hoverRender.test.js","sourceRoot":"","sources":["../../../../src/lang-cypher/hover/hoverRender.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { completionStyles, cypherAutocomplete } from './autocomplete';
4
4
  import { ParserAdapter } from './parser-adapter';
5
5
  import { signatureHelpTooltip } from './signatureHelp';
6
6
  import { cypherLinter } from './syntaxValidation';
7
+ import { hoverTooltip } from '@codemirror/view';
8
+ import { getHoverSource } from './hover/hover.js';
7
9
  const facet = defineLanguageFacet({
8
10
  commentTokens: { block: { open: '/*', close: '*/' }, line: '//' },
9
11
  closeBrackets: { brackets: ['(', '[', '{', "'", '"', '`'] },
@@ -18,6 +20,7 @@ export function cypher(config) {
18
20
  }),
19
21
  cypherLinter(config),
20
22
  signatureHelpTooltip(config),
23
+ hoverTooltip(getHoverSource(config)),
21
24
  ]);
22
25
  }
23
26
  //# sourceMappingURL=langCypher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"langCypher.js","sourceRoot":"","sources":["../../../src/lang-cypher/langCypher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,KAAK,GAAG,mBAAmB,CAAC;IAChC,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IACjE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;CAC5D,CAAC,CAAC;AAcH,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAExE,OAAO,IAAI,eAAe,CAAC,cAAc,EAAE;QACzC,cAAc,CAAC;YACb,QAAQ,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtC,WAAW,EAAE,gBAAgB;SAC9B,CAAC;QACF,YAAY,CAAC,MAAM,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"langCypher.js","sourceRoot":"","sources":["../../../src/lang-cypher/langCypher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,KAAK,GAAG,mBAAmB,CAAC;IAChC,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IACjE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;CAC5D,CAAC,CAAC;AAcH,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAExE,OAAO,IAAI,eAAe,CAAC,cAAc,EAAE;QACzC,cAAc,CAAC;YACb,QAAQ,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtC,WAAW,EAAE,gBAAgB;SAC9B,CAAC;QACF,YAAY,CAAC,MAAM,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC;QAC5B,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,CAAC;AACL,CAAC"}