From 0e2c1a020cc2761155f7c9467d3ed4cb45941aeb Mon Sep 17 00:00:00 2001 From: i18u Date: Fri, 29 Oct 2021 19:49:04 +0800 Subject: [PATCH] fix: `monaco-graphql` worker issue, es module config should use `esNext ` (#1979) * fix: fix failed to create graphql worker * Update workerManager.ts Co-authored-by: Rikki Schulte --- .changeset/afraid-nails-trade.md | 6 ++++++ packages/graphql-language-service/package.json | 4 +++- packages/monaco-graphql/src/GraphQLWorker.ts | 11 +++++++++++ packages/monaco-graphql/src/monaco.contribution.ts | 2 +- packages/monaco-graphql/src/workerManager.ts | 6 +++--- packages/monaco-graphql/tsconfig.esm.json | 2 +- 6 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 .changeset/afraid-nails-trade.md diff --git a/.changeset/afraid-nails-trade.md b/.changeset/afraid-nails-trade.md new file mode 100644 index 00000000000..332c405cdfd --- /dev/null +++ b/.changeset/afraid-nails-trade.md @@ -0,0 +1,6 @@ +--- +"graphql-language-service": patch +"monaco-graphql": patch +--- + +fix: export `monaco-graphql` esm with esm modules, also fix issues with worker manager, resolves #1706 & #1791 diff --git a/packages/graphql-language-service/package.json b/packages/graphql-language-service/package.json index 9064e4117c8..e85c99dc55b 100644 --- a/packages/graphql-language-service/package.json +++ b/packages/graphql-language-service/package.json @@ -31,7 +31,9 @@ }, "dependencies": { "graphql-language-service-interface": "^2.8.2", - "graphql-language-service-types": "^1.8.0" + "graphql-language-service-parser": "^1.9.2", + "graphql-language-service-types": "^1.8.2", + "graphql-language-service-utils": "^2.5.3" }, "devDependencies": { "graphql": "experimental-stream-defer" diff --git a/packages/monaco-graphql/src/GraphQLWorker.ts b/packages/monaco-graphql/src/GraphQLWorker.ts index 452694a7c19..038f85b1fe8 100644 --- a/packages/monaco-graphql/src/GraphQLWorker.ts +++ b/packages/monaco-graphql/src/GraphQLWorker.ts @@ -124,3 +124,14 @@ export class GraphQLWorker { return ''; } } + +export default { + GraphQLWorker, +}; + +export function create( + ctx: worker.IWorkerContext, + createData: ICreateData, +): GraphQLWorker { + return new GraphQLWorker(ctx, createData); +} diff --git a/packages/monaco-graphql/src/monaco.contribution.ts b/packages/monaco-graphql/src/monaco.contribution.ts index 5e00daf6f78..64f7645ef6e 100644 --- a/packages/monaco-graphql/src/monaco.contribution.ts +++ b/packages/monaco-graphql/src/monaco.contribution.ts @@ -13,7 +13,7 @@ import { modeConfigurationDefault, } from './api'; -import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; +import * as monaco from 'monaco-editor'; export * from './typings'; diff --git a/packages/monaco-graphql/src/workerManager.ts b/packages/monaco-graphql/src/workerManager.ts index 8e05eafb361..9fea774f8f9 100644 --- a/packages/monaco-graphql/src/workerManager.ts +++ b/packages/monaco-graphql/src/workerManager.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import { editor as monacoEditor } from 'monaco-editor/esm/vs/editor/editor.api'; +import { editor as monacoEditor } from 'monaco-editor'; import { LanguageServiceAPI } from './api'; import { GraphQLWorker } from './GraphQLWorker'; @@ -68,7 +68,7 @@ export class WorkerManager { if (!this._client) { this._worker = monacoEditor.createWebWorker({ // module that exports the create() method and returns a `GraphQLWorker` instance - moduleId: 'vs/language/graphql/graphqlWorker', + moduleId: 'monaco-graphql/esm/GraphQLWorker.js', label: this._defaults.languageId, // passed in to the create() method @@ -86,7 +86,7 @@ export class WorkerManager { try { this._client = await this._worker.getProxy(); } catch (error) { - throw Error('Error loading serviceworker proxy'); + // throw Error(error); } } return this._client as GraphQLWorker; diff --git a/packages/monaco-graphql/tsconfig.esm.json b/packages/monaco-graphql/tsconfig.esm.json index 4dcc29b406e..91313bd558f 100644 --- a/packages/monaco-graphql/tsconfig.esm.json +++ b/packages/monaco-graphql/tsconfig.esm.json @@ -1,7 +1,7 @@ { "extends": "../../resources/tsconfig.base.esm.json", "compilerOptions": { - "module": "amd", + "module": "ESNext", "moduleResolution": "node", "baseUrl": ".", "rootDir": "./src",