github remix-run/remix test@0.2.0
test v0.2.0

latest releases: ui@0.1.0, terminal@0.1.0, static-middleware@0.4.7...
5 hours ago

Minor Changes

  • Add glob.exclude config for filtering paths during test discovery (defaults to node_modules/**)

  • Add code coverage reporting to remix-test

    • You can enable coverage with default settings vis remix-test --coverage or setting coverage:true in your remix-test.config.ts
    • Or you can specify individual coverage settings via the following config fields:
      • coverage.dir: Directory to store coverage information (default .coverage)
      • coverage.include: Array of globs for files to include in coverage
      • coverage.exclude: Array of globs for files to exclude from coverage
      • coverage.statements: Percentage threshold for statement coverage
      • coverage.lines: Percentage threshold for line coverage
      • coverage.branches: Percentage threshold for branch coverage
      • coverage.functions: Percentage threshold for function coverage
  • Export runRemixTest from @remix-run/test/cli so other tools can run the Remix test runner programmatically without exiting the host process. The function returns an exit code so callers can decide how to terminate. The remix-test executable now declares Node.js 24.3.0 or later in package metadata.

Patch Changes

  • Internal refactor to test discovery to better support test execution in bun.

    • Unlike Node, Bun's fs.promises.glob follows symbolic links and does not prune traversal via the exclude option, which can cause the test runner to enter node_modules symlink cycles in pnpm workspaces
    • Refactored the internal test discovery logic to detect and use Bun's native Glob class when running under the Bun runtime. Bun's Glob#scan does not follow symlinks by default, avoiding the cycle.
    • The Node runtime continues to use fs.promises.glob
  • Use native dynamic import() in Bun to load .ts and .tsx files in the test runner

  • Bumped @remix-run/* dependencies:

Don't miss a new remix release

NewReleases is sending notifications on new releases.