Skip to content

Commit d004f2d

Browse files
committed
fix monaco imports
1 parent ab1e111 commit d004f2d

File tree

8 files changed

+30
-23
lines changed

8 files changed

+30
-23
lines changed

packages/web-console/src/providers/EditorProvider/index.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Monaco } from "@monaco-editor/react"
1+
import type { Monaco } from "@monaco-editor/react"
22
import type { editor } from "monaco-editor"
33
import React, {
44
createContext,
@@ -9,7 +9,6 @@ import React, {
99
useRef,
1010
useState,
1111
useCallback,
12-
useMemo,
1312
} from "react"
1413
import {
1514
appendQuery,

packages/web-console/src/scenes/Editor/Monaco/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import Editor, { loader, Monaco } from "@monaco-editor/react"
1+
import Editor from "@monaco-editor/react"
2+
import type { Monaco } from "@monaco-editor/react"
3+
import { loader } from "@monaco-editor/react"
24
import { Box, Button, Checkbox, Dialog, ForwardRef, Overlay } from "@questdb/react-components"
35
import { Stop } from "@styled-icons/remix-line"
46
import type { editor, IDisposable } from "monaco-editor"

packages/web-console/src/scenes/Editor/Monaco/questdb-sql/conf.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import * as monaco from "monaco-editor"
1+
import type { languages } from "monaco-editor"
22

3-
export const conf: monaco.languages.LanguageConfiguration = {
3+
export const conf: languages.LanguageConfiguration = {
44
/**
55
* Override the default word definition regex to also allow single quotes and dots.
66
* This way we can highlight table names escaped with quotes and the ones created from CSV files.

packages/web-console/src/scenes/Editor/Monaco/questdb-sql/createSchemaCompletionProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Table, uniq, InformationSchemaColumn } from "../../../../utils"
2-
import * as monaco from "monaco-editor"
2+
import type { editor, languages } from "monaco-editor"
33
import { CompletionItemPriority } from "./types"
44
import { findMatches, getQueryFromCursor } from "../utils"
55
import { getTableCompletions } from "./getTableCompletions"
@@ -16,11 +16,11 @@ const isInColumnListing = (text: string) =>
1616
)
1717

1818
export const createSchemaCompletionProvider = (
19-
editor: monaco.editor.IStandaloneCodeEditor,
19+
editor: editor.IStandaloneCodeEditor,
2020
tables: Table[] = [],
2121
informationSchemaColumns: InformationSchemaColumn[] = [],
2222
) => {
23-
const completionProvider: monaco.languages.CompletionItemProvider = {
23+
const completionProvider: languages.CompletionItemProvider = {
2424
triggerCharacters:
2525
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ."'.split(""),
2626
provideCompletionItems(model, position) {

packages/web-console/src/scenes/Editor/Monaco/questdb-sql/formatting.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
import { IRange } from "monaco-editor"
2-
import * as monaco from "monaco-editor"
1+
import type { IRange, editor, languages } from "monaco-editor"
32
import { formatSql } from "../../../../utils"
43

54
export const documentFormattingEditProvider = {
65
provideDocumentFormattingEdits(
7-
model: monaco.editor.IModel,
8-
options: monaco.languages.FormattingOptions,
6+
model: editor.IModel,
7+
options: languages.FormattingOptions,
98
) {
109
const formatted = formatSql(model.getValue(), {
1110
indent: " ".repeat(options.tabSize),
@@ -21,9 +20,9 @@ export const documentFormattingEditProvider = {
2120

2221
export const documentRangeFormattingEditProvider = {
2322
provideDocumentRangeFormattingEdits(
24-
model: monaco.editor.IModel,
23+
model: editor.IModel,
2524
range: IRange,
26-
options: monaco.languages.FormattingOptions,
25+
options: languages.FormattingOptions,
2726
) {
2827
const formatted = formatSql(model.getValueInRange(range), {
2928
indent: " ".repeat(options.tabSize),

packages/web-console/src/scenes/Editor/Monaco/questdb-sql/language.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { operators } from "./operators"
2-
import * as monaco from "monaco-editor"
2+
import type { languages } from "monaco-editor"
33
import { dataTypes, functions, keywords } from "@questdb/sql-grammar"
44

5-
export const language: monaco.languages.IMonarchLanguage = {
5+
export const language: languages.IMonarchLanguage = {
66
defaultToken: "",
77
tokenPostfix: ".sql",
88
ignoreCase: true,

packages/web-console/src/scenes/Search/SearchPanel.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { bufferStore } from '../../store/buffers'
77
import { SearchResults } from './SearchResults'
88
import { eventBus } from '../../modules/EventBus'
99
import { EventType } from '../../modules/EventBus/types'
10+
import { useEditor } from '../../providers/EditorProvider'
1011

1112
const Wrapper = styled(PaneWrapper)<{
1213
$open?: boolean
@@ -118,6 +119,7 @@ export interface SearchPanelRef {
118119
}
119120

120121
export const SearchPanel = React.forwardRef<SearchPanelRef, SearchPanelProps>(({ open }, ref) => {
122+
const { monacoRef } = useEditor()
121123
const inputRef = useRef<HTMLInputElement>(null)
122124
const [searchQuery, setSearchQuery] = useState('')
123125
const [searchOptions, setSearchOptions] = useState<SearchOptions>({
@@ -136,7 +138,7 @@ export const SearchPanel = React.forwardRef<SearchPanelRef, SearchPanelProps>(({
136138
return
137139
}
138140

139-
const result = SearchService.searchInBuffers(allBuffers, searchQuery, searchOptions)
141+
const result = SearchService.searchInBuffers(allBuffers, searchQuery, searchOptions, monacoRef.current)
140142
setSearchResult(result)
141143
}, [searchQuery, searchOptions])
142144

packages/web-console/src/services/search.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import * as monaco from 'monaco-editor'
1+
import type { IRange } from 'monaco-editor'
2+
import type { Monaco } from '@monaco-editor/react'
23
import { QuestDBLanguageName } from '../scenes/Editor/Monaco/utils'
34

45
export interface SearchMatch {
56
bufferId: number
67
bufferLabel: string
7-
range: monaco.IRange
8+
range: IRange
89
text: string
910
previewText: string
1011
isArchived?: boolean
@@ -29,7 +30,8 @@ export class SearchService {
2930
static searchInBuffers(
3031
buffers: Array<{ id?: number; label: string; value: string; archived?: boolean; archivedAt?: number; isTemporary?: boolean }>,
3132
query: string,
32-
options: SearchOptions = {}
33+
options: SearchOptions = {},
34+
monaco: Monaco | null
3335
): SearchResult {
3436
const {
3537
caseSensitive = false,
@@ -63,7 +65,8 @@ export class SearchService {
6365
buffer as { id: number; label: string; value: string; archived?: boolean; archivedAt?: number },
6466
query,
6567
{ caseSensitive, wholeWord, useRegex },
66-
remainingCapacity
68+
monaco,
69+
remainingCapacity,
6770
)
6871

6972
matches = [...matches, ...bufferMatches]
@@ -85,11 +88,13 @@ export class SearchService {
8588
buffer: { id: number; label: string; value: string; archived?: boolean; archivedAt?: number },
8689
query: string,
8790
options: Pick<SearchOptions, 'caseSensitive' | 'wholeWord' | 'useRegex'>,
88-
limit?: number
91+
monaco: Monaco | null,
92+
limit?: number,
8993
): SearchMatch[] {
9094
const { caseSensitive, wholeWord, useRegex } = options
95+
if (!monaco) return []
9196

92-
const model = monaco.editor.createModel(buffer.value, QuestDBLanguageName)
97+
const model = monaco?.editor.createModel(buffer.value, QuestDBLanguageName)
9398

9499
try {
95100
let searchString = query

0 commit comments

Comments
 (0)