Skip to content

require-import-fragment doesn't work on Windows #2276

@yoavain-sundaysky

Description

@yoavain-sundaysky

Issue workflow progress

Progress of the issue based on the
Contributor Workflow

  • 1. The issue provides a reproduction available on GitHub, Stackblitz or CodeSandbox

    For example, you can start off by editng the
    'basic' example on Stackblitz.

    Please make sure the graphql-eslint version under package.json matches yours.

  • 2. A failing test has been provided

  • 3. A local solution has been provided

  • 4. A pull request is pending review


Describe the bug

When running on windows, the comparison done between the import absolute path and the available fragments paths is incorrect.
The fragmentsFromSiblings returned from siblings.getFragment(fragmentName) is in the format:
C:/path/to/file/fragment.graphql
While the calculated absolute path of the import in
C:\path\to\file\fragment.graphql

Therefore, this comparison always fails.

source.filePath === importPath

A possible fix can be converting the source.filePath (in 2 places):

path.resolve(source.filePath) === importPath

I will try to open a PR to fix this.
Not sure how to add a test though...

To Reproduce Steps to reproduce the behavior:

Expected behavior

Environment:

  • OS: Windows
  • @graphql-eslint/eslint-plugin: 3.20.1
  • Node.js: 18.20.2 (not relevant)

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions