{"_id":"artifact-size-analyzer","_rev":"13-8c9748e4a1d4abf9372265508b9f97c8","name":"artifact-size-analyzer","dist-tags":{"latest":"1.2.7"},"versions":{"0.0.1":{"name":"artifact-size-analyzer","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"artifact-size-analyzer@0.0.1","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"dist":{"shasum":"a43c33295e6c1776494355a1215458392b3e8031","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-0.0.1.tgz","fileCount":2,"integrity":"sha512-CgdDYVpEz5KJauqDOJj2UeXJw+4DD29AZEc44ERn62l5zVnIM6Grpao6VHydYeE+TNEdMytCWaUOHnxrgs1TMw==","signatures":[{"sig":"MEQCIAyM/Iw+HoqZwg93mgg097nf5mgWh4rz6DMv7CqGY1BMAiA7S9po8rf6/riVM/mRitJn4tdX6rRQF5GR4qAjlVSSBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2051},"_npmUser":{"name":"ext","email":"ext-npmjs.com@sidvind.com"},"_npmVersion":"11.7.0","description":"OIDC trusted publishing setup package for artifact-size-analyzer","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_0.0.1_1765682143146_0.26195961396812373","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"artifact-size-analyzer","version":"1.0.0","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.0.0","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"dist":{"shasum":"fba2e46df68e63b737aabb5105966968b553770a","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.0.0.tgz","fileCount":11,"integrity":"sha512-AlLVOmO4JZRmXtX9XmRE7Xfe99oIowQ0XYY9xaGEAQ8Q8xOFdBHdJEjVglrVDEPAHb9JHk92d04AkQa8Cym5vw==","signatures":[{"sig":"MEQCID9Wc3OVFNdmpnibbsV/zUJQdGVVtuR85S/hUaLacEwDAiAf3cGK3hNpPqE+Fr8SI2prMetgn/noTW+bXcFlotlQRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1409462},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"a5eecb721d3a39dec974f3f1692ffd609466a8a7","scripts":{"attw":"npx @arethetypeswrong/cli --profile esm-only --no-emoji --pack .","test":"vitest run","build":"node build.mjs","eslint":"eslint --cache .","prebuild":"tsc","postbuild":"tsc --project examples/tsconfig.json","eslint:fix":"eslint --cache --fix .","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"prettier":"@html-validate/prettier-config","repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ajv":"8.17.1","yargs":"18.0.0"},"_hasShrinkwrap":false,"devDependencies":{"is-ci":"4.1.0","memfs":"4.51.1","vitest":"4.0.15","esbuild":"0.27.1","typescript":"5.9.3","@types/node":"22.19.2","@types/yargs":"17.0.35","npm-pkg-lint":"4.3.1","stream-buffers":"3.0.3","@tsconfig/node22":"22.0.5","@tsconfig/strictest":"2.0.8","@vitest/coverage-v8":"4.0.15","@arethetypeswrong/cli":"0.18.2","@tsconfig/recommended":"1.0.13","@types/stream-buffers":"3.0.8","@microsoft/api-extractor":"7.55.2","@html-validate/eslint-config":"6.11.1","@html-validate/prettier-config":"3.1.10","@html-validate/eslint-config-typescript":"6.11.1","@html-validate/eslint-config-typescript-typeinfo":"6.11.1"},"externalDependencies":[],"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.0.0_1765682387988_0.9186681437257065","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"artifact-size-analyzer","version":"1.0.1","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.0.1","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"dist":{"shasum":"bf83f1fdcb828fe897f1a0ca250f666a7d73e7a0","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.0.1.tgz","fileCount":11,"integrity":"sha512-wFJ+d3urxUsvwr3ClsPmv47d6Qth2xkYvavgxrm24yPHm8+8gYLl5oduZ0IvzRwNDFxOhdUiMC0B/Sx0EfXRYg==","signatures":[{"sig":"MEQCIHqsMdLZrCRO1feE86Fxxv8btdmotZ/8HoV45AXKQKP/AiAYAfGP6d/BSInoyUry5fTzsRbP7wWWBGo2NgwGvOKutg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1407973},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"070bf1a8ee59a28087ce562fede7943832992d73","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.0.1_1765718645516_0.02293389039342686","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"artifact-size-analyzer","version":"1.0.2","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.0.2","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"9e20e501a56f71e56b0f3b77821bc40ed28d001f","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.0.2.tgz","fileCount":12,"integrity":"sha512-RwANMFxRf4SBxY5mjUty118mAEbya5ImMPQpvhkoPnnqhaKkJ4ViPZXFlNyosWJU1yOUs5yRq8i4lzmb7QBlrQ==","signatures":[{"sig":"MEUCIG2RSEsKkIX1UWEn11/orboVOB/uDVc4S2TUMJ1ae7DQAiEAlgDgXq9iWIEcoiJ/3v8dVBH1WMvtc9ocMropclkY19w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1408159},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"4d5dc964622d828f850f1b113d2ab4772738e1bf","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.0.2_1765731133678_0.5228609410774281","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"artifact-size-analyzer","version":"1.1.0","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.1.0","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"c2f232b9017183a044e255d87e48cc666299045a","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.1.0.tgz","fileCount":12,"integrity":"sha512-Cq+zgxBJxP/k/Nid5pR1SyieuvfdxbKLDC8nqRU99bxo4PZHwhzyvLtwJSAOIORpBI+H+KVHNJYsRSi29TJn9w==","signatures":[{"sig":"MEUCIB1hLrqBU1di4HrWW2qL6tFLRelUpzoqKkVb9+2x/aKDAiEA1+u+4/7TizLOi8wKrwWpLN5IRCVqibNLKAjtYEYeYlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1419228},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"e6baae4c9471f004fb03fb2dfa6ac11970fbc7a2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.1.0_1765959219372_0.5141289739936634","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"artifact-size-analyzer","version":"1.2.0","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.2.0","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"8a3344a42b3cf2d2a42df8db7b99dddce6ce5ff9","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.0.tgz","fileCount":12,"integrity":"sha512-Ep7SQ9EfVjiLJU3CbnZ4iFDJmJFYoZiTrEsfMTf4f44JwqDjkwHfLRnyr2/yADtBVAFwo1Hm9pxQjRf2YSQdNw==","signatures":[{"sig":"MEUCIQCncMf7UhXyL5qpOSl3/arkYSssz/WddFLx4jCui/fk3gIgZI4jS8uM84assTSZECLbbhYKquchfGJCtuUFicYzifg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1432078},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"106dd274ad22fc6c280827e425cccaaccbd15568","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.2.0_1766103800515_0.9996607268065287","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"artifact-size-analyzer","version":"1.2.1","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.2.1","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"fa978d94f821041ce20c00b779a3f7dbf0169ab8","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.1.tgz","fileCount":12,"integrity":"sha512-F2Bs+MHdi/x87kUfMq1rTgkakev2vN9WvhPHyzdEes1s4pH15p2Mb2ldLO1jY7QVVC2cbnhcqAw6YLrqNtmWjA==","signatures":[{"sig":"MEUCIQCa/JSHL0n7C5606l3+gBAX5+gnkew4ANEhYMd3gRowvgIgAYJ2GWWyhIZ2O1t2u34IfbCGqDDnqXH2zFfzC04wXGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1432344},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"f95550f66dae985d9c551592c50da32ff85ef53e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.2.1_1768404769306_0.18043670725766336","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"artifact-size-analyzer","version":"1.2.2","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.2.2","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"745f89706ade3fb2a43402b881cf9d27e313bc03","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.2.tgz","fileCount":12,"integrity":"sha512-N4ToKJJA+SDYas2v7C9ZQEYXI/CyEUfsfki6pmg0sEMnrxLFZ9kpsLjnOsSY/kZnXTM6J1BwJPpCKJZCgpXcyA==","signatures":[{"sig":"MEYCIQCQe34qIBOQMWn9KtIqb5LexnRZ7amegZufg7xXYV4pFwIhAMnP3M5FG7/+ghop7sYI4wUY7fSncavAQPhgO7ZPEYjy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1432374},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"4e989b06862cdf66dfc6ffcbeaa9d85f827b1dae","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.2.2_1768491362203_0.8476796033207361","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"artifact-size-analyzer","version":"1.2.3","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.2.3","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"ae3a1eb0536066a30b7a44cd1b177164c582d65b","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.3.tgz","fileCount":12,"integrity":"sha512-bCK68iRavsmlYxXuIbSoHwE+TCQfjGdAKxn9SY+ZmPwLIz4OOVQXszN3WLoXDSyrSghfHC168Mu2EnevT3pnrw==","signatures":[{"sig":"MEUCIHBwrSeIR3CAGn4hEwTwnmsa1LqT7cT2Z0ggO/CttfLBAiEAzwWMqcQJIcT9GqKJ00oK1vU8tfiw/hwYhIx9g/geqoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1433538},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"5bfce078e702f263927823a4f2fa25b6a8f44838","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.10.1","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.2.3_1771547284119_0.5015880751395372","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"artifact-size-analyzer","version":"1.2.4","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.2.4","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"49a78796d44c92f3b2f3a91747c1064980d9f24b","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.4.tgz","fileCount":12,"integrity":"sha512-rCRwZlqBUOAerWXjDpK72GLPaqXRntpqUdH6Id/o8XJSqPmyA7z0W5YNFPn2sYR6DzDKK8LN48yi6wqiGWWawQ==","signatures":[{"sig":"MEUCIBNNNwWCyxnEzs+/fC9Gb/po3horC9sIutT7cZZzkl9yAiEAzqu8I5ru9Ux3YfIT4vXmAFWwPIJqrwjcnXMg2c4og7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1492836},"main":"dist/index.mjs","type":"module","engines":{"node":">= 22.19"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"ef6b5b7db48682b36b735629a378ae4645c19746","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.13.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.2.4_1777596380957_0.5440526934299006","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"artifact-size-analyzer","version":"1.2.5","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.2.5","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"8b8a55ba938bbee7acb82de46d4c648d295cdb8f","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.5.tgz","fileCount":12,"integrity":"sha512-HKBxIUZq1U9Gj3UGEckIwASZbe12DRRUHqQzeQCASN9Fy6Cn3FNfn1Qy+3zteIe/ujP4USxROrQ4a7sstcwbhg==","signatures":[{"sig":"MEUCIFUb64Hsi9KdwOgMCR+z84hmncpKdKvc55qewKDLoCYFAiEA7q4d8505MGE/Bp9hUnQm5JWbZM8lpdMLCP9ClCWtGgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1484271},"main":"dist/index.mjs","type":"module","engines":{"node":"^22.19 || >= 24.0.0"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"3cc00ab793c4b8e017a31481d7de29d7d032bff8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.19.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.2.5_1785458261724_0.04395143178493499","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"artifact-size-analyzer","version":"1.2.6","keywords":["artifact","build","bundle","ci","pull-requests","size"],"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","_id":"artifact-size-analyzer@1.2.6","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"homepage":"https://github.com/ext/artifact-size-analyzer","bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"dist":{"shasum":"25b8bc55142d6010a1b4eb68de85b537d402ef18","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.6.tgz","fileCount":12,"integrity":"sha512-sszWupBdXE1GNfk9BcskD6R53cWJONbe8GKfjicNDRaHJ4zQuHQ78SN2+X2DwYCjX0nTOHI4LgFkyCEM41CVig==","signatures":[{"sig":"MEQCIBjics9IwL5uKqH2c8NZLe4pmFJEwvdfgw/oHT79t0jWAiBIzNEnw3kCohTYIXMQVVa+XT1yYkbPC8yusaYOIjpsZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1488411},"main":"dist/index.mjs","type":"module","engines":{"node":"^22.19 || >= 24.0.0"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"25dd249eacbef70fcab39789685371e1c64176db","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.19.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/artifact-size-analyzer_1.2.6_1787128065994_0.16318385460926832","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"_id":"artifact-size-analyzer@1.2.7","bin":{"artifact-size-analyzer":"bin/artifact-size-analyzer"},"bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"dist":{"shasum":"c09522dc6b5b59eca5f808a49b080717843d6dfb","tarball":"https://registry.npmjs.org/artifact-size-analyzer/-/artifact-size-analyzer-1.2.7.tgz","fileCount":12,"integrity":"sha512-GMmyXtX+uBKHUx7kyLr2wrVDF4XfWYshcYCmQspBlo1AhlSraogNH6lM7Jdw1thTGGhlEqJf+cW73FBOYzltwA==","signatures":[{"sig":"MEYCIQDmF62Pjc5ZjXTw4kPhpaKOUOAA1PbyZ8lQBDCsmEOXiQIhANyBQVltbuV6Uk3GzicRsykBOKt1coqISIPXQHg5P5fo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDzEX4WgeK5nUN6uo64ABFC9bQnraYsEAxbA79B7Xh4yAiA8m/GB9ezhnnxuA61+PVP855dt4drVjcTI8sfJ5233dw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/artifact-size-analyzer@1.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1531747},"main":"dist/index.mjs","name":"artifact-size-analyzer","type":"module","author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"engines":{"node":"^22.19 || >= 24.0.0"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":{"url":"https://github.com/sponsors/ext","type":"individual"},"gitHead":"e94fbfa24dbbfe11ce80fd8d16190f343e9bdd98","license":"MIT","version":"1.2.7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d80c8c35-7d6a-4bd8-8f3f-ed76f8d06638"}},"homepage":"https://github.com/ext/artifact-size-analyzer","keywords":["artifact","build","bundle","ci","pull-requests","size"],"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"_npmVersion":"11.20.0","description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","directories":{},"maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/artifact-size-analyzer_1.2.7_1790296412051_0.8609944456768746"}}},"time":{"created":"2025-12-14T03:15:43.145Z","modified":"2026-09-25T00:33:32.542Z","0.0.1":"2025-12-14T03:15:43.290Z","1.0.0":"2025-12-14T03:19:48.221Z","1.0.1":"2025-12-14T13:24:05.702Z","1.0.2":"2025-12-14T16:52:13.865Z","1.1.0":"2025-12-17T08:13:39.574Z","1.2.0":"2025-12-19T00:23:20.707Z","1.2.1":"2026-01-14T15:32:49.503Z","1.2.2":"2026-01-15T15:36:02.408Z","1.2.3":"2026-02-20T00:28:04.325Z","1.2.4":"2026-05-01T00:46:21.177Z","1.2.5":"2026-07-31T00:37:41.888Z","1.2.6":"2026-08-19T08:27:46.159Z","1.2.7":"2026-09-25T00:33:32.175Z"},"bugs":{"url":"https://github.com/ext/artifact-size-analyzer/issues"},"author":{"name":"David Sveningsson","email":"ext@sidvind.com"},"license":"MIT","homepage":"https://github.com/ext/artifact-size-analyzer","keywords":["artifact","build","bundle","ci","pull-requests","size"],"repository":{"url":"git+https://github.com/ext/artifact-size-analyzer.git","type":"git"},"description":"Zero-opinion tool to analyze and compare artifact sizes across branches and CI runs","maintainers":[{"name":"ext","email":"ext-npmjs.com@sidvind.com"}],"readme":"# Artifact size analyzer\n\nA small, zero-opinion tool to analyze and compare the sizes of build artifacts across branches and CI runs.\nIdeal for pull requests — it highlights size regressions and tracks compressed and uncompressed artifact sizes.\n\n- ✅ Configurable: include/exclude files and compression algorithms\n- ✅ Agnostic: works with any language or toolchain\n- ✅ Multi-artifact: measure multiple artifacts in one pass\n- ✅ Outputs: JSON, Markdown, and plain text (for Actions, CLI, and API)\n\n![Screenshot of a pull request comment made by this GitHub Action](https://raw.githubusercontent.com/ext/artifact-size-analyzer/refs/heads/main/example-comment.png)\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Configuration file](#configuration-file)\n- [Using with GitHub Actions](#using-with-github-actions)\n- [Using with CLI](#using-with-cli)\n- [Using with API](#using-with-api)\n- [Development](#development)\n\n## Installation\n\nInstall as a dev dependency (recommended):\n\n```bash\nnpm install --save-dev artifact-size-analyzer\n```\n\n## Configuration file\n\nThe config file describes artifacts to analyze.\n\n```json\n{\n  \"artifacts\": [\n    {\n      \"id\": \"app\",\n      \"name\": \"app\",\n      \"include\": \"dist/**/*.js\"\n    }\n  ]\n}\n```\n\n### Options\n\n#### `artifacts[].id`\n\nType: `string`  \nRequired: yes\n\nUnique identifier for this artifact.\n\n#### `artifacts[].name`\n\nType: `string`  \nRequired: yes\n\nDisplay name for this artifact.\n\n#### `artifacts[].include`\n\nType: `string | string[]`  \nRequired: no  \nDefault: `[]`\n\nFiles to include for this artifact (globs supported).\n\n#### `artifacts[].exclude`\n\nType: `string | string[]`  \nRequired: no  \nDefault: `[]`\n\nFiles to exclude for this artifact (globs supported).\n\n#### `artifacts[].compression`\n\nType: `string | string[] | false`  \nRequired: no  \nDefault: `[\"gzip\", \"brotli\"]`\n\nCompression algorithm(s) to enable for this artifact or `false` to disable compression.\n\nSupported compression algorithms:\n\n- `gzip`\n- `brotli`\n\n## Using with GitHub Actions\n\nThe recommended pattern is three jobs:\n\n- **Analyze (base)**: on the pull request target branch run the `analyze` action to produce a baseline.\n- **Analyze (current)**: on the PR head ref, run the `analyze` action to produce artifact data for the current commit.\n- **Compare**: run the `compare` action to compare the two artifacts.\n\n> [!IMPORTANT]\n> Both the `analyze` and `compare` actions assume you perform the `checkout` and `setup-node` steps in the workflow (see example workflow below).\n\nOn target branch:\n\n```yaml\n- name: Run analyzer\n  uses: ext/artifact-size-analyzer/analyze@v1\n  with:\n    config-file: ./example-config.json\n    artifact-name: base-size\n```\n\nOn head branch:\n\n```yaml\n- name: Run analyzer\n  uses: ext/artifact-size-analyzer/analyze@v1\n  with:\n    config-file: ./example-config.json\n    artifact-name: current-size\n```\n\nTo compare:\n\n```yaml\n- name: Compare results\n  id: compare\n  uses: ext/artifact-size-analyzer/compare@v1\n  with:\n    base-artifact: base-size\n    current-artifact: current-size\n```\n\nExample workflow:\n\n<details>\n<summary>artifact-size.yml</summary>\n\n```yaml\nname: Artifact size\n\non:\n  pull_request:\n    types: [opened, synchronize, reopened]\n\njobs:\n  analyze-base:\n    name: Analyze (base)\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout target branch\n        uses: actions/checkout@v6\n        with:\n          ref: ${{ github.event.pull_request.base.ref }}\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v6\n\n      - name: Install & build\n        run: |\n          npm ci\n          npm run build\n\n      - name: Run analyzer\n        uses: ext/artifact-size-analyzer/analyze@v1\n        with:\n          config-file: ./example-config.json\n          artifact-name: base-size\n\n  analyze-current:\n    name: Analyze (current)\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout head ref\n        uses: actions/checkout@v6\n        with:\n          ref: ${{ github.event.pull_request.head.ref }}\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v6\n\n      - name: Install & build\n        run: |\n          npm ci\n          npm run build\n\n      - name: Run analyzer (current)\n        uses: ext/artifact-size-analyzer/analyze@v1\n        with:\n          config-file: ./example-config.json\n          artifact-name: current-size\n\n  compare:\n    name: Compare\n    runs-on: ubuntu-latest\n    needs: [analyze-base, analyze-current]\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v6\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v6\n\n      - name: Compare results\n        id: compare\n        uses: ext/artifact-size-analyzer/compare@v1\n        with:\n          base-artifact: base-size\n          current-artifact: current-size\n\n      - name: Print markdown\n        run: |\n          echo \"Compare markdown output:\"\n          echo \"========================\"\n          echo \"${{ steps.compare.outputs.markdown }}\"\n```\n\n</details>\n\nThe output from the `compare` action can be used in a pull request comment, this example uses [`marocchino/sticky-pull-request-comment`](https://github.com/marocchino/sticky-pull-request-comment) but you can use any you like.\n\n````yaml\n- name: Post sticky PR comment\n  uses: marocchino/sticky-pull-request-comment@v2\n  with:\n    header: artifact-size-analyzer\n    message: |\n      ${{ steps.compare.outputs.markdown }}\n\n      <details><summary>Raw JSON</summary>\n\n      ```json\n      ${{ steps.compare.outputs.json }}\n      ```\n\n      </details>\n````\n\n### Analyze inputs\n\n#### `artifact-name`\n\nType: `string`  \nRequired: yes\n\nName of the GitHub artifact to upload.\n\n#### `config-file`\n\nType: `string`  \nRequired: yes\n\nPath to the artifact configuration.\n\n#### `output-file`\n\nType: `string`  \nRequired: no  \nDefault: `temp/artifact-size.json`\n\nPath to the output file to be produced by the analyzer.\nCan optionally specify the format as a prefix `format:filename`, where `format` is `json`, `markdown`, or `text`.\n\nTo use the `compare` action the format must be `json`.\n\n#### `no-header`\n\nType: `boolean`  \nRequired: no  \nDefault: `false`\n\nWhen set to `true`, disables the header in output for formats with headers such as Markdown.\n\nUse this when you want to prepend your own heading or other content before the size table.\n\n#### `version`\n\nType: `string`  \nRequired: no\n\nOptional npm package version (e.g. `1.2.3`).\nWhen provided, the action runs `npx artifact-size-analyzer@<version>`.\n\nBy default it uses the installed version.\n\n#### `config-from`\n\nType: `string`  \nRequired: no  \nDefault: `head`\n\nWhich branch to use for the configuration file:\n\n- `head`: Uses the PR head branch (default)\n- `target`: Uses the PR target branch\n- `local`: Uses the currently checked out branch\n\n### Compare inputs\n\n#### `base-artifact`\n\nType: `string`  \nRequired: yes\n\nGitHub artifact name for the base run (uploaded by `analyze`).\n\n#### `current-artifact`\n\nType: `string`  \nRequired: yes\n\nGitHub artifact name for the current run (uploaded by `analyze`).\n\n#### `base-name`\n\nType: `string`  \nRequired: no  \nDefault: `artifact-size.json`\n\nFile name inside the base artifact that contains the analyzer output.\n\nThis should match the filename from the `output-file` input of the analyzer action.\n\nNote: `base-name` and `current-name` refer to the path of the analyzer file inside the uploaded artifact; they must match the path passed to `analyze`'s `--output-file`.\n\n#### `current-name`\n\nType: `string`  \nRequired: no  \nDefault: `artifact-size.json`\n\nFile name inside the current artifact that contains the analyzer output.\n\nThis should match the filename from the `output-file` input of the analyzer action.\n\n#### `version`\n\nType: `string`  \nRequired: no\n\nOptional npm package version (e.g. `1.2.3`).\nWhen provided, the action runs `npx artifact-size-analyzer@<version>`.\n\nBy default it uses the installed version.\n\n#### `no-header`\n\nType: `boolean`  \nRequired: no  \nDefault: `false`\n\nWhen set to `true`, disables the header in output for formats with headers such as Markdown.\n\nUse this when you want to prepend your own heading or other content before the size table.\n\n#### `unchanged`\n\nType: `string`  \nRequired: no  \nDefault: `collapse`\n\nControls how artifacts with unchanged sizes are handled:\n\n- `show`: Display all artifacts\n- `hide`: Hide unchanged artifacts from output\n- `collapse`: Show unchanged artifacts in a collapsible `<details>` section (default)\n\nUse `collapse` for pull request comments to keep the main table focused while still showing all artifacts in an expandable section.\n\n### Compare outputs\n\n#### `json`\n\nType: `string`\n\nThe comparison result formatted as JSON.\n\n#### `markdown`\n\nType: `string`\n\nThe comparison result formatted as Markdown.\n\n#### `text`\n\nType: `string`\n\nThe comparison result formatted as plain text.\n\n## Using with CLI\n\nCreate a baseline (on the default branch):\n\n```bash\nnpx artifact-size-analyzer analyze -c example-config.json -f json -o temp/base.json\n```\n\nAnalyze current artifact(s) (on the feature branch):\n\n```bash\nnpx artifact-size-analyzer analyze -c example-config.json -f json -o temp/current.json\n```\n\nCompare the results:\n\n```bash\nnpx artifact-size-analyzer compare --base temp/base.json --current temp/current.json\n```\n\n### Usage\n\n```bash\nnpx artifact-size-analyzer <command> [options]\n```\n\nwhere `command` is one of:\n\n- `analyze`: Analyze artifacts defined in a config file.\n- `compare`: Compare two previously saved analysis outputs.\n\n### Analyze\n\nAnalyze artifacts from a config file and print results or write to a file.\n\n```bash\nnpx artifact-size-analyzer analyze -c example-config.json\nnpx artifact-size-analyzer analyze -c example-config.json -f json -o temp/base.json\n```\n\nOptions:\n\n- `-c, --config-file <path>`: Path to the config file (required)\n- `-f, --format <text|json|markdown>`: Output format (default: `text`)\n- `-o, --output-file <format:filename|filename>`: Write output to file instead of stdout. Can be specified multiple times. If `format` is omitted the value from `--format` is used.\n\n### Compare\n\nCompare two saved results and print the diff.\nThe files should be the JSON outputs produced by `analyze -f json`.\n\n```bash\nnpx artifact-size-analyzer compare --base base.json --current current.json -f text\n```\n\nOptions:\n\n- `--base <path>`: Baseline JSON file produced by `analyze` (required)\n- `--current <path>`: Current JSON file produced by `analyze` (required)\n- `-f, --format <text|json|markdown>`: Output format (default: `text`)\n- `--unchanged <show|hide|collapse>`: Control how artifacts with unchanged sizes are handled (default: `show`)\n  - `show`: Display all artifacts\n  - `hide`: Hide unchanged artifacts from output\n  - `collapse`: Show unchanged artifacts in a collapsible `<details>` section\n- `-o, --output-file <path>`: Write output to file instead of stdout\n\n## Using with API\n\nProgrammatic usage is supported via the library exports.\n\nTo analyze an artifact:\n\n```ts\nimport { analyzeArtifact } from \"artifact-size-analyzer\";\n\n/* compression algorithm options */\nconst compression = {\n  gzip: false,\n  brotli: false,\n};\n\n/* artifact configuration (similar to the configuration file) */\nconst artifact = {\n  id: \"dist\",\n  name: \"dist\",\n  include: [\"dist/**/*.js\"],\n  exclude: [],\n};\n\n/* analyzes the configured artifact */\nconst result = await analyzeArtifact(artifact, { cwd: process.cwd(), compression });\n\nconsole.log(\"Result:\", result);\n```\n\nTo compare two artifacts:\n\n```ts\nimport fs from \"node:fs/promises\";\nimport { type ArtifactSize, compareArtifact } from \"artifact-size-analyzer\";\n\n/* previously saved output from `analyzeArtifact()` */\nconst base = JSON.parse(await fs.readFile(\"base.json\", \"utf8\")) as ArtifactSize;\nconst current = JSON.parse(await fs.readFile(\"current.json\", \"utf8\")) as ArtifactSize;\n\n/* compares the two artifacts */\nconst result = compareArtifact(base, current);\n\nconsole.log(\"Result:\", result);\n```\n\nYou can format the output of `analyzeArtifact` and `compareArtifact()` using `formatArtifact()` and `formatDiff()`:\n\n```ts\nimport { formatDiff } from \"artifact-size-analyzer\";\n\nconst output = formatDiff([result], \"markdown\");\nconsole.log(output);\n```\n\nOther noteworthy functions:\n\n- `readConfigFile()` reads, validates and normalizes a configuration file.\n- `compareArtifacts()` takes two arrays of base and current artifacts and runs `compareArtifact()` on each pair (based on `id`).\n\n## Development\n\nBuild the project locally:\n\n```bash\nnpm install\nnpm run build\n```\n\nRun tests and linting during development:\n\n```bash\nnpm test\nnpm run eslint\nnpm run prettier:check\n```\n","readmeFilename":"README.md"}