{"_id":"bupkis","_rev":"33-a8f4515bfd955b216885b558f560dae7","name":"bupkis","dist-tags":{"latest":"1.1.0"},"versions":{"0.0.2":{"name":"bupkis","version":"0.0.2","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.0.2","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://github.com/boneskull/bupkis#readme","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"402db856204cfafeb9ba2ea58425424d8654f87b","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.0.2.tgz","fileCount":32,"integrity":"sha512-UM/bszEa2tZgDybBwtXkoGw+CxpgRGnWCThBXpeqr5T3POYBm5ow57Mgducl6y0eYq2wtgDsezDIa4p+NEBe8w==","signatures":[{"sig":"MEYCIQCpHtRpRiE/OheOP2x3xKCUTXA3PI6007BtiDNdP1Jk+gIhALg4Aid71avovfKl1lRY57eVgTk6GWfc7Eo4yF/y2J8j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170676},"knip":{"node":{"entry":["test/**/*.test.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts"],"ignoreDependencies":["@types/wallabyjs","serve"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"bf87ddff368711f377fbf82a3970bf816f3c449b","scripts":{"dev":"tshy --watch","lint":"eslint .","test":"node --import tsx --test \"test/**/*.ts\"","build":"tshy","serve":"serve docs","prepare":"husky","dev:docs":"run-p build:docs:watch serve","lint:fix":"eslint . --fix","build:docs":"typedoc","lint:types":"tsc -b .config/tsconfig.eslint.json","test:watch":"node --import tsx --test \"test/**/*.ts\" --watch","lint:commit":"commitlint","lint:staged":"lint-staged","test:property":"node --import tsx --test \"test/property/**/*.test.ts\"","lint:types:dev":"npm run --silent lint:types -- --watch","build:docs:watch":"npm run --silent build:docs -- --watch","test:property:dev":"node --import tsx --test --watch \"test/property/**/*.test.ts\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.3.0","description":"<p align=\"center\">   <img src=\"https://github.com/boneskull/bupkis/blob/main/assets/bupkis-logo-256.png\" width=\"256px\" align=\"center\" alt=\"BUPKIS logo\"/>   <h1 align=\"center\"><em><span class=\"federo-caps\">BUPKIS<span></em></h1>   <p align=\"center\">     A ","directories":{},"lint-staged":{"*.{ts,cts,js,json,md,yml,json5}":["eslint --fix","prettier --write"]},"_nodeVersion":"24.2.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","knip":"5.62.0","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","eslint":"9.33.0","typedoc":"0.28.12","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.33.0","fast-check":"4.2.0","typescript":"5.9.2","@types/node":"22.7.4","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.5","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","typescript-eslint":"8.40.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","typedoc-github-theme":"0.3.1","prettier-plugin-jsdoc":"1.3.3","@stylistic/eslint-plugin":"5.2.3","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.0.2_1757231379934_0.7039575270298082","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"bupkis","version":"0.1.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.1.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"431316226bbe6d7e806f379ec3ccd77e39eb1f94","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.1.0.tgz","fileCount":32,"integrity":"sha512-1WQQcEizrcm15Hcu3wR/N2e9DRMRri9K+d+WCBEJWVccvbF5vGM5THRi9F0vvOHq3WKbrEk8z9s4lVTEytHS6Q==","signatures":[{"sig":"MEYCIQDnvlq6idga3My29zkrfPjV6FWFWr0KaaIzaXkT+uv0AAIhAMEk8OhI9kJ3cfbOd2pU2ytK4SINMTKiwqUJTlIRTTL2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175147},"knip":{"node":{"entry":["test/**/*.test.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","assets/**/*"],"ignoreDependencies":["@types/wallabyjs"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"95f900bb174f9c232c29a1d932891ae827c2be04","scripts":{"dev":"tshy --watch","lint":"run-p lint:eslint lint:types lint:knip","test":"node --import tsx --test \"test/**/*.ts\"","build":"tshy","serve":"serve docs","prepare":"husky","dev:docs":"run-p build:docs:watch serve","lint:fix":"run-s \"lint:eslint -- --fix\"","lint:knip":"knip","build:docs":"typedoc","lint:types":"tsc -b .config/tsconfig.eslint.json","test:watch":"node --import tsx --test \"test/**/*.ts\" --watch","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:property":"node --import tsx --test \"test/property/**/*.test.ts\"","lint:types:dev":"npm run --silent lint:types -- --watch","build:docs:watch":"npm run --silent build:docs -- --watch","test:property:dev":"node --import tsx --test --watch \"test/property/**/*.test.ts\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.5.1","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"*.{ts,cts,js,json,md,yml,json5}":["eslint --fix","prettier --write"]},"_nodeVersion":"24.7.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","eslint":"9.34.0","typedoc":"0.28.12","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.34.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","typescript-eslint":"8.42.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.1.0_1757315678362_0.7852369659770584","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"bupkis","version":"0.1.1","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.1.1","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"45cdf97a3fa3f75160cd74b6916009b7b578466d","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.1.1.tgz","fileCount":242,"integrity":"sha512-aR4UqBZnpUNGEqGK3g3aAxQAzOjRJezA7ozOgpYq/d/esSRGe5Q+5daL4ojRuNN4MEgOQpjG01fdrffHELWIiA==","signatures":[{"sig":"MEYCIQDF/koSoJYj+x/6eyngPqt6QI7XsKHOUQ3UH2xsel5yJgIhANlYM82H7iPbDDtW8zJ99KuAaA9Szlnlg+vlWTzxYvTs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1091722},"knip":{"node":{"entry":["test/**/*.test.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","assets/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"bd0b39ecf7337e1a95055e4d560862f92bc3b202","scripts":{"dev":"tshy --watch","lint":"run-p lint:eslint lint:types lint:knip","test":"node --import tsx --test \"test/**/*.ts\"","build":"tshy","serve":"serve docs","prepare":"husky","dev:docs":"run-p build:docs:watch serve","lint:fix":"run-s \"lint:eslint -- --fix\"","lint:knip":"knip","build:docs":"typedoc","lint:types":"tsc -b .config/tsconfig.eslint.json","test:watch":"node --import tsx --test \"test/**/*.ts\" --watch","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","lint:markdown":"markdownlint-cli2 \"**/*.md\"","test:property":"node --import tsx --test \"test/property/**/*.test.ts\"","lint:types:dev":"npm run --silent lint:types -- --watch","prepublishOnly":"npm run build","build:docs:watch":"npm run --silent build:docs -- --watch","test:property:dev":"node --import tsx --test --watch \"test/property/**/*.test.ts\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.5.1","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(.github/prompts)/*.md":["prettier --write"],"*.{ts,cts,js,json,yml,json5}":["eslint --fix","prettier --write"]},"_nodeVersion":"24.7.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","eslint":"9.35.0","typedoc":"0.28.12","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.42.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.1.1_1757391588682_0.7844715338083874","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"bupkis","version":"0.1.2","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.1.2","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"711770d598f49663d2a9db8373b0eb838e42e7f3","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.1.2.tgz","fileCount":242,"integrity":"sha512-/4RyY5X0Ebw0edPT5+D/xrQVcxkrK6M9aOg2DQFwHhxJt4h1J4Vatmi4MyxBC5luemYRzQ/LY7IkJBhD/s5dXg==","signatures":[{"sig":"MEUCIFRv2iEpmNWw0Sw24PWEEjj4+IUey1300SPVRtTBPYU2AiEAuWXzWQ0nMWeh1d+MDLZMvOvoFjUIKQz5Fjai/xgQ/is=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1092555},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","assets/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"8aa599215e1f424de7ce025e63d77502c3e63c5c","scripts":{"dev":"tshy --watch","lint":"run-p lint:eslint lint:types lint:knip","test":"node --import tsx --test \"test/**/*.ts\"","build":"tshy","serve":"serve docs","prepare":"husky; run-s build","dev:docs":"run-p build:docs:watch serve","lint:fix":"run-s \"lint:eslint -- --fix\"","lint:knip":"knip","build:docs":"typedoc","lint:types":"tsc -b .config/tsconfig.eslint.json","test:watch":"node --import tsx --test \"test/**/*.ts\" --watch","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"node --cpu-prof --cpu-prof-dir=.profiles --test --import tsx \"test/**/*.ts\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","test:property":"node --import tsx --test \"test/property/**/*.test.ts\"","lint:types:dev":"npm run --silent lint:types -- --watch","prepublishOnly":"run-s build","build:docs:watch":"npm run --silent build:docs -- --watch","test:property:dev":"node --import tsx --test --watch \"test/property/**/*.test.ts\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.5.1","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(.github/prompts)/*.md":["prettier --write"],"*.{ts,cts,js,json,yml,json5}":["eslint --fix","prettier --write"]},"_nodeVersion":"24.7.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","eslint":"9.35.0","globals":"16.4.0","typedoc":"0.28.12","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.42.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.1.2_1757452151664_0.1464982278777387","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"bupkis","version":"0.2.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.2.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"a6ea410eae0a2e458e29739d09379d1457f3cffc","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.2.0.tgz","fileCount":232,"integrity":"sha512-RJBk1aQXrg6/nCtJdr/lfXyNfgKNqVA8Y+OIMEwyy7UYgPsuwbj+4krkiNvTCDWwwLsfTWN8bBxKDGAz99x3lw==","signatures":[{"sig":"MEQCIFswJR9RJijTamHVW3X8Eg5Ppqt4prJ+wIhJWmEFJuBNAiA9386i35Io0Px59VoN83THrjYK2nZzENMKdRvS3iqbhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1162180},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","expect-type","tsx"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"85248158e711af35512e35b0d92d9e389a6641f6","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown","test":"node $npm_package_testConfig_test_flags \"$npm_package_testConfig_test_pattern_all\"","build":"tshy","serve":"serve docs","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"node $npm_package_testConfig_test_flags --watch \"$npm_package_testConfig_test_pattern_all\"","build:dev":"tshy --watch","lint:knip":"knip","build:docs":"typedoc --cleanOutputDir --treatWarningsAsErrors","lint:types":"tsc -b .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"node --cpu-prof --cpu-prof-dir=.profiles $npm_package_testConfig_test_flags \"$npm_package_testConfig_test_pattern_all\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"node $npm_package_testConfig_test_flags \"$npm_package_testConfig_test_pattern_property\"","build:docs:dev":"run-s \"build:docs -- --watch\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"node $npm_package_testConfig_test_flags --watch \"$npm_package_testConfig_test_pattern_property\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"testConfig":{"test_flags":"--import tsx --test --test-reporter=spec","test_pattern_all":"test/**/*.ts","test_pattern_property":"test/property/**/*.test.ts"},"_npmVersion":"11.5.1","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(.github/prompts)/*.md":["prettier --write"],"*.{ts,cts,js,json,yml,json5}":["eslint --fix","prettier --write"]},"_nodeVersion":"24.7.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","eslint":"9.35.0","globals":"16.4.0","typedoc":"0.28.12","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.42.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.18","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.2.0_1757531297230_0.3398253541536016","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"bupkis","version":"0.3.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.3.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"da21027f364bbce69f36e8755a4c59149d7a1006","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.3.0.tgz","fileCount":250,"integrity":"sha512-N3EE1hIutZnSV8Pr4smRz8HUei3IH6DUr0CdQjOxMeNrNG7meSX+TasFCzuzV8sUzOyotLYSdd096zwNsdu2YQ==","signatures":[{"sig":"MEQCIC/edtJHA3rqXbw+AsxNB89uhlolXuteb20DpTMRrQ0GAiAh4f6W6zwPIW7c7MEqVhOfu594KSoywm9v605vMmhM2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1561187},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"513ed19b06bfe1705f87e784cad32a21c4107e3e","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- test/**/*.test.ts\"","build":"tshy","serve":"serve docs","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"node --test --import tsx --watch --test-reporter=spec \"test/**/*.test.ts\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","build:docs":"typedoc --cleanOutputDir --treatWarningsAsErrors","lint:types":"tsc -b .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"node --cpu-prof --cpu-prof-dir=.profiles --test --import tsx --test-reporter=spec \"test/**/*.test.ts\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell \"**\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"node --test --import tsx --test-reporter=spec \"test/property/*.test.ts\"","build:docs:dev":"run-s \"build:docs -- --watch\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"node --test --import tsx --test-reporter=spec --watch \"test/property/*.test.ts\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"testConfig":{"test_flags":"--import tsx --test --test-reporter=spec","test_pattern_all":"test/**/*.ts","test_pattern_property":"test/property/**/*.test.ts"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,json,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.8.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.35.0","globals":"16.4.0","typedoc":"0.28.12","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.43.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.18","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.3.0_1757891567007_0.03509533356970196","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"bupkis","version":"0.4.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.4.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"b53879d1db5123375d2e06bedd39ae7037249466","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.4.0.tgz","fileCount":250,"integrity":"sha512-W++oi+uT8qqj/TB1d+y3OgjqNZiUVBNojUOpndB7+0pEmyh9+NxLl8do1m2FpYj5Cwg5hf4YcRIAY+MpW5EhcA==","signatures":[{"sig":"MEYCIQCeA5D01yvrwwh8tqXh7ijBgtH1RzmIIvNhlMLo/SU81AIhAJR+xohMkVmeE/w/WCQpvVhSsAIT9y29S1a7x8Lx/gw5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1619943},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"5295cc265f337a261a9e71654df351a6261692e2","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- test/**/*.test.ts\"","build":"tshy","serve":"serve docs","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"node --test --import tsx --watch --test-reporter=spec \"test/**/*.test.ts\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","build:docs":"typedoc --cleanOutputDir --treatWarningsAsErrors","lint:types":"tsc -b .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"node --cpu-prof --cpu-prof-dir=.profiles --test --import tsx --test-reporter=spec \"test/**/*.test.ts\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell \"**\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"node --test --import tsx --test-reporter=spec \"test/property/*.test.ts\"","build:docs:dev":"run-s \"build:docs -- --watch\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"node --test --import tsx --test-reporter=spec --watch \"test/property/*.test.ts\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"testConfig":{"test_flags":"--import tsx --test --test-reporter=spec","test_pattern_all":"test/**/*.ts","test_pattern_property":"test/property/**/*.test.ts"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,json,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.8.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.35.0","globals":"16.4.0","typedoc":"0.28.12","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.43.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.18","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.4.0_1757921290371_0.6908820321261819","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"bupkis","version":"0.5.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.5.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"22a8b7f136b486cf7aaf4d7bf7af2a6ce8b85eed","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.5.0.tgz","fileCount":277,"integrity":"sha512-jtOcFmssUU2DNrv2tiR2BuDNNmpklzs41UlJF0ySFlwlGxTbrQpxRpmwEenMK7sOUnC0OBQ9YkoqKqgZ4eCSRQ==","signatures":[{"sig":"MEUCIHGWEuXDx1Fd0bQMu+swgxtf1yQ+ovxDTPz99JXA/dAJAiEAkCU9mjtheaJeJn/jGlUus37ETHnqz/QGAmt2DCVcxLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2281132},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"d2fac30e32219eda4e8c813be2057055e2843f96","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- test/**/*.test.ts\"","build":"tshy","serve":"serve docs","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"node --test --import tsx --watch --test-reporter=spec \"test/**/*.test.ts\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","build:docs":"typedoc --cleanOutputDir --treatWarningsAsErrors","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"node --cpu-prof --cpu-prof-dir=.profiles --test --import tsx --test-reporter=spec \"test/**/*.test.ts\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell \"**\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"node --test --import tsx --test-reporter=spec \"test/property/*.test.ts\"","build:docs:dev":"run-s \"build:docs -- --watch\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"node --test --import tsx --test-reporter=spec --watch \"test/property/*.test.ts\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts"},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"testConfig":{"test_flags":"--import tsx --test --test-reporter=spec","test_pattern_all":"test/**/*.ts","test_pattern_property":"test/property/**/*.test.ts"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.8.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.35.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.3","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.43.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.19","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.5.0_1758155685188_0.6042820276500949","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"bupkis","version":"0.5.1","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.5.1","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"45e5ac1450bb0efb1525a1a3c76b9c8ee81bfc33","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.5.1.tgz","fileCount":277,"integrity":"sha512-4dCNnqk/lgoIV/JJy5Q9oZI2xhoihFko06x57H7q3klTwGTFvU5y1kFKewE4pgcXOhgzweuQOHW4GnVsYsrUYw==","signatures":[{"sig":"MEUCIEnJ2rtzSgEpDZZBz9caSAvpC8kyp+46YshPTjfSVVtPAiEAutibD0atQAYCMy4W2IGaH2K+LTEPqdptLGIHDVhIuTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2276511},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"2b13d7872a5fd5b4ae7057bfee2fd9e4ee97aedb","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- test/**/*.test.ts\"","build":"tshy","serve":"serve docs","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"node --test --import tsx --watch --test-reporter=spec \"test/**/*.test.ts\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","build:docs":"typedoc --cleanOutputDir --treatWarningsAsErrors","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"node --cpu-prof --cpu-prof-dir=.profiles --test --import tsx --test-reporter=spec \"test/**/*.test.ts\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell \"**\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"node --test --import tsx --test-reporter=spec \"test/property/*.test.ts\"","build:docs:dev":"run-s \"build:docs -- --watch\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"node --test --import tsx --test-reporter=spec --watch \"test/property/*.test.ts\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts"},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"testConfig":{"test_flags":"--import tsx --test --test-reporter=spec","test_pattern_all":"test/**/*.ts","test_pattern_property":"test/property/**/*.test.ts"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.8.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.35.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.3","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.43.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.19","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.5.1_1758174630473_0.5859454591357707","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"bupkis","version":"0.6.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.6.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"e6ecd7ae8e595c1f307ca050f7434458aa7653ee","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.6.0.tgz","fileCount":259,"integrity":"sha512-+LWeovtoJpYb4TGdF5tam9v50KFW3ejWASQSmMWp/e+qph4mUHxtYq4euklDCs6R0NfF4heEp9Fg3/GSRl3QiA==","signatures":[{"sig":"MEYCIQDhxOYKaqawsK2Yh8d63X3JgOla5IErmNHzEMC6GF8frgIhAPr8Qk4fPjQA25VfHh6DA8HNtMvA8zaErZdXUK34VkmH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1968186},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"65657b46ef1904b755da384e82f7df096f380d53","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- test/**/*.test.ts\"","build":"tshy","serve":"serve docs","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"node --test --import tsx --watch --test-reporter=spec \"test/**/*.test.ts\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","build:docs":"typedoc --cleanOutputDir --treatWarningsAsErrors","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"node --cpu-prof --cpu-prof-dir=.profiles --test --import tsx --test-reporter=spec \"test/**/*.test.ts\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"node --test --import tsx --test-reporter=spec \"test/property/*.test.ts\"","build:docs:dev":"run-s \"build:docs -- --watch\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"node --test --import tsx --test-reporter=spec --watch \"test/property/*.test.ts\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts"},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"testConfig":{"test_flags":"--import tsx --test --test-reporter=spec","test_pattern_all":"test/**/*.ts","test_pattern_property":"test/property/**/*.test.ts"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"],"**/!(package-lock|.vscode/*).json":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.8.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.35.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.35.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"22.18.6","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.43.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.19","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.3.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.6.0_1758519011899_0.11702857673123801","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"bupkis","version":"0.7.2","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.7.2","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"81fcc5e0dc45e6cecd1224fa2aee51bd6f58f5e4","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.7.2.tgz","fileCount":259,"integrity":"sha512-nYrblBaEjhExrl2vjA4+Z/4zyXpV3001SuwKDFrrFGHoC/KdSgKooaP+Ao0zP5UarOBA/ldhhJibi8Eb8083LA==","signatures":[{"sig":"MEUCIQCRX7sTw9CJ7IpqkC4hInNGNlRQZUhmgfPN1PuAahnIygIgc1lOloZMOA7G0Ps/pMrGkpj6xY/gfvqTQoFwJ86qOWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1992658},"knip":{"node":{"entry":["scripts/*.js","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"9428bfdc2c60ef8685bc6c80034d57af08dbab4a","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.8.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.63.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"24.5.2","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.1.6","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.44.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.19","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.7.2_1758576572948_0.1467424317913293","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"bupkis","version":"0.8.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.8.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"623695f639006c6b5cb7d5533a479bd8c5b045a2","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.8.0.tgz","fileCount":268,"integrity":"sha512-FDRmUtApwUigyA82jVjfoDBjLzyQ1Ua41YUgaMA7Pxh3R2dRQPnQ4DJd8LQd4+9EIgt8EVxlSz2T16gVk5P0Bg==","signatures":[{"sig":"MEUCIFixrV0nSQP4OubYfhqwZcU5XJWe+CORyZjwZy2BtctBAiEAo/MFoaELsPNDT1YJpCJRTCpuqu+bKbvewmqoh5HHZhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2049087},"knip":{"node":{"entry":["scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"b1f73e6226259cd7764a7612c6fcfb02d29d887a","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p build:docs:dev serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.8.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.1.2","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.5","knip":"5.64.0","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"24.5.2","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.0","npm-run-all2":"8.0.4","@commitlint/cli":"19.8.1","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.44.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.20","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.44.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"19.8.1","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.44.1"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.8.0_1758831749343_0.7596072550101534","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"bupkis","version":"0.9.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.9.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"2b3193094a50b03fe8b3ceec1100ecdb67c64be7","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.9.0.tgz","fileCount":277,"integrity":"sha512-vtJ34yKP20aWTDZzGcFvzWPp7CsA+3XqtxX9xUB2A2bx4c93lVj1mULDVc0o2a2riQeUEBB2mXNBSs71oLaDqg==","signatures":[{"sig":"MEYCIQD7NpE3ymssnY0upFidRkSwIlgsGBKuX2t1gD1YatLuIQIhAJlG87WQzEZlMvOfJCuuIg3FrXmiuOVtHeuZ3TIFPYk/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2127281},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"9f260b927d787a210ca7ba5b83cc5ed81c92d361","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.9.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.1.2","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.64.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"24.5.2","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.1","npm-run-all2":"8.0.4","@commitlint/cli":"20.0.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.44.1","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.20","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.44.1","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.44.1"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.9.0_1759173484601_0.6278093844033561","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"bupkis","version":"0.10.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.10.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"15d97466952d488a8164bc4ca6ced8dfb00c86a4","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.10.0.tgz","fileCount":286,"integrity":"sha512-Y/l1iwrfkftRAlihLN+Mf++5ojmqjzmDDkn5E9yadA5+U152OIzDSyaXmu52zuiGF5btn3KM3HZ7wvaT7XR8Hg==","signatures":[{"sig":"MEUCIC2BjRoagj4lMUuq+IcNY3Dfz5Rl6Ocwx1Lr6sxZKenVAiEAhj3C/ywVBtpCklFd9cFMLjIfHEXv39SWo2e94dQP2kM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2298861},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"f76e456eaf6bfbcaa9f9d336fe4345f26804805e","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.9.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.64.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.2","@types/node":"24.6.0","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.3","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.45.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.21","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.45.0","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.45.0"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.10.0_1759523668326_0.648428519073655","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"bupkis","version":"0.10.2","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.10.2","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"bb7da0edf67adb3f5ffbbbf8d1cae68903a70ed8","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.10.2.tgz","fileCount":286,"integrity":"sha512-mzSG+ET8h6EU5EKbOAeAUFnD2dbFR8joE61A+5iiNDl+rFVM2ZbfOXM6c7dNf78pjz4P4zdLAHYSFzfUYZ5EDQ==","signatures":[{"sig":"MEYCIQCIBha8psO2P7o0uGBTYf8MwjSOdcI4l3t4yD4QvUSjpgIhANfqROki1G8HQ12MQVIQOYCj+nC/s3tqzX2Og3BU161w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2327226},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"9446b75343269ed70e916912aa6b60b6ca0c1dd9","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","prepublishOnly":"run-s build","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.9.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.64.1","tshy":"3.0.2","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.6.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.3","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.45.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.21","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.45.0","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.45.0"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.10.2_1759546512310_0.6665911501597019","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"bupkis","version":"0.10.4","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.10.4","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"7c0f4efcda9e2afe235fde31986cd9aa3a297340","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.10.4.tgz","fileCount":286,"integrity":"sha512-hVQkfMteczD7nr1E8P79mI90A3rKsrIZnI1nGRuIn1ZrsFRZlzij0pbj7tqOQT8mE4KYHDvoMoqQN33vp7z7sg==","signatures":[{"sig":"MEUCICUF09qG4uLfoncG07Y9BynQAWGtZ1RGf0jeZMgNIhi+AiEAiij2wHkjN5ZL8b5VwKQfxx6FB42qa9UJ6oM2lYL7BDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.10.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2418420},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"aa33d65b4823d5937d4f383f6007dc184a0bef5f","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.9.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.64.1","tshy":"3.0.3","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","type-fest":"4.41.0","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.6.2","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.3","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.45.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.21","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.45.0","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.45.0"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.10.4_1759698616260_0.292297717378297","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"bupkis","version":"0.10.6","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.10.6","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"157fc5edf3b76e16f4a1e78d746dde23febf1c08","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.10.6.tgz","fileCount":286,"integrity":"sha512-Pa/Zx3zaL+miYad0zuixqgg0fcnvXJuEjpZh2HSmvn0OIhCY+dsK2IhYv4HcUhea64qY8WW4g6hF3nR0CLFq/w==","signatures":[{"sig":"MEYCIQCdq0dkz7nwCpDarwYWr3AUvI4JBIryH3EvMiZs3UVnfgIhAPzqKbedDKAi0zQZX/EL5DDJqOFD3YKVqp6HYTzuzYMu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.10.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2436032},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"ea98063df87a9643a95333f76f539842dcf3c1d0","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.9.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"4.41.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.64.1","tshy":"3.0.3","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.6.2","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.3","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.45.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.21","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.45.0","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.45.0"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.10.6_1759734849153_0.38893710089779376","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"bupkis","version":"0.11.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.11.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"2ca8a115c0e5f3a217ad3241f42b5a6b445cd9b6","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.11.0.tgz","fileCount":286,"integrity":"sha512-GqOPrAE/2Ltm8uPyJf78NxYyaI4+QJHIwq1JysVDlQuxr1ArVx7RBpvusrB9j0SsPrqmbmTJgsECmJaSYdvOxw==","signatures":[{"sig":"MEUCIFKUf8mkflK1hlRgtR9EZXb3JHU8pv/pDaHe0E5e0ZHRAiEAztIeEiI4BFY4d9petS7hQkcpb20qC6PsRwIS+ndclCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2471558},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"1702abc25b5e1137e4b1bce0e9ec30c190fa0629","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.9.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.64.1","tshy":"3.0.3","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.36.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","@eslint/js":"9.36.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.6.2","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.3","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.45.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.20.1","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.21","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.45.0","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.0","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.45.0"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.11.0_1759774290632_0.43038087004590353","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"bupkis","version":"0.11.1","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.11.1","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"d9dbe550ee04221456d0661a619540392d5d6f93","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.11.1.tgz","fileCount":286,"integrity":"sha512-84TGmAUxWBm3vM6gFxEO+Be6qv4Puw+ZojhjNisN57anouRto5nxam4r5A/8F38W1jG9HV6aBcyCpFkgdfIr0Q==","signatures":[{"sig":"MEUCIFNoKBtR2+hCwE4tBtEcJPq9LMaN1j3ia73K8ogyWNsmAiEA8dy4GZURCY9/4hzw55MAhZbTufXqwVT4jHqLmS+oEcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2420505},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","bench/*.ts","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"dc7c9a410ac285c8ae89326352eeccc6c7b7be95","scripts":{"lint":"run-p lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","bench":"tsx bench/runner.ts","build":"tshy","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","lint:fix":"run-s \"lint:eslint -- --fix\"","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","bench:dev":"tsx --watch bench/runner.ts","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","lint:types":"tsc -p .config/tsconfig.eslint.json","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","profile:bench":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx bench/runner.ts","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","profile:bench:clinic":"npx --yes clinic flame --dest .profiles -- node --import tsx bench/runner.ts","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.9.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.64.2","tshy":"3.0.3","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.37.0","globals":"16.4.0","typedoc":"0.28.13","prettier":"3.6.2","tinybench":"5.0.1","@eslint/js":"9.37.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.7.0","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.3","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.46.0","typedoc-plugin-zod":"1.4.2","eslint-plugin-jsonc":"2.21.0","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.22","typedoc-plugin-redirect":"1.2.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/utils":"8.46.0","typedoc-plugin-mdn-links":"5.0.9","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.1","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.46.0"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.11.1_1760076795335_0.07109320218773574","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"bupkis","version":"0.12.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.12.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"dfaff130dddcbd32909533ae81a4b247770e9298","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.12.0.tgz","fileCount":313,"integrity":"sha512-y7usg/OmzI9InilZs0E3ileWUOB5mLC3uJkHEEgpe+7iJ24eNH07Rw5+XTkK/yvU5tSdPEj9rywZyCH9LkeNCA==","signatures":[{"sig":"MEQCIDzt24UPOJwmF5mhvMqhbgPzLeDPRkywXIQjo8Azg9SmAiBQHCk+ZTeD1g1S8yiay3u0C03eAkuSFI/jZ/262QPETQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2559524},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","bench/*.ts","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*","worktrees/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./diff":{"import":{"types":"./dist/esm/diff.d.ts","default":"./dist/esm/diff.js"},"require":{"types":"./dist/commonjs/diff.d.ts","default":"./dist/commonjs/diff.js"}},"./util":{"import":{"types":"./dist/esm/util.d.ts","default":"./dist/esm/util.js"},"require":{"types":"./dist/commonjs/util.d.ts","default":"./dist/commonjs/util.js"}},"./types":{"import":{"types":"./dist/esm/types.d.ts","default":"./dist/esm/types.js"},"require":{"types":"./dist/commonjs/types.d.ts","default":"./dist/commonjs/types.js"}},"./guards":{"import":{"types":"./dist/esm/guards.d.ts","default":"./dist/esm/guards.js"},"require":{"types":"./dist/commonjs/guards.d.ts","default":"./dist/commonjs/guards.js"}},"./schema":{"import":{"types":"./dist/esm/schema.d.ts","default":"./dist/esm/schema.js"},"require":{"types":"./dist/commonjs/schema.d.ts","default":"./dist/commonjs/schema.js"}},"./assertions":{"import":{"types":"./dist/esm/assertion/index.d.ts","default":"./dist/esm/assertion/index.js"},"require":{"types":"./dist/commonjs/assertion/index.d.ts","default":"./dist/commonjs/assertion/index.js"}},"./package.json":"./package.json"},"gitHead":"416a42762baea444243f8b7b59448f77f48e61aa","scripts":{"fix":"run-s -sl fix:*","lint":"run-p -sl --aggregate-output lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","bench":"tsx bench/runner.ts","build":"tshy","fix:pkg":"npm pkg fix","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","bench:dev":"tsx --watch bench/runner.ts","build:dev":"tshy --watch","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","fix:eslint":"eslint --fix .","fix:format":"prettier --write . && markdownlint-cli2 --fix \"**/*.md\"","lint:types":"tsc -p .config/tsconfig.eslint.json","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","profile:bench":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx bench/runner.ts","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","profile:bench:clinic":"npx --yes clinic flame --dest .profiles -- node --import tsx bench/runner.ts","bench:value-to-schema":"tsx bench/runner.ts --suites=value-to-schema","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","bench:value-to-schema:dev":"tsx --watch bench/runner.ts --suites=value-to-schema"},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.1","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"!**/.tshy/**/*.json":[],"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.10.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.66.2","tshy":"3.0.3","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.1","eslint":"9.38.0","globals":"16.4.0","typedoc":"0.28.14","prettier":"3.6.2","tinybench":"5.0.1","@eslint/js":"9.38.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.9.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.5","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.46.2","typedoc-plugin-zod":"1.4.3","eslint-plugin-jsonc":"2.21.0","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.25","typedoc-plugin-redirect":"1.2.1","@stylistic/eslint-plugin":"5.5.0","@typescript-eslint/utils":"8.46.2","typedoc-plugin-mdn-links":"5.0.10","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.1","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.46.2"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.12.0_1761329045758_0.7945357125565873","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"bupkis","version":"0.12.1","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.12.1","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"95956fa989c82f8b71879591d11175a4b5ccc9c3","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.12.1.tgz","fileCount":311,"integrity":"sha512-SXHoGUmxSd8gSEKAUXC2cIYJ8xDKu5wVLTpPDvrzRnvsaOHVVU//3suv4vInSFKSRUCxV+d4q7ObfLA4I1qbmg==","signatures":[{"sig":"MEQCIHxNJKh5an5THI9XyT2oNcUTe/QiEnESRkDnPNNLdk6BAiBGND/wH5gl7ypZWlCBAhKq+iL6iEGkYa1reZb4tHJ6Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2560468},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","test/types.types-test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts","test-data/index.ts","bench/**/*.bench.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*","worktrees/**/*"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"23bf59fc344b03cc8ce5ed88e70abd93378ab0e6","scripts":{"fix":"run-s -sl fix:*","lint":"run-p -sl --aggregate-output lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\"","bench":"modestbench","build":"zshy","fix:pkg":"npm pkg fix","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","fix:eslint":"eslint --fix .","fix:format":"prettier --write . && markdownlint-cli2 --fix \"**/*.md\"","lint:types":"tsc -p .config/tsconfig.eslint.json","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.1","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"!**/.zshy/**/*.json":[],"**/!(package-lock).json":["eslint --fix","prettier --write","cspell"],"**/!(.github/prompts)/*.md":["prettier --write","cspell"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell"]},"_nodeVersion":"24.10.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsx":"4.20.6","knip":"5.66.2","zshy":"0.4.4","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.2","eslint":"9.38.0","globals":"16.4.0","typedoc":"0.28.14","valibot":"1.1.0","prettier":"3.6.2","@eslint/js":"9.38.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.9.1","@types/slug":"5.0.9","expect-type":"1.2.2","lint-staged":"16.2.6","modestbench":"0.0.3","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.46.2","typedoc-plugin-zod":"1.4.3","eslint-plugin-jsonc":"2.21.0","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.25","typedoc-plugin-redirect":"1.2.1","@stylistic/eslint-plugin":"5.5.0","@typescript-eslint/utils":"8.46.2","typedoc-plugin-mdn-links":"5.0.10","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.1","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.46.2"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.12.1_1761463146465_0.24338827538989394","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"bupkis","version":"0.12.2","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.12.2","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"c7c8dac79af79caaf802fe81589d838e14182845","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.12.2.tgz","fileCount":311,"integrity":"sha512-KTNiQw5nsDvNS9VnaUScgxr6RdPEEG82+MqbG8mYuMz9v+bNCGuAhikb1lNqr1Dil+Fo4nTvfxcbZ9IVbHrsmw==","signatures":[{"sig":"MEUCIE3rj7p0BaE88v3u4rW7AxmB1fIY098ljmRey8PAXKtKAiEAsuJKbXL/1QzXNFyX47bGBc427r9IuwoFkJtVHEppoYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2450697},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts","test-data/index.ts","bench/**/*.bench.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*","worktrees/**/*","test-d/**/*.test-d.ts"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"fef99945ab5d067cd78a711ebc3e9281c40c2cf7","scripts":{"fix":"run-s -sl fix:*","lint":"run-p -sl --aggregate-output lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","fix:pkg":"npm pkg fix","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","fix:eslint":"eslint --fix .","fix:format":"prettier --write . && markdownlint-cli2 --fix \"**/*.md\"","lint:types":"tsc -p .config/tsconfig.eslint.json","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.1","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"!**/.zshy/**/*.json":[],"**/!(package-lock).json":["eslint --fix","prettier --write","cspell lint --no-must-find-files"],"**/!(.github/prompts)/*.md":["prettier --write","cspell lint --no-must-find-files"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell lint --no-must-find-files"]},"_nodeVersion":"24.11.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsd":"0.33.0","tsx":"4.20.6","knip":"5.66.3","zshy":"0.4.4","husky":"9.1.7","serve":"14.2.5","cspell":"9.2.2","eslint":"9.38.0","globals":"16.4.0","typedoc":"0.28.14","valibot":"1.1.0","prettier":"3.6.2","@eslint/js":"9.38.0","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.9.1","@types/slug":"5.0.9","lint-staged":"16.2.6","modestbench":"0.3.0","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.46.2","typedoc-plugin-zod":"1.4.3","eslint-plugin-jsonc":"2.21.0","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.3.3","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.26","typedoc-plugin-redirect":"1.2.1","@stylistic/eslint-plugin":"5.5.0","@typescript-eslint/utils":"8.46.2","typedoc-plugin-mdn-links":"5.0.10","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.1","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.8","@typescript-eslint/typescript-estree":"8.46.2"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.12.2_1761937524887_0.5781807129729861","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"bupkis","version":"0.13.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.13.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"983c4cef12463b01e83abe7425ebc2a85e4da2ec","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.13.0.tgz","fileCount":374,"integrity":"sha512-520CJ/6RrcHxRQ/jNdbpRpYe2crTtSJPbjI9g3R3i3AMI5m/0b84MzMw0h6WXVm2ZJAbEVILLJxxGcMOwnH5kg==","signatures":[{"sig":"MEUCICB17pmHGSO/B2FHgDxcn1bQE2RMjU7oQuB7TCN9hKrVAiEAk3X1DroNQhWgP2tFperfJhxSy/wIq3mXoh2gYIhIXcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2722045},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts","src/snapshot/index.ts","test-data/index.ts","bench/**/*.bench.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*","worktrees/**/*","test-d/**/*.test-d.ts"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty","typedoc-plugin-dt-links"]},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"5a895caf56b8248cb714cc3bba839ca9c6be0320","scripts":{"fix":"run-s -sl fix:*","lint":"run-p -sl --aggregate-output lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","fix:pkg":"npm pkg fix","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","fix:eslint":"eslint --fix .","fix:format":"prettier --write . && markdownlint-cli2 --fix \"**/*.md\"","lint:types":"tsc --noEmit","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.2","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"!**/.zshy/**/*.json":[],"**/!(package-lock).json":["eslint --fix","prettier --write","cspell lint --no-must-find-files"],"**/!(.github/prompts)/*.md":["prettier --write","cspell lint --no-must-find-files"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell lint --no-must-find-files"]},"_nodeVersion":"24.11.1","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsd":"0.33.0","tsx":"4.20.6","knip":"5.68.0","zshy":"0.4.4","husky":"9.1.7","serve":"14.2.5","cspell":"9.3.0","eslint":"9.39.1","globals":"16.5.0","typedoc":"0.28.14","valibot":"1.1.0","prettier":"3.6.2","@eslint/js":"9.39.1","fast-check":"4.3.0","typescript":"5.9.3","@types/node":"24.10.0","@types/slug":"5.0.9","lint-staged":"16.2.6","modestbench":"0.3.2","npm-run-all2":"8.0.4","@commitlint/cli":"20.1.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.18.1","typescript-eslint":"8.46.3","typedoc-plugin-zod":"1.4.3","eslint-plugin-jsonc":"2.21.0","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.5.0","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.28","typedoc-plugin-redirect":"1.2.1","@stylistic/eslint-plugin":"5.5.0","@typescript-eslint/utils":"8.46.3","typedoc-plugin-mdn-links":"5.0.10","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.1","@commitlint/config-conventional":"20.0.0","markdownlint-cli2-formatter-pretty":"0.0.9","@typescript-eslint/typescript-estree":"8.46.3"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.13.0_1763070266723_0.44255723569847394","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"bupkis","version":"0.14.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.14.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"4512b0977795b70602ef6f7ebb4d6c0b17ba9e15","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.14.0.tgz","fileCount":374,"integrity":"sha512-DoDxQpLuIMh+bBZtG4OcC5MkdQFCN/5zVEmdO8N7QRX5VGa7FZMqGexEiUiRdHT2JCrv4RJxkz+AnEBI5fK0+w==","signatures":[{"sig":"MEUCIEFDDQJdIhSTHVoKzKZNtU1aYbjfOybHlTcr2jVWkM4GAiEA4JwWTeTXoVOzaTPufUZZv0lL2gwx2sb8T/UYP3GM63M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2752434},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts","src/snapshot/index.ts","test-data/index.ts","bench/**/*.bench.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*","worktrees/**/*","test-d/**/*.test-d.ts"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"55d2c8fe0a64f4fc149ad6b33b5571d52cef20ea","scripts":{"fix":"run-s -sl fix:*","lint":"run-p -sl --aggregate-output lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","fix:pkg":"npm pkg fix","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","fix:eslint":"eslint --fix .","fix:format":"prettier --write . && markdownlint-cli2 --fix \"**/*.md\"","lint:types":"tsc --noEmit","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.2","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"!**/.zshy/**/*.json":[],"**/!(package-lock).json":["eslint --fix","prettier --write","cspell lint --no-must-find-files"],"**/!(.github/prompts)/*.md":["prettier --write","cspell lint --no-must-find-files"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell lint --no-must-find-files"]},"_nodeVersion":"24.11.1","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsd":"0.33.0","tsx":"4.21.0","knip":"5.71.0","zshy":"0.6.0","husky":"9.1.7","serve":"14.2.5","cspell":"9.4.0","eslint":"9.39.1","globals":"16.5.0","typedoc":"0.28.15","valibot":"1.2.0","prettier":"3.7.4","@eslint/js":"9.39.1","fast-check":"4.4.0","typescript":"5.9.3","@types/node":"24.10.1","@types/slug":"5.0.9","lint-staged":"16.2.7","modestbench":"0.5.0","npm-run-all2":"8.0.4","@commitlint/cli":"20.2.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.20.0","typescript-eslint":"8.48.1","typedoc-plugin-zod":"1.4.3","eslint-plugin-jsonc":"2.21.0","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.7.0","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.32","typedoc-plugin-redirect":"1.2.1","@stylistic/eslint-plugin":"5.6.1","@typescript-eslint/utils":"8.48.1","typedoc-plugin-mdn-links":"5.0.10","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"4.15.1","@commitlint/config-conventional":"20.2.0","markdownlint-cli2-formatter-pretty":"0.0.9","@typescript-eslint/typescript-estree":"8.48.1"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.14.0_1765341172182_0.3559739102926409","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"bupkis","version":"0.15.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.15.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"77f9429c4c3cf9d40e0e683b1f29b7e9e96db6e2","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.15.0.tgz","fileCount":383,"integrity":"sha512-hJbW1yqsWi3Kqtr/sA3K+oGmeHVTOuLSlzFukVKFWrrBtwR3DvJOM89gd2kaQ52xVlZS/wFtXXtr7oBGasKnyw==","signatures":[{"sig":"MEUCIQDaLb2NLDxlp7lFXeYeA1uvOD0VGOj7VpZbWKT6UwACBgIgSsi4E3GHygKMRIregkPeuVZuiGen1cUqvE/JNCgPuak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2767695},"knip":{"node":{"entry":[".config/typedoc-plugin-bupkis.js","scripts/*.js","scripts/*.ts","test/**/*.test.ts","src/assertion/index.ts","src/index.ts","src/types.ts","src/util.ts","src/schema.ts","src/guards.ts","src/diff.ts","src/snapshot/index.ts","test-data/index.ts","bench/**/*.bench.ts"]},"tags":["-knipignore"],"ignore":[".wallaby.js","**/*.cts","**/*.d.ts","site/media/**/*","worktrees/**/*","test-d/**/*.test-d.ts"],"ignoreDependencies":["@types/wallabyjs","markdownlint-cli2-formatter-pretty"]},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"e0f5daca588a0cf18c7b428f98789eeb1bae8dfa","scripts":{"fix":"run-s -sl fix:*","lint":"run-p -sl --aggregate-output lint:eslint lint:types lint:knip lint:markdown lint:spelling","test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","fix:pkg":"npm pkg fix","prepare":"husky; run-s build","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","lint:knip":"knip","test:base":"node --test --test-reporter=spec --import tsx","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve docs","fix:eslint":"eslint --fix .","fix:format":"prettier --write . && markdownlint-cli2 --fix \"**/*.md\"","lint:types":"tsc --noEmit","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","lint:commit":"commitlint","lint:eslint":"eslint .","lint:staged":"lint-staged","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","lint:markdown":"markdownlint-cli2 \"**/*.md\"","lint:spelling":"cspell .","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","lint:types:dev":"run-s \"lint:types -- --watch\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"boneskull","email":"boneskull@boneskull.com"},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git"},"_npmVersion":"11.6.2","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"lint-staged":{"**/!(package-lock).json":["eslint --fix","prettier --write","cspell lint --no-must-find-files"],"**/!(.github/prompts)/*.md":["prettier --write","cspell lint --no-must-find-files"],"*.{ts,cts,js,cjs,yml,json5}":["eslint --fix","prettier --write","cspell lint --no-must-find-files"]},"_nodeVersion":"24.12.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","tsd":"0.33.0","tsx":"4.21.0","knip":"5.78.0","zshy":"0.6.0","husky":"9.1.7","serve":"14.2.5","cspell":"9.4.0","eslint":"9.39.2","globals":"16.5.0","typedoc":"0.28.15","valibot":"1.2.0","prettier":"3.7.4","@eslint/js":"9.39.2","fast-check":"4.5.2","typescript":"5.9.3","@types/node":"24.10.4","@types/slug":"5.0.9","lint-staged":"16.2.7","modestbench":"0.9.0","npm-run-all2":"8.0.4","@commitlint/cli":"20.2.0","@types/wallabyjs":"0.0.15","markdownlint-cli2":"0.20.0","typescript-eslint":"8.50.1","typedoc-plugin-zod":"1.4.3","eslint-plugin-jsonc":"2.21.0","prettier-plugin-pkg":"0.21.2","escape-string-regexp":"5.0.0","prettier-plugin-jsdoc":"1.8.0","typedoc-plugin-extras":"4.0.1","typedoc-plugin-dt-links":"2.0.34","typedoc-plugin-redirect":"1.2.1","@stylistic/eslint-plugin":"5.6.1","@typescript-eslint/utils":"8.50.1","typedoc-plugin-mdn-links":"5.0.10","prettier-plugin-sort-json":"4.1.1","eslint-plugin-perfectionist":"5.1.0","@commitlint/config-conventional":"20.2.0","markdownlint-cli2-formatter-pretty":"0.0.9","@typescript-eslint/typescript-estree":"8.50.1"},"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.15.0_1768110867086_0.40927594392336175","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"bupkis","version":"0.17.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.17.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"4a2d58f51f61b0534e84e35066557c6edc887682","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.17.0.tgz","fileCount":418,"integrity":"sha512-NTOtQw/bnIbeAo/hDhyUwEWlvPZfEuqC3eKRK/ObWDC5YwUN9A26OmAXhU12ZqH6eFg2yK+p15iryYfkHcKKuQ==","signatures":[{"sig":"MEUCIDiEbAFNve5tGuaNSuWpJKfQT5PNxk3rpIanAaboUszzAiEAxeJRr68tYNedTmVcjwceVEL1GwXL14Q9jM1fL3Gx+M0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3253920},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"ca2eb98497de0200e5861cb8b7de9d48ca26439d","scripts":{"test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","prepare":"zshy","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","test:base":"node --test --test-reporter=spec --import tsx","test:fuzz":"node --import tsx --no-warnings scripts/fuzz.ts","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --options ../../.config/typedoc.js --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve ../../docs","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","test:node20":"run-s test:node20:runtime test:types","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:node20:runtime":"node --test --test-reporter=spec --import tsx test/**/*.test.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ef40da7b-b63e-459f-8abc-56d240f08f87"}},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg","prettier-plugin-sort-json"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git","type":"git","directory":"packages/bupkis"},"_npmVersion":"11.6.2","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"_nodeVersion":"24.12.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.17.0_1768432850096_0.3971299699319235","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"bupkis","version":"0.18.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.18.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"b3724500e8c8f0e8bff64848f785e7f46e8a562f","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.18.0.tgz","fileCount":418,"integrity":"sha512-YWVXzZzsl45Nqr8cdTkhzNxyDe0AVHfs30t/SmL/ASFGZlrmxu5S3gYorDSx6QRsVUmikL8ZOWSciEvbh0Jawg==","signatures":[{"sig":"MEQCIH+aRLdSOIjT5mIH9kSWbysJyhUrdNgyQK1dNQw0Qq59AiB5PLbx6wAAv4JoGpQEU4S3bON3SpCCsquet/ZGFbg1Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3266390},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"f09ff1cfb21ceb03dee850971611a3d1e98086b4","scripts":{"test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","prepare":"zshy","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","test:base":"node --test --test-reporter=spec --import tsx","test:fuzz":"node --import tsx --no-warnings scripts/fuzz.ts","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --options ../../.config/typedoc.js --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve ../../docs","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","test:node20":"run-s test:node20:runtime test:types","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:node20:runtime":"node --test --test-reporter=spec --import tsx test/**/*.test.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ef40da7b-b63e-459f-8abc-56d240f08f87"}},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git","type":"git","directory":"packages/bupkis"},"_npmVersion":"11.6.2","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"_nodeVersion":"24.12.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.18.0_1768604246302_0.8651403619183478","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"bupkis","version":"0.18.1","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.18.1","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"76693e2257a120a5c225092728dd942229cb48fa","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.18.1.tgz","fileCount":418,"integrity":"sha512-Dq5h47drFC85Y102ad0wvmXOKx92VjHIJVqvppFXTjs3aHvHRElCqV9OTeAfjal1+cSTF8+B3nf/V64w8/f7Og==","signatures":[{"sig":"MEUCIQDhLgEFuZsykWX17rTzh+7AsQKZdpGBpgRbGnNqE0m5/wIgSYhkwYDEgaTXsXhgly5lv1r5h01xqgY0IeTas83Stxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3261560},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"1980e5cf05545e3aa1fe4f3679cf19174490c90c","scripts":{"test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","prepare":"zshy","docs:dev":"run-p \"docs:build -- --watch\" docs:serve","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","test:base":"node --test --test-reporter=spec --import tsx","test:fuzz":"node --import tsx --no-warnings scripts/fuzz.ts","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","docs:build":"typedoc --options ../../.config/typedoc.js --cleanOutputDir --treatWarningsAsErrors","docs:serve":"serve ../../docs","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","test:node20":"run-s test:node20:runtime test:types","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:node20:runtime":"node --test --test-reporter=spec --import tsx test/**/*.test.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ef40da7b-b63e-459f-8abc-56d240f08f87"}},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git","type":"git","directory":"packages/bupkis"},"_npmVersion":"11.6.2","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"_nodeVersion":"24.12.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.18.1_1768702816946_0.2813920907442442","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"bupkis","version":"0.18.2","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.18.2","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"5f30c4cd55d6ad623c6443f8b2c64bcaec5b2027","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.18.2.tgz","fileCount":50,"integrity":"sha512-nFOFvtoy/Xi0ukMeOxYr0Z7JdjQbzIPsjfnnM7wLMPSqIfzEaPahcswjca32Pto45LL6aRGjYvwIS03nUC1GHg==","signatures":[{"sig":"MEUCICXqyjKWQqZR4686uNehfh2m0j8N4fAugj2uLjtALyQwAiEA2TpU7K0jZ7m0Iq6eBUvousENaN0Yo1B5xPkgiQn4g2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":581028},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"70ccae9f0ac7745667220f7e9f2ef8df3735d5a2","scripts":{"test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","prepare":"zshy","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","test:base":"node --test --test-reporter=spec --import tsx","test:fuzz":"node --import tsx --no-warnings scripts/fuzz.ts","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","test:node20":"run-s test:node20:runtime test:types","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:node20:runtime":"node --test --test-reporter=spec --import tsx test/**/*.test.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ef40da7b-b63e-459f-8abc-56d240f08f87"}},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git","type":"git","directory":"packages/bupkis"},"_npmVersion":"11.6.2","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"_nodeVersion":"24.12.0","dependencies":{"slug":"^11.0.0","debug":"^4.4.1","jest-diff":"30.2.0","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.18.2_1781831175011_0.10543749402375568","host":"s3://npm-registry-packages-npm-production"}},"0.18.3":{"name":"bupkis","version":"0.18.3","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@0.18.3","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"5458161a4dffbf6217144de5a412be80c949974a","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-0.18.3.tgz","fileCount":50,"integrity":"sha512-qZku5gQdkejaTDyVO7vDMGa4sqMAuSgX18J/5SEAVR+gx0Yu0/V4NYlkntafxCwAGcWzwMjcNI60Xvws8ihKiQ==","signatures":[{"sig":"MEUCIEzC6wHjyBuSz3Kpk1qYrUECu0JYaXCvGXwJUQEUrkThAiEAk9xUIgHVKY0CgvC7J7MrCbFmt5iHAtbWBTHrDctx4WU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@0.18.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":581503},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","module":"./dist/index.js","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"64ef732a58e91cc6c0808149500c8eb3de56c4e1","scripts":{"test":"run-s \"test:base -- \\\"test/**/*.test.ts\\\"\" test:types","bench":"modestbench","build":"zshy","prepare":"zshy","test:dev":"run-s \"test:base -- --watch \\\"test/**/*.test.ts\\\"\"","test:base":"node --test --test-reporter=spec --import tsx","test:fuzz":"node --import tsx --no-warnings scripts/fuzz.ts","bench:pure":"modestbench \"bench/sync-function-pure.bench.js\"","bench:sync":"modestbench \"bench/sync-*.bench.js\"","test:bench":"run-s \"test:base -- \\\"test/bench/**/*.test.ts\\\" \\\"test/assertion/*suite*.test.ts\\\" \\\"test/property/assertion-classification.test.ts\\\" \\\"test/property/performance-validation.test.ts\\\"\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench \"bench/value-to-schema.bench.js\"","test:node20":"run-s test:node20:runtime test:types","bench:schema":"modestbench \"bench/sync-schema.bench.js\"","profile:test":"run-s test:profile","test:profile":"run-s \"test:base -- --cpu-prof --cpu-prof-dir=.profiles  \\\"test/**/*.test.ts\\\"\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"run-s \"test:base -- \\\"test/property/*.test.ts\\\"\"","test:snapshots":"run-s \"test:base -- --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"test/property/**/*.test.ts\"","test:property:dev":"run-s \"test:base -- --watch \\\"test/property/*.test.ts\\\"\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","test:node20:runtime":"node --test --test-reporter=spec --import tsx test/**/*.test.ts","bench:function-schema":"modestbench \"bench/sync-function-schema.bench.js\"","test:update-snapshots":"run-s \"test:base -- --test-update-snapshots --test-name-pattern=\\\"<snapshot>\\\" \\\"test/**/*.test.ts\\\"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ef40da7b-b63e-459f-8abc-56d240f08f87"}},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"deprecated":"Broken release; use 1.0.0 or 0.18.2 instead","repository":{"url":"git+https://github.com/boneskull/bupkis.git","type":"git","directory":"packages/bupkis"},"_npmVersion":"11.16.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"_nodeVersion":"24.18.0","dependencies":{"obug":"2.1.3","slug":"^11.0.0","jest-diff":"30.4.1","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_0.18.3_1782785756202_0.9001128440550015","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"bupkis","version":"1.0.0","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","_id":"bupkis@1.0.0","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"homepage":"https://bupkis.zip","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"dist":{"shasum":"5048f89edc29069cab7d7bb469d434fc8894eaae","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-1.0.0.tgz","fileCount":418,"integrity":"sha512-sCWNukBLyELL+8xzmWIEKJWw0zyFH5fvZvdvHddvmhcHZYmcTERqimzxphJmSOQ5gDWxMWvIUqfyf5KU68IHVQ==","signatures":[{"sig":"MEUCIQC3ayABd9keflDs8pRQjsOl/m3bEJ3X0OSJCl3P+dfaDwIgBVJaQ6UH8JZZjtZ/+n9y9Cs9iwYEjjr6ukUZiNmIAg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3423591},"main":"./dist/index.cjs","type":"module","zshy":{"exports":{".":"./src/index.ts","./diff":"./src/diff.ts","./util":"./src/util.ts","./types":"./src/types.ts","./guards":"./src/guards.ts","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./assertions":"./src/assertion/index.ts","./package.json":"./package.json"}},"types":"./dist/index.d.cts","config":{"test_all":"test/**/*.test.ts","test_property":"test/property/*.test.ts"},"module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./package.json":"./package.json"},"gitHead":"c0f3fcd74ca0f7e307d2a68ce12bba81b4059eb5","scripts":{"test":"npm run test:local","bench":"modestbench","build":"zshy","prepare":"zshy","test:ci":"npm run test:local -- --test-reporter=node-test-github-reporter","test:dev":"npm run test:local -- --watch \"$npm_package_config_test_all\"","test:base":"node --test --test-reporter=spec --import tsx","test:fuzz":"tsx --no-warnings scripts/fuzz.ts","bench:pure":"modestbench bench/sync-function-pure.bench.js","bench:sync":"modestbench \"bench/sync-*.bench.js\"","test:local":"npm run test:base -- \"$npm_package_config_test_all\"","test:types":"tsd","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:value":"modestbench bench/value-to-schema.bench.js","bench:schema":"modestbench bench/sync-schema.bench.js","profile:test":"npm run test:profile","test:profile":"npm run test:base -- --cpu-prof --cpu-prof-dir=.profiles \"$npm_package_config_test_all\"","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:property":"npm run test:base -- \"$npm_package_config_test_property\"","test:snapshots":"npm run test:base -- --test-name-pattern=\"<snapshot>\" \"$npm_package_config_test_all\"","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"$npm_package_config_test_property\"","test:property:dev":"npm run test:base -- --watch \"$npm_package_config_test_property\"","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","bench:function-schema":"modestbench bench/sync-function-schema.bench.js","test:update-snapshots":"npm run test:base -- --test-update-snapshots --test-name-pattern=\"<snapshot>\" \"$npm_package_config_test_all\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ef40da7b-b63e-459f-8abc-56d240f08f87"}},"prettier":{"tsdoc":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg"],"singleQuote":true,"jsdocPreferCodeFences":true,"jsdocCommentLineStrategy":"keep"},"repository":{"url":"git+https://github.com/boneskull/bupkis.git","type":"git","directory":"packages/bupkis"},"_npmVersion":"11.16.0","description":"Uncommonly extensible assertions for the beautiful people","directories":{},"_nodeVersion":"24.18.0","dependencies":{"obug":"2.1.3","slug":"^11.0.0","jest-diff":"30.4.1","type-fest":"^4.41.0","set.prototype.union":"^1.1.3","json-stable-stringify":"1.3.0","set.prototype.difference":"^1.1.7","set.prototype.issubsetof":"^1.1.4","set.prototype.intersection":"^1.1.7","set.prototype.issupersetof":"^1.1.3","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.symmetricdifference":"^1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^4.1.5"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/bupkis_1.0.0_1783650172876_0.857082445446234","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"bupkis","version":"1.1.0","type":"module","description":"Uncommonly extensible assertions for the beautiful people","repository":{"directory":"packages/bupkis","type":"git","url":"git+https://github.com/boneskull/bupkis.git"},"homepage":"https://bupkis.zip","author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","engines":{"node":"^22.13.0 || >=24.0.0"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.cts","import":"./dist/index.js","require":"./dist/index.cjs"},"./assertions":{"types":"./dist/assertion/index.d.cts","import":"./dist/assertion/index.js","require":"./dist/assertion/index.cjs"},"./diff":{"types":"./dist/diff.d.cts","import":"./dist/diff.js","require":"./dist/diff.cjs"},"./guards":{"types":"./dist/guards.d.cts","import":"./dist/guards.js","require":"./dist/guards.cjs"},"./package.json":"./package.json","./schema":{"types":"./dist/schema.d.cts","import":"./dist/schema.js","require":"./dist/schema.cjs"},"./snapshot":{"types":"./dist/snapshot/index.d.cts","import":"./dist/snapshot/index.js","require":"./dist/snapshot/index.cjs"},"./types":{"types":"./dist/types.d.cts","import":"./dist/types.js","require":"./dist/types.cjs"},"./util":{"types":"./dist/util.d.cts","import":"./dist/util.js","require":"./dist/util.cjs"}},"keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"scripts":{"bench":"modestbench","bench:async":"modestbench \"bench/async-*.bench.js\"","bench:function-schema":"modestbench bench/sync-function-schema.bench.js","bench:pure":"modestbench bench/sync-function-pure.bench.js","bench:schema":"modestbench bench/sync-schema.bench.js","bench:sync":"modestbench \"bench/sync-*.bench.js\"","bench:value":"modestbench bench/value-to-schema.bench.js","build":"zshy","debug:assertion-ids":"tsx scripts/dump-assertion-ids.ts","prepare":"zshy","profile:analyze":"tsx scripts/analyze-profiles.ts","profile:benchmarks":"tsx scripts/profile-benchmarks.ts","profile:property":"node --cpu-prof --cpu-prof-dir=.profiles --import tsx --test \"$npm_package_config_test_property\"","profile:test":"npm run test:profile","test":"npm run test:local","test:base":"node --test --test-reporter=spec --import tsx","test:ci":"npm run test:local -- --test-reporter=node-test-github-reporter","test:coverage":"c8 --reporter=lcov --reporter=text npm test","test:dev":"npm run test:local -- --watch \"$npm_package_config_test_all\"","test:fuzz":"tsx --no-warnings scripts/fuzz.ts","test:local":"npm run test:base -- \"$npm_package_config_test_all\"","test:profile":"npm run test:base -- --cpu-prof --cpu-prof-dir=.profiles \"$npm_package_config_test_all\"","test:property":"npm run test:base -- \"$npm_package_config_test_property\"","test:property:dev":"npm run test:base -- --watch \"$npm_package_config_test_property\"","test:snapshots":"npm run test:base -- --test-name-pattern=\"<snapshot>\" \"$npm_package_config_test_all\"","test:types":"tsd","test:update-snapshots":"npm run test:base -- --test-update-snapshots --test-name-pattern=\"<snapshot>\" \"$npm_package_config_test_all\""},"config":{"test_all":"test/**/*.test.ts","test_property":"test/property/*.test.ts"},"peerDependencies":{"zod":"^4.1.5"},"dependencies":{"jest-diff":"30.4.1","json-stable-stringify":"1.3.0","obug":"2.1.4","set.prototype.difference":"^1.1.7","set.prototype.intersection":"^1.1.7","set.prototype.isdisjointfrom":"^1.1.5","set.prototype.issubsetof":"^1.1.4","set.prototype.issupersetof":"^1.1.3","set.prototype.symmetricdifference":"^1.1.3","set.prototype.union":"^1.1.3","slug":"^12.0.0","type-fest":"^4.41.0"},"optionalDependencies":{"zod":"^4.1.5"},"publishConfig":{"access":"public","provenance":true,"registry":"https://registry.npmjs.org/"},"prettier":{"jsdocCommentLineStrategy":"keep","jsdocPreferCodeFences":true,"plugins":["prettier-plugin-jsdoc","prettier-plugin-pkg"],"singleQuote":true,"tsdoc":true},"zshy":{"exports":{".":"./src/index.ts","./assertions":"./src/assertion/index.ts","./diff":"./src/diff.ts","./guards":"./src/guards.ts","./package.json":"./package.json","./schema":"./src/schema.ts","./snapshot":"./src/snapshot/index.ts","./types":"./src/types.ts","./util":"./src/util.ts"}},"_id":"bupkis@1.1.0","bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"_integrity":"sha512-oEmMoyKnlz3NAZgjFz10Us8NgYIh2CJfZwjEs/DZks/EoCydlF0THIZgVPPWdbHwtFYSS4yATvdVZ7Z5mLBrQg==","_resolved":"/home/runner/work/_temp/bupkis-tarballs/bupkis-1.1.0.tgz","_from":"file:/home/runner/work/_temp/bupkis-tarballs/bupkis-1.1.0.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-oEmMoyKnlz3NAZgjFz10Us8NgYIh2CJfZwjEs/DZks/EoCydlF0THIZgVPPWdbHwtFYSS4yATvdVZ7Z5mLBrQg==","shasum":"82fbf5c1807cb8738eb049cc1d7488111469f01a","tarball":"https://registry.npmjs.org/bupkis/-/bupkis-1.1.0.tgz","fileCount":418,"unpackedSize":3487336,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/bupkis@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC4SLs7tBh8C+0ePXxXDrqJaeEzPAbpAu4weOqK2GHHXwIhAMUoFCVMy+AmTXowPAY7LV/MHINaHebC5soLUdqE6BQd"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ef40da7b-b63e-459f-8abc-56d240f08f87"}},"directories":{},"maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bupkis_1.1.0_1785881511473_0.08526944822084559"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-07T07:49:39.846Z","modified":"2026-08-04T22:11:52.148Z","0.0.2":"2025-09-07T07:49:40.135Z","0.1.0":"2025-09-08T07:14:38.547Z","0.1.1":"2025-09-09T04:19:48.952Z","0.1.2":"2025-09-09T21:09:11.884Z","0.2.0":"2025-09-10T19:08:17.492Z","0.3.0":"2025-09-14T23:12:47.252Z","0.4.0":"2025-09-15T07:28:10.582Z","0.5.0":"2025-09-18T00:34:45.422Z","0.5.1":"2025-09-18T05:50:30.695Z","0.6.0":"2025-09-22T05:30:12.110Z","0.7.2":"2025-09-22T21:29:33.183Z","0.8.0":"2025-09-25T20:22:29.609Z","0.9.0":"2025-09-29T19:18:04.822Z","0.10.0":"2025-10-03T20:34:28.555Z","0.10.2":"2025-10-04T02:55:12.618Z","0.10.4":"2025-10-05T21:10:16.493Z","0.10.6":"2025-10-06T07:14:09.383Z","0.11.0":"2025-10-06T18:11:30.889Z","0.11.1":"2025-10-10T06:13:15.651Z","0.12.0":"2025-10-24T18:04:05.959Z","0.12.1":"2025-10-26T07:19:06.676Z","0.12.2":"2025-10-31T19:05:25.120Z","0.13.0":"2025-11-13T21:44:26.952Z","0.14.0":"2025-12-10T04:32:52.403Z","0.15.0":"2026-01-11T05:54:27.308Z","0.17.0":"2026-01-14T23:20:50.258Z","0.18.0":"2026-01-16T22:57:26.509Z","0.18.1":"2026-01-18T02:20:17.113Z","0.18.2":"2026-06-19T01:06:15.166Z","0.18.3":"2026-06-30T02:15:56.351Z","1.0.0":"2026-07-10T02:22:53.012Z","1.1.0":"2026-08-04T22:11:51.673Z"},"bugs":{"url":"https://github.com/boneskull/bupkis/issues"},"author":{"name":"Christopher Hiller","email":"boneskull@boneskull.com"},"license":"BlueOak-1.0.0","homepage":"https://bupkis.zip","keywords":["test","expect","assert","assertion","expectation","assertion library","assertions","zod","validation","testing","jest","mocha","chai","vitest","ava","tap","tape"],"repository":{"directory":"packages/bupkis","type":"git","url":"git+https://github.com/boneskull/bupkis.git"},"description":"Uncommonly extensible assertions for the beautiful people","maintainers":[{"name":"boneskull","email":"boneskull@boneskull.com"}],"readme":"<p align=\"center\">\n  <a href=\"/\"><img src=\"../../site/media/bupkis-logo-512.png\" width=\"512px\" align=\"center\" alt=\"BUPKIS: The Glory of Certainty\"/></a>\n  <h1 align=\"center\"><span class=\"bupkis\">⁓ BUPKIS ⁓<span></h1>\n  <p align=\"center\">\n    <em>“Uncommonly Extensible Assertions for The Beautiful People”</em>\n    <br/>\n    <small>by <a href=\"https://github.com/boneskull\" title=\"@boneskull on GitHub\">@boneskull</a></small>\n  </p>\n</p>\n\n## Quick Links\n\n- [BUPKIS' Homepage][docs] (<https://bupkis.zip>)\n- [Assertion Reference][assertion-reference]\n- [Guide: Basic Usage][basic-usage]\n- [Guide: Creating a Custom Assertion][create-a-custom-assertion]\n\n## Motivation\n\n> _\"Another assertion library? You cannot be serious, dogg. My test framework has its own assertions!\"_\n>\n> <small>‒sickos, probably</small>\n\nLook, we're ~~old~~ ~~wizened~~ ~~experienced~~ knowledgeable and we've written a lot of tests. We've used a lot of assertion libraries. There are ones we prefer and ones we don't.\n\nBut none of them do quite what <strong><span class=\"bupkis\">BUPKIS</span></strong> does. We want an assertion library that prioritizes:\n\n- Type safety\n- Uncompromisable extensibility\n- A small API surface\n\nWe can think of several that tick two-thirds of those boxes! But _we demand the total package_ (And You Should Too).\n\n> ⚠️ **Caution!**\n>\n> Assertion libraries tend come in two flavors: chainable or stiff & traditional. But because these styles are likely _familiar_ to you, you may hate <strong><span class=\"bupkis\">BUPKIS</span></strong>.\n>\n> We _want_ you to like it, yes. But if you don't, we're content with just making our point and asking the following favor of the reader:\n>\n> **Do not confuse _familiarity_ with _usability_.**\n\nThe following is a brief overview of the design choices we made to serve these goals.\n\n### Natural Language Assertions\n\nIn <strong><span class=\"bupkis\">BUPKIS</span></strong>, \"natural language\" is the means to the end of \"a small API surface\".\n\nWhen you're using <strong><span class=\"bupkis\">BUPKIS</span></strong>, you **don't** write this:\n\n```js\nexpect(actual).toEqual(expected);\n```\n\nInstead, you write this:\n\n```js\nexpect(actual, 'is', expected);\n// or this\nexpect(actual, 'to be', expected);\n// or this\nexpect(actual, 'to equal', expected);\n// or even this\nexpect(actual, 'equals', expected);\n// or yet another way\nexpect(actual, 'is equal to', expected);\n// or believe it or not, even this\nexpect(actual, 'to strictly equal', expected);\n```\n\nIf another assertion library wants you to write:\n\n```js\nexpect(actual).to.be.a('string');\n```\n\nThen <strong><span class=\"bupkis\">BUPKIS</span></strong> wants you to write:\n\n```js\nexpect(actual, 'to be a string');\n// it is tolerant of poor/ironic grammar, sometimes\nexpect(actual, 'to be an string');\n```\n\nCan't remember the phrase? Did you forget a word or make a typo? Maybe you also forgot <strong><span class=\"bupkis\">BUPKIS</span></strong> is type-safe?! You'll get a nice squiggly for your trouble.\n\nThis isn't black magic. It ain't no _cauldron_. We're not just _throwing rat tails and `string`s into a function and stirring that shit up._\n\n> _\"Preposterous! Functions. Things of that nature.\"_\n>\n> <small>‒the reader and/or more sickos</small>\n\nYou may wonder how this could this be anything _but_ loosey-goosey _senselessness_. On the contrary—we have _conventions_!\n\n#### Conventions of expect()\n\nTo formalize the conventions at a high level:\n\n- The first parameter to a <strong><span class=\"bupkis\">BUPKIS</span></strong> assertion is always the _subject_ ([def.](https://bupkis.zip/documents/Reference.Glossary_of_Terms#subject)).\n\n- The \"string\" part of a <strong><span class=\"bupkis\">BUPKIS</span></strong> assertion is known as a _phrase_. Every expectation will contain _at minimum_ one (1) phrase. As you can see from the above \"to be a string\" example, phrases often have aliases.\n\n- Assertions may have multiple phrases or parameters, but the simplest assertions always look like this:\n\n  ```ts\n  expect(subject, 'phrase');\n  ```\n\n  ...and more complex assertions look like this:\n\n  ```ts\n  expect(subject, 'phrase', [parameter?, phrase?, parameter?, ...]);\n  ```\n\n- If an assertion's phrase contains something like \"to satisfy\" or \"satisfying\", then the next parameter has special meaning. It is somewhat like Jest's `expect.objectContaining()`, but more powerful (prior art: [unexpected's `to satisfy` assertion][unexpected-to-satisfy]).\n\n  There are three (3) things to know about this parameter:\n  1. It matches objects, but only verifies that the keys provided are a) **present** and the values _satisfy_ the values in the expected object.\n  2. If the value of any given property in an object is a _regular expression_ (`RegExp`), the actual value will be coerced to a string and tested against the regular expression. This provides easy string matching within nested properties (see below example for what this looks like).\n  3. _Any assertion_ (including custom assertions) can be embedded within an object parameter via the `expect.it()` function:\n\n  ```ts\n  expect(user, 'to satisfy', {\n    name: expect.it('to be a string'),\n    email: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/, // equivalent to \"to match\" below\n    age: expect.it('to be greater than', 18),\n    roles: [expect.it('to be a string')], // Each array element must be a string\n    metadata: {\n      lastLogin: expect.it('to match', /^\\d{4}-\\d{2}-\\d{2}$/),\n      preferences: {\n        theme: expect.it('to be one of', ['light', 'dark']),\n        notifications: expect.it('to be a boolean'),\n      },\n    },\n  });\n  ```\n\n  > 👉 See [Embeddable Assertions][] for more a thorough explanation of `expect.it()`.\n\n- You can _negate_ **any** assertion by prepending its first phrase with `not`. For example:\n\n  ```js\n  expect(actual, 'to be', expected);\n  expect(actual, 'not to be', expected);\n\n  expect(\n    () => throw new TypeError('aww, shucks'),\n    'not to throw a',\n    TypeError,\n    'satisfying',\n    /gol durn/,\n  );\n  ```\n\n- You can \"chain\" multiple assertions (including custom assertions) together by delimiting them with `and`:\n\n  ```js\n  expect(\n    user,\n    'to satisfy',\n    {\n      name: expect.it('to be a string', 'and', 'to have length less than', 100),\n      age: expect.it('to be greater than', 18),\n    },\n    'and',\n    'to have property',\n    'email',\n  );\n  ```\n\n  _How about them apples._\n\n### Custom Assertions Built With Standard Schema V1\n\n<strong><span class=\"bupkis\">BUPKIS</span></strong> supports any [Standard Schema V1][standard schema]-compliant validation library, including [Zod][], [Valibot][], [ArkType][], [Effect Schema][], and many others.\n\nMost of the built-in assertions are implemented using Zod schemas, but you can use **any** Standard Schema V1 library to create custom assertions. <strong><span class=\"bupkis\">BUPKIS</span></strong> extends this capability to you regardless of your preferred validation library.\n\nAn example will be illuminating. What follows is a ~~stupid~~ ~~quick~~ _stupid_ example of a creating and \"registering\" a basic assertion _which can be invoked using two different phrases_:\n\n```ts\nimport { z, use, createAssertion } from 'bupkis';\n\nconst stringAssertion = createAssertion(\n  z.string(),\n  [['to be based', 'to be bussin']],\n  z.string(),\n);\n\nconst { expect } = use([stringAssertion]);\n\nexpect('chat', 'to be based');\nexpect('fam', 'to be bussin');\n\n// did you know? includes all builtin assertions!\nexpect('skiball lavatory', 'to be a string');\n```\n\n> 📒 Assertion Registration?\n>\n> \"Registration\" of an assertion (a misnomer; there is no stateful \"registry\" in <strong><span class=\"bupkis\">BUPKIS</span></strong>) is as straightforward as passing an array of objects created by `createAssertion()` and/or `createAsyncAssertion()` to the `use()` function.\n>\n> `use()`, as exported from `bupkis`, returns a new `expect()`/`expectAsync()` pair that which can execute _your_ custom assertions _in addition to_ every built-in assertion.\n>\n> The `expect()`/`expectAsync()` functions returned by `use()` are fully type-safe and aware of your custom assertions. Each `expect()`/`expectAsync()` function has a `.use()` method as well; this allows you to compose multiple sets of assertions together (like from several assertion plugin packages).\n\n**Any [Standard Schema V1][standard schema] library makes it extremely easy to create most custom assertions**. Whether you prefer [Zod][], [Valibot][], [ArkType][], or another compliant library, they all work seamlessly. But despite their power, validation libraries can't do _everything_ we need an assertion to do; for those situations, there's also a [function-based API][custom-assertion-function] for use with [parametric][] and [behavioral][] (e.g., involving function execution) assertions.\n\nFunction-based assertions can provide **rich diff output** through customizable formatting options—supply pre-computed diffs, custom value formatters, or [jest-diff][] configuration to make assertion failures crystal clear.\n\n👉 For an assiduous guide on creating assertions, read [Guide: How to Create a Custom Assertion][create-a-custom-assertion].\n\n### Excruciating Type Safety\n\nWe have tried to make <strong><span class=\"bupkis\">BUPKIS</span></strong> is as type-safe as possible. To be clear, _that is pretty damn possible_. This means:\n\n- Every built-in assertion is fully type-safe and is declared as an overload for `expect()` or `expectAsync()`.\n- Every _custom_ assertion is _also_ fully type-safe and is declared as an overload for `expect()` or `expectAsync()` (as returned from `use()`)\n- If an assertion demands the _subject_ be of a certain type, the TS compiler will squawk if you try to use an incompatible subject type. For example, `<Map> to have size <number>` will only accept a `Map` as the subject, and this will be obvious in your editor.\n\n> _Note_: `expect()` is not and cannot be a type guard; see the [\"Caveats\" Reference doc](http://bupkis.zip/documents/Reference.Caveats#expect-is-not-a-type-guard) for more information.\n\n## Prerequisites\n\n**Node.js**: ^22.13.0, >=24.0.0\n\n<strong><span class=\"bupkis\">BUPKIS</span></strong> supports any [Standard Schema V1][standard schema]-compliant validation library. It has a peer dependency on [Zod][] v4+ (which implements Standard Schema V1), but will install it as an optional dependency if you are not already using it. You can also use [Valibot][], [ArkType][], [Effect Schema][], or any other Standard Schema V1 library.\n\n<strong><span class=\"bupkis\">BUPKIS</span></strong> ships as a dual CJS/ESM package.\n\n> Disclaimer: <strong><span class=\"bupkis\">BUPKIS</span></strong> has been designed to run on Node.js in a development environment. Anyone attempting to deploy <strong><span class=\"bupkis\">BUPKIS</span></strong> to some server somewhere will get what is coming to them.\n\n## Installation\n\n```sh\nnpm install bupkis -D\n```\n\n## Usage\n\n👉 See the [Basic Usage Guide](https://bupkis.zip/documents/guides.basic_usage) for a quick introduction.\n\n📖 Visit [https://bupkis.zip](https://bupkis.zip) for comprehensive guides and reference.\n\n## Acknowledgements\n\n- [Unexpected][] is the main inspiration for <strong><span class=\"bupkis\">BUPKIS</span></strong>. However, creating types for this library was exceedingly difficult (and was in fact the first thing we tried). Despite that drawback, we found it exquisitely usable.\n- [Standard Schema][] for creating a unified interface that allows <strong><span class=\"bupkis\">BUPKIS</span></strong> to work with any compliant validation library.\n- [Zod][] is a popular object validation library upon which <strong><span class=\"bupkis\">BUPKIS</span></strong> builds many of its built-in assertions. Special thanks to Colin McDonnell for implementing Standard Schema V1.\n- [fast-check][]: Thanks to Nicholas Dubien for this library. There is **no better library** for an assertion library to use to test itself! Well, besides itself, we mean. How about _in addition to_ itself? Yes. Thank you!\n- [zshy][] from Colin McDonnell. Thanks for making dual ESM/CJS packages easy and not too fancy.\n- [TypeDoc][] it really documents the hell out of TypeScript projects.\n- [@cjihrig](https://github.com/cjihrig) and other Node.js contributors for the thoughtfulness put into [`node:test`](https://nodejs.org/api/test.html) that make it my current test-runner-of-choice.\n\n## Why is it called **BUPKIS**?\n\nTODO: think of good reason and fill in later\n\n## License\n\nCopyright © 2025 [Christopher \"boneskull\" Hiller][boneskull]. Licensed under [BlueOak-1.0.0](https://blueoakcouncil.org/license/1.0.0).\n\n[boneskull]: https://github.com/boneskull\n[standard schema]: https://standardschema.dev\n[zod]: https://zod.dev\n[valibot]: https://valibot.dev\n[arktype]: https://arktype.io\n[effect schema]: https://effect.website/docs/schema/introduction\n[docs]: https://bupkis.zip\n[basic-usage]: https://bupkis.zip/usage\n[unexpected]: https://unexpected.js.org\n[fast-check]: https://fast-check.dev\n[parametric]: https://bupkis.zip/glossary#parametric-assertion\n[custom-assertion-function]: https://bupkis.zip/custom-assertions#static-assertions-function-style\n[create-a-custom-assertion]: https://bupkis.zip/custom-assertions\n[assertion-reference]: https://bupkis.zip/assertions\n[zshy]: https://github.com/colinhacks/zshy\n[typedoc]: https://typedoc.org\n[embeddable assertions]: https://bupkis.zip/documents/Basic_Usage#embeddable-assertions\n[unexpected-to-satisfy]: https://unexpected.js.org/assertions/any/to-satisfy/\n[behavioral]: https://bupkis.zip/glossary#behavioral-assertion\n[jest-diff]: https://npm.im/jest-diff\n","readmeFilename":"README.md"}