facebook / facebook/relay

hooks.js.flow busted: Cannot resolve module ./relay-experimental/loadQuery (and many more)

Open
#3,147 3 comments 0 reactions 0 assignees View on GitHub
wontfix
Dominant language
Rust
Stars
19k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

```
flow-bin: 0.13.0
react-relay: 10.0.1
```

After upgrading to the latest version of react-relay and flow, I'm getting the following errors:

```
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ client/node_modules/react-relay/hooks.js.flow:19:27

Cannot resolve module ./relay-experimental/loadQuery. [cannot-resolve-module]

16│ const RelayEnvironmentProvider = require('./relay-experimental/RelayEnvironmentProvider');
17│
18│ const fetchQuery = require('./relay-experimental/fetchQuery');
19│ const loadQuery = require('./relay-experimental/loadQuery');
20│
21│ const loadEntryPoint = require('./relay-experimental/loadEntryPoint');
22│

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ client/node_modules/react-relay/hooks.js.flow:21:32

Cannot resolve module ./relay-experimental/loadEntryPoint. [cannot-resolve-module]

18│ const fetchQuery = require('./relay-experimental/fetchQuery');
19│ const loadQuery = require('./relay-experimental/loadQuery');
20│
21│ const loadEntryPoint = require('./relay-experimental/loadEntryPoint');
22│
23│ const useBlockingPaginationFragment = require('./relay-experimental/useBlockingPaginationFragment');
24│ const useEntryPointLoader = require('./relay-experimental/useEntryPointLoader');

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ client/node_modules/react-relay/hooks.js.flow:23:47

Cannot resolve module ./relay-experimental/useBlockingPaginationFragment. [cannot-resolve-module]

20│
21│ const loadEntryPoint = require('./relay-experimental/loadEntryPoint');
22│
23│ const useBlockingPaginationFragment = require('./relay-experimental/useBlockingPaginationFragment');
24│ const useEntryPointLoader = require('./relay-experimental/useEntryPointLoader');
25│ const useFragment = require('./relay-experimental/useFragment');
26│ const useLazyLoadQuery = require('./relay-experimental/useLazyLoadQuery');
```

and I suspect it's because `react-relay/hooks.js.flow` references relative files:
```
const useBlockingPaginationFragment = require('./relay-experimental/useBlockingPaginationFragment');
const useEntryPointLoader = require('./relay-experimental/useEntryPointLoader');
const useFragment = require('./relay-experimental/useFragment');
const useLazyLoadQuery = require('./relay-experimental/useLazyLoadQuery');
const useMutation = require('./relay-experimental/useMutation');
const usePaginationFragment = require('./relay-experimental/usePaginationFragment');
const usePreloadedQuery = require('./relay-experimental/usePreloadedQuery');
const useQueryLoader = require('./relay-experimental/useQueryLoader');
const useRefetchableFragment = require('./relay-experimental/useRefetchableFragment');
const useRelayEnvironment = require('./relay-experimental/useRelayEnvironment');
const useSubscribeToInvalidationState = require('./relay-experimental/useSubscribeToInvalidationState')
const useSubscription = require('./relay-experimental/useSubscription');
```

These files are not available at `./relay-experimental/*` but they are available at `./lib/relay-experimental/*`.

`.flowconfig`:

```
[ignore]
.*/test
.*/client/bin
.*/server/bin
.*/test/bin
.*/declarations
.*/img/svg/.*
.*/node_modules/graphql
.*/server/node_modules/graphql
.*/server/node_modules/express-graphql

[include]

[libs]
declarations
flow-typed

[options]
esproposal.class_instance_fields=enable
esproposal.optional_chaining=enable
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.