从dartanalyzer中排除所有生成的代码

umuewwlo  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(155)

我尝试使用以下analysis_options.yaml文件从软件包中排除所有生成的文件。

include: package:pedantic/analysis_options.yaml
analyzer:
    strong-mode:
        implicit-casts: false
        implicit-dynamic: false
    exclude:
        - lib/**.g.dart

我仍然得到一个名为lib/store/state/presentations_state.g.dart的文件的错误,违反了implicit_dynamic_parameter的规则。如果我排除没有lib/前缀的**.g.dartdartanalyzer工作正常,但是dart-code.dart-code VS代码插件报告Undefined alias. dart(parse_error)在YAML文件的第一行,留下整个项目标记为有错误。
我可以在两个具有多个包和单个包的monorepos中重现这一点。

b1uwtaje

b1uwtaje1#

我把下面的代码放到analysis_options.yaml中,它对我很有效:

analyzer:
  exclude:
    - '**.freezed.dart'
    - '**.g.dart'
    - '**.gr.dart'
    - '**/generated_plugin_registrant.dart'

不再分析与模式匹配的所有文件,无论其在文件路径中的位置如何。
引号是防止yaml中出现语法错误所必需的

pdtvr36n

pdtvr36n2#

See https://github.com/dart-lang/source_gen/tree/master/source_gen#configuring-combining_builder-ignore_for_file
Assuming the generator you use is based on package:source_gen you can use this trick to create the right ignores in the generated file!
https://github.com/kevmoo/peanut.dart/commit/9877105daecf59b8f5eb25431ac691a38a3e636chttps://github.com/kevmoo/stats/commit/bb2fefaa22fc11c10acfe2f6418b3abba1e51909https://github.com/kevmoo/build_cli/commit/619495c91caab873c2f48ac36a941c893d9b86b7

相关问题