web icon indicating copy to clipboard operation
web copied to clipboard

Export @web/test-runner-core from @web/test-runner

Open jensk-dev opened this issue 1 year ago • 0 comments

Hi there,

I'm one of the contributors looking to support @web/test-runner in StrykerJS. Because StrykerJS is supposed to work on existing projects utilizing @web/test-runner, we cannot implement @web/test-runner-core components directly.

For instance, we cannot create our own TestRunner because the version of @web/test-runner being used might vary per project, meaning the underlying version of @web/test-runner-core could also differ. Therefore, I'd like to propose exporting some constructs of @web/test-runner-core in @web/test-runner.

This would provide more control to auxiliary tools working with @web/test-runner, whilst ensuring version compatibility between the resolved @web/test-runner-core package and the used @web/test-runner package.

Currently, we depend on the following types being exported from @web/test-runner. This list might and probably will grow as time progresses, but for now, it serves as a proposal to see how the modernweb-dev team feels about this potential change.

  • CoverageConfig
  • SESSION_STATUS
  • TestResult
  • TestRunner
  • TestRunnerCoreConfig
  • TestSuiteResult

The alternative we've explored is resolving @web/test-runner-core directly from the node_modules directory inside a project that depends on @web/test-runner. Although this works, we would prefer not to solve our issue this way, as it's subject to breaking changes as @web/test-runner-core would be considered an internal dependency within this context.

jensk-dev avatar Oct 25 '23 16:10 jensk-dev