{"_id":"@awmarquis/jest-html-reporter","_rev":"6-bc200900c8388ac29e0a3056dcae34f8","name":"@awmarquis/jest-html-reporter","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@awmarquis/jest-html-reporter","version":"1.0.0","keywords":["jest","reporter","html"],"author":{"name":"Alexander Marquis"},"license":"MIT","_id":"@awmarquis/jest-html-reporter@1.0.0","maintainers":[{"name":"awmarquis","email":"awmarquis@outlook.com"}],"homepage":"https://github.com/alexwmarquis/jest-html-reporter#readme","bugs":{"url":"https://github.com/alexwmarquis/jest-html-reporter/issues"},"dist":{"shasum":"3091351e96c479b087a167966b431034abb3f26e","tarball":"https://registry.npmjs.org/@awmarquis/jest-html-reporter/-/jest-html-reporter-1.0.0.tgz","fileCount":16,"integrity":"sha512-V8peq5X+8HW0EFesTB7QgYf88qbPgo3nM5h+5++m5ru1e11u4UGtuN/2IMfYLzZuewZ2Z8ItLnyablUZ9O0lqw==","signatures":[{"sig":"MEQCIBlle1n1CenrAUON8igGV+ToODg6NkA44hV5VWacxE/mAiBfbVb7cFpnUlX/sl6O90qlG4FqEdGOt/oQRi+MLnPGnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85361},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js","require":"./dist/types.js"}},"gitHead":"762f7a6f0132bbcb7d94e17ef240e54cdea16d9c","scripts":{"dev":"node scripts/dev.js","test":"npm run build && npx jest --config jest.config.js","build":"node scripts/build.js","clean":"rm -rf dist","watch":"npx tsc --watch","prepack":"npm run build","test:all":"npm run test:unit && npm run test:demo","test:demo":"npm run build && npx jest --config jest.config.js","test:only":"npx jest","test:unit":"npm run build && npx jest --config jest.config.unit.js","prepublishOnly":"npm run build && npm run test:unit"},"_npmUser":{"name":"awmarquis","email":"awmarquis@outlook.com"},"repository":{"url":"git+https://github.com/alexwmarquis/jest-html-reporter.git","type":"git"},"_npmVersion":"11.7.0","description":"A beautiful Jest HTML reporter with Bootstrap styling, 6 built-in themes, and extensive customization options","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.69.5","typescript":"^5.3.2","@types/node":"^20.10.0","@jest/reporters":"^29.7.0","@jest/test-result":"^30.2.0"},"peerDependencies":{"jest":">=26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jest-html-reporter_1.0.0_1766116692523_0.48434888855505953","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@awmarquis/jest-html-reporter","version":"1.0.3","keywords":["jest","reporter","html"],"author":{"name":"Alexander Marquis"},"license":"MIT","_id":"@awmarquis/jest-html-reporter@1.0.3","maintainers":[{"name":"awmarquis","email":"awmarquis@outlook.com"}],"homepage":"https://github.com/alexwmarquis/jest-html-reporter#readme","bugs":{"url":"https://github.com/alexwmarquis/jest-html-reporter/issues"},"dist":{"shasum":"6b1ad32ecfd8f1a59da25fc25435313ad9c9ec7e","tarball":"https://registry.npmjs.org/@awmarquis/jest-html-reporter/-/jest-html-reporter-1.0.3.tgz","fileCount":16,"integrity":"sha512-V4RdBV04daXZ6XqXhad0udZ8znjVB3xt8Tb/ca8c2QsGwG3bX9WE9d2s1gcXtv01X9oXgMoj1+RIQ6ZF7879zw==","signatures":[{"sig":"MEQCIFo22iDu1XTfjEdiWW7q/z4EFOAq/ptEwgemhyrNAPTtAiAPWQvsalBoeso8D58hKmFuhXu87Xtka1p92Guscfv58A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97818},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js","require":"./dist/types.js"}},"gitHead":"295c259b8d98d11fadd7a751292cf75469ba9b0b","scripts":{"dev":"node scripts/dev.js","test":"npm run build && npx jest --config jest.config.js","build":"node scripts/build.js","clean":"rm -rf dist","watch":"npx tsc --watch","format":"npx prettier --check .","prepack":"npm run build","test:all":"npm run test:unit && npm run test:demo","test:demo":"npm run build && npx jest --config jest.config.js","test:only":"npx jest","test:unit":"npm run build && npx jest --config jest.config.unit.js","format:fix":"npx prettier --write .","prepublishOnly":"npm run build && npm run test:unit"},"_npmUser":{"name":"awmarquis","email":"awmarquis@outlook.com"},"repository":{"url":"git+https://github.com/alexwmarquis/jest-html-reporter.git","type":"git"},"_npmVersion":"11.7.0","description":"A beautiful Jest HTML reporter with Bootstrap styling, 6 built-in themes, and extensive customization options","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.69.5","prettier":"^3.7.4","typescript":"^5.3.2","@types/node":"^20.10.0","@jest/reporters":"^29.7.0","@jest/test-result":"^30.2.0"},"peerDependencies":{"jest":">=26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jest-html-reporter_1.0.3_1766188498335_0.6723761324419673","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@awmarquis/jest-html-reporter","version":"1.0.4","keywords":["jest","reporter","html"],"author":{"name":"Alexander Marquis"},"license":"MIT","_id":"@awmarquis/jest-html-reporter@1.0.4","maintainers":[{"name":"awmarquis","email":"awmarquis@outlook.com"}],"homepage":"https://github.com/alexwmarquis/jest-html-reporter#readme","bugs":{"url":"https://github.com/alexwmarquis/jest-html-reporter/issues"},"dist":{"shasum":"03128d094e2f1964508c37ac3388a65dd4e9d216","tarball":"https://registry.npmjs.org/@awmarquis/jest-html-reporter/-/jest-html-reporter-1.0.4.tgz","fileCount":16,"integrity":"sha512-smTfv01TxXaIOc4+Ej3pe+NSlthXyHXh1q6RDDiPyvyr9/Xy4HgBX9kvELbXTU/ekerNK9x+dd7XjroM6+nz7Q==","signatures":[{"sig":"MEUCIBpMw8fFNHiZGAUgh7u34FWsoIyc+C/np1GzTG2FAmGpAiEAjr2jKJkfbXcdNJf4zBUrSDUxnF2i/TUzMa6DZzj9vjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104836},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js","require":"./dist/types.js"}},"gitHead":"eaae8ead104e1ead9a1ba7acbb3a4a88b087875d","scripts":{"dev":"node scripts/dev.js","test":"npm run test:unit && npm run test:integration","build":"node scripts/build.js","clean":"rm -rf dist","watch":"npx tsc --watch","format":"npx prettier --check .","prepack":"npm run build","prepare":"husky","test:unit":"npm run build && npx jest --config jest.config.js","typecheck":"tsc --noEmit","format:fix":"npx prettier --write .","prepublishOnly":"npm run build && npm run test","test:integration":"npm run build && npx playwright test"},"_npmUser":{"name":"awmarquis","email":"awmarquis@outlook.com"},"repository":{"url":"git+https://github.com/alexwmarquis/jest-html-reporter.git","type":"git"},"_npmVersion":"11.7.0","description":"A beautiful Jest HTML reporter with Bootstrap styling, 6 built-in themes, and extensive customization options","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.69.5","husky":"^9.1.7","prettier":"^3.7.4","typescript":"^5.3.2","@types/node":"^20.10.0","@jest/reporters":"^29.7.0","@playwright/test":"^1.57.0","@jest/test-result":"^30.2.0"},"peerDependencies":{"jest":">=26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jest-html-reporter_1.0.4_1766264091174_0.9117722613599655","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@awmarquis/jest-html-reporter","version":"1.0.5","keywords":["jest","reporter","html"],"author":{"name":"Alexander Marquis"},"license":"MIT","_id":"@awmarquis/jest-html-reporter@1.0.5","maintainers":[{"name":"awmarquis","email":"awmarquis@outlook.com"}],"homepage":"https://github.com/alexwmarquis/jest-html-reporter#readme","bugs":{"url":"https://github.com/alexwmarquis/jest-html-reporter/issues"},"dist":{"shasum":"e9397edea0bd28821ec9575cc6e88ee67bdef082","tarball":"https://registry.npmjs.org/@awmarquis/jest-html-reporter/-/jest-html-reporter-1.0.5.tgz","fileCount":16,"integrity":"sha512-bzMS/aCqH3coO1FUniEXbxS9eFZhO4n9+sCT8KMSfxunFV2RWkXLautntGiZhbP43I3XgeTIgdrLt3VV64zzSA==","signatures":[{"sig":"MEQCIEtRzhLQGCFSCzY4kR0Nxjtczvov3yGYpohoC8iGUpWwAiB/XIYY7HFSpScJPdg2wvU5StimcaTbks+5y1Jf/HAHZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110705},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js","require":"./dist/types.js"}},"gitHead":"fe042c36b7e01712cc8323f82461e11ba6d1441e","scripts":{"dev":"node scripts/dev.js","test":"npm run test:unit && npm run test:integration","build":"node scripts/build.js","clean":"rm -rf dist","watch":"npx tsc --watch","format":"npx prettier --check .","prepack":"npm run build","prepare":"husky","test:unit":"npm run build && npx jest --config jest.config.js","typecheck":"tsc --noEmit","format:fix":"npx prettier --write .","prepublishOnly":"npm run build && npm run test","test:integration":"npm run build && npx playwright test"},"_npmUser":{"name":"awmarquis","email":"awmarquis@outlook.com"},"repository":{"url":"git+https://github.com/alexwmarquis/jest-html-reporter.git","type":"git"},"_npmVersion":"11.7.0","description":"A beautiful Jest HTML reporter with Bootstrap styling, 6 built-in themes, and extensive customization options","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.69.5","husky":"^9.1.7","prettier":"^3.7.4","typescript":"^5.3.2","@types/node":"^20.10.0","@jest/reporters":"^29.7.0","@playwright/test":"^1.57.0","@jest/test-result":"^30.2.0"},"peerDependencies":{"jest":">=26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jest-html-reporter_1.0.5_1766340161798_0.6159043052065114","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@awmarquis/jest-html-reporter","version":"1.0.6","keywords":["jest","reporter","html"],"author":{"name":"Alexander Marquis"},"license":"MIT","_id":"@awmarquis/jest-html-reporter@1.0.6","maintainers":[{"name":"awmarquis","email":"awmarquis@outlook.com"}],"homepage":"https://github.com/alexwmarquis/jest-html-reporter#readme","bugs":{"url":"https://github.com/alexwmarquis/jest-html-reporter/issues"},"dist":{"shasum":"4136e873545f4603c94752eb58038569fd72a607","tarball":"https://registry.npmjs.org/@awmarquis/jest-html-reporter/-/jest-html-reporter-1.0.6.tgz","fileCount":16,"integrity":"sha512-mZA9jf96Tw0nlAycwSuU6nkpgP0BpT1cFsCCnY1Y8Hv1G9oBrbyOkQ9YUPGtailTngxaC7JYCM+QaGud+3PMJw==","signatures":[{"sig":"MEUCIQDntu6alALjXJ2mdKkp8sM/xo518tYGpvLY/0D1Ye+otgIgccMMjn4dnyVvBS9r+zRZNK8HNtAzDdyQYkqpVTC5MT4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112379},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js","require":"./dist/types.js"}},"gitHead":"4c57e6ec6a53d3690f69445684a17a29a8cf28e7","scripts":{"dev":"node scripts/dev.js","test":"npm run test:unit && npm run test:integration","build":"node scripts/build.js","clean":"rm -rf dist","watch":"npx tsc --watch","format":"npx prettier --check .","prepack":"npm run build","prepare":"husky","test:unit":"npm run build && npx jest --config jest.config.js","typecheck":"tsc --noEmit","format:fix":"npx prettier --write .","test:coverage":"npm run build && npx jest --config jest.config.js --coverage","prepublishOnly":"npm run build && npm run test","test:integration":"npm run build && npx playwright test"},"_npmUser":{"name":"awmarquis","email":"awmarquis@outlook.com"},"repository":{"url":"git+https://github.com/alexwmarquis/jest-html-reporter.git","type":"git"},"_npmVersion":"11.7.0","description":"A beautiful Jest HTML reporter with Bootstrap styling, 6 built-in themes, and extensive customization options","directories":{},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.69.5","husky":"^9.1.7","ts-jest":"^29.4.6","prettier":"^3.7.4","typescript":"^5.3.2","@types/node":"^20.10.0","@jest/reporters":"^29.7.0","@playwright/test":"^1.57.0","@jest/test-result":"^30.2.0"},"peerDependencies":{"jest":">=26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jest-html-reporter_1.0.6_1766460516032_0.7875005353399913","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@awmarquis/jest-html-reporter","version":"1.1.0","description":"A beautiful Jest HTML reporter with Bootstrap styling, 6 built-in themes, and extensive customization options","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","require":"./dist/types.js","default":"./dist/types.js"}},"keywords":["jest","reporter","html"],"author":{"name":"Alexander Marquis"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alexwmarquis/jest-html-reporter.git"},"homepage":"https://github.com/alexwmarquis/jest-html-reporter#readme","bugs":{"url":"https://github.com/alexwmarquis/jest-html-reporter/issues"},"engines":{"node":">=14.0.0"},"peerDependencies":{"jest":">=26.0.0"},"devDependencies":{"@faker-js/faker":"^10.1.0","@jest/reporters":"^29.7.0","@jest/test-result":"^29.7.0","@playwright/test":"^1.57.0","@stylistic/eslint-plugin":"^5.6.1","@types/node":"^20.10.0","eslint":"^9.39.2","eslint-plugin-playwright":"^2.4.0","husky":"^9.1.7","jest":"^29.7.0","prettier":"^3.7.4","sass":"^1.69.5","ts-jest":"^29.4.6","typescript":"^5.3.2","typescript-eslint":"^8.50.1"},"scripts":{"build":"node scripts/build.js","dev":"node scripts/dev.js","watch":"npx tsc --watch","prepublishOnly":"npm run build && npm run test","format":"npx prettier --check .","format:fix":"npx prettier --write .","lint":"npx eslint .","lint:fix":"npx eslint --fix .","test:unit":"npx jest --config jest.config.js","test:coverage":"npx jest --config jest.config.js --coverage","test:integration":"npm run test:unit && npx playwright test","test":"npm run test:integration","clean":"rm -rf dist","prepack":"npm run build","prepare":"husky","typecheck":"tsc --noEmit","precommit":"npm run build && npm run format && npm run lint && npm run typecheck && npm run test"},"publishConfig":{"access":"public"},"gitHead":"f6d8cc93e75456c894ff94930e042dd96d2ca3d8","_id":"@awmarquis/jest-html-reporter@1.1.0","_nodeVersion":"22.13.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-2aiz/C7AVBgsRSICM41783pGk3S0/ntPcDP1VIi1C/V+UzWQhX/EJvZb/knGGLOMR50qB51y1GDjwgjmPRMj5w==","shasum":"4c46eb9e47a4835151a270e817ebd02ddfdde13a","tarball":"https://registry.npmjs.org/@awmarquis/jest-html-reporter/-/jest-html-reporter-1.1.0.tgz","fileCount":16,"unpackedSize":151191,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCqI7H/jywLBUIUN1EbaIJZG6jWFzwAT5fuk9OZkMN5xQIhAMXVe4E8k4A5BlYbI9AHYI4BIRgp6eOYxvNWua7Kd1g3"}]},"_npmUser":{"name":"awmarquis","email":"awmarquis@outlook.com"},"directories":{},"maintainers":[{"name":"awmarquis","email":"awmarquis@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jest-html-reporter_1.1.0_1767267006968_0.5769705135382475"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-19T03:58:12.413Z","modified":"2026-01-01T11:30:07.368Z","1.0.0":"2025-12-19T03:58:12.671Z","1.0.3":"2025-12-19T23:54:58.604Z","1.0.4":"2025-12-20T20:54:51.357Z","1.0.5":"2025-12-21T18:02:41.948Z","1.0.6":"2025-12-23T03:28:36.183Z","1.1.0":"2026-01-01T11:30:07.117Z"},"bugs":{"url":"https://github.com/alexwmarquis/jest-html-reporter/issues"},"author":{"name":"Alexander Marquis"},"license":"MIT","homepage":"https://github.com/alexwmarquis/jest-html-reporter#readme","keywords":["jest","reporter","html"],"repository":{"type":"git","url":"git+https://github.com/alexwmarquis/jest-html-reporter.git"},"description":"A beautiful Jest HTML reporter with Bootstrap styling, 6 built-in themes, and extensive customization options","maintainers":[{"name":"awmarquis","email":"awmarquis@outlook.com"}],"readme":"# @awmarquis/jest-html-reporter\n\nA beautiful, modern Jest HTML reporter with Bootstrap styling and customizable themes. Generate clean, interactive test reports with zero configuration.\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![TypeScript](https://img.shields.io/badge/TypeScript-Ready-3178c6.svg)\n\n## Visual Example\n\n![Jest HTML Reporter](report.png)\n\n## Features\n\n- 🎨 **6 Built-in Themes** - Dark, Light, GitHub, Monokai, Dracula, and Nord\n- 🎛️ **Theme Toggle** - Switch themes directly in the report\n- 📊 **Visual Progress Bar** - See test results at a glance\n- 🔍 **Interactive Filters** - Filter by passed, failed, or skipped tests\n- 📁 **Collapsible Suites** - Expand/collapse test suites for easy navigation\n- ❌ **Detailed Error Messages** - Full stack traces for failed tests\n- ⏱️ **Duration Tracking** - See how long each test and suite takes\n- 🖼️ **Custom Branding** - Add your logo and customize colors\n- 📄 **JSON Export** - Export test data as JSON alongside HTML\n- 🌍 **Environment Info** - Display Node.js, platform, and system info\n- 📋 **Additional Info** - Add custom build/CI metadata to reports\n- ⚙️ **Highly Configurable** - 25+ configuration options\n- 📦 **TypeScript Support** - Full type definitions included\n\n## Installation\n\n```bash\nnpm install --save-dev @awmarquis/jest-html-reporter\n```\n\n## Quick Start\n\nAdd to your `jest.config.js`:\n\n```javascript\nmodule.exports = {\n  reporters: [\n    'default',\n    [\n      '@awmarquis/jest-html-reporter',\n      {\n        outputPath: 'reports/test-report.html',\n        pageTitle: 'My Test Report',\n        theme: 'dark',\n      },\n    ],\n  ],\n};\n```\n\n## Configuration Options\n\n### Output Options\n\n| Option          | Type      | Default              | Description                              |\n| --------------- | --------- | -------------------- | ---------------------------------------- |\n| `outputPath`    | `string`  | `'jest-report.html'` | Path where the HTML report will be saved |\n| `outputJson`    | `boolean` | `false`              | Also output a JSON file with test data   |\n| `minify`        | `boolean` | `true`               | Minify the generated HTML report         |\n| `openOnFailure` | `boolean` | `false`              | Open report in browser when tests fail   |\n\n### Branding & Display\n\n| Option       | Type     | Default              | Description                                |\n| ------------ | -------- | -------------------- | ------------------------------------------ |\n| `pageTitle`  | `string` | `'Jest Test Report'` | Title in the report header and browser tab |\n| `subtitle`   | `string` | -                    | Subtitle shown below the main title        |\n| `logo`       | `string` | -                    | URL or base64 data URI for header logo     |\n| `logoHeight` | `number` | `32`                 | Logo height in pixels                      |\n\n### Visibility Options\n\n| Option               | Type                   | Default      | Description                        |\n| -------------------- | ---------------------- | ------------ | ---------------------------------- |\n| `showPassed`         | `boolean`              | `true`       | Show passed tests                  |\n| `showFailed`         | `boolean`              | `true`       | Show failed tests                  |\n| `showPending`        | `boolean`              | `true`       | Show pending/skipped tests         |\n| `showDuration`       | `boolean`              | `true`       | Show duration times                |\n| `showFilePath`       | `'full' \\| 'filename'` | `'filename'` | Display full path or just filename |\n| `showProgressBar`    | `boolean`              | `true`       | Show the progress bar section      |\n| `includeEnvironment` | `boolean`              | `false`      | Show environment info section      |\n| `additionalInfo`     | `AdditionalInfo`       | -            | Custom key-value info section      |\n\n### Additional Information\n\nDisplay custom metadata in a collapsible section (useful for CI/CD context):\n\n```javascript\n{\n  additionalInfo: {\n    title: 'Build Context',\n    'Build': process.env.CI_BUILD_ID,\n    'Branch': process.env.GIT_BRANCH,\n    'Commit': process.env.GIT_COMMIT?.slice(0, 7),\n    'Pipeline': 'https://github.com/org/repo/actions/runs/12345',\n  }\n}\n```\n\nFeatures:\n\n- **Auto-link detection**: URLs are automatically converted to clickable links\n- **Null filtering**: `undefined`, `null`, and empty string values are automatically hidden\n- **Configurable title**: Set `title` to customize the section header\n- **HTML escaping**: All values are safely escaped\n\nExample with dynamic git info:\n\n```javascript\nconst { execSync } = require('child_process');\n\nconst getGitInfo = () => {\n  try {\n    return {\n      branch: execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf8' }).trim(),\n      commit: execSync('git rev-parse --short HEAD', { encoding: 'utf8' }).trim(),\n    };\n  } catch {\n    return { branch: undefined, commit: undefined };\n  }\n};\n\nconst git = getGitInfo();\n\nmodule.exports = {\n  reporters: [\n    [\n      '@awmarquis/jest-html-reporter',\n      {\n        additionalInfo: {\n          title: 'Build Information',\n          Branch: git.branch,\n          Commit: git.commit,\n        },\n      },\n    ],\n  ],\n};\n```\n\n### Behavior Options\n\n| Option           | Type                                            | Default     | Description                           |\n| ---------------- | ----------------------------------------------- | ----------- | ------------------------------------- |\n| `sort`           | `'default' \\| 'status' \\| 'duration' \\| 'name'` | `'default'` | Sort order for test suites and tests  |\n| `collapsePassed` | `boolean`                                       | `false`     | Auto-collapse passing test suites     |\n| `collapseAll`    | `boolean`                                       | `false`     | Collapse all suites by default        |\n| `expandLevel`    | `number`                                        | `-1`        | Number of suites to expand (-1 = all) |\n| `dateFormat`     | `'locale' \\| 'iso' \\| 'relative'`               | `'locale'`  | Timestamp format                      |\n\n### Theming Options\n\n| Option              | Type              | Default                                             | Description                    |\n| ------------------- | ----------------- | --------------------------------------------------- | ------------------------------ |\n| `theme`             | `ThemePreset`     | `'dark'`                                            | Built-in theme preset          |\n| `customColors`      | `CustomColors`    | -                                                   | Custom color overrides         |\n| `enableThemeToggle` | `boolean`         | `false`                                             | Show theme toggle button       |\n| `customCssPath`     | `string`          | -                                                   | Path to custom CSS file        |\n| `customJsPath`      | `string`          | -                                                   | Path to custom JavaScript file |\n| `fonts`             | `object \\| false` | `{ sans: 'Google Sans', mono: 'Google Sans Code' }` | Font configuration (see below) |\n\n#### Available Themes\n\n- `dark` - VS Code dark (default)\n- `light` - Clean light theme\n- `github` - GitHub-inspired dark\n- `monokai` - Monokai color scheme\n- `dracula` - Dracula theme\n- `nord` - Nord color scheme\n\n#### Custom Colors\n\nOverride any theme color:\n\n```javascript\n{\n  customColors: {\n    bgPrimary: '#1a1a2e',\n    bgSecondary: '#16213e',\n    colorPassed: '#00ff88',\n    colorFailed: '#ff0055',\n    colorAccent: '#00adb5',\n  }\n}\n```\n\nAvailable color keys:\n\n- `bgPrimary`, `bgSecondary`, `bgHover`\n- `textPrimary`, `textSecondary`\n- `borderColor`\n- `colorPassed`, `colorFailed`, `colorSkipped`\n- `colorAccent`\n\n#### Custom Fonts\n\nLoad custom fonts from Google Fonts by specifying font names:\n\n```javascript\n{\n  fonts: {\n    sans: 'Inter',\n    mono: 'Fira Code',\n  }\n}\n```\n\nFor air-gapped environments (no external network), disable font loading entirely:\n\n```javascript\n{\n  fonts: false;\n}\n```\n\nPopular font combinations:\n\n| Sans Font     | Mono Font        | Style                   |\n| ------------- | ---------------- | ----------------------- |\n| Google Sans   | Google Sans Code | Clean, modern           |\n| Inter         | JetBrains Mono   | Developer favorite      |\n| Roboto        | Fira Code        | Material-inspired       |\n| IBM Plex Sans | IBM Plex Mono    | Technical, professional |\n\n## Configuration Example\n\n```javascript\nmodule.exports = {\n  testEnvironment: 'node',\n  reporters: [\n    'default',\n    [\n      '@awmarquis/jest-html-reporter',\n      {\n        outputPath: './reports/test-report.html',\n        outputJson: true,\n        openOnFailure: true,\n\n        pageTitle: 'My Awesome Project',\n        subtitle: 'Test Results',\n        logo: 'https://example.com/logo.png',\n        logoHeight: 40,\n\n        showPassed: true,\n        showFailed: true,\n        showPending: true,\n        showDuration: true,\n        showProgressBar: true,\n        includeEnvironment: true,\n        showFilePath: 'filename',\n        additionalInfo: {\n          title: 'Build Context',\n          Branch: process.env.GIT_BRANCH,\n          Commit: process.env.GIT_COMMIT,\n        },\n\n        sort: 'status',\n        collapsePassed: true,\n        dateFormat: 'relative',\n\n        theme: 'github',\n        enableThemeToggle: true,\n        customColors: {\n          colorAccent: '#58a6ff',\n        },\n      },\n    ],\n  ],\n};\n```\n\n## TypeScript Support\n\nFull TypeScript definitions are included:\n\n```typescript\nimport type {\n  ReporterOptions,\n  ThemePreset,\n  CustomColors,\n  AdditionalInfo,\n} from '@awmarquis/jest-html-reporter';\n\nconst options: ReporterOptions = {\n  theme: 'dracula',\n  customColors: {\n    colorAccent: '#bd93f9',\n  },\n};\n```\n\n## Report Features\n\n### Progress Bar\n\nVisual indicator showing the ratio of passed/failed/skipped tests with a percentage.\n\n### Interactive Filters\n\nClick filter buttons to show only:\n\n- All tests\n- Passed tests\n- Failed tests\n- Skipped/pending tests\n\n### Search\n\nType to filter tests by name in real-time.\n\n### Theme Toggle\n\nWhen `enableThemeToggle: true`, a palette button appears in the bottom-right corner allowing users to switch themes and save their preference.\n\n### Collapsible Suites\n\n- Click any suite header to expand/collapse\n- Failed suites are automatically expanded\n- Use `collapsePassed: true` to auto-collapse passing suites\n\n### Environment Info\n\nWhen `includeEnvironment: true`, displays:\n\n- Node.js version\n- Platform/OS\n- CPU cores\n- Available memory\n\n### Additional Information\n\nWhen `additionalInfo` is configured, displays a collapsible section with custom key-value pairs. Perfect for:\n\n- Build IDs and CI pipeline links\n- Git branch and commit info\n- Environment names (dev/staging/prod)\n- Any custom metadata relevant to your test run\n\n## Development\n\n```bash\ngit clone https://github.com/awmarquis/jest-html-reporter.git\ncd jest-html-reporter\n\nnpm install\n\nnpm run build\n\nnpm test\n\nnpm run dev\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}