{"_id":"@embedunit/reporters-minimal","_rev":"3-b157646260ce5de2bc051d475d7c79a0","name":"@embedunit/reporters-minimal","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@embedunit/reporters-minimal","version":"0.1.0","keywords":["reporter","console","testing","embedded","javascript","test-output"],"author":{"name":"embedunit contributors"},"license":"MIT","_id":"@embedunit/reporters-minimal@0.1.0","maintainers":[{"name":"vuliad","email":"vuliad@gmail.com"}],"homepage":"https://github.com/embedunit/embedunit#readme","bugs":{"url":"https://github.com/embedunit/embedunit/issues"},"dist":{"shasum":"301d9e4698c156d208e292e543a781bf6264dcdb","tarball":"https://registry.npmjs.org/@embedunit/reporters-minimal/-/reporters-minimal-0.1.0.tgz","fileCount":11,"integrity":"sha512-1GLP2TnxtOoRVjUfVzzTfDnoM44XZ0+69gcFKgoOt3mluak8t6q0vaj4mE7uAZx/Sy49ci3aSAcJFGWSfKB9Jg==","signatures":[{"sig":"MEYCIQDpBB2w6zmPms9e+mGZmxLvQXlo78cUatGhK+rtojZiZQIhAKyUUW1fJiaFKiuhN4zqBB/ju1FVRvTMl79lHQ5ljMTp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81194},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fb5a5de5b9a5e8e9a9a8e668d6a9eeb1ef79f4c5","scripts":{"test":"tsx test/run.ts","build":"rollup -c","clean":"rm -rf dist","build:types":"rollup -c --configTypes"},"_npmUser":{"name":"vuliad","email":"vuliad@gmail.com"},"repository":{"url":"git+https://github.com/embedunit/embedunit.git","type":"git","directory":"packages/reporters/minimal"},"_npmVersion":"11.5.1","description":"Minimal console reporter for embedunit","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","dependencies":{"@embedunit/core":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@embedunit/assert":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/reporters-minimal_0.1.0_1768073068931_0.24257077449510955","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@embedunit/reporters-minimal","version":"0.4.0","keywords":["reporter","console","testing","embedded","javascript","test-output"],"author":{"name":"embedunit contributors"},"license":"MIT","_id":"@embedunit/reporters-minimal@0.4.0","maintainers":[{"name":"vuliad","email":"vuliad@gmail.com"}],"homepage":"https://github.com/embedunit/embedunit#readme","bugs":{"url":"https://github.com/embedunit/embedunit/issues"},"dist":{"shasum":"69ef342942dcb2099ad540c7c69a79f616190e92","tarball":"https://registry.npmjs.org/@embedunit/reporters-minimal/-/reporters-minimal-0.4.0.tgz","fileCount":12,"integrity":"sha512-d/6rggMDiGFWjQtOeeSm9Hvsz0b2xrVgAR3rfgANqVeJiXSaREp0c90qxvte8YRDT5SmAT31BSjOs3I6XfiyXQ==","signatures":[{"sig":"MEYCIQDuw0Hmcdldrf0LCmegB97rliOBrJliFdRrsQZe3sE1fQIhANiRVUSSd9BLbRviVwvsUDYhtsL6oQEvcWT4BRTFhaBZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@embedunit%2freporters-minimal@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82277},"main":"./dist/index.cjs","type":"module","_from":"file:embedunit-reporters-minimal-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"tsx test/run.ts","build":"rollup -c","clean":"rm -rf dist","build:types":"rollup -c --configTypes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ae52200-b392-4304-9c3b-883800c33e9d"}},"_resolved":"/tmp/50ed82282bd894c8c13101a66789f8ff/embedunit-reporters-minimal-0.4.0.tgz","_integrity":"sha512-d/6rggMDiGFWjQtOeeSm9Hvsz0b2xrVgAR3rfgANqVeJiXSaREp0c90qxvte8YRDT5SmAT31BSjOs3I6XfiyXQ==","repository":{"url":"git+https://github.com/embedunit/embedunit.git","type":"git","directory":"packages/reporters/minimal"},"_npmVersion":"11.7.0","description":"Minimal console reporter for embedunit","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"@embedunit/core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@embedunit/assert":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/reporters-minimal_0.4.0_1768082111114_0.2607024616352305","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@embedunit/reporters-minimal","version":"0.5.0","description":"Minimal console reporter for embedunit","license":"MIT","author":{"name":"embedunit contributors"},"repository":{"type":"git","url":"git+https://github.com/embedunit/embedunit.git","directory":"packages/reporters/minimal"},"bugs":{"url":"https://github.com/embedunit/embedunit/issues"},"homepage":"https://github.com/embedunit/embedunit#readme","keywords":["reporter","console","testing","embedded","javascript","test-output"],"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"}},"sideEffects":false,"publishConfig":{"access":"public"},"engines":{"node":">=18"},"dependencies":{"@embedunit/core":"0.5.0"},"devDependencies":{"@embedunit/assert":"0.5.0"},"scripts":{"build":"rollup -c","build:types":"rollup -c --configTypes","clean":"rm -rf dist","test":"tsx test/run.ts"},"_id":"@embedunit/reporters-minimal@0.5.0","_integrity":"sha512-lS5ghMY7ilSqqRjWHdFpuQDo2TPY96WjVY8NBkHIeE2AzcF0fOTn4+NlsKlFlA0uisvamBjXw0lTOcxQRy/pUw==","_resolved":"/tmp/b869575d806998b301f50280199c15f4/embedunit-reporters-minimal-0.5.0.tgz","_from":"file:embedunit-reporters-minimal-0.5.0.tgz","_nodeVersion":"20.19.6","_npmVersion":"11.7.0","dist":{"integrity":"sha512-lS5ghMY7ilSqqRjWHdFpuQDo2TPY96WjVY8NBkHIeE2AzcF0fOTn4+NlsKlFlA0uisvamBjXw0lTOcxQRy/pUw==","shasum":"0e7bb287b1b7947bd26600ed76f71fceebcda6aa","tarball":"https://registry.npmjs.org/@embedunit/reporters-minimal/-/reporters-minimal-0.5.0.tgz","fileCount":12,"unpackedSize":82277,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@embedunit%2freporters-minimal@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAbBeDgN0VZeRX5u+GnMCr+Zz+NCPd/EFw3Gj2bdUkUCAiBnXpU4mxKHJ2XO5EeOpsGym2UMAzmg/FOaFldaudVn2w=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ae52200-b392-4304-9c3b-883800c33e9d"}},"directories":{},"maintainers":[{"name":"vuliad","email":"vuliad@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/reporters-minimal_0.5.0_1768221699918_0.9537545075314033"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-10T19:24:28.816Z","modified":"2026-01-12T12:41:40.494Z","0.1.0":"2026-01-10T19:24:29.075Z","0.4.0":"2026-01-10T21:55:11.258Z","0.5.0":"2026-01-12T12:41:40.126Z"},"bugs":{"url":"https://github.com/embedunit/embedunit/issues"},"author":{"name":"embedunit contributors"},"license":"MIT","homepage":"https://github.com/embedunit/embedunit#readme","keywords":["reporter","console","testing","embedded","javascript","test-output"],"repository":{"type":"git","url":"git+https://github.com/embedunit/embedunit.git","directory":"packages/reporters/minimal"},"description":"Minimal console reporter for embedunit","maintainers":[{"name":"vuliad","email":"vuliad@gmail.com"}],"readme":"# @embedunit/reporters-minimal\n\nMinimal console/callback reporter for [embedunit](https://github.com/embedunit/embedunit). Provides utilities for summarizing and formatting test results.\n\n## Installation\n\n```bash\nnpm install @embedunit/reporters-minimal\n```\n\n## API\n\n| Function | Description |\n|----------|-------------|\n| `calculateSummary(results)` | Calculate summary stats from test results |\n| `generateTextReport(results)` | Generate detailed multi-line text report |\n| `generateCompactSummary(results)` | Generate one-line summary with emoji |\n| `generateJsonReport(results)` | Generate JSON report string |\n| `formatSummary(summary)` | Format a summary object as text |\n\n## Usage\n\n```typescript\nimport { runTests } from '@embedunit/core';\nimport {\n  calculateSummary,\n  generateTextReport,\n  generateCompactSummary,\n  generateJsonReport\n} from '@embedunit/reporters-minimal';\n\n// Run tests and get results\nconst results = await runTests();\n\n// Calculate summary\nconst summary = calculateSummary(results);\nconsole.log(summary);\n// { total: 5, passed: 4, failed: 1, skipped: 0, duration: 42.5, success: false, passRate: 80 }\n\n// Generate compact one-liner\nconsole.log(generateCompactSummary(results));\n// \"Ran 5 test(s). 4 passed, 1 failed.\"\n\n// Generate detailed text report\nconsole.log(generateTextReport(results));\n\n// Generate JSON for CI/tooling\nconst json = generateJsonReport(results);\n\n// Compact JSON for size-constrained environments\nconst compact = generateJsonReport(results, { compact: true });\n```\n\n## Options\n\nFunctions accept an optional `ReporterOptions` object:\n\n```typescript\ninterface ReporterOptions {\n  useEmoji?: boolean;  // default: true - use emoji or text ([PASS]/[FAIL])\n  compact?: boolean;   // default: false - minified single-line JSON\n}\n\n// Examples:\ngenerateTextReport(results, { useEmoji: false });\ngenerateCompactSummary(results, { useEmoji: false });\ngenerateJsonReport(results, { compact: true });\n```\n\n## Output Examples\n\n**Compact Summary:**\n```\nRan 5 test(s). 4 passed, 1 failed.\n```\n\n**Text Report:**\n```\nTest Results\n============\n\nRan 5 test(s). 4 passed, 1 failed.\nDuration: 42.50ms\nPass Rate: 80.0%\n\nFailed Tests:\n-------------\n  MyModule > should handle edge case\n     Expected 2 but got 3\n```\n\n**JSON Report:**\n```json\n{\n  \"summary\": {\n    \"total\": 5, \"passed\": 4, \"failed\": 1, \"skipped\": 0,\n    \"duration\": 42.5, \"success\": false, \"passRate\": 80\n  },\n  \"results\": [...]\n}\n```\n\n## Why No TAP or YAML?\n\nTAP and YAML are intentionally not included:\n\n- **TAP**: Embedded runtimes don't integrate with TAP harnesses\n- **YAML**: Requires a parser library; JSON is native to all JS runtimes\n\nJSON with `compact: true` provides efficient machine-readable output without dependencies. YAML may be added as a separate `@embedunit/reporters-yaml` package if needed.\n\n## License\n\nMIT - See [main repository](https://github.com/embedunit/embedunit) for details.\n","readmeFilename":"README.md"}