{"_id":"@bensitu/image-editor","_rev":"33-681c1ce3d730f7acd01b0a81e2ef7918","name":"@bensitu/image-editor","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@bensitu/image-editor","version":"1.0.0","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.0.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"a1d52aa93cbb18fe1d90e853e9c01ef163701a5c","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.0.0.tgz","fileCount":7,"integrity":"sha512-K7qLIJosbsl+TTOKDV4VeaHGAFrqfzCIjh2wUVbOhPo8XLIKSZ9pfHajJsWLqb67URD6tqGJOwKUjMgjOdFy5g==","signatures":[{"sig":"MEQCIDjmSwuqTca5S3MS0f2vjxN0I65TDNUMOVbWEe/zLpXoAiB9yhhreioT8r3sVoUV69kdjUEW4aLTz3UI+YF4n4gJBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275631},"main":"dist/image-editor.js","types":"image-editor.d.ts","module":"dist/image-editor.esm.js","exports":{"import":"./dist/image-editor.esm.js","require":"./dist/image-editor.iife.js"},"gitHead":"9b5649b7b6e6ef71c814cac5ee68e9872819f26f","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","build":"node esbuild.config.mjs"},"_npmUser":{"name":"bensitu","email":"binofsitu@gmail.com"},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"10.8.3","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"20.17.0","browserslist":["defaults","ie 11"],"dependencies":{"image-editor":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.0.0_1755885231500_0.04911017391792982","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bensitu/image-editor","version":"1.0.1","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.0.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"5d9bbae3ea48de6499dd959267c406a8d0610488","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.0.1.tgz","fileCount":7,"integrity":"sha512-J6zieYB5OtDfY0Dh/38M25bJ0yux3wlkdvWGktdbLUdJpjxoyAshXM0vXg5TsFwmbq9kLNn5vg3efcH2s2LpXA==","signatures":[{"sig":"MEQCICiEiaWq3vhQ2RUBDf+nuC1RBzSj6X1UhLo6nG6fWs3FAiBtI4h5nYDDoax7Yd6kONCB+rF54QtmCJUCFpaGM0O58g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275712},"main":"dist/image-editor.js","types":"image-editor.d.ts","module":"dist/image-editor.esm.js","exports":{"import":"./dist/image-editor.esm.js","require":"./dist/image-editor.iife.js"},"gitHead":"74a3f9c59879b9be4e011e3a15372291c92cac54","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","build":"node esbuild.config.mjs"},"_npmUser":{"name":"bensitu","email":"binofsitu@gmail.com"},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"10.8.3","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"20.17.0","browserslist":["defaults","ie 11"],"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.0.1_1755886984707_0.028597837068867538","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bensitu/image-editor","version":"1.1.0","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.1.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"30dd81ca167045153f329fdb3b829e3715204868","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.1.0.tgz","fileCount":8,"integrity":"sha512-aEW9UzIBljaGfhkjNE6umtOiLLq34XrNTD0x30Ai5qsutDtP7Cotx68zshTRn63waY1XnbPib6GAnGu/jfmO4Q==","signatures":[{"sig":"MEYCIQCIB6cHHz4mP4NsNlz4WXeF5EY1o3j1sosvaUSfzN9n1QIhAPNAty9eIP2FojqvYcVHJGRByrs1Yan4pWLfIxOQRpby","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505276},"main":"dist/image-editor.js","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"ie":"11"},"useBuiltIns":false}]]},"types":"image-editor.d.ts","module":"dist/image-editor.esm.js","exports":{"import":"./dist/image-editor.esm.js","require":"./dist/image-editor.iife.js"},"gitHead":"a05abd79a8cf58ea5fbfeec111b241c49978c31e","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"bensitu","email":"binofsitu@gmail.com"},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"10.8.3","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"20.17.0","browserslist":["defaults","ie 11"],"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12","@babel/cli":"^7.22.9","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.1.0_1755935886957_0.26500885750032266","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@bensitu/image-editor","version":"1.1.1","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.1.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"69aeff32eab627acb802de4d3a262fb09775955b","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.1.1.tgz","fileCount":8,"integrity":"sha512-ZxFRWlZPv9D4d64OW+6STyiOPz9AU5VmoQjHXN9mPlrOBdz/pwckjSTGzzNDXJ7x91a8wMykAsW5Do6qS65qqw==","signatures":[{"sig":"MEQCICKYLvRn2VHsHHRuRegvmaRPm1KrFz4eWmaiz0zhEw23AiALuuPgOm3yV2nx8eADThaQrkuzI2Fm47yCCl5GefvQvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505276},"main":"dist/image-editor.js","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"ie":"11"},"useBuiltIns":false}]]},"types":"image-editor.d.ts","module":"dist/image-editor.esm.js","exports":{"import":"./dist/image-editor.esm.js","require":"./dist/image-editor.iife.js"},"gitHead":"12a29421872a5f06a48562251b996606938e848e","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"bensitu","email":"binofsitu@gmail.com"},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"10.8.3","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"20.17.0","browserslist":["defaults","ie 11"],"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12","@babel/cli":"^7.22.9","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.1.1_1755936482779_0.7134983288585819","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@bensitu/image-editor","version":"1.1.2","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.1.2","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"bfc31f8848ddb306c336e50d0a8b8ad5956c3b45","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.1.2.tgz","fileCount":8,"integrity":"sha512-vD7zOhiqkoQhwOygiDn+8YSsWdPrMm7TYyknnKeLcVgKGA7InV2OLiMU0dNCIoKSqgVCFLFTkjM4rKgUJgPGIw==","signatures":[{"sig":"MEUCIQC53eaLfA0XB+xjnRCvUcTYNcukJCdv8bXLJpGTLiZ7SgIgKyqd6P3D3ORjibIC8CZSpZgjOOV1K7TAzb/DkRds5Uk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505010},"main":"dist/image-editor.js","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"ie":"11"},"useBuiltIns":false}]]},"types":"image-editor.d.ts","module":"dist/image-editor.esm.js","exports":{"import":"./dist/image-editor.esm.js","require":"./dist/image-editor.iife.js"},"gitHead":"500815c23130fa61bd94198a4b5b52efb2f2bce7","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"bensitu","email":"binofsitu@gmail.com"},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"10.8.3","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"20.17.0","browserslist":["defaults","ie 11"],"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12","@babel/cli":"^7.22.9","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.1.2_1771432388655_0.3641211864092395","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bensitu/image-editor","version":"1.2.0","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.2.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"f5508b4285db542606824c9908d16ecdc374a039","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.2.0.tgz","fileCount":8,"integrity":"sha512-yxTEPDOE9Nb5rGgNEe9coP6pt2HsLVlR86f1v1ibrtAq2JgQiZiQrcNChcVOqAPtg5nnNJDNVjKgApjZdX+Tqw==","signatures":[{"sig":"MEUCIDYMTYXYsz0yNVfuZY7/sgT8qsRknvOkScc6zBakfiACAiEA3/D0K9jE7l8yKGnp7dPyyPiTR/yepEMPd4ELvCSmbMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":509047},"main":"dist/image-editor.js","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"ie":"11"},"useBuiltIns":false}]]},"types":"image-editor.d.ts","module":"dist/image-editor.esm.js","exports":{"import":"./dist/image-editor.esm.js","require":"./dist/image-editor.iife.js"},"gitHead":"051b7f15a8a48b66908bd49c28246d9c1dc95da6","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"bensitu","email":"binofsitu@gmail.com"},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"10.8.3","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"20.17.0","browserslist":["defaults","ie 11"],"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12","@babel/cli":"^7.22.9","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.2.0_1771927160710_0.369024963852598","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@bensitu/image-editor","version":"1.2.1","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.2.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"7868e9023e35080d0649fef1b7e9ae4947ae9313","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.2.1.tgz","fileCount":19,"integrity":"sha512-EssiOt1dwtSTro684J+9+Ybh7MhV2PkToAZlppDhD/wmdNAwVFtNMjFa9anzDVshd5DzJZfjmtH6E9dtuZzfgA==","signatures":[{"sig":"MEQCIAN/bx66XIh6Gs26fS3MBzNqVghBXC4RPdxlK5w2vS3xAiBTN+5Ykrvp59Yhu8r/BGgRE/iogUO4cxAFURTLmRlMtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1247822},"main":"./dist/image-editor.js","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"gitHead":"816bf509e1c6c1d6a97a2e13a1217f0e122ff6ea","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.14.1","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12","@babel/cli":"^7.22.9","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.2.1_1779272787554_0.8062034880486695","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@bensitu/image-editor","version":"1.2.2","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.2.2","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"753e43036f4ac6c1873ca91cd051a2b82bca123a","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.2.2.tgz","fileCount":19,"integrity":"sha512-KyFYgKdszPAfd9iM2+9CxOZM5Jbyy+VUk0etz0x7J9hPgeSXNpxgRFhkPU1tHQhmnb8aQevF4NIGMMHe4at2tA==","signatures":[{"sig":"MEYCIQDp6I7Kaom8U8c9iZyNa/FXymtAV0TcXsfdsis96IozdgIhAOcFEGZkxa2RKzyqZN5MAIwnb7cKoSxQh4V/D//ehOEf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1637411},"main":"./dist/image-editor.js","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"gitHead":"dc439e6c8b20b2b69ebd609dc9f3113f969cc8aa","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.15.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12","@babel/cli":"^7.22.9","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.2.2_1779347612801_0.1833948125037992","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bensitu/image-editor","version":"1.3.0","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.3.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"1a473a6cd6cbb1d09dedc66de4de01d58432910e","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.3.0.tgz","fileCount":19,"integrity":"sha512-RWInXzqVy7u9Vd24ITXIE75FwXCc7yErxaVPtNoE51zQG0UxFz3qsn5Ir9LvHLLswIQg77mRL4l7dJrLcuAWqA==","signatures":[{"sig":"MEUCIQDaPd6/gSXekVhhiXuFhahoY0q6GAzMBb1lm3mPEx2dEgIgP/r1LGy3cdhMOpMOiDUuKO6CGHG1gMZ5pdY8hrpOxO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1889774},"main":"./dist/image-editor.js","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"gitHead":"ccc63e7b95ef27a5f8f1f8878bbc25147a6ba63f","scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src --ext .js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.15.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.49.0","esbuild":"^0.19.12","@babel/cli":"^7.22.9","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.3.0_1779382362133_0.13290491544864214","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@bensitu/image-editor","version":"1.3.1","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.3.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"96820b20bec97fe601f8978627f1ca36cd40d501","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.3.1.tgz","fileCount":19,"integrity":"sha512-LT18O2UvwK8frUp5iHOCSdSLF+pPpPRpUvyN0wekUTVwe5WhEk6NmroO3QQ537X3hrthPGeaICvw4gHT14slPQ==","signatures":[{"sig":"MEYCIQCyGoHQAvgB/nEtZPiK8plGxyJGQUS3DYofvMWK0TaSjAIhAND3OMX0CYR6CUWheDMKOybxqp/PWEkCZkcBlsiNTkDf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1921067},"main":"./dist/image-editor.js","_from":"file:bensitu-image-editor-1.3.1.tgz","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-1.3.1.tgz","overrides":{"canvas":"^3.2.3"},"_integrity":"sha512-LT18O2UvwK8frUp5iHOCSdSLF+pPpPRpUvyN0wekUTVwe5WhEk6NmroO3QQ537X3hrthPGeaICvw4gHT14slPQ==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.15.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","esbuild":"^0.28.0","globals":"^17.6.0","@babel/cli":"^7.22.9","@eslint/js":"^10.0.1","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.3.1_1779465393345_0.40203829704812066","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bensitu/image-editor","version":"1.4.0","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.4.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"18249ffdf47a3a633afc8e3a49d555909e602d5a","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.4.0.tgz","fileCount":19,"integrity":"sha512-Wc51Pj5nQP1P8VYBKfgYzyEkn4USGJI7QcvOZZw/VRYxBB5k/jk/pggbb0przp+q9hkgZAS2+pG97x2zpB3gSw==","signatures":[{"sig":"MEQCIHXc4WXXNThLFxXkrUKunCxQv5KpdQ6QDYP5PlWXtb7mAiBb/X+v5lpuAjsFqtckEqORKxdTkxpQYGm3xHaIpbIMDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2250572},"main":"./dist/image-editor.js","_from":"file:bensitu-image-editor-1.4.0.tgz","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src docs/js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-1.4.0.tgz","overrides":{"canvas":"^3.2.3"},"_integrity":"sha512-Wc51Pj5nQP1P8VYBKfgYzyEkn4USGJI7QcvOZZw/VRYxBB5k/jk/pggbb0przp+q9hkgZAS2+pG97x2zpB3gSw==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.15.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","esbuild":"^0.28.0","globals":"^17.6.0","@babel/cli":"^7.22.9","@eslint/js":"^10.0.1","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.4.0_1779558648556_0.7537764350533174","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@bensitu/image-editor","version":"1.4.1","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.4.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"00004ea13828a0780865795eb97907c5e8282ff1","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.4.1.tgz","fileCount":19,"integrity":"sha512-F2pjQuGsF/vdmgwnVBvkXWdYA6DowTrEkg3BB7WECWEDNubrDZghS/i11oiabwv4PjQ0oD/sgWZwg/4M5+4DcA==","signatures":[{"sig":"MEUCIQDCF+Dsg0HClKZQHRsfX1UMdrqKXYGs5s/mMCFgXO3UowIgQi7g01gxCmiZP1kLJv0nURjfvTYohlkRYnihXoh2ikk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2399426},"main":"./dist/image-editor.js","_from":"file:bensitu-image-editor-1.4.1.tgz","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src docs/js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-1.4.1.tgz","_integrity":"sha512-F2pjQuGsF/vdmgwnVBvkXWdYA6DowTrEkg3BB7WECWEDNubrDZghS/i11oiabwv4PjQ0oD/sgWZwg/4M5+4DcA==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.15.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.3","eslint":"^10.4.0","esbuild":"^0.28.0","globals":"^17.6.0","@babel/cli":"^7.22.9","@eslint/js":"^10.0.1","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.4.1_1779890858201_0.5265453439050192","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@bensitu/image-editor","version":"1.4.2","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.4.2","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"b2e8282b80e62eda5a3f09df2f3271ca7d4721d9","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.4.2.tgz","fileCount":19,"integrity":"sha512-xAoIrLoPFAwWxF49u8JkMnKMrTJv/BaOq3VyAz4ZIqx43pRSwIc7MBSETwVq3SxqUvhcpQWEtBszNE2slQ6Ltg==","signatures":[{"sig":"MEQCIEopUMWzbVU+lp2v9lw93KK3F+wJnXPAI55GUNZ/xMYEAiBW6uT6AFi8nlI8KzmOMSWn+NVPBb0szZvPlqTP8eYqjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2540887},"main":"./dist/image-editor.js","_from":"file:bensitu-image-editor-1.4.2.tgz","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src docs/js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-1.4.2.tgz","_integrity":"sha512-xAoIrLoPFAwWxF49u8JkMnKMrTJv/BaOq3VyAz4ZIqx43pRSwIc7MBSETwVq3SxqUvhcpQWEtBszNE2slQ6Ltg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.15.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^5.5.2","esbuild":"^0.28.0","globals":"^17.6.0","@babel/cli":"^7.22.9","@eslint/js":"^10.0.1","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.4.2_1779909142370_0.8608371137271846","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@bensitu/image-editor","version":"1.5.0","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.5.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"d81545f3f06d34ea6fec4638ecc430369c7c79bc","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.5.0.tgz","fileCount":19,"integrity":"sha512-0s5tQzUNo/eF5UGx0KWXDaPsO5hXRPf6Y3JoZwWWPrOBrcL0hjtW8rtilv8g21jYgg2dqQV1psCJrY70TxE0eg==","signatures":[{"sig":"MEQCIFil0N5JNvLm0WwD1V2of28YlodQnDAVUBA0bNm67uJ+AiAy+z1CKwwp5fjoxXE7HTSBOFqEUpbkWOqS9zB21grnHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2711494},"main":"./dist/image-editor.js","_from":"file:bensitu-image-editor-1.5.0.tgz","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.js"}},"scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src docs/js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-1.5.0.tgz","_integrity":"sha512-0s5tQzUNo/eF5UGx0KWXDaPsO5hXRPf6Y3JoZwWWPrOBrcL0hjtW8rtilv8g21jYgg2dqQV1psCJrY70TxE0eg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^5.5.2","esbuild":"^0.28.0","globals":"^17.6.0","@babel/cli":"^7.22.9","@eslint/js":"^10.0.1","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.5.0_1780081587935_0.13773842012936255","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@bensitu/image-editor","version":"1.5.1","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.5.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"52c635b813b3a0ed5c485fc8322cc1d1d97aad05","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.5.1.tgz","fileCount":21,"integrity":"sha512-bFrUFfnjOghREnf+VA7TsB9sJQ5aHSVxbTGLCeQc/1iioribTCXTwf5QdAoRr42FYVkwLHCABDQ3lbMbdElZew==","signatures":[{"sig":"MEYCIQDjHalGman08aPbXljAbFyQShyTc2B7AIJv7cIx9V4dqQIhAKGJNBUHcxHN3pFDX6EPJfdmY8zKCX6VzMeMnQ3E24I6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3470301},"main":"./dist/image-editor.cjs","_from":"file:bensitu-image-editor-1.5.1.tgz","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.esm.mjs","require":"./dist/image-editor.cjs"}},"scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src docs/js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-1.5.1.tgz","_integrity":"sha512-bFrUFfnjOghREnf+VA7TsB9sJQ5aHSVxbTGLCeQc/1iioribTCXTwf5QdAoRr42FYVkwLHCABDQ3lbMbdElZew==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^5.5.2","esbuild":"^0.28.0","globals":"^17.6.0","@babel/cli":"^7.22.9","@eslint/js":"^10.0.1","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.5.1_1780335347506_0.2900567168344399","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@bensitu/image-editor","version":"1.5.2","keywords":["fabricjs","image-editor","javascript","mask","open-source"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@1.5.2","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"f4d93bba8a2d6901d7a2faa80c027bcc6af226b9","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-1.5.2.tgz","fileCount":21,"integrity":"sha512-9igyFGcDJkOIT4N+mseKFvq1IVKY6Xygc1cot17N7Hj3nCHAI7QyfB6FiRo4SJuAwkBgjpQIUB8jxQLZpALxzw==","signatures":[{"sig":"MEYCIQCBo6m4Mo2VXjMhKlq4URgHmha2pfc2K6EqR7fbBjI46wIhAOsWD2y6jnBcIlbgftfJ/o0XjQ3FDA+xAbdeEvxIHIE/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@1.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3680737},"main":"./dist/image-editor.cjs","_from":"file:bensitu-image-editor-1.5.2.tgz","babel":{"presets":[["@babel/preset-env",{"modules":false,"targets":{"edge":"100","chrome":"100","safari":"15","firefox":"100"},"useBuiltIns":false}]]},"types":"./image-editor.d.ts","module":"./dist/image-editor.esm.mjs","exports":{".":{"types":"./image-editor.d.ts","import":"./dist/image-editor.esm.mjs","default":"./dist/image-editor.esm.mjs","require":"./dist/image-editor.cjs"}},"scripts":{"dev":"node esbuild.config.mjs --watch","lint":"eslint src docs/js","test":"npm run build && node --test tests/image-editor.test.mjs tests/package.test.mjs","build":"node esbuild.config.mjs","build:babel":"babel src --out-dir dist --copy-files"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-1.5.2.tgz","_integrity":"sha512-9igyFGcDJkOIT4N+mseKFvq1IVKY6Xygc1cot17N7Hj3nCHAI7QyfB6FiRo4SJuAwkBgjpQIUB8jxQLZpALxzw==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight canvas-based image editor","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","browserslist":["Chrome >= 100","Firefox >= 100","Safari >= 15","Edge >= 100"],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^5.5.2","esbuild":"^0.28.0","globals":"^17.6.0","@babel/cli":"^7.22.9","@eslint/js":"^10.0.1","@babel/core":"^7.22.9","@babel/preset-env":"^7.22.9","esbuild-plugin-babel":"^0.2.3"},"peerDependencies":{"fabric":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_1.5.2_1780544694127_0.9728787086527986","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@bensitu/image-editor","version":"2.0.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.0.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"e9b5b83f60dfb919e7d5450e98b7b4b1bf9855eb","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.0.0.tgz","fileCount":137,"integrity":"sha512-hNYDw66ROWyqZhih2xGURX5/LsRxDTKs6vnPjYxkdDgzARRWyVt/hl6V4z9+zPeC/ZYKi7Scrz2eFn2QJR79+g==","signatures":[{"sig":"MEUCIE122nauiyY/J9DrI5QzJsoPYZJJpnLHEwgodWxCWvKUAiEAxByEWF4eR6rjOoj8+CtjWi4sdc2kXhrG3NMGUnpu8J4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1852273},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.0.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.0.0.tgz","_integrity":"sha512-hNYDw66ROWyqZhih2xGURX5/LsRxDTKs6vnPjYxkdDgzARRWyVt/hl6V4z9+zPeC/ZYKi7Scrz2eFn2QJR79+g==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.0.0_1780688217089_0.0723523282483074","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@bensitu/image-editor","version":"2.1.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.1.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"93da29c291275f23111b6b8723534c3725948fcd","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.1.0.tgz","fileCount":149,"integrity":"sha512-iH1wu0NUmXFRyc5a9AnDJCltgFa0ME2yhnf1oYS5hZYujnxvfCF2sNFsW3mgKefSwGx55ecxaYBY9ZkSIPWjzA==","signatures":[{"sig":"MEYCIQDe1x9ODQ51R1njrA52MN/leATwBpbHavkH3Z94M1lm0gIhAPEhmnff4RK8FBTgRrNDeivZYu+xbUUnqk/BT2uuMn78","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2276583},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.1.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.1.0.tgz","_integrity":"sha512-iH1wu0NUmXFRyc5a9AnDJCltgFa0ME2yhnf1oYS5hZYujnxvfCF2sNFsW3mgKefSwGx55ecxaYBY9ZkSIPWjzA==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.16.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.1.0_1781193794470_0.9161587619239178","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@bensitu/image-editor","version":"2.2.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.2.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"b747e3a7939659bf3786740915d3a609ad4bc5fe","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.2.0.tgz","fileCount":189,"integrity":"sha512-RY6M55aV4yy7rJUvx5G3VsjSI6ejTrycnb38DNqzZUhJLajulJN6Me8UT28txfa/WzDkxqifzYVUb7O4Q4i/Vg==","signatures":[{"sig":"MEUCID8iKZrgOg3hIsE9pqBrW+EFi5Y0avMKUETw1wPgI96FAiEA80CBtCKOX0d0yP1LMyQgScWQgYH9rA4V3P3/puVWTes=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2978140},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.2.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.2.0.tgz","_integrity":"sha512-RY6M55aV4yy7rJUvx5G3VsjSI6ejTrycnb38DNqzZUhJLajulJN6Me8UT28txfa/WzDkxqifzYVUb7O4Q4i/Vg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.2.0_1781372540489_0.42453612304064103","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@bensitu/image-editor","version":"2.3.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.3.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"08124cd4add2ecf76087091fa87659dbcca1ef27","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.3.0.tgz","fileCount":189,"integrity":"sha512-/FSxKMdZ3Ly624r4e6z1o3QwnPvynbL/hNd9tDG/Iv4RL2nXrqG7A33L+RdKOVgZqnsVlws0VrybTyBXqamHUw==","signatures":[{"sig":"MEYCIQDr/YWZXuodfxul5nkhoWZKzb8EV82nG1mBLVklJeKQAAIhAMnTdDbZikF6a7R/36xJrxjVW2quLL4pIrZFYvimDKzW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3103062},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.3.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.3.0.tgz","_integrity":"sha512-/FSxKMdZ3Ly624r4e6z1o3QwnPvynbL/hNd9tDG/Iv4RL2nXrqG7A33L+RdKOVgZqnsVlws0VrybTyBXqamHUw==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.3.0_1781840187772_0.5941813516822378","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@bensitu/image-editor","version":"2.4.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.4.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"4fe756c9b75bdf52f2b9af25f334cb09ef09ca44","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.4.0.tgz","fileCount":297,"integrity":"sha512-0YpYBLbkmAtl6z+mINcFHZkh0wT4biroPXqUMoAZROr2tTkiy10Tn+wmYhWJ264OakvTZEgFUcv0AmYdhVHQFg==","signatures":[{"sig":"MEUCIQCtK0uNUlCABK3IjoYI/RWzPGTUbSTVEq0Q8OBvRspzzQIgZtgziNB+4OucLbzQn1jvBtkdzGDGtor/SLj+X3L5OnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3586033},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.4.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.4.0.tgz","_integrity":"sha512-0YpYBLbkmAtl6z+mINcFHZkh0wT4biroPXqUMoAZROr2tTkiy10Tn+wmYhWJ264OakvTZEgFUcv0AmYdhVHQFg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.4.0_1782060452493_0.6177429864349109","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@bensitu/image-editor","version":"2.4.1","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.4.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"564a14fe64c306b8a144441f052f5dff1a98cdc9","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.4.1.tgz","fileCount":297,"integrity":"sha512-1IUpWK5pQlCNaptj3my5jVL3Okh9Fnd0TRBPQfcCIJzC6iDeD0hpzDZvBMOGG6Jq5894JgtEUhniUt3N9HmU/A==","signatures":[{"sig":"MEQCICUXMMrb/XEwcmqTJfXbiCVH6v90LVlke1ESDlbKuxyQAiBGf5jSeSygI9rSeDJ5opuY7oAPhnUmncQz11xeqUCBPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3624882},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.4.1.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.4.1.tgz","_integrity":"sha512-1IUpWK5pQlCNaptj3my5jVL3Okh9Fnd0TRBPQfcCIJzC6iDeD0hpzDZvBMOGG6Jq5894JgtEUhniUt3N9HmU/A==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.4.1_1782150597745_0.6248764397239315","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@bensitu/image-editor","version":"2.5.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.5.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"df8cfe2da781e54bd9e282ef1e2a6894b858508e","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.5.0.tgz","fileCount":293,"integrity":"sha512-MOX7impc2LV8F7pn69CVHVd+J2xpX8zl3KOzQmhzyJH7VleFqagLDwmoAhxaXCbIVZQaI360yNuIWk+Ap/QwUA==","signatures":[{"sig":"MEYCIQCmcmynTPJVjLgWZd0m58KT6C98myitMfAtTUHXD440ewIhAPCf4WL5D25OSzxUte2xjlvB1hf4xXkql45R/HxgVX1U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3693623},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.5.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.5.0.tgz","_integrity":"sha512-MOX7impc2LV8F7pn69CVHVd+J2xpX8zl3KOzQmhzyJH7VleFqagLDwmoAhxaXCbIVZQaI360yNuIWk+Ap/QwUA==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.5.0_1782316617406_0.5517752374010938","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@bensitu/image-editor","version":"2.5.1","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.5.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"27846902aa497cec0c0b249d741aaf48583a7bc9","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.5.1.tgz","fileCount":293,"integrity":"sha512-Bp/nFD4UsffkUN40pF1dQG0x6zQHLk+nKzQyvbY721EmTJL5U+C4BMTcHVRGQEfLF5N3GmdFosmQzu7fcgHfgQ==","signatures":[{"sig":"MEUCIQCkXvPTcRztYaAzznPiGtMb435gPKQRES0OyOq/tRUQxQIgWMjyNJKyUNRC2XIsACrcLFIVw2BM86I06IkR/DqenO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3763982},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.5.1.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","format:check":"prettier . --check","package:check":"publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.5.1.tgz","_integrity":"sha512-Bp/nFD4UsffkUN40pF1dQG0x6zQHLk+nKzQyvbY721EmTJL5U+C4BMTcHVRGQEfLF5N3GmdFosmQzu7fcgHfgQ==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.5.1_1782491348662_0.956676775493366","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@bensitu/image-editor","version":"2.6.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.6.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"ab7edf26f83567517a48246fd7a58990efd0b39f","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.6.0.tgz","fileCount":301,"integrity":"sha512-K5Obl9IGrvGdpxv5hW7ZJw8dHaqSfHd6dRJh3PDzbI3pPkntJYulFOJZCUTLwrceaGYvW1E0/X8yZYjid05RoA==","signatures":[{"sig":"MEUCICGZNMD1zc2+JSM7HdylXMvfxqcAqZGMPS1vaq5pOWPkAiEA7faFg8r9GU4wDibgA8l7fUFXICIkvtLqa4NSI07/baE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3925799},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.6.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual","format:check":"prettier . --check","test:browser":"playwright test tests/browser","package:check":"publint","test:visual:update":"playwright test tests/browser/visual --update-snapshots"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.6.0.tgz","_integrity":"sha512-K5Obl9IGrvGdpxv5hW7ZJw8dHaqSfHd6dRJh3PDzbI3pPkntJYulFOJZCUTLwrceaGYvW1E0/X8yZYjid05RoA==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"3.9.0","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","@playwright/test":"^1.61.1","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.6.0_1782631200772_0.9060988302496025","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@bensitu/image-editor","version":"2.7.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.7.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"5628c64fb80c965ec4f78db240058c091cc413ea","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.7.0.tgz","fileCount":230,"integrity":"sha512-KpnTBZxCkzWDB6rnBPJTQs+QsYl+q12c+Hphb4ubdC7OaZsWB1uc+X+SjZ6VLDB4gRq5geJuDUArKwd5rq+3KQ==","signatures":[{"sig":"MEYCIQDeVRuavNole8HfRiTOxCMEkGiv8vOs66ErcshfPJdhKQIhAMvNuCxlHbVFLqmKJAtrd5x6kZJdabsZPz4H4WQz+qKU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4014486},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.7.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual","format:check":"prettier . --check","test:browser":"playwright test tests/browser","package:check":"publint","test:visual:update":"playwright test tests/browser/visual --update-snapshots"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.7.0.tgz","_integrity":"sha512-KpnTBZxCkzWDB6rnBPJTQs+QsYl+q12c+Hphb4ubdC7OaZsWB1uc+X+SjZ6VLDB4gRq5geJuDUArKwd5rq+3KQ==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.18.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"3.9.0","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","@playwright/test":"^1.61.1","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.7.0_1782960874973_0.5717654938326129","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@bensitu/image-editor","version":"2.8.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.8.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"b3afcd24734bb0beb287544e4c9d59c41f67a84d","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.8.0.tgz","fileCount":239,"integrity":"sha512-yV4cfuBCw4jVAAaK/Sb3EXKsb0qy1txojT0zov1D/s+ldxv0Clm3b09BLdBg+23BF9gOSm6JfbXQUU68UaSctg==","signatures":[{"sig":"MEUCIHo0Rq8RpF20bdSy6BXdBaIQDubbugVfe02peOdJG4MyAiEA9OZZW0tp3s+PsZ6ogyNYS1/TkqMuNvnzLJpLa5Qu8Ck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4426252},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.8.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/**/*.test.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual","format:check":"prettier . --check","test:browser":"playwright test tests/browser","package:check":"publint","test:visual:update":"playwright test tests/browser/visual --update-snapshots"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.8.0.tgz","_integrity":"sha512-yV4cfuBCw4jVAAaK/Sb3EXKsb0qy1txojT0zov1D/s+ldxv0Clm3b09BLdBg+23BF9gOSm6JfbXQUU68UaSctg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.18.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":"^7.0.0","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"3.9.0","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","@playwright/test":"^1.61.1","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.8.0_1783358847386_0.8390312928516359","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"@bensitu/image-editor","version":"2.8.1","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.8.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"68eacf2de83ad8228d1e41817c516cbf13f368ce","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.8.1.tgz","fileCount":239,"integrity":"sha512-QOGNtwVzx8iacAF4NgQ/ZR8IfiFPuM/Vacbg91aow65HG6zvBkkVeXMMhBByrQ+D6Jf3auBDbuUz5mhhELNexA==","signatures":[{"sig":"MEYCIQCIBghitxAs8JQe5PwiblqdQNBd2GghauR9GtJcoga/fQIhALr3NqCv17ygk6CkVxyIqMEfUNcMTNB8t75rppXwYjbo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4658522},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.8.1.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run build && npm run package:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node scripts/run-node-tests.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual","format:check":"prettier . --check","test:browser":"playwright test tests/browser","package:check":"publint","test:visual:update":"playwright test tests/browser/visual --update-snapshots"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.8.1.tgz","_integrity":"sha512-QOGNtwVzx8iacAF4NgQ/ZR8IfiFPuM/Vacbg91aow65HG6zvBkkVeXMMhBByrQ+D6Jf3auBDbuUz5mhhELNexA==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.18.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":">=7.4.0 <8","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"3.9.0","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","@playwright/test":"^1.61.1","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":">=7.4.0 <8"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.8.1_1783486128234_0.35126513811467075","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"@bensitu/image-editor","version":"2.8.2","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.8.2","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"003b05b5b7f736cda5de2b1ab1b1f5fab096d855","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.8.2.tgz","fileCount":269,"integrity":"sha512-kNuQfN0PSiKMFArbBXB+fEhWZ7snsXk5rMMTO5yCyojPvDuiuJCVx0Wn5AkuFgzfwqbCu89SN9baw05rfSabTg==","signatures":[{"sig":"MEQCIGdnlB57DcznI4xeAM08S1pKkA4gck59MLDuvrOVBnaMAiBqqU+mNxC+2bo59c3oOr5kYe+GpfhM8ynIGtDpB2WSHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5361729},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.8.2.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run release:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node scripts/run-node-tests.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e --project=chromium","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual --project=chromium","format:check":"prettier . --check","release:gate":"node scripts/release-gate.mjs","test:browser":"playwright test tests/browser --project=chromium","test:e2e:all":"playwright test tests/browser/e2e","package:check":"publint","release:check":"npm run build && npm run package:check && npm run release:gate && npm pack --dry-run","test:browser:all":"npm run test:browser:release","test:visual:update":"playwright test tests/browser/visual --project=chromium --update-snapshots","test:browser:release":"npm run test:e2e:all && npm run test:visual"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.8.2.tgz","_integrity":"sha512-kNuQfN0PSiKMFArbBXB+fEhWZ7snsXk5rMMTO5yCyojPvDuiuJCVx0Wn5AkuFgzfwqbCu89SN9baw05rfSabTg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.18.0","description":"Lightweight canvas-based image editor built on Fabric.js v7","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":">=7.4.0 <8","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"3.9.0","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","@playwright/test":"^1.61.1","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":">=7.4.0 <8"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.8.2_1783528020925_0.3386489677997486","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"@bensitu/image-editor","version":"2.8.3","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.8.3","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"db46b16da98e2c092f4015f1a442169f4c9e3f8a","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.8.3.tgz","fileCount":272,"integrity":"sha512-zMFJsibil8s4xng5S3HpfdKjvvhhb6mVwGT6HQXkap6mbakQZUeQsljH/yBFl+Yw2WOph2I1eyi1TsenVR6lmg==","signatures":[{"sig":"MEUCIHobvP9ZpEo1ZdzA0s00+BuRkpo0GWS78VMphZCTrPljAiEA3hzue5sXQoPcJ1kx4Ci3fw+qQdI20DG8PRMNrzM5am4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5328447},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.8.3.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run release:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node scripts/run-node-tests.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e --project=chromium","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual --project=chromium","format:check":"prettier . --check","release:gate":"node scripts/release-gate.mjs","test:browser":"playwright test tests/browser --project=chromium","test:e2e:all":"playwright test tests/browser/e2e","package:check":"publint","release:check":"npm run build && npm run package:check && npm run release:gate && npm pack --dry-run","test:browser:all":"npm run test:browser:release","test:visual:update":"playwright test tests/browser/visual --project=chromium --update-snapshots","test:browser:release":"npm run test:e2e:all && npm run test:visual"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.8.3.tgz","_integrity":"sha512-zMFJsibil8s4xng5S3HpfdKjvvhhb6mVwGT6HQXkap6mbakQZUeQsljH/yBFl+Yw2WOph2I1eyi1TsenVR6lmg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.18.0","description":"TypeScript-first Fabric.js v7 image editor with masks, annotations, crop, mosaic, history, and export APIs","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":">=7.4.0 <8","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"3.9.0","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","@playwright/test":"^1.61.1","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":">=7.4.0 <8"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.8.3_1783618684570_0.6417754363590868","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@bensitu/image-editor","version":"2.9.0","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.9.0","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"29c27d6281778b78dc80fdff943190e2ae3ae15a","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.9.0.tgz","fileCount":275,"integrity":"sha512-f4M2uVVZCXTCQqHq0chWH6ChptRHMk9uuE2orbtz+8Tuwe2hm+6B6GscRm1lk4TmNtUx7FLGh72MYe0b2QqUzg==","signatures":[{"sig":"MEQCIA/uroXhinLAJiOISthrerjNFYDejW9JGqDd+LYgV9XqAiBsrdzgQb3E9dF2OumjIyovlleynK0aGQvi5bxjgOk6WQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5413426},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.9.0.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run release:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node scripts/run-node-tests.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e --project=chromium","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual --project=chromium","format:check":"prettier . --check","release:gate":"node scripts/release-gate.mjs","test:browser":"playwright test tests/browser --project=chromium","test:e2e:all":"playwright test tests/browser/e2e","package:check":"publint","release:check":"npm run build && npm run package:check && npm run release:gate && npm pack --dry-run","test:browser:all":"npm run test:browser:release","test:visual:update":"playwright test tests/browser/visual --project=chromium --update-snapshots","test:browser:release":"npm run test:e2e:all && npm run test:visual"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.9.0.tgz","_integrity":"sha512-f4M2uVVZCXTCQqHq0chWH6ChptRHMk9uuE2orbtz+8Tuwe2hm+6B6GscRm1lk4TmNtUx7FLGh72MYe0b2QqUzg==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.18.0","description":"TypeScript-first Fabric.js v7 image editor with masks, annotations, crop, mosaic, history, and export APIs","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","jsdom":"^26.1.0","canvas":"^3.2.3","eslint":"^10.4.0","fabric":">=7.4.0 <8","rimraf":"^6.1.3","rollup":"^4.0.0","globals":"^17.6.0","publint":"^0.3.21","prettier":"3.9.0","@eslint/js":"^10.0.1","fast-check":"^3.23.0","typescript":"^5.4.0","@playwright/test":"^1.61.1","typescript-eslint":"^8.60.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"fabric":">=7.4.0 <8"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.9.0_1783773108464_0.5310083752361672","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"@bensitu/image-editor","version":"2.9.1","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"author":{"name":"Ben Situ"},"license":"MIT","_id":"@bensitu/image-editor@2.9.1","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"dist":{"shasum":"1e396fc89cb5a0cd46947b3961ec45428eeaf5d9","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-2.9.1.tgz","fileCount":277,"integrity":"sha512-fhVbiiLvwdaqfUIX8aVxrpT+j1BemY9prQNCsGwCWCDcsz5euxAGbuGAAPJDM4ViTk+8BoKdojnNGaPcFwWzfA==","signatures":[{"sig":"MEUCIEdfMAsbAkQSqSdWZVhMIwL75iwUzuAZhmTkqAFTm/miAiEA2f0yc5wPe1u5PeUWonCxRA1LS7a9sJa/K1S9PtTLgrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@2.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8954360},"main":"./dist/cjs/index.cjs","type":"module","_from":"file:bensitu-image-editor-2.9.1.tgz","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.umd.min.js","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"default":"./dist/esm/index.js","require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"}}},"scripts":{"ci":"npm run check && npm run release:check","dev":"tsc --watch","lint":"eslint . --max-warnings=0","test":"node scripts/run-node-tests.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd","check":"npm run format:check && npm run lint && npm run typecheck && npm test","clean":"rimraf dist","format":"prettier . --write","lint:fix":"eslint . --fix","test:e2e":"playwright test tests/browser/e2e --project=chromium","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"tsc -p tsconfig.build.json","build:umd":"rollup -c --environment FORMAT:umd","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","test:visual":"playwright test tests/browser/visual --project=chromium","format:check":"prettier . --check","release:gate":"node scripts/release-gate.mjs","test:browser":"playwright test tests/browser --project=chromium","test:e2e:all":"playwright test tests/browser/e2e","package:check":"publint","release:check":"npm run build && npm run package:check && npm run release:gate && npm pack --dry-run","test:browser:all":"npm run test:browser:release","test:visual:update":"playwright test tests/browser/visual --project=chromium --update-snapshots","test:browser:release":"npm run test:e2e:all && npm run test:visual"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f58960ed-bf32-471b-a94e-7c24de8b96dd"}},"jsdelivr":"./dist/umd/image-editor.umd.min.js","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-2.9.1.tgz","_integrity":"sha512-fhVbiiLvwdaqfUIX8aVxrpT+j1BemY9prQNCsGwCWCDcsz5euxAGbuGAAPJDM4ViTk+8BoKdojnNGaPcFwWzfA==","repository":{"url":"git+https://github.com/bensitu/image-editor.git","type":"git"},"_npmVersion":"11.19.0","description":"TypeScript-first Fabric.js v7 image editor with masks, annotations, crop, mosaic, history, and export APIs","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^29.1.1","canvas":"^3.2.3","eslint":"^10.8.1","fabric":">=7.4.0 <8","rimraf":"^6.1.3","rollup":"^4.62.4","globals":"^17.9.0","publint":"^0.3.23","prettier":"3.9.6","@eslint/js":"^10.0.1","fast-check":"^4.9.0","typescript":"^5.4.0","@playwright/test":"^1.62.1","typescript-eslint":"^8.66.0","@rollup/plugin-terser":"^1.0.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"fabric":">=7.4.0 <8"},"_npmOperationalInternal":{"tmp":"tmp/image-editor_2.9.1_1786374233536_0.9262078925047144","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@bensitu/image-editor","version":"3.0.0","packageManager":"npm@11.15.0","description":"TypeScript-first Fabric.js v7 image editor with masks, annotations, crop, mosaic, history, and export APIs","license":"MIT","author":{"name":"Ben Situ"},"repository":{"type":"git","url":"git+https://github.com/bensitu/image-editor.git"},"homepage":"https://github.com/bensitu/image-editor#readme","bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"type":"module","workspaces":["examples/fabric-vs-framework-redaction","examples/react-basic","examples/reference-plugins/*","examples/svelte-basic","examples/vanilla-core","examples/vanilla-dom-controls","examples/vue-basic","packages/*"],"main":"./dist/cjs/index.cjs","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","unpkg":"./dist/umd/image-editor.full.umd.min.js","jsdelivr":"./dist/umd/image-editor.full.umd.min.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/cjs/index.cjs"},"default":"./dist/esm/index.js"},"./core":{"import":{"types":"./dist/types/core/index.d.ts","default":"./dist/esm/core/index.js"},"require":{"types":"./dist/types/core/index.d.cts","default":"./dist/cjs/core/index.cjs"}},"./sdk":{"import":{"types":"./dist/types/sdk/index.d.ts","default":"./dist/esm/sdk/index.js"},"require":{"types":"./dist/types/sdk/index.d.cts","default":"./dist/cjs/sdk/index.cjs"}},"./testing":{"import":{"types":"./dist/types/testing/index.d.ts","default":"./dist/esm/testing/index.js"},"require":{"types":"./dist/types/testing/index.d.cts","default":"./dist/cjs/testing/index.cjs"}},"./migrate-v2":{"import":{"types":"./dist/types/migrate-v2/index.d.ts","default":"./dist/esm/migrate-v2/index.js"},"require":{"types":"./dist/types/migrate-v2/index.d.cts","default":"./dist/cjs/migrate-v2/index.cjs"}},"./plugins/overlay":{"import":{"types":"./dist/types/foundations/overlay/index.d.ts","default":"./dist/esm/foundations/overlay/index.js"},"require":{"types":"./dist/types/foundations/overlay/index.d.cts","default":"./dist/cjs/foundations/overlay/index.cjs"}},"./plugins/annotation":{"import":{"types":"./dist/types/foundations/annotation/index.d.ts","default":"./dist/esm/foundations/annotation/index.js"},"require":{"types":"./dist/types/foundations/annotation/index.d.cts","default":"./dist/cjs/foundations/annotation/index.cjs"}},"./plugins/transform":{"import":{"types":"./dist/types/plugins/transform/index.d.ts","default":"./dist/esm/plugins/transform/index.js"},"require":{"types":"./dist/types/plugins/transform/index.d.cts","default":"./dist/cjs/plugins/transform/index.cjs"}},"./plugins/mask":{"import":{"types":"./dist/types/plugins/mask/index.d.ts","default":"./dist/esm/plugins/mask/index.js"},"require":{"types":"./dist/types/plugins/mask/index.d.cts","default":"./dist/cjs/plugins/mask/index.cjs"}},"./plugins/history":{"import":{"types":"./dist/types/plugins/history/index.d.ts","default":"./dist/esm/plugins/history/index.js"},"require":{"types":"./dist/types/plugins/history/index.d.cts","default":"./dist/cjs/plugins/history/index.cjs"}},"./plugins/filters":{"import":{"types":"./dist/types/plugins/filters/index.d.ts","default":"./dist/esm/plugins/filters/index.js"},"require":{"types":"./dist/types/plugins/filters/index.d.cts","default":"./dist/cjs/plugins/filters/index.cjs"}},"./plugins/crop":{"import":{"types":"./dist/types/plugins/crop/index.d.ts","default":"./dist/esm/plugins/crop/index.js"},"require":{"types":"./dist/types/plugins/crop/index.d.cts","default":"./dist/cjs/plugins/crop/index.cjs"}},"./plugins/mosaic":{"import":{"types":"./dist/types/plugins/mosaic/index.d.ts","default":"./dist/esm/plugins/mosaic/index.js"},"require":{"types":"./dist/types/plugins/mosaic/index.d.cts","default":"./dist/cjs/plugins/mosaic/index.cjs"}},"./plugins/annotation-text":{"import":{"types":"./dist/types/plugins/annotation-text/index.d.ts","default":"./dist/esm/plugins/annotation-text/index.js"},"require":{"types":"./dist/types/plugins/annotation-text/index.d.cts","default":"./dist/cjs/plugins/annotation-text/index.cjs"}},"./plugins/annotation-shape":{"import":{"types":"./dist/types/plugins/annotation-shape/index.d.ts","default":"./dist/esm/plugins/annotation-shape/index.js"},"require":{"types":"./dist/types/plugins/annotation-shape/index.d.cts","default":"./dist/cjs/plugins/annotation-shape/index.cjs"}},"./plugins/annotation-draw":{"import":{"types":"./dist/types/plugins/annotation-draw/index.d.ts","default":"./dist/esm/plugins/annotation-draw/index.js"},"require":{"types":"./dist/types/plugins/annotation-draw/index.d.cts","default":"./dist/cjs/plugins/annotation-draw/index.cjs"}},"./plugins/overlay-state":{"import":{"types":"./dist/types/plugins/overlay-state/index.d.ts","default":"./dist/esm/plugins/overlay-state/index.js"},"require":{"types":"./dist/types/plugins/overlay-state/index.d.cts","default":"./dist/cjs/plugins/overlay-state/index.cjs"}},"./plugins/dom-controls":{"import":{"types":"./dist/types/plugins/dom-controls/index.d.ts","default":"./dist/esm/plugins/dom-controls/index.js"},"require":{"types":"./dist/types/plugins/dom-controls/index.d.cts","default":"./dist/cjs/plugins/dom-controls/index.cjs"}},"./plugins/canvas-interactions":{"import":{"types":"./dist/types/plugins/canvas-interactions/index.d.ts","default":"./dist/esm/plugins/canvas-interactions/index.js"},"require":{"types":"./dist/types/plugins/canvas-interactions/index.d.cts","default":"./dist/cjs/plugins/canvas-interactions/index.cjs"}},"./presets/minimal":{"import":{"types":"./dist/types/presets/minimal/index.d.ts","default":"./dist/esm/presets/minimal/index.js"},"require":{"types":"./dist/types/presets/minimal/index.d.cts","default":"./dist/cjs/presets/minimal/index.cjs"}},"./presets/redaction":{"import":{"types":"./dist/types/presets/redaction/index.d.ts","default":"./dist/esm/presets/redaction/index.js"},"require":{"types":"./dist/types/presets/redaction/index.d.cts","default":"./dist/cjs/presets/redaction/index.cjs"}},"./presets/annotation":{"import":{"types":"./dist/types/presets/annotation/index.d.ts","default":"./dist/esm/presets/annotation/index.js"},"require":{"types":"./dist/types/presets/annotation/index.d.cts","default":"./dist/cjs/presets/annotation/index.cjs"}},"./presets/full":{"import":{"types":"./dist/types/presets/full/index.d.ts","default":"./dist/esm/presets/full/index.js"},"require":{"types":"./dist/types/presets/full/index.d.cts","default":"./dist/cjs/presets/full/index.cjs"}}},"scripts":{"clean":"rimraf dist","build:esm":"tsc -p tsconfig.build.json && node scripts/prune-distribution-output.mjs --esm","build:cjs":"rolldown -c rolldown.config.mjs --environment FORMAT:cjs","build:types":"tsc -p tsconfig.types.json && node scripts/emit-cjs-types.mjs","build:umd":"rolldown -c rolldown.config.mjs --environment FORMAT:umd","build:prune":"node scripts/prune-distribution-output.mjs","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run build:umd && npm run build:prune","prepack":"npm run build","prepublishOnly":"npm run check:release","build:bundle-fixtures":"npm run build --workspace @bensitu/reference-blur-region --workspace @bensitu/reference-watermark","package:pages":"node scripts/package-pages-site.mjs","demo:local":"npm run build && vite --host 127.0.0.1 --open /docs/","dev":"tsc --watch","format":"prettier . --write","format:check":"prettier . --check","lint":"eslint . --max-warnings=0","lint:fix":"eslint . --fix","package:check":"publint","test":"npm run build:codemod && node scripts/run-node-tests.mjs","test:plugin-kernel":"node scripts/run-node-tests.mjs tests/plugin-kernel","test:sdk":"node scripts/run-node-tests.mjs tests/sdk","test:conformance":"node scripts/run-node-tests.mjs tests/conformance","test:plugin-lint":"node --import ./tests/helpers/register-ts-loader.mjs --test tests/sdk/plugin-lint.test.ts","test:core-contract":"node scripts/run-node-tests.mjs tests/core","test:transform-plugin":"node scripts/run-node-tests.mjs tests/plugins/transform","test:overlay-foundation":"node scripts/run-node-tests.mjs tests/foundations/overlay","test:mask-plugin":"node scripts/run-node-tests.mjs tests/plugins/mask","test:history-plugin":"node scripts/run-node-tests.mjs tests/plugins/history","test:filters-plugin":"node scripts/run-node-tests.mjs tests/plugins/filters","test:crop-plugin":"node scripts/run-node-tests.mjs tests/plugins/crop","test:mosaic-plugin":"node scripts/run-node-tests.mjs tests/plugins/mosaic","test:annotation-foundation":"node scripts/run-node-tests.mjs tests/foundations/annotation","test:annotation-text":"node scripts/run-node-tests.mjs tests/plugins/annotation-text","test:annotation-shape":"node scripts/run-node-tests.mjs tests/plugins/annotation-shape","test:annotation-draw":"node scripts/run-node-tests.mjs tests/plugins/annotation-draw","test:annotation-integration":"node scripts/run-node-tests.mjs tests/plugins/annotation","test:overlay-state":"node scripts/run-node-tests.mjs tests/plugins/overlay-state","test:dom-controls":"node scripts/run-node-tests.mjs tests/plugins/dom-controls","test:canvas-interactions":"node scripts/run-node-tests.mjs tests/plugins/canvas-interactions","test:presets":"node scripts/run-node-tests.mjs tests/presets","test:migration":"node scripts/run-node-tests.mjs tests/migrate-v2","build:codemod":"npm run build --workspace @bensitu/image-editor-codemod","test:codemod":"npm run build:codemod && node --import ./tests/helpers/register-ts-loader.mjs --test tests/codemod/codemod.test.ts && npm run test:codemod-types","test:codemod-types":"tsc -p tests/codemod/tsconfig.json --noEmit","test:codemod-package":"node scripts/check-codemod-package.mjs","test:package-entries":"node tests/package/esm-consumer.mjs && node tests/package/cjs-consumer.cjs","test:packed-entries":"node scripts/check-packed-entries.mjs","test:package-isolation":"node scripts/check-package-isolation.mjs --check","test:package-types":"tsc -p tests/package/tsconfig.json --noEmit","test:reference-plugins":"node scripts/check-reference-plugins.mjs --check","test:types":"tsc -p tests/types/tsconfig.json --noEmit","test:e2e":"playwright test tests/browser/e2e --project=chromium","test:e2e:all":"playwright test tests/browser/e2e","test:visual":"playwright test tests/browser/visual --project=chromium","test:visual:update":"playwright test tests/browser/visual --project=chromium --update-snapshots","test:browser":"playwright test tests/browser --project=chromium","test:browser:release":"npm run test:e2e:all && npm run test:visual","test:umd":"npm run check:umd && playwright test tests/browser/umd --project=chromium","check:pr":"node scripts/check-gates.mjs pr","check:release":"node scripts/check-gates.mjs release","typecheck":"tsc -p tsconfig.json --noEmit","typecheck:tests":"tsc -p tests/tsconfig.runtime.json --noEmit","check:architecture":"node scripts/check-architecture.mjs","precheck:bundle-size":"npm run build:bundle-fixtures","check:bundle-size":"node scripts/check-bundle-size.mjs","check:npm-pack-contents":"node scripts/check-npm-pack-contents.mjs","check:testing-isolation":"node scripts/check-testing-isolation.mjs","check:official-plugins":"node scripts/check-official-plugin-compliance.mjs --check","check:umd":"node scripts/check-umd.mjs --check","check:public-api":"node scripts/check-public-api.mjs --check","check:examples":"node scripts/check-examples.mjs","check:committed-dist":"node scripts/check-committed-dist.mjs","check:deterministic-build":"node scripts/check-deterministic-build.mjs","check:security":"node scripts/check-security.mjs","benchmark:performance":"node --expose-gc --import ./tests/helpers/register-ts-loader.mjs scripts/benchmark-performance-hotspots.mjs","generate:public-api":"node scripts/check-public-api.mjs --generate","check":"npm run format:check && npm run lint && npm run typecheck && npm run typecheck:tests && npm test","ci":"npm run check:pr"},"peerDependencies":{"fabric":">=7.4.0 <8"},"devDependencies":{"@eslint/js":"^10.0.1","@playwright/test":"^1.62.1","@types/jsdom":"^28.0.3","@types/node":"^22.0.0","@types/semver":"^7.8.0","canvas":"^3.2.3","eslint":"^10.8.1","eslint-config-prettier":"^10.1.8","expect-type":"^1.4.0","fabric":">=7.4.0 <8","fast-check":"^4.9.0","globals":"^17.11.0","jsdom":"^28.1.0","prettier":"3.9.6","prettier-plugin-svelte":"^4.1.1","publint":"^0.3.23","rimraf":"^6.1.3","rolldown":"1.2.4","semver":"7.8.5","tslib":"^2.8.1","typescript":"^6.0.3","typescript-eslint":"^8.67.0","vite":"^8.2.1"},"keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"engines":{"node":">=22.12.0"},"devEngines":{"runtime":{"name":"node","version":">=22.12.0","onFail":"error"},"packageManager":{"name":"npm","version":"11.15.0","onFail":"error"}},"publishConfig":{"access":"public","provenance":true},"sideEffects":false,"_id":"@bensitu/image-editor@3.0.0","_integrity":"sha512-p+7Lf4J9Gbc6tH9LY4TzoZlJV6I7H6G6rIwOXzzX7f3UWckZwPAvwI1o1Wp2DwmAT0U134wiV5gNEbL6vrgksQ==","_resolved":"/home/runner/work/image-editor/image-editor/bensitu-image-editor-3.0.0.tgz","_from":"file:/home/runner/work/image-editor/image-editor/bensitu-image-editor-3.0.0.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.15.0","dist":{"integrity":"sha512-p+7Lf4J9Gbc6tH9LY4TzoZlJV6I7H6G6rIwOXzzX7f3UWckZwPAvwI1o1Wp2DwmAT0U134wiV5gNEbL6vrgksQ==","shasum":"c82e85ce582d781f3186818e66c75b0fe8d55e75","tarball":"https://registry.npmjs.org/@bensitu/image-editor/-/image-editor-3.0.0.tgz","fileCount":577,"unpackedSize":9606914,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bensitu%2fimage-editor@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7+xyD2K4NF6cQ9x+Jh/pfsgTyh0gfiKR3VP2Ium5jmwIgOc7DVEKZAwGthSLs0l+ZQnL0MXh2NSa10Q8i+DF+3hI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49bad8bf-6835-4773-883c-541b312ceeba"}},"directories":{},"maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/image-editor_3.0.0_1786868191730_0.7505261510607202"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-22T17:53:51.399Z","modified":"2026-08-16T08:16:32.284Z","1.0.0":"2025-08-22T17:53:51.756Z","1.0.1":"2025-08-22T18:23:04.916Z","1.1.0":"2025-08-23T07:58:07.189Z","1.1.1":"2025-08-23T08:08:02.982Z","1.1.2":"2026-02-18T16:33:08.883Z","1.2.0":"2026-02-24T09:59:20.963Z","1.2.1":"2026-05-20T10:26:27.784Z","1.2.2":"2026-05-21T07:13:33.011Z","1.3.0":"2026-05-21T16:52:42.401Z","1.3.1":"2026-05-22T15:56:33.530Z","1.4.0":"2026-05-23T17:50:48.757Z","1.4.1":"2026-05-27T14:07:38.376Z","1.4.2":"2026-05-27T19:12:22.616Z","1.5.0":"2026-05-29T19:06:28.116Z","1.5.1":"2026-06-01T17:35:47.728Z","1.5.2":"2026-06-04T03:44:54.290Z","2.0.0":"2026-06-05T19:36:57.348Z","2.1.0":"2026-06-11T16:03:14.793Z","2.2.0":"2026-06-13T17:42:20.703Z","2.3.0":"2026-06-19T03:36:27.985Z","2.4.0":"2026-06-21T16:47:32.681Z","2.4.1":"2026-06-22T17:49:57.925Z","2.5.0":"2026-06-24T15:56:57.573Z","2.5.1":"2026-06-26T16:29:08.859Z","2.6.0":"2026-06-28T07:20:00.969Z","2.7.0":"2026-07-02T02:54:35.124Z","2.8.0":"2026-07-06T17:27:27.601Z","2.8.1":"2026-07-08T04:48:48.377Z","2.8.2":"2026-07-08T16:27:01.138Z","2.8.3":"2026-07-09T17:38:04.763Z","2.9.0":"2026-07-11T12:31:48.644Z","2.9.1":"2026-08-10T15:03:53.934Z","3.0.0":"2026-08-16T08:16:31.951Z"},"bugs":{"url":"https://github.com/bensitu/image-editor/issues"},"author":{"name":"Ben Situ"},"license":"MIT","homepage":"https://github.com/bensitu/image-editor#readme","keywords":["canvas","fabric","fabricjs","image-editor","mask","crop","transform","typescript"],"repository":{"type":"git","url":"git+https://github.com/bensitu/image-editor.git"},"description":"TypeScript-first Fabric.js v7 image editor with masks, annotations, crop, mosaic, history, and export APIs","maintainers":[{"name":"bensitu","email":"binofsitu@gmail.com"}],"readme":"# @bensitu/image-editor\n\n[![npm](https://img.shields.io/npm/l/@bensitu/image-editor.svg)](https://github.com/bensitu/image-editor)\n[![npm](https://img.shields.io/npm/v/@bensitu/image-editor.svg)](https://www.npmjs.com/package/@bensitu/image-editor)\n[![](https://data.jsdelivr.com/v1/package/npm/@bensitu/image-editor/badge)](https://www.jsdelivr.com/package/npm/@bensitu/image-editor)\n\nA TypeScript-first Core Framework and public Plugin SDK built on\n[Fabric.js](https://fabricjs.com/) v7. The modular architecture separates canvas\nlifecycle from typed Feature Plugins for transforms, history, redaction,\nannotations, persistence, optional canvas interactions, and optional DOM controls. Applications moving from\nthe Facade API should follow the [migration guide](docs/guides/migration-from-v2.md).\n\nFabric `>=7.4.0 <8` is a peer dependency and is never bundled. Core composition\nis DOM-independent and safe to import in SSR/headless code; canvas initialization\nand browser image operations still require a compatible Fabric/DOM environment.\n\n[![ImageEditor demo landing page showing selectable masks, filters, mosaic-style redaction, and annotations](https://raw.githubusercontent.com/bensitu/image-editor/main/docs/assets/demo-screenshot.jpg)](https://bensitu.github.io/image-editor/)\n\nClick the screenshot to open the [live demo](https://bensitu.github.io/image-editor/).\n\n## Contents\n\n- [Preset Quick Start](#preset-quick-start)\n- [Core + Plugins](#core--plugins)\n- [Plugin Authoring](#plugin-authoring)\n- [Features](#features)\n- [Demo and Examples](#demo-and-examples)\n- [Documentation](#documentation)\n- [Framework Integration](#framework-integration)\n- [API Overview](#api-overview)\n- [Configuration](#configuration)\n- [Requirements](#requirements)\n- [Module Formats](#module-formats)\n- [Runtime Guarantees](#runtime-guarantees)\n- [Migration and Maintenance](#migration-and-maintenance)\n- [Development](#development)\n- [License](#license)\n\n## Preset Quick Start\n\n### Install\n\n```bash\nnpm install @bensitu/image-editor fabric\n# or\npnpm add @bensitu/image-editor fabric\n# or\nyarn add @bensitu/image-editor fabric\n```\n\n`fabric@>=7.4.0 <8` is a peer dependency. Install it explicitly so the editor\nuses the same Fabric version as your application.\n\n### Add Markup\n\n```html\n<div id=\"editorContainer\" style=\"width: 100%; height: 600px\">\n    <canvas id=\"canvas\"></canvas>\n</div>\n\n<input id=\"imageInput\" type=\"file\" accept=\"image/*\" />\n```\n\n### Initialize\n\n```ts\nimport * as fabric from 'fabric';\nimport { createRedactionPreset } from '@bensitu/image-editor/presets/redaction';\n\nconst preset = createRedactionPreset(fabric, {\n    core: {\n        canvasWidth: 800,\n        canvasHeight: 600,\n        defaultLayoutMode: 'fit',\n    },\n    transform: { animationDuration: 0 },\n    masks: { label: false },\n});\n\nawait preset.editor.init({\n    canvas: 'canvas',\n    canvasContainer: 'editorContainer',\n});\n\nawait preset.editor.loadImage('data:image/jpeg;base64,...');\nawait preset.masks.create({ left: 120, top: 80, width: 160, height: 96 });\nawait preset.transform.rotate(90);\n\nif (preset.history.canUndo()) await preset.history.undo();\n\nconst dataUrl = await preset.editor.exportImageBase64({ format: 'png', area: 'image' });\nawait preset.editor.disposeAsync();\n```\n\nPreset factories install Plugins but do not initialize the editor. Their result\nkeeps lifecycle operations on `editor` and exposes each Feature through its own\ntyped Plugin API. See [Presets](docs/reference/presets.md) for the four compositions and\n[DOM Controls](docs/plugins/dom-controls.md) when an imperative DOM binding layer is\nuseful.\n\n## Core + Plugins\n\nUse direct composition when the application needs a smaller or custom Feature\nset. Install every Plugin before `init()`; Core does not forward Feature methods.\n\n```ts\nimport * as fabric from 'fabric';\nimport { ImageEditorCore } from '@bensitu/image-editor/core';\nimport { historyPlugin } from '@bensitu/image-editor/plugins/history';\nimport { transformPlugin } from '@bensitu/image-editor/plugins/transform';\n\nconst editor = new ImageEditorCore(fabric, { defaultLayoutMode: 'fit' });\nconst [transform, history] = editor.install([\n    transformPlugin({ animationDuration: 0 }),\n    historyPlugin({ maxSize: 50 }),\n]);\n\nawait editor.init({ canvas: 'canvas', canvasContainer: 'editorContainer' });\nawait editor.loadImage(source);\nawait transform.rotate(90);\nawait history.undo();\nawait editor.disposeAsync();\n```\n\nCore owns lifecycle, image/layout state, Snapshot loading, and export. Plugins\nreceive narrowly scoped Capabilities and own their transactions, state slices,\ntools, overlays, and cleanup.\n\n## Plugin Authoring\n\nThird-party Plugins use only `@bensitu/image-editor/sdk`, documented Core types,\nand public Feature contracts. `PluginRef<TApi>` preserves method-level inference;\nmanifests declare engine/API versions, dependencies, Capabilities, and privileged\npermissions. Setup is transactional and every owned registration belongs in the\nPlugin disposable scope.\n\nStart with the [Plugin Author Guide](docs/guides/plugin-authoring.md), then inspect\nthe independently packable [reference Plugins](examples/reference-plugins) and\nrun the public [Conformance Kit](docs/reference/api.md#testing-and-conformance).\n\n## Features\n\n### Image and Layout\n\n- Load PNG, JPEG, and WebP data URLs or files.\n- Normalize supported JPEG EXIF orientation during file-input loading.\n- Choose `fit`, `cover`, or `expand` layout strategies.\n- Resize to explicit dimensions, hidden-container fallbacks, or current\n  container size.\n- Downsample large images and guard input size before browser decode.\n\n### Editing Tools\n\n- Scale, rotate, flip, and reset the base image with undoable history.\n- Apply Fabric-backed brightness, contrast, saturation, blur, sharpen,\n  grayscale, sepia, and vintage filters.\n- Create editable rectangle, circle, ellipse, polygon, and custom masks.\n- Add Text, Shape, and Draw annotations with update, delete, lock, hide, and\n  layer-order APIs.\n- Crop with fixed or custom aspect ratios and optional mask preservation.\n- Use Mosaic mode to commit circular pixelation strokes into the base image.\n\n### State, Export, and Persistence\n\n- Bounded undo/redo history with serialized transform and history operations.\n- Export Base64, browser `File`, or direct downloads as PNG, JPEG, or WebP.\n- Choose image-bounds or full-canvas export areas.\n- Render masks and annotations independently during export without mutating\n  editor state.\n- Save/load editor snapshots with `saveState()` and `loadFromState()`.\n- Store editable overlays separately from image pixels with overlay-state JSON.\n\n### Integration\n\n- `ImageEditorCore` owns canvas, image, lifecycle, export, and Plugin installation.\n- Formal Plugin subpaths expose typed Feature APIs without method forwarding.\n- Minimal, Redaction, Annotation, and Full Presets provide typed compositions.\n- Fabric.js v7 is a peer dependency; the package does not bundle Fabric.\n- Core, Plugin, and Preset entries publish ESM, CommonJS, and TypeScript declarations.\n- Optional DOM Controls accept selectors or element instances in section-based options.\n- Optional Canvas Interactions adapt Fabric pointer input to the public Text,\n  Shape, Draw, and Mosaic APIs without moving session or History ownership.\n- `disposeAsync()` is the authoritative framework cleanup path. The deprecated\n  `dispose()` method only starts best-effort cleanup and may return before\n  asynchronous resources are released.\n\n## Demo and Examples\n\n- [Demo landing page](https://bensitu.github.io/image-editor/)\n- [Integrated editor demo](docs/integrated-editor.html)\n- [Vanilla Core + Plugins](examples/vanilla-core)\n- [Vanilla DOM Controls](examples/vanilla-dom-controls)\n- [React basic example](examples/react-basic)\n- [Vue basic example](examples/vue-basic)\n- [Svelte basic example](examples/svelte-basic)\n- [Next.js client-only example](examples/next-client-only)\n- [Third-party Plugin template](examples/plugin-template)\n- [Watermark, Metadata, Grid/Guide, and Blur Region reference Plugins](examples/reference-plugins)\n- [Pure Fabric versus Framework redaction comparison](examples/fabric-vs-framework-redaction)\n\n## Documentation\n\n- Reference: [API](docs/reference/api.md), [options](docs/reference/options.md),\n  [typed Presets](docs/reference/presets.md), and\n  [Modular UMD loading](docs/reference/modular-umd.md).\n- Plugins: [History](docs/plugins/history.md), [Filters](docs/plugins/filters.md),\n  [Crop](docs/plugins/crop.md), [Mosaic](docs/plugins/mosaic.md),\n  [Annotation Foundation](docs/plugins/annotations.md),\n  [Text](docs/plugins/annotation-text.md), [Shape](docs/plugins/annotation-shape.md),\n  [Draw/Eraser](docs/plugins/annotation-draw.md),\n  [Canvas Interactions](docs/plugins/canvas-interactions.md),\n  [Overlay State](docs/plugins/overlay-state.md),\n  [transform binding](docs/plugins/overlay-transform-binding.md), and\n  [DOM Controls](docs/plugins/dom-controls.md).\n- Guides: [Plugin authoring](docs/guides/plugin-authoring.md) and\n  [migration from 2.x](docs/guides/migration-from-v2.md).\n- Development: [contributing and local checks](docs/development/contributing.md),\n  [comment rules](docs/development/comment-rules.md), and\n  [naming rules](docs/development/naming-rules.md).\n- Release history: [Changelog](CHANGELOG.md).\n\n## Framework Integration\n\nThe Core editor is framework-agnostic and accepts string targets or element\ninstances for its canvas and container. React, Vue, Svelte, Next.js, Nuxt, and other\nframeworks should create one Preset or Plugin composition inside a client-side\nlifecycle hook, retain its Plugin APIs, and dispose its editor during cleanup.\nFramework handlers call Plugin APIs directly; DOM Controls is not required.\n\n- [React integration](docs/frameworks/react.md)\n- [Vue integration](docs/frameworks/vue.md)\n- [Svelte integration](docs/frameworks/svelte.md)\n- [SSR / Next.js / Nuxt](docs/frameworks/ssr.md)\n\nRuntime Fabric imports, editor creation, `init()`, image loading, canvas resizing,\nand export belong in client code. Public type imports are safe in server code.\n\n## API Overview\n\nCore owns lifecycle, image/layout state, Plugin installation, and image export.\nFeature behavior is provided by typed Plugin APIs:\n\n| Entry                                 | API responsibility                                         |\n| ------------------------------------- | ---------------------------------------------------------- |\n| `./core`                              | Canvas lifecycle, image loading, layout, state, and export |\n| `./plugins/transform`                 | Scale, rotate, flip, and reset operations                  |\n| `./plugins/history`                   | Undo/redo state and recording control                      |\n| `./plugins/mask`, `./plugins/filters` | Redaction overlays and raster filters                      |\n| `./plugins/crop`, `./plugins/mosaic`  | Crop and mosaic sessions                                   |\n| `./plugins/annotation-*`              | Text, Shape, and Draw/Eraser annotations                   |\n| `./plugins/canvas-interactions`       | Optional canvas pointer-to-Feature adapter                 |\n| `./plugins/overlay-state`             | Renderer-independent overlay persistence                   |\n| `./plugins/dom-controls`              | Optional DOM event and status binding                      |\n| `./presets/*`                         | Typed Plugin compositions                                  |\n\nThe focused Plugin documents linked above describe Feature behavior and options.\n\n## Configuration\n\nPreset options are namespaced by owner:\n\n```ts\nconst preset = createRedactionPreset(fabric, {\n    core: { canvasWidth: 960, canvasHeight: 640, defaultLayoutMode: 'fit' },\n    transform: { animationDuration: 0 },\n    history: { maxSize: 25 },\n    masks: { label: false },\n    crop: { paddingPx: 0 },\n});\n```\n\nDirect composition passes the same option objects to each Plugin factory. See\nthe linked Feature documents and declaration files for their complete contracts.\n\n## Requirements\n\n- Recommended local/release Node: 24.\n- Minimum supported Node: 22.12.0 (`engines.node` remains `>=22.12.0`).\n- **Fabric.js**: peer dependency `>=7.4.0 <8`.\n- **Browsers**: Chrome 100+, Firefox 100+, Safari 15+, Edge 100+.\n- **JavaScript target**: distributed files target ES2019 and browser DOM APIs.\n- **TypeScript**: strict consumers that compile dependencies with\n  `skipLibCheck: false` should include the ES2019 and DOM libraries in\n  `tsconfig.json`. Fabric v7.4 declarations also reference `jsdom` types, so\n  install `@types/jsdom` when your project type-checks Fabric's declaration\n  files.\n\nOlder runtime targets must be transpiled by the consumer.\n\n## Module Formats\n\nEvery exported Core, SDK, Plugin, Testing, and Preset subpath resolves to ESM,\nCommonJS, ESM declarations, and CommonJS declarations. NodeNext and strict\nTypeScript consumers resolve the same public subpaths. Fabric remains external.\n\nThe Core constructor accepts Fabric explicitly in bundled applications:\n\n```ts\nimport * as fabric from 'fabric';\nimport { ImageEditorCore } from '@bensitu/image-editor/core';\n\nconst editor = new ImageEditorCore(fabric, options);\n```\n\nScript-tag consumers choose one of two mutually exclusive modes:\n\n- Full UMD exposes `ImageEditorFull` and remains the CDN default for pages that\n  need the complete Feature set.\n- Modular UMD exposes the shared `ImageEditor` Core/SDK global plus selected\n  `ImageEditorPlugins.*` globals for on-demand composition.\n\nDo not load Full UMD together with Core or Plugin UMD files on one page. Fabric\nremains a separate script in both modes. The Full Preset does not install DOM\nControls or Canvas Interactions unless the corresponding factory is supplied.\n\nReplace `VERSION` in the CDN examples with one exact published package version.\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/fabric@7/dist/index.min.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@bensitu/image-editor@VERSION/dist/umd/image-editor.full.umd.min.js\"></script>\n<script>\n    (async () => {\n        const kit = ImageEditorFull.createFullPreset(fabric, {\n            core: { canvasWidth: 800, canvasHeight: 600 },\n        });\n        await kit.editor.init({ canvas: 'canvas', canvasContainer: 'editorContainer' });\n    })().catch(console.error);\n</script>\n```\n\nFor explicit DOM bindings, pass a factory such as\n`domControls: () => ImageEditorFull.domControlsPlugin(options)`.\n\nModular files must all use the same exact package version and load in dependency\norder. This example downloads Core and Transform only:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/fabric@7/dist/index.min.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@bensitu/image-editor@VERSION/dist/umd/image-editor.core.umd.min.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@bensitu/image-editor@VERSION/dist/umd/plugins/image-editor.plugin.transform.umd.min.js\"></script>\n<script>\n    const editor = new ImageEditor.ImageEditorCore(fabric);\n    const plugins = editor.install(\n        ImageEditor.composePlugins({\n            transform: ImageEditorPlugins.Transform.transformPlugin({\n                animationDuration: 0,\n            }),\n        }),\n    );\n</script>\n```\n\nSee [Modular UMD loading](docs/reference/modular-umd.md) for every module, dependency\norder, Mask and Annotation examples, version rules, and size tradeoffs.\n\nCommonJS `require()` returns a namespace object for the requested public entry.\n\n## Runtime Guarantees\n\n- The editor owns the Fabric objects it creates and tags them as base image,\n  mask, annotation, or session objects.\n- Session objects such as crop rectangles, mask labels, previews, selections,\n  and transform handles are excluded from persistence and export.\n- Public read methods return safe snapshots where possible. Methods that expose\n  Fabric objects, such as `getMasks()`, `getAnnotations()`, selection callbacks,\n  and lifecycle callbacks, expose live editor-owned objects. Treat those objects\n  as read-only from integration code.\n- `loadImage()`, crop, merge, and overlay import are transactional: failures\n  restore the previous canvas state where applicable.\n- Lifecycle callback exceptions are caught and logged so host callback failures\n  do not replace the editor operation.\n\n## Migration and maintenance\n\nThe optional `@bensitu/image-editor/migrate-v2` entry detects and converts\nsupported frozen maintenance Snapshots. Core never migrates implicitly. The\nseparate `@bensitu/image-editor-codemod` CLI rewrites common integrations and\nreports ambiguous patterns without changing them.\n\nThe maintained Facade baseline lives on the published `legacy/v2` branch.\nMaintenance is limited to security and critical correctness fixes, with a\nseparate release process and no automatic merges from `develop`.\n\n## Development\n\n```bash\nnpm ci\nnpm run build\nnpm test\n```\n\nSee [Development and contributing](docs/development/contributing.md) for browser tests,\nvisual tests, release checks, and CI-equivalent commands.\n\n## Buy Me A Coffee\n\n<a href=\"https://www.buymeacoffee.com/bensitu\">\n    <img src=\"https://cdn.buymeacoffee.com/buttons/v2/arial-yellow.png\" alt=\"Buy Me A Coffee\" width=\"200\" />\n</a>\n\n## License\n\nMIT © Ben Situ.\n\nFabric.js is distributed under its own MIT license.\n","readmeFilename":"README.md"}