2017-04-10 46 views
0

我有一个私人npm包,其流程类型注释在node_modules下。 我想只包含那个包,所以我不需要为它手动创建libdef。如何在流程中包含特定模块

目录结构

node_modules/ 
    @my-company/private-module1 
    public-module1 
    public-module2 
    . 
    . 
    . 

我尝试以下.flowconfig,但没有奏效。

不起作用

[ignore] 
.*/node_modules/.* 
!./node_modules/@my-company/ 
[include] 
[libs] 
[options] 

无法正常工作或

[ignore] 
.*/node_modules/.* 
[include] 
./node_modules/@my-company/ 
[libs] 
[options] 

我怎样才能做到这一点? 我想我缺少一些基本的东西...

谢谢!

回答

0

我没有一个很好的解决方案,因为它看起来像ocaml正则表达式不允许负面预测。

由于这个原因,我一般都看到,当一个项目需要忽略任何node_modules,那么[ignore]被配置为一个黑名单,其中有很多列表。

由于看起来您似乎忽略了除公司的作用域软件包以外的所有node_modules,所以最好忽略所有不需要流抓取的公共node_modules和任何有作用域的node_modules。

[ignore] 
; Ignore any public packages 
.*/node_modules/[a-zA-Z-]+/.* 

; Ignore specific scoped packages 
.*/node_modules/@ignorescope/.* 

[include] 

[libs] 

[options] 
+0

它的工作原理!我希望有更好的方式来做到这一点,但对我们来说已经够好了。谢谢! – daiki