@deephaven/console 0.9.1-beta.0 → 0.9.1-beta.10
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/dist/ConsoleInput.d.ts
CHANGED
|
@@ -8,13 +8,13 @@ export class ConsoleInput extends React.PureComponent<any, any, any> {
|
|
|
8
8
|
cancelListener: any;
|
|
9
9
|
commandContainer: React.RefObject<any>;
|
|
10
10
|
commandEditor: monaco.editor.IStandaloneCodeEditor | null;
|
|
11
|
-
commandHistoryIndex:
|
|
11
|
+
commandHistoryIndex: number | null;
|
|
12
12
|
commandSuggestionContainer: Element | null;
|
|
13
|
-
isCommandModified: boolean;
|
|
14
13
|
loadingPromise: any;
|
|
15
14
|
timestamp: number;
|
|
16
15
|
bufferIndex: number;
|
|
17
16
|
history: any[];
|
|
17
|
+
modifiedCommands: Map<any, any>;
|
|
18
18
|
/**
|
|
19
19
|
* Sets the console text from an external source.
|
|
20
20
|
* Sets commandHistoryIndex to null since the source is not part of the history
|
|
@@ -33,7 +33,12 @@ export class ConsoleInput extends React.PureComponent<any, any, any> {
|
|
|
33
33
|
focusEnd(): void;
|
|
34
34
|
clear(): void;
|
|
35
35
|
layoutEditor(): void;
|
|
36
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Loads the given command from history
|
|
38
|
+
* If edits have been made to the command since last run command, loads the modified version
|
|
39
|
+
* @param {number | null} index The index to load. Null to load command started in the editor and not in the history
|
|
40
|
+
*/
|
|
41
|
+
loadCommand(index: number | null): void;
|
|
37
42
|
loadMoreHistory(): Promise<void>;
|
|
38
43
|
processCommand(): void;
|
|
39
44
|
updateDimensions(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleInput.d.ts","sourceRoot":"","sources":["../src/ConsoleInput.jsx"],"names":[],"mappings":"AAkBA;;GAEG;AACH;IACE,gCAA0C;IAE1C,
|
|
1
|
+
{"version":3,"file":"ConsoleInput.d.ts","sourceRoot":"","sources":["../src/ConsoleInput.jsx"],"names":[],"mappings":"AAkBA;;GAEG;AACH;IACE,gCAA0C;IAE1C,wBAsBC;IAyMD,2BAEC;IA5NC,oBAA0B;IAC1B,uCAAyC;IACzC,0DAAyB;IACzB,mCAA+B;IAC/B,2CAAsC;IACtC,oBAA0B;IAC1B,kBAA2B;IAC3B,oBAAoB;IACpB,eAAiB;IAEjB,gCAAiC;IA+BnC;;;;;;;OAOG;IACH,qBALW,MAAM,UACN,OAAO,YACP,OAAO,QAwBjB;IAED,0BAuIC;IAED,6BAOC;IAMD,yCAWC;IAED,4CAMC;IAED,cAEC;IAED,mBAOC;IAED,iBAQC;IAED,cAIC;IAED,qBAIC;IAED;;;;OAIG;IACH,mBAFW,MAAM,GAAG,IAAI,QAevB;IAED,iCA+CC;IAED,uBAWC;IAED,yBA8BC;CA4BF"}
|
package/dist/ConsoleInput.js
CHANGED
|
@@ -32,11 +32,12 @@ export class ConsoleInput extends PureComponent {
|
|
|
32
32
|
this.commandEditor = null;
|
|
33
33
|
this.commandHistoryIndex = null;
|
|
34
34
|
this.commandSuggestionContainer = null;
|
|
35
|
-
this.isCommandModified = false;
|
|
36
35
|
this.loadingPromise = null;
|
|
37
36
|
this.timestamp = Date.now();
|
|
38
37
|
this.bufferIndex = 0;
|
|
39
|
-
this.history = [];
|
|
38
|
+
this.history = []; // Tracks every command that has been modified by its commandHistoryIndex. Cleared on any command being executed
|
|
39
|
+
|
|
40
|
+
this.modifiedCommands = new Map();
|
|
40
41
|
this.state = {
|
|
41
42
|
commandEditorHeight: LINE_HEIGHT,
|
|
42
43
|
isFocused: false,
|
|
@@ -81,9 +82,11 @@ export class ConsoleInput extends PureComponent {
|
|
|
81
82
|
return;
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
log.debug('Command received: ', text);
|
|
85
|
-
|
|
85
|
+
log.debug('Command received: ', text); // Need to set commandHistoryIndex before value
|
|
86
|
+
// On value change, modified commands map updates
|
|
87
|
+
|
|
86
88
|
this.commandHistoryIndex = null;
|
|
89
|
+
this.commandEditor.setValue(text);
|
|
87
90
|
|
|
88
91
|
if (focus) {
|
|
89
92
|
this.focusEnd();
|
|
@@ -134,7 +137,7 @@ export class ConsoleInput extends PureComponent {
|
|
|
134
137
|
MonacoUtils.setEOL(this.commandEditor);
|
|
135
138
|
MonacoUtils.openDocument(this.commandEditor, session);
|
|
136
139
|
this.commandEditor.onDidChangeModelContent(() => {
|
|
137
|
-
this.
|
|
140
|
+
this.modifiedCommands.set(this.commandHistoryIndex, this.commandEditor.getValue());
|
|
138
141
|
this.updateDimensions();
|
|
139
142
|
});
|
|
140
143
|
this.commandEditor.onDidFocusEditorText(() => {
|
|
@@ -166,7 +169,7 @@ export class ConsoleInput extends PureComponent {
|
|
|
166
169
|
if (keyEvent.keyCode === monaco.KeyCode.UpArrow && lineNumber === 1) {
|
|
167
170
|
if (commandHistoryIndex != null) {
|
|
168
171
|
this.loadCommand(commandHistoryIndex + 1);
|
|
169
|
-
} else
|
|
172
|
+
} else {
|
|
170
173
|
this.loadCommand(0);
|
|
171
174
|
}
|
|
172
175
|
|
|
@@ -177,10 +180,10 @@ export class ConsoleInput extends PureComponent {
|
|
|
177
180
|
}
|
|
178
181
|
|
|
179
182
|
if (keyEvent.keyCode === monaco.KeyCode.DownArrow && lineNumber === model.getLineCount()) {
|
|
180
|
-
if (commandHistoryIndex != null && commandHistoryIndex
|
|
183
|
+
if (commandHistoryIndex != null && commandHistoryIndex > 0) {
|
|
181
184
|
this.loadCommand(commandHistoryIndex - 1);
|
|
182
185
|
} else {
|
|
183
|
-
this.
|
|
186
|
+
this.loadCommand(null);
|
|
184
187
|
}
|
|
185
188
|
|
|
186
189
|
this.focusEnd();
|
|
@@ -289,21 +292,29 @@ export class ConsoleInput extends PureComponent {
|
|
|
289
292
|
this.commandEditor.layout();
|
|
290
293
|
}
|
|
291
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Loads the given command from history
|
|
297
|
+
* If edits have been made to the command since last run command, loads the modified version
|
|
298
|
+
* @param {number | null} index The index to load. Null to load command started in the editor and not in the history
|
|
299
|
+
*/
|
|
300
|
+
|
|
292
301
|
|
|
293
302
|
loadCommand(index) {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
this.
|
|
303
|
+
var _this$modifiedCommand;
|
|
304
|
+
|
|
305
|
+
var value = '';
|
|
306
|
+
|
|
307
|
+
if (index !== null && index < this.history.length) {
|
|
308
|
+
value = this.history[this.history.length - index - 1];
|
|
300
309
|
|
|
301
310
|
if (index > this.history.length - BUFFER_SIZE) {
|
|
302
311
|
this.loadMoreHistory();
|
|
303
312
|
}
|
|
304
313
|
}
|
|
305
314
|
|
|
306
|
-
this.
|
|
315
|
+
this.commandHistoryIndex = index;
|
|
316
|
+
value = (_this$modifiedCommand = this.modifiedCommands.get(index)) !== null && _this$modifiedCommand !== void 0 ? _this$modifiedCommand : value;
|
|
317
|
+
this.commandEditor.getModel().setValue(value);
|
|
307
318
|
}
|
|
308
319
|
|
|
309
320
|
loadMoreHistory() {
|
|
@@ -358,8 +369,8 @@ export class ConsoleInput extends PureComponent {
|
|
|
358
369
|
}
|
|
359
370
|
|
|
360
371
|
processCommand() {
|
|
361
|
-
this.isCommandModified = false;
|
|
362
372
|
this.commandHistoryIndex = null;
|
|
373
|
+
this.modifiedCommands.clear();
|
|
363
374
|
var command = this.commandEditor.getValue().trim();
|
|
364
375
|
this.history.push(command);
|
|
365
376
|
this.commandEditor.setValue('');
|
package/dist/ConsoleInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ConsoleInput.jsx"],"names":["React","PureComponent","PropTypes","classNames","monaco","Log","PromiseUtils","MonacoCompletionProvider","MonacoTheme","MonacoUtils","StoragePropTypes","log","module","LINE_HEIGHT","parseInt","TOP_PADDING","BOTTOM_PADDING","MIN_INPUT_HEIGHT","BUFFER_SIZE","ConsoleInput","constructor","props","handleWindowResize","bind","cancelListener","commandContainer","createRef","commandEditor","commandHistoryIndex","commandSuggestionContainer","isCommandModified","loadingPromise","timestamp","Date","now","bufferIndex","history","state","commandEditorHeight","isFocused","model","componentDidMount","initCommandEditor","window","addEventListener","loadMoreHistory","componentDidUpdate","layoutEditor","componentWillUnmount","removeEventListener","cancel","destroyCommandEditor","setConsoleText","text","focus","execute","debug","setValue","focusEnd","updateDimensions","processCommand","language","session","commandSettings","copyWithSyntaxHighlighting","cursorStyle","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineHeight","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollBeyondLastLine","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","padding","top","bottom","tabCompletion","value","wordWrap","editor","create","current","setEOL","openDocument","onDidChangeModelContent","onDidFocusEditorText","setState","onDidBlurEditorText","onKeyDown","keyEvent","lineNumber","getPosition","getModel","keyCode","KeyCode","UpArrow","loadCommand","getValueLength","focusStart","stopPropagation","preventDefault","DownArrow","getLineCount","altKey","shiftKey","metaKey","Enter","isSuggestionMenuPopulated","Tab","isSuggestionMenuActive","trigger","addCommand","KeyMod","CtrlCmd","KEY_F","removeConflictingKeybindings","registerPasteHandler","closeDocument","dispose","getDomNode","querySelector","classList","contains","childElementCount","column","getLineLength","firstCharTop","getTopForPosition","setPosition","setScrollTop","lastLine","lastCharTop","clear","layout","index","length","commandHistoryStorage","scope","makeCancelable","getTable","resolved","close","table","setReversed","setViewport","getViewportData","viewportData","size","items","map","name","reverse","err","isCanceled","debug2","error","command","getValue","trim","push","onSubmit","maxHeight","contentHeight","getContentHeight","Math","max","min","shouldScroll","options","getOptions","overviewRulerLanes","undefined","updateOptions","render","INPUT_CLASS_NAME","height","propTypes","shape","isRequired","string","CommandHistoryStorage","func","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport Log from '@deephaven/log';\nimport { PromiseUtils } from '@deephaven/utils';\nimport { MonacoCompletionProvider, MonacoTheme, MonacoUtils } from './monaco';\nimport './ConsoleInput.scss';\nimport StoragePropTypes from './StoragePropTypes';\n\nconst log = Log.module('ConsoleInput');\n\nconst LINE_HEIGHT = parseInt(MonacoTheme['line-height'], 10);\nconst TOP_PADDING = 6;\nconst BOTTOM_PADDING = 6;\nconst MIN_INPUT_HEIGHT = LINE_HEIGHT + TOP_PADDING + BOTTOM_PADDING;\nconst BUFFER_SIZE = 100;\n\n/**\n * Component for input in a console session. Handles loading the recent command history\n */\nexport class ConsoleInput extends PureComponent {\n static INPUT_CLASS_NAME = 'console-input';\n\n constructor(props) {\n super(props);\n\n this.handleWindowResize = this.handleWindowResize.bind(this);\n\n this.cancelListener = null;\n this.commandContainer = React.createRef();\n this.commandEditor = null;\n this.commandHistoryIndex = null;\n this.commandSuggestionContainer = null;\n this.isCommandModified = false;\n this.loadingPromise = null;\n this.timestamp = Date.now();\n this.bufferIndex = 0;\n this.history = [];\n\n this.state = {\n commandEditorHeight: LINE_HEIGHT,\n isFocused: false,\n model: null,\n };\n }\n\n componentDidMount() {\n this.initCommandEditor();\n\n window.addEventListener('resize', this.handleWindowResize);\n\n this.loadMoreHistory();\n }\n\n componentDidUpdate() {\n this.layoutEditor();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleWindowResize);\n\n if (this.loadingPromise != null) {\n this.loadingPromise.cancel();\n }\n\n this.destroyCommandEditor();\n }\n\n /**\n * Sets the console text from an external source.\n * Sets commandHistoryIndex to null since the source is not part of the history\n * @param {string} text The text to set in the input\n * @param {boolean} focus If the input should be focused\n * @param {boolean} execute If the input should be executed\n * @returns void\n */\n setConsoleText(text, focus = true, execute = false) {\n if (!text) {\n return;\n }\n\n log.debug('Command received: ', text);\n\n this.commandEditor.setValue(text);\n this.commandHistoryIndex = null;\n\n if (focus) {\n this.focusEnd();\n }\n\n this.updateDimensions();\n\n if (execute) {\n this.processCommand();\n }\n }\n\n initCommandEditor() {\n const { language, session } = this.props;\n const commandSettings = {\n copyWithSyntaxHighlighting: 'false',\n cursorStyle: 'block',\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language,\n lineHeight: LINE_HEIGHT,\n lineDecorationsWidth: 3,\n lineNumbers: 'off',\n minimap: { enabled: false },\n renderLineHighlight: 'none',\n scrollBeyondLastLine: false,\n scrollbar: {\n arrowSize: 0,\n horizontal: 'hidden',\n horizontalScrollbarSize: 0,\n },\n padding: {\n top: TOP_PADDING,\n bottom: BOTTOM_PADDING,\n },\n tabCompletion: 'on',\n value: '',\n wordWrap: 'on',\n };\n\n this.commandEditor = monaco.editor.create(\n this.commandContainer.current,\n commandSettings\n );\n\n MonacoUtils.setEOL(this.commandEditor);\n MonacoUtils.openDocument(this.commandEditor, session);\n\n this.commandEditor.onDidChangeModelContent(() => {\n this.isCommandModified = true;\n this.updateDimensions();\n });\n\n this.commandEditor.onDidFocusEditorText(() => {\n this.setState({ isFocused: true });\n });\n\n this.commandEditor.onDidBlurEditorText(() => {\n this.setState({ isFocused: false });\n });\n\n /**\n * Register for keydown events to capture the `Enter` key.\n * Need to do it this way instead of using `addCommand`, because that would eat the Enter key in all situations, which is not what we want.\n * Can't do it in `onDidChangeModelContent` either, since we want to stop the Enter action from modifying the command.\n */\n this.commandEditor.onKeyDown(keyEvent => {\n const { commandEditor, commandHistoryIndex } = this;\n const { lineNumber } = commandEditor.getPosition();\n const model = commandEditor.getModel();\n if (keyEvent.keyCode === monaco.KeyCode.UpArrow && lineNumber === 1) {\n if (commandHistoryIndex != null) {\n this.loadCommand(commandHistoryIndex + 1);\n } else if (model.getValueLength() === 0) {\n this.loadCommand(0);\n }\n\n this.focusStart();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (\n keyEvent.keyCode === monaco.KeyCode.DownArrow &&\n lineNumber === model.getLineCount()\n ) {\n if (commandHistoryIndex != null && commandHistoryIndex >= 0) {\n this.loadCommand(commandHistoryIndex - 1);\n } else {\n this.commandHistoryIndex = null;\n }\n\n this.focusEnd();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (!keyEvent.altKey && !keyEvent.shiftKey && !keyEvent.metaKey) {\n if (keyEvent.keyCode === monaco.KeyCode.Enter) {\n if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.processCommand();\n }\n } else if (keyEvent.keyCode === monaco.KeyCode.Tab) {\n if (!this.isSuggestionMenuActive()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.commandEditor.trigger(\n 'Tab key trigger suggestions',\n 'editor.action.triggerSuggest',\n {}\n );\n } else if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n }\n }\n }\n });\n\n // Override the Ctrl+F functionality so that the find window doesn't appear\n this.commandEditor.addCommand(\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_F, // eslint-disable-line no-bitwise\n () => {}\n );\n\n MonacoUtils.removeConflictingKeybindings(this.commandEditor);\n\n MonacoUtils.registerPasteHandler(this.commandEditor);\n\n this.commandEditor.focus();\n\n this.updateDimensions();\n\n this.setState({ model: this.commandEditor.getModel() });\n }\n\n destroyCommandEditor() {\n const { session } = this.props;\n if (this.commandEditor) {\n MonacoUtils.closeDocument(this.commandEditor, session);\n this.commandEditor.dispose();\n this.commandEditor = null;\n }\n }\n\n handleWindowResize() {\n this.updateDimensions();\n }\n\n isSuggestionMenuActive() {\n if (!this.commandSuggestionContainer) {\n this.commandSuggestionContainer = this.commandEditor\n .getDomNode()\n .querySelector('.suggest-widget');\n }\n\n return (\n this.commandSuggestionContainer &&\n this.commandSuggestionContainer.classList.contains('visible')\n );\n }\n\n isSuggestionMenuPopulated() {\n return (\n this.isSuggestionMenuActive() &&\n this.commandSuggestionContainer.querySelector('.monaco-list-rows')\n .childElementCount > 0\n );\n }\n\n focus() {\n this.commandEditor.focus();\n }\n\n focusStart() {\n const model = this.commandEditor.getModel();\n const column = model.getLineLength(1) + 1; // Length of 1st line\n const firstCharTop = this.commandEditor.getTopForPosition(1, column);\n this.commandEditor.setPosition({ lineNumber: 1, column });\n this.commandEditor.setScrollTop(firstCharTop);\n this.commandEditor.focus();\n }\n\n focusEnd() {\n const model = this.commandEditor.getModel();\n const lastLine = model.getLineCount();\n const column = model.getLineLength(lastLine) + 1;\n const lastCharTop = this.commandEditor.getTopForPosition(lastLine, column);\n this.commandEditor.setPosition({ lineNumber: lastLine, column });\n this.commandEditor.setScrollTop(lastCharTop);\n this.commandEditor.focus();\n }\n\n clear() {\n this.commandEditor.focus();\n this.commandEditor.getModel().setValue('');\n this.commandHistoryIndex = null;\n }\n\n layoutEditor() {\n if (this.commandEditor) {\n this.commandEditor.layout();\n }\n }\n\n loadCommand(index) {\n if (index < 0) {\n this.commandHistoryIndex = null;\n this.commandEditor.getModel().setValue('');\n } else if (index < this.history.length) {\n this.commandHistoryIndex = index;\n this.commandEditor\n .getModel()\n .setValue(this.history[this.history.length - index - 1]);\n if (index > this.history.length - BUFFER_SIZE) {\n this.loadMoreHistory();\n }\n }\n\n this.isCommandModified = false;\n }\n\n async loadMoreHistory() {\n try {\n if (this.loadingPromise != null || this.bufferIndex == null) {\n return;\n }\n\n const { commandHistoryStorage, language, scope } = this.props;\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n commandHistoryStorage.getTable(language, scope, this.timestamp),\n resolved => resolved.close()\n );\n\n const table = await this.loadingPromise;\n table.setReversed(true);\n table.setViewport({\n top: this.bufferIndex,\n bottom: this.bufferIndex + BUFFER_SIZE - 1,\n });\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n table.getViewportData(),\n () => table.close()\n );\n const viewportData = await this.loadingPromise;\n this.bufferIndex += BUFFER_SIZE;\n if (this.bufferIndex >= table.size) {\n // We've loaded the full history, no need to load any more\n this.bufferIndex = null;\n }\n this.history = [\n ...viewportData.items.map(({ name }) => name).reverse(),\n ...this.history,\n ];\n\n this.loadingPromise = null;\n\n table.close();\n } catch (err) {\n this.loadingPromise = null;\n if (PromiseUtils.isCanceled(err)) {\n log.debug2('Promise canceled, not loading history');\n return;\n }\n\n log.error('Error fetching history', err);\n }\n }\n\n processCommand() {\n this.isCommandModified = false;\n this.commandHistoryIndex = null;\n\n const command = this.commandEditor.getValue().trim();\n this.history.push(command);\n this.commandEditor.setValue('');\n this.updateDimensions();\n\n const { onSubmit } = this.props;\n onSubmit(command);\n }\n\n updateDimensions() {\n if (!this.commandEditor) {\n return;\n }\n\n const { maxHeight } = this.props;\n const contentHeight = this.commandEditor.getContentHeight();\n const commandEditorHeight = Math.max(\n Math.min(contentHeight, maxHeight),\n MIN_INPUT_HEIGHT\n );\n\n // Only show the overview ruler (markings overlapping sroll bar area) if the scrollbar will show\n const shouldScroll = contentHeight > commandEditorHeight;\n const options = this.commandEditor.getOptions();\n if (shouldScroll) {\n options.overviewRulerLanes = undefined; // Resets to default\n } else {\n options.overviewRulerLanes = 0;\n }\n\n this.setState(\n {\n commandEditorHeight,\n },\n () => {\n this.commandEditor.updateOptions(options);\n this.commandEditor.layout();\n }\n );\n }\n\n render() {\n const { language, session } = this.props;\n const { commandEditorHeight, isFocused, model } = this.state;\n return (\n <div className=\"console-input-wrapper\">\n <div\n className={classNames('console-input-inner-wrapper', {\n focus: isFocused,\n })}\n >\n <div\n className={ConsoleInput.INPUT_CLASS_NAME}\n ref={this.commandContainer}\n style={{ height: commandEditorHeight }}\n />\n {model && (\n <MonacoCompletionProvider\n model={model}\n language={language}\n session={session}\n />\n )}\n </div>\n </div>\n );\n }\n}\n\nConsoleInput.propTypes = {\n session: PropTypes.shape({}).isRequired,\n language: PropTypes.string.isRequired,\n scope: PropTypes.string,\n commandHistoryStorage: StoragePropTypes.CommandHistoryStorage.isRequired,\n onSubmit: PropTypes.func.isRequired,\n maxHeight: PropTypes.number,\n};\n\nConsoleInput.defaultProps = {\n maxHeight: LINE_HEIGHT * 10,\n scope: null,\n};\n\nexport default ConsoleInput;\n"],"file":"ConsoleInput.js"}
|
|
1
|
+
{"version":3,"sources":["../src/ConsoleInput.jsx"],"names":["React","PureComponent","PropTypes","classNames","monaco","Log","PromiseUtils","MonacoCompletionProvider","MonacoTheme","MonacoUtils","StoragePropTypes","log","module","LINE_HEIGHT","parseInt","TOP_PADDING","BOTTOM_PADDING","MIN_INPUT_HEIGHT","BUFFER_SIZE","ConsoleInput","constructor","props","handleWindowResize","bind","cancelListener","commandContainer","createRef","commandEditor","commandHistoryIndex","commandSuggestionContainer","loadingPromise","timestamp","Date","now","bufferIndex","history","modifiedCommands","Map","state","commandEditorHeight","isFocused","model","componentDidMount","initCommandEditor","window","addEventListener","loadMoreHistory","componentDidUpdate","layoutEditor","componentWillUnmount","removeEventListener","cancel","destroyCommandEditor","setConsoleText","text","focus","execute","debug","setValue","focusEnd","updateDimensions","processCommand","language","session","commandSettings","copyWithSyntaxHighlighting","cursorStyle","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineHeight","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollBeyondLastLine","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","padding","top","bottom","tabCompletion","value","wordWrap","editor","create","current","setEOL","openDocument","onDidChangeModelContent","set","getValue","onDidFocusEditorText","setState","onDidBlurEditorText","onKeyDown","keyEvent","lineNumber","getPosition","getModel","keyCode","KeyCode","UpArrow","loadCommand","focusStart","stopPropagation","preventDefault","DownArrow","getLineCount","altKey","shiftKey","metaKey","Enter","isSuggestionMenuPopulated","Tab","isSuggestionMenuActive","trigger","addCommand","KeyMod","CtrlCmd","KEY_F","removeConflictingKeybindings","registerPasteHandler","closeDocument","dispose","getDomNode","querySelector","classList","contains","childElementCount","column","getLineLength","firstCharTop","getTopForPosition","setPosition","setScrollTop","lastLine","lastCharTop","clear","layout","index","length","get","commandHistoryStorage","scope","makeCancelable","getTable","resolved","close","table","setReversed","setViewport","getViewportData","viewportData","size","items","map","name","reverse","err","isCanceled","debug2","error","command","trim","push","onSubmit","maxHeight","contentHeight","getContentHeight","Math","max","min","shouldScroll","options","getOptions","overviewRulerLanes","undefined","updateOptions","render","INPUT_CLASS_NAME","height","propTypes","shape","isRequired","string","CommandHistoryStorage","func","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport Log from '@deephaven/log';\nimport { PromiseUtils } from '@deephaven/utils';\nimport { MonacoCompletionProvider, MonacoTheme, MonacoUtils } from './monaco';\nimport './ConsoleInput.scss';\nimport StoragePropTypes from './StoragePropTypes';\n\nconst log = Log.module('ConsoleInput');\n\nconst LINE_HEIGHT = parseInt(MonacoTheme['line-height'], 10);\nconst TOP_PADDING = 6;\nconst BOTTOM_PADDING = 6;\nconst MIN_INPUT_HEIGHT = LINE_HEIGHT + TOP_PADDING + BOTTOM_PADDING;\nconst BUFFER_SIZE = 100;\n\n/**\n * Component for input in a console session. Handles loading the recent command history\n */\nexport class ConsoleInput extends PureComponent {\n static INPUT_CLASS_NAME = 'console-input';\n\n constructor(props) {\n super(props);\n\n this.handleWindowResize = this.handleWindowResize.bind(this);\n\n this.cancelListener = null;\n this.commandContainer = React.createRef();\n this.commandEditor = null;\n this.commandHistoryIndex = null;\n this.commandSuggestionContainer = null;\n this.loadingPromise = null;\n this.timestamp = Date.now();\n this.bufferIndex = 0;\n this.history = [];\n // Tracks every command that has been modified by its commandHistoryIndex. Cleared on any command being executed\n this.modifiedCommands = new Map();\n\n this.state = {\n commandEditorHeight: LINE_HEIGHT,\n isFocused: false,\n model: null,\n };\n }\n\n componentDidMount() {\n this.initCommandEditor();\n\n window.addEventListener('resize', this.handleWindowResize);\n\n this.loadMoreHistory();\n }\n\n componentDidUpdate() {\n this.layoutEditor();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleWindowResize);\n\n if (this.loadingPromise != null) {\n this.loadingPromise.cancel();\n }\n\n this.destroyCommandEditor();\n }\n\n /**\n * Sets the console text from an external source.\n * Sets commandHistoryIndex to null since the source is not part of the history\n * @param {string} text The text to set in the input\n * @param {boolean} focus If the input should be focused\n * @param {boolean} execute If the input should be executed\n * @returns void\n */\n setConsoleText(text, focus = true, execute = false) {\n if (!text) {\n return;\n }\n\n log.debug('Command received: ', text);\n\n // Need to set commandHistoryIndex before value\n // On value change, modified commands map updates\n this.commandHistoryIndex = null;\n this.commandEditor.setValue(text);\n\n if (focus) {\n this.focusEnd();\n }\n\n this.updateDimensions();\n\n if (execute) {\n this.processCommand();\n }\n }\n\n initCommandEditor() {\n const { language, session } = this.props;\n const commandSettings = {\n copyWithSyntaxHighlighting: 'false',\n cursorStyle: 'block',\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language,\n lineHeight: LINE_HEIGHT,\n lineDecorationsWidth: 3,\n lineNumbers: 'off',\n minimap: { enabled: false },\n renderLineHighlight: 'none',\n scrollBeyondLastLine: false,\n scrollbar: {\n arrowSize: 0,\n horizontal: 'hidden',\n horizontalScrollbarSize: 0,\n },\n padding: {\n top: TOP_PADDING,\n bottom: BOTTOM_PADDING,\n },\n tabCompletion: 'on',\n value: '',\n wordWrap: 'on',\n };\n\n this.commandEditor = monaco.editor.create(\n this.commandContainer.current,\n commandSettings\n );\n\n MonacoUtils.setEOL(this.commandEditor);\n MonacoUtils.openDocument(this.commandEditor, session);\n\n this.commandEditor.onDidChangeModelContent(() => {\n this.modifiedCommands.set(\n this.commandHistoryIndex,\n this.commandEditor.getValue()\n );\n this.updateDimensions();\n });\n\n this.commandEditor.onDidFocusEditorText(() => {\n this.setState({ isFocused: true });\n });\n\n this.commandEditor.onDidBlurEditorText(() => {\n this.setState({ isFocused: false });\n });\n\n /**\n * Register for keydown events to capture the `Enter` key.\n * Need to do it this way instead of using `addCommand`, because that would eat the Enter key in all situations, which is not what we want.\n * Can't do it in `onDidChangeModelContent` either, since we want to stop the Enter action from modifying the command.\n */\n this.commandEditor.onKeyDown(keyEvent => {\n const { commandEditor, commandHistoryIndex } = this;\n const { lineNumber } = commandEditor.getPosition();\n const model = commandEditor.getModel();\n if (keyEvent.keyCode === monaco.KeyCode.UpArrow && lineNumber === 1) {\n if (commandHistoryIndex != null) {\n this.loadCommand(commandHistoryIndex + 1);\n } else {\n this.loadCommand(0);\n }\n\n this.focusStart();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (\n keyEvent.keyCode === monaco.KeyCode.DownArrow &&\n lineNumber === model.getLineCount()\n ) {\n if (commandHistoryIndex != null && commandHistoryIndex > 0) {\n this.loadCommand(commandHistoryIndex - 1);\n } else {\n this.loadCommand(null);\n }\n\n this.focusEnd();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (!keyEvent.altKey && !keyEvent.shiftKey && !keyEvent.metaKey) {\n if (keyEvent.keyCode === monaco.KeyCode.Enter) {\n if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.processCommand();\n }\n } else if (keyEvent.keyCode === monaco.KeyCode.Tab) {\n if (!this.isSuggestionMenuActive()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.commandEditor.trigger(\n 'Tab key trigger suggestions',\n 'editor.action.triggerSuggest',\n {}\n );\n } else if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n }\n }\n }\n });\n\n // Override the Ctrl+F functionality so that the find window doesn't appear\n this.commandEditor.addCommand(\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_F, // eslint-disable-line no-bitwise\n () => {}\n );\n\n MonacoUtils.removeConflictingKeybindings(this.commandEditor);\n\n MonacoUtils.registerPasteHandler(this.commandEditor);\n\n this.commandEditor.focus();\n\n this.updateDimensions();\n\n this.setState({ model: this.commandEditor.getModel() });\n }\n\n destroyCommandEditor() {\n const { session } = this.props;\n if (this.commandEditor) {\n MonacoUtils.closeDocument(this.commandEditor, session);\n this.commandEditor.dispose();\n this.commandEditor = null;\n }\n }\n\n handleWindowResize() {\n this.updateDimensions();\n }\n\n isSuggestionMenuActive() {\n if (!this.commandSuggestionContainer) {\n this.commandSuggestionContainer = this.commandEditor\n .getDomNode()\n .querySelector('.suggest-widget');\n }\n\n return (\n this.commandSuggestionContainer &&\n this.commandSuggestionContainer.classList.contains('visible')\n );\n }\n\n isSuggestionMenuPopulated() {\n return (\n this.isSuggestionMenuActive() &&\n this.commandSuggestionContainer.querySelector('.monaco-list-rows')\n .childElementCount > 0\n );\n }\n\n focus() {\n this.commandEditor.focus();\n }\n\n focusStart() {\n const model = this.commandEditor.getModel();\n const column = model.getLineLength(1) + 1; // Length of 1st line\n const firstCharTop = this.commandEditor.getTopForPosition(1, column);\n this.commandEditor.setPosition({ lineNumber: 1, column });\n this.commandEditor.setScrollTop(firstCharTop);\n this.commandEditor.focus();\n }\n\n focusEnd() {\n const model = this.commandEditor.getModel();\n const lastLine = model.getLineCount();\n const column = model.getLineLength(lastLine) + 1;\n const lastCharTop = this.commandEditor.getTopForPosition(lastLine, column);\n this.commandEditor.setPosition({ lineNumber: lastLine, column });\n this.commandEditor.setScrollTop(lastCharTop);\n this.commandEditor.focus();\n }\n\n clear() {\n this.commandEditor.focus();\n this.commandEditor.getModel().setValue('');\n this.commandHistoryIndex = null;\n }\n\n layoutEditor() {\n if (this.commandEditor) {\n this.commandEditor.layout();\n }\n }\n\n /**\n * Loads the given command from history\n * If edits have been made to the command since last run command, loads the modified version\n * @param {number | null} index The index to load. Null to load command started in the editor and not in the history\n */\n loadCommand(index) {\n let value = '';\n if (index !== null && index < this.history.length) {\n value = this.history[this.history.length - index - 1];\n\n if (index > this.history.length - BUFFER_SIZE) {\n this.loadMoreHistory();\n }\n }\n\n this.commandHistoryIndex = index;\n value = this.modifiedCommands.get(index) ?? value;\n this.commandEditor.getModel().setValue(value);\n }\n\n async loadMoreHistory() {\n try {\n if (this.loadingPromise != null || this.bufferIndex == null) {\n return;\n }\n\n const { commandHistoryStorage, language, scope } = this.props;\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n commandHistoryStorage.getTable(language, scope, this.timestamp),\n resolved => resolved.close()\n );\n\n const table = await this.loadingPromise;\n table.setReversed(true);\n table.setViewport({\n top: this.bufferIndex,\n bottom: this.bufferIndex + BUFFER_SIZE - 1,\n });\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n table.getViewportData(),\n () => table.close()\n );\n const viewportData = await this.loadingPromise;\n this.bufferIndex += BUFFER_SIZE;\n if (this.bufferIndex >= table.size) {\n // We've loaded the full history, no need to load any more\n this.bufferIndex = null;\n }\n this.history = [\n ...viewportData.items.map(({ name }) => name).reverse(),\n ...this.history,\n ];\n\n this.loadingPromise = null;\n\n table.close();\n } catch (err) {\n this.loadingPromise = null;\n if (PromiseUtils.isCanceled(err)) {\n log.debug2('Promise canceled, not loading history');\n return;\n }\n\n log.error('Error fetching history', err);\n }\n }\n\n processCommand() {\n this.commandHistoryIndex = null;\n this.modifiedCommands.clear();\n\n const command = this.commandEditor.getValue().trim();\n this.history.push(command);\n this.commandEditor.setValue('');\n this.updateDimensions();\n\n const { onSubmit } = this.props;\n onSubmit(command);\n }\n\n updateDimensions() {\n if (!this.commandEditor) {\n return;\n }\n\n const { maxHeight } = this.props;\n const contentHeight = this.commandEditor.getContentHeight();\n const commandEditorHeight = Math.max(\n Math.min(contentHeight, maxHeight),\n MIN_INPUT_HEIGHT\n );\n\n // Only show the overview ruler (markings overlapping sroll bar area) if the scrollbar will show\n const shouldScroll = contentHeight > commandEditorHeight;\n const options = this.commandEditor.getOptions();\n if (shouldScroll) {\n options.overviewRulerLanes = undefined; // Resets to default\n } else {\n options.overviewRulerLanes = 0;\n }\n\n this.setState(\n {\n commandEditorHeight,\n },\n () => {\n this.commandEditor.updateOptions(options);\n this.commandEditor.layout();\n }\n );\n }\n\n render() {\n const { language, session } = this.props;\n const { commandEditorHeight, isFocused, model } = this.state;\n return (\n <div className=\"console-input-wrapper\">\n <div\n className={classNames('console-input-inner-wrapper', {\n focus: isFocused,\n })}\n >\n <div\n className={ConsoleInput.INPUT_CLASS_NAME}\n ref={this.commandContainer}\n style={{ height: commandEditorHeight }}\n />\n {model && (\n <MonacoCompletionProvider\n model={model}\n language={language}\n session={session}\n />\n )}\n </div>\n </div>\n );\n }\n}\n\nConsoleInput.propTypes = {\n session: PropTypes.shape({}).isRequired,\n language: PropTypes.string.isRequired,\n scope: PropTypes.string,\n commandHistoryStorage: StoragePropTypes.CommandHistoryStorage.isRequired,\n onSubmit: PropTypes.func.isRequired,\n maxHeight: PropTypes.number,\n};\n\nConsoleInput.defaultProps = {\n maxHeight: LINE_HEIGHT * 10,\n scope: null,\n};\n\nexport default ConsoleInput;\n"],"file":"ConsoleInput.js"}
|
|
@@ -21,7 +21,7 @@ declare class MonacoUtils {
|
|
|
21
21
|
* @param {monaco.editor.IEditor} editor The editor to link the session to
|
|
22
22
|
* @return A cleanup function for disposing of the created listeners
|
|
23
23
|
*/
|
|
24
|
-
static openDocument(editor: monaco.editor.IEditor, session:
|
|
24
|
+
static openDocument(editor: monaco.editor.IEditor, session: dh.IdeSession): any;
|
|
25
25
|
static closeDocument(editor: any, session: any): void;
|
|
26
26
|
/**
|
|
27
27
|
* Register a paste handle to clean up any garbage code pasted.
|
|
@@ -29,14 +29,14 @@ declare class MonacoUtils {
|
|
|
29
29
|
* I've emailed Slack about the issue and they're working on it. I can't reference a ticket number because their ticket system is entirely internally facing.
|
|
30
30
|
* @param {Monaco.editor} editor The editor the register the paste handler for
|
|
31
31
|
*/
|
|
32
|
-
static registerPasteHandler(editor:
|
|
32
|
+
static registerPasteHandler(editor: Monaco.editor): void;
|
|
33
33
|
static isMacPlatform(): boolean;
|
|
34
34
|
/**
|
|
35
35
|
* Remove any keybindings which are used for our own shortcuts.
|
|
36
36
|
* This allows the key events to bubble up so a component higher up can capture them
|
|
37
37
|
* @param {Monaco.editor} editor The editor to remove the keybindings from
|
|
38
38
|
*/
|
|
39
|
-
static removeConflictingKeybindings(editor:
|
|
39
|
+
static removeConflictingKeybindings(editor: Monaco.editor): void;
|
|
40
40
|
/**
|
|
41
41
|
* Remove a keybinding and allow the events to bubble up
|
|
42
42
|
* If you want the keybinding removed for all editors, add it to removeConflictingKeybindings
|
|
@@ -49,7 +49,7 @@ declare class MonacoUtils {
|
|
|
49
49
|
* @param {Monaco.editor} editor The editor to remove the keybinding from
|
|
50
50
|
* @param {string} keybinding The key string to remove. E.g. 'ctrl+C' for copy on Windows
|
|
51
51
|
*/
|
|
52
|
-
static removeKeybinding(editor:
|
|
52
|
+
static removeKeybinding(editor: Monaco.editor, keybinding: string): void;
|
|
53
53
|
static getMonacoKeyCodeFromShortcut(shortcut: any): number;
|
|
54
54
|
}
|
|
55
55
|
import * as monaco from "monaco-editor/esm/vs/editor/editor.api.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonacoUtils.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoUtils.js"],"names":[],"mappings":";AAsEA;IACE,oBAoHC;IAED;;;;OAIG;IACH,4CAEC;IAED,+CAmBC;IAED,6CAQC;IAED;;;;OAIG;IACH,sBAHW,OAAO,MAAM,CAAC,OAAO,gBACrB,OAAO,MAAM,CAAC,iBAAiB,QAIzC;IAED;;;;;OAKG;IACH,4BAHW,OAAO,MAAM,CAAC,OAAO
|
|
1
|
+
{"version":3,"file":"MonacoUtils.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoUtils.js"],"names":[],"mappings":";AAsEA;IACE,oBAoHC;IAED;;;;OAIG;IACH,4CAEC;IAED,+CAmBC;IAED,6CAQC;IAED;;;;OAIG;IACH,sBAHW,OAAO,MAAM,CAAC,OAAO,gBACrB,OAAO,MAAM,CAAC,iBAAiB,QAIzC;IAED;;;;;OAKG;IACH,4BAHW,OAAO,MAAM,CAAC,OAAO,+BAwD/B;IAED,sDAQC;IAED;;;;;OAKG;IACH,yDAiBC;IAED,gCAGC;IAED;;;;OAIG;IACH,iEA2BC;IAED;;;;;;;;;;;OAWG;IACH,2DAFW,MAAM,QA2BhB;IAED,2DA4BC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/console",
|
|
3
|
-
"version": "0.9.1-beta.
|
|
3
|
+
"version": "0.9.1-beta.10+8a6f7d2",
|
|
4
4
|
"description": "Deephaven Console",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -16,28 +16,23 @@
|
|
|
16
16
|
"node": ">=10"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
|
-
"build": "cross-env NODE_ENV=production run-
|
|
20
|
-
"build-dev": "cross-env NODE_ENV=development run-
|
|
21
|
-
"
|
|
22
|
-
"babel": "babel ./src --out-dir ./dist --extensions \".ts,.tsx,.js,.jsx\" --source-maps --root-mode upward --verbose",
|
|
19
|
+
"build": "cross-env NODE_ENV=production run-p build:*",
|
|
20
|
+
"build-dev": "cross-env NODE_ENV=development run-p build:*",
|
|
21
|
+
"babel": "babel ./src --out-dir ./dist --extensions \".ts,.tsx,.js,.jsx\" --source-maps --root-mode upward",
|
|
23
22
|
"sass": "sass ./src:./dist",
|
|
24
|
-
"types": "tsc",
|
|
25
23
|
"build:babel": "npm run babel",
|
|
26
24
|
"build:sass": "npm run sass",
|
|
27
|
-
"build:types": "npm run types -- --incremental",
|
|
28
25
|
"watch": "run-p watch:*",
|
|
29
26
|
"watch:babel": "npm run babel -- -w --skip-initial-build",
|
|
30
27
|
"watch:sass": "npm run sass -- --watch --update",
|
|
31
|
-
"watch:types": "npm run types -- -w --incremental --preserveWatchOutput",
|
|
32
|
-
"clean": "rimraf ./dist tsconfig.tsbuildinfo",
|
|
33
28
|
"prestart": "npm run build-dev",
|
|
34
29
|
"start": "cross-env NODE_ENV=development npm run watch"
|
|
35
30
|
},
|
|
36
31
|
"dependencies": {
|
|
37
|
-
"@deephaven/icons": "^0.9.1-beta.
|
|
38
|
-
"@deephaven/jsapi-shim": "^0.9.1-beta.
|
|
39
|
-
"@deephaven/storage": "^0.9.1-beta.
|
|
40
|
-
"@deephaven/utils": "^0.9.1-beta.
|
|
32
|
+
"@deephaven/icons": "^0.9.1-beta.10+8a6f7d2",
|
|
33
|
+
"@deephaven/jsapi-shim": "^0.9.1-beta.10+8a6f7d2",
|
|
34
|
+
"@deephaven/storage": "^0.9.1-beta.10+8a6f7d2",
|
|
35
|
+
"@deephaven/utils": "^0.9.1-beta.10+8a6f7d2",
|
|
41
36
|
"@fortawesome/react-fontawesome": "^0.1.12",
|
|
42
37
|
"classnames": "^2.3.1",
|
|
43
38
|
"jszip": "3.2.2",
|
|
@@ -58,10 +53,10 @@
|
|
|
58
53
|
},
|
|
59
54
|
"devDependencies": {
|
|
60
55
|
"@babel/cli": "^7.16.0",
|
|
61
|
-
"@deephaven/components": "^0.9.1-beta.
|
|
62
|
-
"@deephaven/log": "^0.9.1-beta.
|
|
63
|
-
"@deephaven/mocks": "^0.9.1-beta.
|
|
64
|
-
"@deephaven/tsconfig": "^0.9.1-beta.
|
|
56
|
+
"@deephaven/components": "^0.9.1-beta.10+8a6f7d2",
|
|
57
|
+
"@deephaven/log": "^0.9.1-beta.10+8a6f7d2",
|
|
58
|
+
"@deephaven/mocks": "^0.9.1-beta.10+8a6f7d2",
|
|
59
|
+
"@deephaven/tsconfig": "^0.9.1-beta.10+8a6f7d2",
|
|
65
60
|
"@types/react": "^16.14.8",
|
|
66
61
|
"@types/react-dom": "^16.9.13",
|
|
67
62
|
"cross-env": "^7.0.2",
|
|
@@ -70,8 +65,7 @@
|
|
|
70
65
|
"react": "^16.14.0",
|
|
71
66
|
"react-dom": "^16.14.0",
|
|
72
67
|
"rimraf": "^3.0.2",
|
|
73
|
-
"sass": "1.32.13"
|
|
74
|
-
"typescript": "~4.3.2"
|
|
68
|
+
"sass": "1.32.13"
|
|
75
69
|
},
|
|
76
70
|
"files": [
|
|
77
71
|
"dist"
|
|
@@ -82,5 +76,5 @@
|
|
|
82
76
|
"publishConfig": {
|
|
83
77
|
"access": "public"
|
|
84
78
|
},
|
|
85
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "8a6f7d21a06c9b590682684844fb169153ee8340"
|
|
86
80
|
}
|