【问题标题】:Flow Type Ignore all 3rd party libraries流类型忽略所有 3rd 方库
【发布时间】:2021-01-30 14:11:02
【问题描述】:

我们基本上正在从流程类型迁移,并且不想再维持和/或依赖任何第 3 方类型/解决方案。我们可以接受所有这些模块为any,我们不想再使用流类型了。

我们当前的配置是:

[include]
<PROJECT_ROOT>/app/src/client
[ignore]
  .*\.json
  .*\.spec\.js
  .*\.test\.js
[options]
module.system.node.allow_root_relative=true
module.system.node.root_relative_dirname=<PROJECT_ROOT>/app/src/client
module.system.node.resolve_dirname=<PROJECT_ROOT>/node_modules
[version]
  0.134.0

这给我们在 node_modules 本身和“src”代码中带来了大量错误,无法解析第 3 方模块 - 例如:“无法解析模块 'ramda'”。

我们尝试了各种 [declarations] 和 [untyped] 选项,但均未成功。

目录结构为:

/packages
  .flowconfig
  /app
    /src
      /client

所以总结一下我们想要的:

  • node_modules 待解决(导入时应用代码无错误)
  • 节点模块为any
  • node_modules 中没有类型检查

【问题讨论】:

  • 我很好奇为什么?了解您面临的限制以便改进系统会很有帮助。
  • 它主要是关于第三方类型的支持和社区支持。 TS 似乎更广泛采用,“Googlebility”(示例、教程、错误修复等)更好。

标签: javascript flowtype flow-typed


【解决方案1】:

这应该可以在.flowconfig 中使用[untyped] 部分来实现

.flowconfig 文件中的 [untyped] 部分告诉 Flow 不要对匹配指定正则表达式的文件进行类型检查,而是丢弃类型并将模块视为 any

[untyped]
.*/node_modules/.*

Docs

【讨论】:

  • 我猜这部分可行。 node_modules 中的模块仍未解决。
  • 你能分享一个示例回购吗?刚刚测试,它按预期工作
  • 我将其标记为已接受的答案,因为它可能适用于大多数用例。我们还有其他可能与我们的自定义设置有关的问题。我们现在选择了 [untyped] 并通过 flow-typed 手动存根其余部分(尽管一起摆脱 flow-typed 会很好......)
猜你喜欢
  • 2017-08-08
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 2020-01-12
  • 2013-03-09
  • 2019-07-09
  • 1970-01-01
  • 2016-10-22
相关资源
最近更新 更多