facebook / facebook/flow

Should [ignore] apply to name_mapper aliases?

Open
#2,973 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
22.3k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

`[ignore]` options affect `name_mapper` aliases too. This seems unusual. For example, I would expect this configuration to allow Flow to check and pass `require('./includes/style.scss')` with no errors.

```
[ignore]
.*/node_modules/.*

[options]
module.name_mapper.extension='scss' -> 'empty/object'
```

`empty` is [the npm package](https://www.npmjs.com/package/empty), installed by `npm install` into `node_modules/`.

This configuration fails with;

```
src/main.js:2
2: require('./includes/style.scss');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ./includes/style.scss. Required module not found
```

If the ignore rule is removed it passes, but `flow check --all` is slow and fails on the content of `node_modules/`.

E.g https://github.com/BevanR/Flow-type-ignores-aliases-too

How can I include the `empty` npm package for the purpose of name_mapping/aliasing without also type-checking `/node_modules/` or resorting to `// @flow` comments in all of my files (instead of `flow check --all`)?

Is this supported?

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.