@codingame/monaco-editor-wrapper 7.1.0 → 7.2.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.
@@ -0,0 +1 @@
1
+ import '@codingame/monaco-vscode-standalone-typescript-language-features';
@@ -0,0 +1,101 @@
1
+ import '@codingame/monaco-vscode-standalone-typescript-language-features';
2
+ import * as monaco from 'monaco-editor';
3
+ import { registerFileSystemOverlay, FileSystemProviderError, FileSystemProviderErrorCode, FileType } from '@codingame/monaco-vscode-files-service-override';
4
+ import * as vscode from 'vscode';
5
+ import { registerWorkerLoader } from '../worker.js';
6
+
7
+ const global = `
8
+ declare global {
9
+ /**
10
+ * Read a line from stdin
11
+ */
12
+ function readline(): string;
13
+ /**
14
+ * Print a string to stdout
15
+ * @deprecated Use console.log instead
16
+ */
17
+ function print(word: string): void;
18
+ }
19
+ // It needs to be a module
20
+ export {}
21
+ `;
22
+ const compilerOptions = {
23
+ target: monaco.languages.typescript.ScriptTarget.ES2016,
24
+ allowNonTsExtensions: true,
25
+ moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
26
+ module: monaco.languages.typescript.ModuleKind.CommonJS,
27
+ noEmit: true,
28
+ lib: ['es2020']
29
+ };
30
+ class TypescriptWorkerTypeFileSystemProvider {
31
+ constructor(getWorker) {
32
+ this.getWorker = getWorker;
33
+ this.capabilities = 2 /* FileSystemProviderCapabilities.FileReadWrite */ | 1024 /* FileSystemProviderCapabilities.PathCaseSensitive */ | 2048 /* FileSystemProviderCapabilities.Readonly */;
34
+ this.onDidChangeCapabilities = new vscode.EventEmitter().event;
35
+ this.onDidChangeFile = new vscode.EventEmitter().event;
36
+ }
37
+ async getExtraLib(resource) {
38
+ const content = await (await this.getWorker()).getScriptText(resource.path.slice(1));
39
+ return content;
40
+ }
41
+ async readFile(resource) {
42
+ const file = await this.getExtraLib(resource);
43
+ if (file != null) {
44
+ return new TextEncoder().encode(file);
45
+ }
46
+ throw FileSystemProviderError.create('file not found', FileSystemProviderErrorCode.FileNotFound);
47
+ }
48
+ async stat(resource) {
49
+ const file = await this.getExtraLib(resource);
50
+ if (file != null) {
51
+ return {
52
+ type: FileType.File,
53
+ size: file.length,
54
+ mtime: 0,
55
+ ctime: 0
56
+ };
57
+ }
58
+ throw FileSystemProviderError.create('file not found', FileSystemProviderErrorCode.FileNotFound);
59
+ }
60
+ async writeFile() {
61
+ throw FileSystemProviderError.create('not allowed', FileSystemProviderErrorCode.NoPermissions);
62
+ }
63
+ watch() {
64
+ return {
65
+ dispose() { }
66
+ };
67
+ }
68
+ async mkdir() {
69
+ throw FileSystemProviderError.create('Not allowed', FileSystemProviderErrorCode.NoPermissions);
70
+ }
71
+ async readdir() {
72
+ return [];
73
+ }
74
+ async delete() {
75
+ throw FileSystemProviderError.create('Not allowed', FileSystemProviderErrorCode.NoPermissions);
76
+ }
77
+ async rename() {
78
+ throw FileSystemProviderError.create('Not allowed', FileSystemProviderErrorCode.NoPermissions);
79
+ }
80
+ }
81
+ monaco.languages.typescript.typescriptDefaults.setCompilerOptions(compilerOptions);
82
+ monaco.languages.typescript.javascriptDefaults.setCompilerOptions(compilerOptions);
83
+ monaco.languages.typescript.typescriptDefaults.addExtraLib(global, 'global.d.ts');
84
+ monaco.languages.typescript.javascriptDefaults.addExtraLib(global, 'global.d.ts');
85
+ monaco.languages.onLanguage('typescript', async () => {
86
+ registerFileSystemOverlay(-1, new TypescriptWorkerTypeFileSystemProvider(async () => (await monaco.languages.typescript.getTypeScriptWorker())()));
87
+ const types = (await import('../_virtual/typescript-worker-node-types.js').then(module => module)).default;
88
+ for (const [file, content] of Object.entries(types)) {
89
+ monaco.languages.typescript.typescriptDefaults.addExtraLib(content, `node/${file}`);
90
+ }
91
+ });
92
+ monaco.languages.onLanguage('javascript', async () => {
93
+ registerFileSystemOverlay(-1, new TypescriptWorkerTypeFileSystemProvider(async () => (await monaco.languages.typescript.getJavaScriptWorker())()));
94
+ const types = (await import('../_virtual/typescript-worker-node-types.js').then(module => module)).default;
95
+ for (const [file, content] of Object.entries(types)) {
96
+ monaco.languages.typescript.javascriptDefaults.addExtraLib(content, `node/${file}`);
97
+ }
98
+ });
99
+ const workerLoader = () => new Worker(new URL('@codingame/monaco-vscode-standalone-typescript-language-features/worker', import.meta.url));
100
+ registerWorkerLoader('typescript', workerLoader);
101
+ registerWorkerLoader('javascript', workerLoader);
@@ -11,7 +11,7 @@ declare const editorOpenHandlerRegistry: EditorOpenHandlerRegistry;
11
11
  export declare function setUseGlobalPicker(useGlobalPicker?: boolean | (() => boolean)): void;
12
12
  export declare function useGlobalPicker(): boolean;
13
13
  export declare function registerServices(newServices: monaco.editor.IEditorOverrideServices): void;
14
- export declare function generateAndInitializeWorkspace(workspaceFile?: monaco.Uri, label?: string): Promise<IWorkspaceProvider>;
14
+ export declare function generateAndInitializeWorkspace(workspaceFile?: monaco.Uri, label?: string): IWorkspaceProvider;
15
15
  export declare const initializePromise: Promise<void>;
16
16
  export declare function isInitialized(): boolean;
17
17
  export declare function initialize(constructionOptions?: IWorkbenchConstructionOptions, container?: HTMLElement): Promise<void>;
package/dist/services.js CHANGED
@@ -86,7 +86,7 @@ function registerServices(newServices) {
86
86
  ...newServices
87
87
  };
88
88
  }
89
- async function generateAndInitializeWorkspace(workspaceFile = monaco.Uri.file('/workspace.code-workspace'), label) {
89
+ function generateAndInitializeWorkspace(workspaceFile = monaco.Uri.file('/workspace.code-workspace'), label) {
90
90
  registerFile(new RegisteredMemoryFile(workspaceFile, JSON.stringify({
91
91
  folders: [{
92
92
  path: '/tmp/project'
@@ -116,7 +116,7 @@ async function initialize(constructionOptions = {}, container) {
116
116
  if (constructionOptions.workspaceProvider == null) {
117
117
  constructionOptions = {
118
118
  ...constructionOptions,
119
- workspaceProvider: await generateAndInitializeWorkspace()
119
+ workspaceProvider: generateAndInitializeWorkspace()
120
120
  };
121
121
  }
122
122
  await initialize$1(services, container, constructionOptions);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-editor-wrapper",
3
- "version": "7.1.0",
3
+ "version": "7.2.0",
4
4
  "private": false,
5
5
  "description": "Configured monaco-vscode-api with tools and extensions",
6
6
  "scripts": {
@@ -63,6 +63,14 @@
63
63
  "./features/workbench": {
64
64
  "types": "./dist/features/workbench.d.ts",
65
65
  "default": "./dist/features/workbench.js"
66
+ },
67
+ "./features/profile": {
68
+ "types": "./dist/features/profile.d.ts",
69
+ "default": "./dist/features/profile.js"
70
+ },
71
+ "./features/typescriptStandalone": {
72
+ "types": "./dist/features/typescriptStandalone.d.ts",
73
+ "default": "./dist/features/typescriptStandalone.js"
66
74
  }
67
75
  },
68
76
  "typesVersions": {
@@ -93,6 +101,12 @@
93
101
  ],
94
102
  "features/extensionGallery": [
95
103
  "./dist/features/extensionGallery.d.ts"
104
+ ],
105
+ "features/profile": [
106
+ "./dist/features/profile.d.ts"
107
+ ],
108
+ "features/typescriptStandalone": [
109
+ "./dist/features/typescriptStandalone.d.ts"
96
110
  ]
97
111
  }
98
112
  },
@@ -160,6 +174,7 @@
160
174
  "@codingame/monaco-vscode-shellscript-default-extension": "^6.0.1",
161
175
  "@codingame/monaco-vscode-snippets-service-override": "^6.0.1",
162
176
  "@codingame/monaco-vscode-sql-default-extension": "^6.0.1",
177
+ "@codingame/monaco-vscode-standalone-typescript-language-features": "^6.0.3",
163
178
  "@codingame/monaco-vscode-storage-service-override": "^6.0.1",
164
179
  "@codingame/monaco-vscode-swift-default-extension": "^6.0.1",
165
180
  "@codingame/monaco-vscode-terminal-service-override": "^6.0.1",
@@ -170,6 +185,7 @@
170
185
  "@codingame/monaco-vscode-theme-seti-default-extension": "^6.0.1",
171
186
  "@codingame/monaco-vscode-timeline-service-override": "^6.0.1",
172
187
  "@codingame/monaco-vscode-typescript-basics-default-extension": "^6.0.1",
188
+ "@codingame/monaco-vscode-user-data-profile-service-override": "^6.0.1",
173
189
  "@codingame/monaco-vscode-vb-default-extension": "^6.0.1",
174
190
  "@codingame/monaco-vscode-view-status-bar-service-override": "^6.0.1",
175
191
  "@codingame/monaco-vscode-views-service-override": "^6.0.1",
@@ -177,8 +193,8 @@
177
193
  "@codingame/monaco-vscode-working-copy-service-override": "^6.0.1",
178
194
  "@codingame/monaco-vscode-xml-default-extension": "^6.0.1",
179
195
  "@codingame/monaco-vscode-yaml-default-extension": "^6.0.1",
180
- "@codingame/monaco-vscode-user-data-profile-service-override": "^6.0.1",
181
196
  "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@^6.0.1",
197
+ "typescript-worker-node-types": "npm:@types/node@^16.11.7",
182
198
  "vscode": "npm:@codingame/monaco-vscode-api@^6.0.1"
183
199
  },
184
200
  "devDependencies": {