Skip to content

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

tiden-javascript

Tiden reporters for JavaScript test frameworks. v1 ships the commons layer and the Playwright, Vitest and Jest reporters, reporting into Tiden's Test Runs API.

Packages

Package Description README
commons — @tiden/reporter-commons Shared reporter core (config, env, narrow API transport, formatting). Not installed directly — a dependency of framework reporters. commons/README.md
playwright — @tiden/playwright-reporter Playwright reporter. Install this in your test project. playwright/README.md
vitest — @tiden/vitest-reporter Vitest reporter. Install this in your test project. vitest/README.md
jest — @tiden/jest-reporter Jest reporter. Install this in your test project. jest/README.md
api-client Private generated OpenAPI snapshot used to check the reporter contract at build time. It is not published to npm. —

Quickstart

npm install --save-dev @tiden/playwright-reporter

Create tiden.config.json in your project root:

{
  "mode": "tiden",
  "tiden": {
    "product": "<product uuid>",
    "api": { "token": "tfy_...", "baseUrl": "https://api.tiden.example" }
  }
}

Register the reporter in playwright.config.ts:

import { defineConfig } from '@playwright/test';

export default defineConfig({
  reporter: [['list'], ['@tiden/playwright-reporter']],
});

See playwright/README.md for the full configuration reference (env vars, annotation API, sharded-CI recipe) and commons/README.md for the shared config/env layer.

For Vitest, install @tiden/vitest-reporter instead and register it under test.reporters in vitest.config.ts:

npm install --save-dev @tiden/vitest-reporter
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: { reporters: ['default', ['@tiden/vitest-reporter', {}]] },
});

See vitest/README.md for its metadata API (withTiden / addTidenId), network-profiler setup file, and configuration reference.

For Jest, install @tiden/jest-reporter and register it under reporters in jest.config.js:

npm install --save-dev @tiden/jest-reporter
module.exports = {
  reporters: ['default', ['@tiden/jest-reporter', {}]],
};

See jest/README.md for its metadata API (tiden.*, which requires --runInBand) and configuration reference. All three reporters read the same tiden.config.json and TIDEN_* environment variables.

API contract strategy

The reporters use only three JSON operations: create a run, report a result batch, and complete a run. Their purpose-built runtime transport and DTOs live in commons/src/client/ instead of pulling the full generated API client into every reporter installation.

The api-client/ workspace is retained as an unpublished generated snapshot. A compile-time contract test compares the reporter DTOs with its OpenAPI-generated models, while wire tests verify paths, bearer auth, payload casing, int64 encoding, error handling, and retries. This keeps drift protection without making @tiden/api-client a public runtime dependency.

Releasing

Push a vX.Y.Z git tag to release: .github/workflows/release.yml builds, tests, and publishes @tiden/reporter-commons, @tiden/playwright-reporter, @tiden/vitest-reporter, and @tiden/jest-reporter to npm at the versions already set in each package's package.json, using npm's OIDC trusted publishing (no NPM_TOKEN secret; provenance attached automatically). The private api-client/ snapshot is never published.

Lineage

Forked from qase-tms/qase-javascript at commit d77a157020fea088ea323050a36b9bf874ad089d (Apache-2.0), trimmed to commons (from qase-javascript-commons), playwright (from qase-playwright), vitest (from qase-vitest), and jest (from qase-jest), all ported at the same commit. The wire transport targets Tiden instead of Qase TestOps, and multi-project (testops_multi) reporting is dropped throughout.

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages