
Security News
TC39 Advances Temporal to Stage 4 Alongside Several ECMAScript Proposals
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.
@flakiness/sdk
Advanced tools
Comprehensive SDK for creating and managing Flakiness JSON Reports in Node.js
The Flakiness SDK provides a comprehensive set of tools for creating and managing Flakiness JSON Reports in Node.js.
npm i @flakiness/sdk @flakiness/flakiness-report
Here's a minimal example of creating a Flakiness JSON Report:
import { FlakinessReport } from '@flakiness/flakiness-report';
import {
GitWorktree,
ReportUtils,
writeReport,
uploadReport,
CIUtils
} from '@flakiness/sdk';
// Initialize git worktree and environment
const worktree = GitWorktree.create(process.cwd());
const env = ReportUtils.createEnvironment({ name: 'CI' });
// Create a simple test report
const report: FlakinessReport.Report = {
category: 'testreport',
commitId: worktree.headCommitId(),
url: CIUtils.runUrl(),
environments: [env],
suites: [{
title: 'My Test Suite',
type: 'describe',
tests: [{
title: 'My Test',
location: { file: 'test.spec.ts', line: 10, column: 1 },
attempts: [{
environmentIdx: 0,
status: 'passed',
expectedStatus: 'passed',
duration: 100 as FlakinessReport.DurationMS,
}],
}],
}],
startTimestamp: Date.now() as FlakinessReport.UnixTimestampMS,
duration: 100 as FlakinessReport.DurationMS,
};
// Write report to disk or upload to Flakiness.io
await writeReport(report, [], './flakiness-report');
// Or: await uploadReport(report, [], { flakinessAccessToken: 'your-token' });
The SDK provides two entry points:
@flakiness/sdkThe main entry point for Node.js environments. Provides full access to all SDK functionality including:
@flakiness/sdk/browserA browser-compatible entry point with a subset of utilities that work in browser environments. Exports:
ReportUtils - Browser-safe utilities (normalizeReport, stripAnsi, visitTests)Use this entry point when you need to process or manipulate reports in browser-based tools or web applications.
CIUtils - Utilities to extract CI/CD information (run URLs, environment detection)GithubOIDC - GitHub Actions OIDC integration for passwordless Flakiness.io authenticationGitWorktree - Git repository utilities for path conversion and commit informationReportUtils - Namespace with utilities for report creation and manipulation:
createEnvironment() - Create environment objects with system informationnormalizeReport() - Deduplicate environments, suites, and testscollectSources() - Extract source code snippets for locations in the reportstripAnsi() - Remove ANSI escape codes from stringsvisitTests() - Recursively visit all tests in a reportcreateFileAttachment() / createDataAttachment() - Create report attachmentsCPUUtilization - Track CPU utilization over time via periodic samplingRAMUtilization - Track RAM utilization over time via periodic samplingreadReport() - Read a Flakiness report and its attachments from diskshowReport() - Start a local server and open the report in your browseruploadReport() - Upload reports and attachments to Flakiness.iowriteReport() - Write reports to disk in the standard Flakiness report formatuploadReport() authenticates using one of the following methods (in order of priority):
Access token — pass flakinessAccessToken option or set the FLAKINESS_ACCESS_TOKEN environment variable.
GitHub Actions OIDC — when running inside GitHub Actions, uploadReport can authenticate automatically without an access token. This works when both conditions are met:
flakinessProject set to a flakiness project identifier (e.g. "org/proj").Your GitHub Actions workflow must grant the id-token: write permission:
permissions:
id-token: write
const report: FlakinessReport.Report = {
flakinessProject: 'my-org/my-project',
// ... rest of the report
};
// No access token needed — OIDC authentication is used automatically.
await uploadReport(report, attachments);
If neither method is available, the upload is skipped with a 'skipped' status.
FAQs
Comprehensive SDK for creating and managing Flakiness JSON Reports in Node.js
The npm package @flakiness/sdk receives a total of 1,110 weekly downloads. As such, @flakiness/sdk popularity was classified as popular.
We found that @flakiness/sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.

Research
/Security News
Since January 31, 2026, we identified at least 72 additional malicious Open VSX extensions, including transitive GlassWorm loader extensions targeting developers.

Research
Six malicious Packagist packages posing as OphimCMS themes contain trojanized jQuery that exfiltrates URLs, injects ads, and loads FUNNULL-linked redirects.