具有测试依赖项的 Pub 转换器

Pub transformer with test dependencies

我有一个 dart 包 (Harvest),其中包含对聚合物的开发(测试)依赖性,我仅将其用于集成测试目的

  dev_dependencies:
    polymer: "^0.16.4+1"
    test: any
  transformers:
  - polymer:
      entry_points:
         - test/harvest_idb_test.html

但是为了 运行 聚合物测试,我需要注册一个聚合物变压器。 运行 除非我将聚合物依赖项移动到项目主要依赖项中,否则此转换器会失败,我真的想避免它,因为它仅用于测试目的。

有没有办法注册一个依赖于开发依赖的转换器,或者我能以某种方式创建一个 dev_transformer 部分。

这样的请求在这里被拒绝了
- https://github.com/dart-lang/pub/issues/1260
- https://github.com/dart-lang/pub/issues/925

两者都提到使用 $include/$exclude 作为解决方法,但这并不能解决您的问题。

还有https://github.com/dart-lang/pub/issues/1324 merged into https://github.com/dart-lang/pub/issues/1183标记为已修复。这看起来应该可行。

我会在 pub 存储库中创建一个新问题。

如果您使用 $include 只包含测试目录中的文件,那么您可以将其保留为 dev_dependency。当您的包被用作其他包的依赖项时,转换器不会尝试加载。例如:

dev_dependencies:
  polymer: "^0.16.4+1"
  test: any
transformers:
- polymer:
    entry_points:
      - test/harvest_idb_test.html
    $include: test/**_test{.*,}.{dart,html}