mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
ui: handle typings for NodeRequire
This commit is contained in:
1 parent
6bd3ee9135
commit
68d4522e49
4 files changed
+15
-4
No files matched your search
@@ -38,7 +38,7 @@ export default class UserSelectAutoComplete<Multi extends boolean> extends AutoC
|
|||||||
<QueryClientProvider client={this.client}>
|
<QueryClientProvider client={this.client}>
|
||||||
<UserSelectAutoCompleteFC
|
<UserSelectAutoCompleteFC
|
||||||
ref={(ref) => { this.ref = ref; }}
|
ref={(ref) => { this.ref = ref; }}
|
||||||
height={this.options.height || "34px"}
|
height={this.options.height || '34px'}
|
||||||
defaultItems={value}
|
defaultItems={value}
|
||||||
onChange={this.onChange}
|
onChange={this.onChange}
|
||||||
multi={this.options.multi}
|
multi={this.options.multi}
|
||||||
|
|||||||
@@ -2,9 +2,10 @@ import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
|
|||||||
|
|
||||||
const types = require.context('!!raw-loader!@types/node/', true, /\.d\.ts$/);
|
const types = require.context('!!raw-loader!@types/node/', true, /\.d\.ts$/);
|
||||||
|
|
||||||
const diagnosticsOptions = {
|
const diagnosticsOptions: monaco.languages.typescript.DiagnosticsOptions = {
|
||||||
noSemanticValidation: false,
|
noSemanticValidation: false,
|
||||||
noSyntaxValidation: false,
|
noSyntaxValidation: false,
|
||||||
|
noSuggestionDiagnostics: true,
|
||||||
};
|
};
|
||||||
const compilerOptions = {
|
const compilerOptions = {
|
||||||
target: monaco.languages.typescript.ScriptTarget.ES2020,
|
target: monaco.languages.typescript.ScriptTarget.ES2020,
|
||||||
@@ -22,9 +23,18 @@ const libSource = [
|
|||||||
const libUri = 'ts:filename/basic.d.ts';
|
const libUri = 'ts:filename/basic.d.ts';
|
||||||
monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
|
monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
|
||||||
monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));
|
monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));
|
||||||
|
const modules = [];
|
||||||
for (const key of types.keys()) {
|
for (const key of types.keys()) {
|
||||||
const val = types(key).default;
|
const val = types(key).default.replace('declare var require: NodeRequire;', '');
|
||||||
|
if (val.includes('declare module ')) {
|
||||||
|
modules.push(val.toString().split('declare module \'')[1].split('\'')[0]);
|
||||||
|
}
|
||||||
const uri = `ts:node/${key.split('./')[1]}`;
|
const uri = `ts:node/${key.split('./')[1]}`;
|
||||||
monaco.languages.typescript.javascriptDefaults.addExtraLib(val, uri);
|
monaco.languages.typescript.javascriptDefaults.addExtraLib(val, uri);
|
||||||
monaco.editor.createModel(val, 'typescript', monaco.Uri.parse(uri));
|
monaco.editor.createModel(val, 'typescript', monaco.Uri.parse(uri));
|
||||||
}
|
}
|
||||||
|
let val = 'declare var require:';
|
||||||
|
for (const m of modules) val += `((id:'${m}')=>(typeof import('${m}')))&`;
|
||||||
|
val += '((id:string)=>any)';
|
||||||
|
monaco.languages.typescript.javascriptDefaults.addExtraLib(val, 'ts:node/require.d.ts');
|
||||||
|
monaco.editor.createModel(val, 'typescript', monaco.Uri.parse('ts:node/require.d.ts'));
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@hydrooj/ui-default",
|
"name": "@hydrooj/ui-default",
|
||||||
"version": "4.30.0",
|
"version": "4.30.1",
|
||||||
"author": "undefined <i@undefined.moe>",
|
"author": "undefined <i@undefined.moe>",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "hydro.js",
|
"main": "hydro.js",
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
"@types/json-schema": "^7.0.9",
|
"@types/json-schema": "^7.0.9",
|
||||||
"@types/katex": "^0.11.1",
|
"@types/katex": "^0.11.1",
|
||||||
"@types/qrcode": "^1.4.2",
|
"@types/qrcode": "^1.4.2",
|
||||||
|
"@types/redux-logger": "^3.0.9",
|
||||||
"@types/sockjs-client": "^1.5.1",
|
"@types/sockjs-client": "^1.5.1",
|
||||||
"@undefined-moe/monaco-yaml": "^2.5.0",
|
"@undefined-moe/monaco-yaml": "^2.5.0",
|
||||||
"ansi_up": "^5.1.0",
|
"ansi_up": "^5.1.0",
|
||||||
|
|||||||
File renamed without changes.
Reference in new issue
Block a user