How come WebStorm displays errors in GraphQL queries within Apollo objects in Vue components or .graphql files?

Encountering a syntax highlighting issue in WebStorm that is leaving me puzzled. I have a valid GraphQL query that functions correctly on my localhost application, yet WebStorm is flagging it with the error message:

unknown field "familyMembers" on object type "Query"

The entire query is being highlighted in red, adding to my confusion. Could the solution lie within tweaking the settings in the apollo.config.js file? If so, any suggestions would be greatly appreciated.

Here's a snippet from HelloWorld.vue:

<script>
import gql from 'graphql-tag';
export default {
  apollo: {
    familyMembers: gql `
    query familyMembers {
        familyMembers {
            id
            firstName
            lastName
        }
    }`
  },
  name: 'HelloWorld',
  props: {
    msg: String
  }
}
</script>

And here's the content of the apollo.config.js file:

module.exports = {
    client: {
        service: {
            name: 'vav',
            // URL to the GraphQL API
            url: 'http://localhost:4000',
        },
        // Files processed by the extension
        includes: [
            'src/**/*.vue',
            'src/**/*.js',
        ],
    },
};

I've also attached some screenshots for reference:

https://i.sstatic.net/zupB7.png

https://i.sstatic.net/IzdWr.png

Answer №1

After some experimentation, I have discovered a way to achieve this without the need for apollo.config.js. Instead, you can create a .graphqlconfig file where you declare the local schema path and endpoint URL like so:

{
  "name": "Untitled GraphQL Schema",
  "schemaPath": "schema.graphql",
  "extensions": {
    "endpoints": {
      "Default GraphQL Endpoint": {
        "url": "http://localhost:4000",
        "headers": {
          "user-agent": "JS GraphQL"
        },
        "introspect": false
      }
    }
  }
}

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Is it appropriate to delete the comma in the Ghost Handlebars Template?

While navigating through the tags, I unexpectedly encountered a comma. This could potentially have an unwanted impact. I attempted to remove the comma, but is there a specific method to eliminate it completely? I referred to the Ghost blog Document for gui ...

The Express.js static() function seems to have trouble serving files from subdirectories that are more than one level deep

My Express.js app has a folder structure displayed on the left. Line 19 utilizes static(). The path for './client' is defined, with path.join() included as well. In the network log on the right, all assets load properly except for the components ...

Is it possible to adjust the size of the new window based on changing requirements?

I have a setup where my JSP file is linked with a JS file. I want a new window to display a photo every time the link is clicked. Currently, everything is working fine and a new window pops up, but it has fixed width and height specifications. else if (na ...

Utilizing AngularJS and ADAL.JS to Define Resource ID (Audience)

Is there a way to utilize adal.js within AngularJS to obtain a bearer token for the audience https://management.azure.com through JavaScript? I have created a client application in Azure AD and configured its permissions to allow access to the "Windows Az ...

"The process of updating a div with MySQL data using Socket.io on Node.js abruptly halts without any error message

Embarking on a new project using socket.io has been quite the learning experience for me as a beginner. Despite extensive research, I managed to reach the desired stage where I have divs dynamically populated with data fetched from MySQL. In my server.js f ...

"Enhance your Django website with a dynamic voting button using AJAX

I am working on a project where I have implemented the following code: (r'^oyla/(\d+)/$', oyla), Here is the view associated with this code snippet: @login_required def oyla(request, id): if request.is_ajax(): entry = Entry.ob ...

Transferring information from the main function to getServerSideProps

I've been facing challenges while trying to pass data from a function component to the getServerSideProps method in Next.js. As a beginner in learning Next.js, I am struggling to understand this concept. My approach involves using context from _app, b ...

A guide to configuring a non-linear step in the yAxis of Highcharts

I am looking to display a chart with the following scale: Higher (increase by one tick from five to maximum) 5 4 3 2 1 0 Lower (decrease by one tick from minimum to 0) I attempted to use min/max or floor/ceiling, but it did not work yAxis: { floor: 0 ...

I successfully implemented the MongoDB connection in my Node.js application, however, it is unfortunately experiencing issues when tested with JMeter

I attempted to establish a connection between JMeter and MongoDB using JavaScript as the scripting language, but encountered failures. The same code worked successfully in Node JS, however, it fails when implemented in JMeter. var mongo = require('m ...

Struggling to successfully validate a user's return value with AJAX

When the user enters incorrect information, I need to ensure that the okLogin variable is set to false and prevent the form from being submitted. However, I have noticed that the return statement in my function is being executed before the ajax call, which ...

Passing an array with pre-defined variables using jQuery's Ajax functionality

Currently, I have a function set up to gather the contents of a form and send it to a PHP page for processing. However, I am facing an issue where no data is reaching the PHP page when sending it via POST or GET methods. function add_new_customer(){ $ ...

Combining jQuery Mobile with PhoneGap to embed an external webpage within a div or iframe

I have been attempting to embed external webpages (such as Facebook pages or Twitter) inside a jqm iframe, but the iframe is not loading. <div data-role="content" > <iframe>http://m.facebook.com/pages</iframe> </div> I have alre ...

Improve rotation smoothness in panorama using arrow keys with Three.js

In order to create an interactive panorama application using three.js based on the example provided Panorama, I needed to incorporate rotation functionality with arrow keys (left and right arrow keys). I implemented an event listener to achieve this, adjus ...

Access information from a service

I have developed a new service named servcises/employees.js: angular.module('dashyAppApp') .service('employees', function () { this.getEmployees = function() { return $.get( '/data/employee.json' ); }; }); ...

When the mouse is released, modify the button

Looking for assistance with changing the background color of a button when clicked, without any post back. I have multiple buttons and want only the clicked one to change color while the others stay the same. Any suggestions on how to achieve this? ...

What is the best way to transfer a property-handling function to a container?

One of the main classes in my codebase is the ParentComponent export class ParentComponent extends React.Component<IParentComponentProps, any> { constructor(props: IParentComponent Props) { super(props); this.state = { shouldResetFoc ...

Guidelines for removing the contents of a div upon clicking a radio button

When a radio button is clicked, the associated div with different input fields will be displayed. I am looking for a way to clear the contents of other divs when a new div is displayed. Any assistance on this matter would be greatly appreciated! ...

Zebra Calendar Alignment Problem

Currently working on an asp.net app and utilizing the Jquery Zebra DatePicker. Encountering an issue where when opening the form in a Jquery dialog, the calendar appears at the bottom of the page instead of within the dialog. A similar problem was discus ...

Loop through an array using a Meteor template

js if (Meteor.isClient) { Template.body.helpers({ fixtures: function () { Meteor.call("checkTwitter", function(error, results) { return results.data.fixtures; }); } }); } if (Meteor.isServer) { Meteor.startup(function ...

Display the data received from the client on the NodeJS server

I have a basic html file that includes the following snippet of javascript: <script type="text/javascript"> $.ajax({ url: 'http://192.168.X.X:8080', data: '{"data": "1"}', dataType: ...