{"id":"@lssm-tech/lib.testing-helpers","slug":"lib.testing-helpers","name":"@lssm-tech/lib.testing-helpers","version":"2.0.4","path":"packages/tools/testing-helpers","manifestPath":"packages/tools/testing-helpers/package.json","manifestBlobSha":"a4eeedf2d46da2da5e6d6663384219748631b80c","layer":"tools","physicalArea":null,"primaryArea":"observability-and-testing","classification":{"privateDeclared":null,"catalogFamily":"sharedLibs","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Shared test infrastructure helpers for Phase 1 / Phase 3 cockpit-kit extraction","descriptionOrigin":"package.json","catalog":{"family":"sharedLibs","kind":"library","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./assertHashDistinct","./assertTypeNarrows","./stableStringDiff"],"documentation":[{"title":"Lib Testing Helpers documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.testing-helpers","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.testing.helpers","title":"Lib Testing Helpers","description":"Shared test infrastructure helpers for Phase 1 / Phase 3 cockpit-kit extraction","status":"active","useCases":["Adopt shared test infrastructure helpers for phase 1 / phase 3 cockpit-kit extraction"],"aliases":["contractspec","testing","helpers","typescript","lib"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.testing-helpers","symbols":[]},{"from":"@lssm-tech/lib.testing-helpers/assertHashDistinct","symbols":[]},{"from":"@lssm-tech/lib.testing-helpers/assertTypeNarrows","symbols":[]},{"from":"@lssm-tech/lib.testing-helpers/stableStringDiff","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.testing-helpers package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.testing.helpers","from":"@lssm-tech/lib.testing-helpers","symbols":[]},{"capabilityId":"package.lssm.tech.lib.testing.helpers","from":"@lssm-tech/lib.testing-helpers/assertHashDistinct","symbols":[]},{"capabilityId":"package.lssm.tech.lib.testing.helpers","from":"@lssm-tech/lib.testing-helpers/assertTypeNarrows","symbols":[]},{"capabilityId":"package.lssm.tech.lib.testing.helpers","from":"@lssm-tech/lib.testing-helpers/stableStringDiff","symbols":[]}],"scripts":{"clean":"rm -rf dist","lint":"bun run lint:fix","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","lint:check":"node ../../../scripts/biome.cjs check .","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","prebuild":"contractspec-bun-build prebuild","test":"bun test --pass-with-no-tests","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:","@lssm-tech/tool.bun":"workspace:*"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./assertHashDistinct":"./src/assertHashDistinct.ts","./assertTypeNarrows":"./src/assertTypeNarrows.ts","./stableStringDiff":"./src/stableStringDiff.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./assertHashDistinct":{"types":"./dist/assertHashDistinct.d.ts","browser":"./dist/browser/assertHashDistinct.js","bun":"./dist/assertHashDistinct.js","node":"./dist/node/assertHashDistinct.js","default":"./dist/assertHashDistinct.js"},"./assertTypeNarrows":{"types":"./dist/assertTypeNarrows.d.ts","browser":"./dist/browser/assertTypeNarrows.js","bun":"./dist/assertTypeNarrows.js","node":"./dist/node/assertTypeNarrows.js","default":"./dist/assertTypeNarrows.js"},"./stableStringDiff":{"types":"./dist/stableStringDiff.d.ts","browser":"./dist/browser/stableStringDiff.js","bun":"./dist/stableStringDiff.js","node":"./dist/node/stableStringDiff.js","default":"./dist/stableStringDiff.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.testing-helpers","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/tools/testing-helpers/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/testing-helpers/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./assertHashDistinct","importPath":"@lssm-tech/lib.testing-helpers/assertHashDistinct","target":"./src/assertHashDistinct.ts","targets":[{"conditions":[],"target":"./src/assertHashDistinct.ts","sourcePath":"packages/tools/testing-helpers/src/assertHashDistinct.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/testing-helpers/src/assertHashDistinct.ts","sourceStatus":"verified source file"}]},{"subpath":"./assertTypeNarrows","importPath":"@lssm-tech/lib.testing-helpers/assertTypeNarrows","target":"./src/assertTypeNarrows.ts","targets":[{"conditions":[],"target":"./src/assertTypeNarrows.ts","sourcePath":"packages/tools/testing-helpers/src/assertTypeNarrows.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/testing-helpers/src/assertTypeNarrows.ts","sourceStatus":"verified source file"}]},{"subpath":"./stableStringDiff","importPath":"@lssm-tech/lib.testing-helpers/stableStringDiff","target":"./src/stableStringDiff.ts","targets":[{"conditions":[],"target":"./src/stableStringDiff.ts","sourcePath":"packages/tools/testing-helpers/src/stableStringDiff.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/testing-helpers/src/stableStringDiff.ts","sourceStatus":"verified source file"}]}],"entryCount":4,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Testing Helpers documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.testing-helpers","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/testing-helpers","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/testing-helpers/package.json","readme":null,"guide":null},"readme":{"status":"missing at source snapshot","body":null,"sourcePath":null,"sourceUrl":null,"blobSha":null,"sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":null,"integrity":null,"executionStatus":"not applicable"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"observability-and-testing","areaTitle":"Observability, testing and qualification","displayName":"lib.testing-helpers","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.testing-helpers/","contextUrl":"/docs/packages/lib.testing-helpers.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}