diff --git a/.changeset/fluffy-rice-push.md b/.changeset/fluffy-rice-push.md new file mode 100644 index 0000000000..032d580c6b --- /dev/null +++ b/.changeset/fluffy-rice-push.md @@ -0,0 +1,30 @@ +--- +'@backstage/create-app': patch +--- + +Fixing dependency resolution for problematic library `graphql-language-service-interface`. + +This change might not have to be applied to your local installation, however if you run into this error: + +``` +Error: Failed to compile. +/tmp/backstage-e2e-uMeycm/test-app/node_modules/graphql-language-service-interface/esm/GraphQLLanguageService.js 100:23 +Module parse failed: Unexpected token (100:23) +You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders +| } +| let customRules = null; +> if (extensions?.customValidationRules && +| typeof extensions.customValidationRules === 'function') { +| customRules = extensions.customValidationRules(this._graphQLConfig); +``` + +You can fix it by adding the following to the root `package.json`. + +```json +... +"resolutions": { + "graphql-language-service-interface": "2.8.2", + "graphql-language-service-parser": "1.9.0" + }, +... +``` diff --git a/package.json b/package.json index fcabe5b3e5..d87b98fbdb 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,9 @@ "resolutions": { "**/@roadiehq/**/@backstage/core": "*", "**/@roadiehq/**/@backstage/plugin-catalog": "*", - "**/@roadiehq/**/@backstage/catalog-model": "*" + "**/@roadiehq/**/@backstage/catalog-model": "*", + "graphql-language-service-interface": "2.8.2", + "graphql-language-service-parser": "1.9.0" }, "version": "1.0.0", "devDependencies": { diff --git a/packages/create-app/templates/default-app/package.json.hbs b/packages/create-app/templates/default-app/package.json.hbs index d7f7fbafaf..7ae86c0fbc 100644 --- a/packages/create-app/templates/default-app/package.json.hbs +++ b/packages/create-app/templates/default-app/package.json.hbs @@ -22,6 +22,10 @@ "create-plugin": "backstage-cli create-plugin --scope internal --no-private", "remove-plugin": "backstage-cli remove-plugin" }, + "resolutions": { + "graphql-language-service-interface": "2.8.2", + "graphql-language-service-parser": "1.9.0" + }, "workspaces": { "packages": [ "packages/*", diff --git a/yarn.lock b/yarn.lock index cf967cf96f..f4843d960e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14492,7 +14492,7 @@ graphql-extensions@^0.12.8: apollo-server-env "^3.0.0" apollo-server-types "^0.6.3" -graphql-language-service-interface@^2.8.2: +graphql-language-service-interface@2.8.2, graphql-language-service-interface@^2.8.2: version "2.8.2" resolved "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-2.8.2.tgz#b3bb2aef7eaf0dff0b4ea419fa412c5f66fa268b" integrity sha512-otbOQmhgkAJU1QJgQkMztNku6SbJLu/uodoFOYOOtJsizTjrMs93vkYaHCcYnLA3oi1Goj27XcHjMnRCYQOZXQ==