Skip to content

TestForge v1.0.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@rmlev rmlev released this 13 Sep 16:00

This release improves the preset configuration API and clarifies how TestForge is intended to be used in real-world projects.

✨ Highlights

Flexible preset configuration

createTestFramework() now supports two mutually exclusive preset configuration forms:

  • preset — for a single runtime environment;
  • presets — for a registry of named runtime environments.
createTestFramework({
  preset: projectPreset,
});

or:

createTestFramework({
  presets: {
    default: projectPreset,
    i18n: i18nPreset,
  },
});

A single preset is internally treated as the default preset. Named presets can be selected for individual factory invocations through extraOptions.preset.

Project-specific presets

The documentation now makes the intended preset workflow clearer:

  • recommended presets provide a convenient starting point for exploring TestForge;
  • real applications can define project-specific presets;
  • application-specific routes, managed plugins, and plugin defaults belong in project-specific presets;
  • extendPreset() can be used to adapt an existing preset without duplicating it.

Public API improvements

The following types are now available from @testforgejs/vue-test-core:

  • CreateTestFrameworkOptions
  • PresetExtension
  • PluginManifestEntry

📚 Documentation

Updated documentation covers:

  • single vs. multiple preset configuration;
  • preset selection at runtime;
  • project-specific preset authoring;
  • preset composition and runtime boundaries;
  • the role of recommended presets as a starting point rather than a complete application-specific environment.

⚠️ Beta

TestForge is still in beta. The public API is taking shape, but further improvements and adjustments may still happen before 1.0.0.

This release continues the move toward project-specific, declaratively generated testing environments, which will be further supported by the upcoming TestForge CLI.