Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
845f146e91 | |||
d1f8652fc7 | |||
f717078558 | |||
d2c0e533b5 | |||
d3c7fce595 | |||
570e2d6b3b |
19
changelog.md
19
changelog.md
@ -1,5 +1,24 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-05-26 - 2.2.4 - fix(logging)
|
||||
Improve performance metrics reporting and add local permissions configuration
|
||||
|
||||
- Add .claude/settings.local.json to configure allowed permissions for various commands
|
||||
- Update tstest logging: compute average test duration from actual durations and adjust slowest test display formatting
|
||||
|
||||
## 2025-05-26 - 2.2.3 - fix(readme/ts/tstest.plugins)
|
||||
Update npm package scope and documentation to use '@git.zone' instead of '@gitzone', and add local settings configuration.
|
||||
|
||||
- Changed npm package links and source repository URLs in readme from '@gitzone/tstest' to '@git.zone/tstest'.
|
||||
- Updated comments in ts/tstest.plugins.ts to reflect the correct '@git.zone' scope.
|
||||
- Added .claude/settings.local.json file with local permission settings.
|
||||
|
||||
## 2025-05-26 - 2.2.2 - fix(config)
|
||||
Cleanup project configuration by adding local CLAUDE settings and removing redundant license files
|
||||
|
||||
- Added .claude/settings.local.json with updated permissions for CLI and build tasks
|
||||
- Removed license and license.md files to streamline repository content
|
||||
|
||||
## 2025-05-26 - 2.2.1 - fix(repo configuration)
|
||||
Update repository metadata to use 'git.zone' naming and add local permission settings
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@git.zone/tstest",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.4",
|
||||
"private": false,
|
||||
"description": "a test utility to run tests that match test/**/*.ts",
|
||||
"exports": {
|
||||
|
@ -2,8 +2,8 @@
|
||||
🧪 **A powerful, modern test runner for TypeScript** - making your test runs beautiful and informative!
|
||||
|
||||
## Availabililty and Links
|
||||
* [npmjs.org (npm package)](https://www.npmjs.com/package/@gitzone/tstest)
|
||||
* [code.foss.global (source)](https://code.foss.global/gitzone/tstest)
|
||||
* [npmjs.org (npm package)](https://www.npmjs.com/package/@git.zone/tstest)
|
||||
* [code.foss.global (source)](https://code.foss.global/git.zone/tstest)
|
||||
|
||||
## Why tstest?
|
||||
|
||||
@ -37,9 +37,9 @@
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install --save-dev @gitzone/tstest
|
||||
npm install --save-dev @git.zone/tstest
|
||||
# or with pnpm
|
||||
pnpm add -D @gitzone/tstest
|
||||
pnpm add -D @git.zone/tstest
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tstest',
|
||||
version: '2.2.1',
|
||||
version: '2.2.4',
|
||||
description: 'a test utility to run tests that match test/**/*.ts'
|
||||
}
|
||||
|
@ -425,15 +425,23 @@ export class TsTestLogger {
|
||||
|
||||
// Performance metrics
|
||||
if (this.options.verbose) {
|
||||
const avgDuration = Math.round(totalDuration / summary.totalTests);
|
||||
const slowestTest = this.fileResults
|
||||
.flatMap(r => r.tests)
|
||||
.sort((a, b) => b.duration - a.duration)[0];
|
||||
// Calculate metrics based on actual test durations
|
||||
const allTests = this.fileResults.flatMap(r => r.tests);
|
||||
const testDurations = allTests.map(t => t.duration);
|
||||
const sumOfTestDurations = testDurations.reduce((sum, d) => sum + d, 0);
|
||||
const avgTestDuration = allTests.length > 0 ? Math.round(sumOfTestDurations / allTests.length) : 0;
|
||||
|
||||
// Find slowest test (exclude 0ms durations unless all are 0)
|
||||
const nonZeroDurations = allTests.filter(t => t.duration > 0);
|
||||
const testsToSort = nonZeroDurations.length > 0 ? nonZeroDurations : allTests;
|
||||
const slowestTest = testsToSort.sort((a, b) => b.duration - a.duration)[0];
|
||||
|
||||
this.log(this.format('\n⏱️ Performance Metrics:', 'cyan'));
|
||||
this.log(this.format(` Average per test: ${avgDuration}ms`, 'white'));
|
||||
if (slowestTest) {
|
||||
this.log(this.format(` Slowest test: ${slowestTest.name} (${slowestTest.duration}ms)`, 'yellow'));
|
||||
this.log(this.format(` Average per test: ${avgTestDuration}ms`, 'white'));
|
||||
if (slowestTest && slowestTest.duration > 0) {
|
||||
this.log(this.format(` Slowest test: ${slowestTest.name} (${slowestTest.duration}ms)`, 'orange'));
|
||||
} else if (allTests.length > 0) {
|
||||
this.log(this.format(` All tests completed in <1ms`, 'dim'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ export {
|
||||
tapbundle,
|
||||
};
|
||||
|
||||
// @gitzone scope
|
||||
// @git.zone scope
|
||||
import * as tsbundle from '@git.zone/tsbundle';
|
||||
|
||||
export { tsbundle };
|
||||
|
Reference in New Issue
Block a user