{"_id":"@asset1gmo/remotion-kit","_rev":"8-a148843343e74399d1a7134aa2c0f8dd","name":"@asset1gmo/remotion-kit","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"@asset1gmo/remotion-kit","version":"0.1.0","_id":"@asset1gmo/remotion-kit@0.1.0","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"bin":{"remotion-animation-build":"dist/cli.js"},"dist":{"shasum":"c61e1ef3c906e73e66d27fed435abf3e8246ef39","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.0.tgz","fileCount":28,"integrity":"sha512-4j+k3eAdSV0Q9XQzB/X3AmwGCgq345lGKiTrrtdc3Am2g3pvqJFixh7sSHg28320Nj0ZCLqVsRMeFrc/qYbBjg==","signatures":[{"sig":"MEUCIQD26YZYYnmQQZbBdPRUBAG5AUfRnabP19RhLL/OEtnGWgIgbvNkY+tZg4jz1IrtjpBuX+Peal5q+SZPCsygDomstZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65219},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"}},"scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"asset1gmo","email":"asset1@growmeorganic.email"},"_npmVersion":"11.6.2","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"fflate":"^0.8.2","esbuild":"^0.24.2","remotion":"^4.0.483","lottie-web":"^5","@remotion/player":"^4.0.483"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.9.3","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/remotion-kit_0.1.0_1784835773190_0.10295009750745998","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@asset1gmo/remotion-kit","version":"0.1.1","_id":"@asset1gmo/remotion-kit@0.1.1","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"homepage":"https://github.com/asset1gmo/remotion-kit#readme","bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"bin":{"remotion-animation-build":"dist/cli.js"},"dist":{"shasum":"31e8773bbed148a79760b9df9cc9f01f0d85458f","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.1.tgz","fileCount":28,"integrity":"sha512-Fj9Apl/taqeOfBiDu9gTUROHFpwzA4+UzJn0FmKfVddpB7aVoVaj9BVEXWI5nvmvXdgo4ljF1M50LUwI5VjgTA==","signatures":[{"sig":"MEYCIQC29LcZehC/Q1UlKSlHq1qVawC/IBPdl1IvjH2Mgxnv9AIhAPoaiI0djjWi6c1hhgVZZwX0cXJTw/7pBnR+jO6aRZOW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asset1gmo%2fremotion-kit@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66844},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"}},"gitHead":"fc6bd67b027b6d4f9626a21513e464aa87b28c22","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c69ea175-0e1f-4c87-9f42-6f50d3da1dcd"}},"repository":{"url":"git+https://github.com/asset1gmo/remotion-kit.git","type":"git"},"_npmVersion":"12.0.1","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"fflate":"^0.8.2","esbuild":"^0.24.2","remotion":"^4.0.483","lottie-web":"^5","@remotion/player":"^4.0.483"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.9.3","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/remotion-kit_0.1.1_1784839520295_0.12001200862397265","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@asset1gmo/remotion-kit","version":"0.1.2","_id":"@asset1gmo/remotion-kit@0.1.2","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"homepage":"https://github.com/asset1gmo/remotion-kit#readme","bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"bin":{"remotion-animation-build":"dist/cli.js"},"dist":{"shasum":"086ce64053e27ea1f995d677a4d270b19f5fab8c","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.2.tgz","fileCount":30,"integrity":"sha512-y5fBlwrKW6PZ/Zl+9STM2Q5MCiRPtdc8mFsmx4wTQ8Yaj2Zk+jgLV0dEIV93xqMOPv9Aodhqg7/OpGo73Rn3qQ==","signatures":[{"sig":"MEUCIHXxSmuCbhFgQHeQ02nxjMYA1m06nxSfxPjtOaX0D/DEAiEAsoglnZ1saT0TbJcxZSfp2e0leuey+rjVtpS8sxMK3FA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asset1gmo%2fremotion-kit@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72327},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"}},"gitHead":"066b0905b3992eed962ea60be621fd07f4127d26","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c69ea175-0e1f-4c87-9f42-6f50d3da1dcd"}},"repository":{"url":"git+https://github.com/asset1gmo/remotion-kit.git","type":"git"},"_npmVersion":"12.0.1","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"fflate":"^0.8.2","esbuild":"^0.24.2","remotion":"^4.0.483","lottie-web":"^5","@remotion/player":"^4.0.483"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.9.3","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/remotion-kit_0.1.2_1785135888964_0.40653946995948176","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@asset1gmo/remotion-kit","version":"0.1.3","_id":"@asset1gmo/remotion-kit@0.1.3","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"homepage":"https://github.com/asset1gmo/remotion-kit#readme","bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"bin":{"remotion-animation-build":"dist/cli.js"},"dist":{"shasum":"cc83414dd142fb1306c2214add4618728f434060","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.3.tgz","fileCount":32,"integrity":"sha512-pVd/qBAA+sro2e+9q9oL5BgMCZKOyDwvjmQbHWDPjKIYv81DaKliNSYmc2jo+wHV5b42xxywt/ppLWCMqUvJCA==","signatures":[{"sig":"MEQCIDdAkejxp+G4mrgNjsbQ4sl3WLs/4s7+SMf3zYKVTIHuAiAVoRwHa+Uf7Wx7B2iZHer4bjoZbiBdQjwB5/2r3c0hLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asset1gmo%2fremotion-kit@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77053},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"}},"gitHead":"464d800fb04e30159fac05383c2155cb4d386083","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c69ea175-0e1f-4c87-9f42-6f50d3da1dcd"}},"repository":{"url":"git+https://github.com/asset1gmo/remotion-kit.git","type":"git"},"_npmVersion":"12.0.1","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"fflate":"^0.8.2","esbuild":"^0.24.2","remotion":"^4.0.483","lottie-web":"^5","@remotion/player":"^4.0.483"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.9.3","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/remotion-kit_0.1.3_1785347648367_0.332696066523291","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@asset1gmo/remotion-kit","version":"0.1.4","_id":"@asset1gmo/remotion-kit@0.1.4","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"homepage":"https://github.com/asset1gmo/remotion-kit#readme","bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"bin":{"remotion-animation-build":"dist/cli.js"},"dist":{"shasum":"5d8cfdb0ecc917f8cdaec22bc347ede779d569b3","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.4.tgz","fileCount":34,"integrity":"sha512-mXbXvWAlfI7h7rt6SQRf3aa7gztVigSou/58UIA3yf4uTEw+t+Gt3mNOOLo8p7mM2LrefQYerXZk2b2fPQhZuA==","signatures":[{"sig":"MEUCIQD+3E3WiQQVZ67r+hIahhHDlUKKZAQm2QdS/UhaVX+y5AIgOj56EOQq32NZY3ys4ycECSfhEO6P1QkdFF77v8qLEi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asset1gmo%2fremotion-kit@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78727},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./lottie":{"types":"./dist/register-lottie.d.ts","import":"./dist/register-lottie.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"}},"gitHead":"0727cb99946138c9fb1baf5e5ce473d34d925721","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c69ea175-0e1f-4c87-9f42-6f50d3da1dcd"}},"repository":{"url":"git+https://github.com/asset1gmo/remotion-kit.git","type":"git"},"_npmVersion":"12.0.2","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"fflate":"^0.8.2","esbuild":"^0.24.2","remotion":"^4.0.483","lottie-web":"^5","@remotion/player":"^4.0.483"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.9.3","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/remotion-kit_0.1.4_1785401197792_0.8622127071761423","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@asset1gmo/remotion-kit","version":"0.1.5","_id":"@asset1gmo/remotion-kit@0.1.5","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"homepage":"https://github.com/asset1gmo/remotion-kit#readme","bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"bin":{"remotion-animation-build":"dist/cli.js"},"dist":{"shasum":"94374dda857e3e0f06ec58091dbb60f6591dc59b","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.5.tgz","fileCount":34,"integrity":"sha512-1IHuwP8qFE/vjrUitQqEZKhkeiae6UaHbAdOOGVAiT97266DGnUzQDjJZTA+kf6KxMJX/20pBOnzG+Guh8GlEw==","signatures":[{"sig":"MEQCIBFXMNqezxTcCjzkHF12Fbl9slcHFy8dYXPPIL31qOcHAiAzSq5tnwM/OEHGtmyUMmeBsRm7qPfZLHQp6BrBkaOjsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asset1gmo%2fremotion-kit@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83228},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./lottie":{"types":"./dist/register-lottie.d.ts","import":"./dist/register-lottie.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"}},"gitHead":"db0723b44805bfae3656174c574750f3b0616edd","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c69ea175-0e1f-4c87-9f42-6f50d3da1dcd"}},"repository":{"url":"git+https://github.com/asset1gmo/remotion-kit.git","type":"git"},"_npmVersion":"12.0.2","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"fflate":"^0.8.2","esbuild":"^0.24.2","remotion":"^4.0.483","lottie-web":"^5","@remotion/player":"^4.0.483"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.9.3","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/remotion-kit_0.1.5_1785421228470_0.8643228164242724","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@asset1gmo/remotion-kit","version":"0.1.6","_id":"@asset1gmo/remotion-kit@0.1.6","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"homepage":"https://github.com/asset1gmo/remotion-kit#readme","bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"bin":{"remotion-animation-build":"dist/cli.js"},"dist":{"shasum":"4effc561d1643d8cd75fcd73c2984349b02eb3aa","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.6.tgz","fileCount":36,"integrity":"sha512-jWnW+nBPz7oUREUhg0M0AuKoTwvdWlUrm/Rqhq+69Q9oXdRbgLq/wMXf35byj3n3PN/qS5Z5oVmnYXKzo/0ijw==","signatures":[{"sig":"MEYCIQCiYHB5JlUydgLg6BCNPpaUmpmOtdVYASx1y1jH6hQP1AIhAMDMlruG66ckdVfjdcuFWdVhqPy31WnWSCfjT8A03F9L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asset1gmo%2fremotion-kit@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89646},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./lottie":{"types":"./dist/register-lottie.d.ts","import":"./dist/register-lottie.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"}},"gitHead":"26e38f56fe65d3fd9608d412bb92a4fe00b8b933","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c69ea175-0e1f-4c87-9f42-6f50d3da1dcd"}},"repository":{"url":"git+https://github.com/asset1gmo/remotion-kit.git","type":"git"},"_npmVersion":"12.0.2","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"fflate":"^0.8.2","esbuild":"^0.24.2","remotion":"^4.0.483","lottie-web":"^5","@remotion/player":"^4.0.483"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.9.3","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/remotion-kit_0.1.6_1785488065166_0.9283260953660466","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@asset1gmo/remotion-kit","version":"0.1.7","description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","type":"module","repository":{"type":"git","url":"git+https://github.com/asset1gmo/remotion-kit.git"},"homepage":"https://github.com/asset1gmo/remotion-kit#readme","bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./compress":{"types":"./dist/compress.d.ts","import":"./dist/compress.js"},"./lottie":{"types":"./dist/register-lottie.d.ts","import":"./dist/register-lottie.js"}},"bin":{"remotion-animation-build":"dist/cli.js"},"sideEffects":false,"scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"dependencies":{"@remotion/player":"^4.0.483","esbuild":"^0.24.2","fflate":"^0.8.2","lottie-web":"^5","remotion":"^4.0.483"},"peerDependencies":{"react":">=18","react-dom":">=18"},"devDependencies":{"@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","typescript":"~5.9.3"},"publishConfig":{"access":"public"},"gitHead":"722de6f7e5c56f5c3a94fa38bac79108a0914f17","_id":"@asset1gmo/remotion-kit@0.1.7","_nodeVersion":"22.23.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-mGSh80rsMhTA2g113wgGCnrvgYf25++W2qYTZLuCj0WSiLKt7+OfUNZdBaN389b0HjgL4lBO1YqmNEW6XU3+vg==","shasum":"cf207d958d76b6c9e2f298beab83f6bb148f9c27","tarball":"https://registry.npmjs.org/@asset1gmo/remotion-kit/-/remotion-kit-0.1.7.tgz","fileCount":34,"unpackedSize":83228,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asset1gmo%2fremotion-kit@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDBHUV29UHvCmZBhjTC+mLzZExbuwG3lUUHaUiXVXj6fAiEAl7OkP0HPOrs09+9iGTQjbPpuAdi0DwGDi3738NEqYNg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c69ea175-0e1f-4c87-9f42-6f50d3da1dcd"}},"directories":{},"maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/remotion-kit_0.1.7_1785734683010_0.14565925804965985"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-23T19:42:52.981Z","modified":"2026-08-03T05:24:43.477Z","0.1.0":"2026-07-23T19:42:53.347Z","0.1.1":"2026-07-23T20:45:20.452Z","0.1.2":"2026-07-27T07:04:49.145Z","0.1.3":"2026-07-29T17:54:08.516Z","0.1.4":"2026-07-30T08:46:37.944Z","0.1.5":"2026-07-30T14:20:28.618Z","0.1.6":"2026-07-31T08:54:25.319Z","0.1.7":"2026-08-03T05:24:43.163Z"},"bugs":{"url":"https://github.com/asset1gmo/remotion-kit/issues"},"homepage":"https://github.com/asset1gmo/remotion-kit#readme","repository":{"type":"git","url":"git+https://github.com/asset1gmo/remotion-kit.git"},"description":"Load Lottie-JSON, Dot-Lottie and Remotion Animations","maintainers":[{"name":"asset1gmo","email":"asset1@growmeorganic.email"}],"readme":"# @asset1gmo/remotion-kit\n\nShip [Remotion](https://www.remotion.dev/) compositions as portable, self-contained\nanimation **zips** and play them at runtime — the same idea as dotLottie, but the\npayload is a tiny code bundle instead of vector data.\n\nThe package has **two modes**, each behind its own entry point so an app only ever\nbundles the one it uses:\n\n| Mode | Entry | Runs in | Purpose |\n| --- | --- | --- | --- |\n| **Loader** | `@asset1gmo/remotion-kit` | Browser | `loadAnimation(...)` — render + control an animation in the DOM |\n| **Compressor** | `@asset1gmo/remotion-kit/compress` | Node | build a composition into a portable `.zip` |\n\nImporting one never pulls the other into your bundle — the compressor's `esbuild`\nnever reaches the browser, and the loader's Remotion/lottie runtime never reaches\nyour build tooling. (`sideEffects: false` + separate entries.)\n\nA zip contains:\n\n```\nmy-animation.zip\n├── manifest.json     # id, width/height, fps, durationInFrames, assets, runtime\n├── animation.js      # CJS bundle; react + remotion are external (not inlined)\n└── images/           # optional raster assets, resolved to blob URLs at load\n```\n\n`react`, `react-dom` and `remotion` are **not** inside the bundle. The loader\nsupplies the host app's already-loaded copies when the bundle runs, so every\nanimation shares one React instance (hooks work) and one Remotion instance (frame\ncontext lines up) — and each zip stays only a couple of KB.\n\n## Install\n\n```bash\nnpm install @asset1gmo/remotion-kit\n```\n\n`react` / `react-dom` are **peers** (the loader must use the host's single copy —\na second React breaks hooks). Everything else installs for you.\n\n---\n\n## Loader mode\n\nLoading is **two steps** — an async decode, then a synchronous mount:\n\n1. **`unzipAnimation(url, options?)`** — async. Fetches and unzips/decodes a\n   **URL** (dotLottie/`.json` → Lottie JSON, Remotion `.zip` → evaluated\n   component) and loads the matching rendering engine. Returns a\n   `PreparedAnimation` (plain data). All the network I/O lives here.\n2. **`loadAnimation({ container, animation, … })`** — synchronous. Mounts the\n   prepared animation and returns an **`AnimationHandle`** — a controllable\n   instance shaped **exactly like a lottie-web `AnimationItem`**: same methods\n   (`play`/`pause`/`setSpeed`/`goToAndStop`/…), same live properties\n   (`currentFrame`, `totalFrames`, `isPaused`, …), same events (`enterFrame`,\n   `complete`, `loopComplete`, `DOMLoaded`, …). Driving a Remotion `.zip` is\n   identical to driving a Lottie file.\n\n```ts\nimport { unzipAnimation, loadAnimation } from \"@asset1gmo/remotion-kit\";\nimport type { AnimationHandle, PreparedAnimation } from \"@asset1gmo/remotion-kit\";\n\n// 1. async — fetch + decode (do this once; reuse the result to remount)\nconst prepared: PreparedAnimation = await unzipAnimation(\"/animations/promo.zip\");\n\n// 2. sync — mount\nconst anim: AnimationHandle = loadAnimation({\n  container: el,\n  animation: prepared,\n  loop: true,\n  autoplay: true,\n  speed: 1,\n});\n\nanim.setSpeed(2);\nanim.goToAndStop(30, true);       // 30, interpreted as a frame\nanim.setDirection(-1);            // reverse playback\nanim.currentFrame;                // live read\nconst off = anim.addEventListener(\"complete\", () => {});\noff();                            // addEventListener returns its unsubscribe\nanim.destroy();                   // tears down the backend + empties the container\n```\n\n`prepared` is plain data — `.data` (Lottie JSON) or `.component` + `.manifest`\n(Remotion) — and can be mounted more than once.\n\n`loadAnimation` returns its handle immediately, but a Remotion animation mounts\nthrough React, which commits on its own schedule. The handle covers that gap:\ncommands issued before the `<Player>` exists are queued and replayed, in order,\nthe moment it does — so `goToAndStop` on the line after `loadAnimation` still\nshows its frame first. Read `isLoaded` (or wait for `DOMLoaded`) if you need to\nknow; only `.native` requires a mounted Player, and throws until then. Because of\nthis, **`loadAnimation` is safe to call from a React effect** — as is `destroy`,\nwhich defers its unmount rather than tearing a root down mid-render.\n\n### Sound is off by default\n\nRemotion's Player builds a shared `AudioContext` whenever it is unmuted, and\nadvances no frame until that context has actually resumed — which browsers won't\nallow until the page has been interacted with. An unmuted animation therefore\nsits frozen on frame 0 after a page load and starts only once the visitor happens\nto click something, which reads as \"sometimes it animates, sometimes it doesn't\".\n\nAnimations are mounted muted so they simply play. Pass `muted: false` if a\ncomposition genuinely has sound, and expect that trade-off back.\n\n### Lottie JSON you already have\n\n`unzipAnimation` only takes URLs. If you already hold decoded Lottie JSON (a\nbundled `.json` import, an API payload), there's nothing to fetch — build the\nprepared object yourself and mount it synchronously. Since `unzipAnimation` never\nruns, register the engine once by importing + calling **`registerLottieEngine()`**\nat module level. It lives on a **separate `/lottie` entry** because importing it\npulls in `lottie-web` (which touches `document` at import) — so it's opt-in and\n**client-only**, keeping the main entry SSR-safe:\n\n```ts\nimport { loadAnimation } from \"@asset1gmo/remotion-kit\";\nimport { registerLottieEngine } from \"@asset1gmo/remotion-kit/lottie\";\n\nregisterLottieEngine(); // module level — pulls in lottie-web here, registers the engine\n\n// ...later, at mount — no async:\nloadAnimation({ container: el, animation: { kind: \"lottie\", data: myLottieJson } });\n```\n\n(URL sources don't need this — `unzipAnimation` registers the engine itself. Only\nimport `/lottie` from a client module; it is not SSR-safe.)\n\n### Recoloring / theming (Lottie only)\n\nThere's no `transform` option — transform the decoded JSON yourself and mount it.\n`prepared.data` is mutable, and the engine reads it at mount, so assign a new\nobject before `loadAnimation`:\n\n```ts\nconst prepared = await unzipAnimation(\"/animations/logo.lottie\");\nif (prepared.kind === \"lottie\") {\n  prepared.data = recolorToTheme(prepared.data); // a NEW object — don't mutate in place\n}\nloadAnimation({ container: el, animation: prepared });\n```\n\n### Routing by format\n\n`url` is routed by extension; override with `options.format` for URLs that don't\ncarry one (signed CDN links, blob URLs, API endpoints):\n\n| `url` | Format | Backend |\n| --- | --- | --- |\n| `*.zip` | Remotion code bundle | Remotion `<Player>` in the container |\n| `*.json` | raw Lottie JSON | lottie-web |\n| `*.lottie` | dotLottie (zip of Lottie JSON, v1 + v2, images inlined) | lottie-web |\n\n```ts\nconst prepared = await unzipAnimation(signedUrl, { format: \"remotion\" });\n```\n\nEach backend registers a mount function, and `loadAnimation` looks it up by\n`kind` — so `loadAnimation` itself imports no engine. **Neither engine is in the\nstatic bundle by default:** `unzipAnimation` loads them via dynamic `import()`, so\na Lottie-only app never ships Remotion, an app that only loads URLs ships neither\nstatically, and the main entry stays **SSR-safe** (it never evaluates `lottie-web`,\nwhich touches `document` at import). `lottie-web` becomes static **only** in a\nmodule that imports `registerLottieEngine` from the separate `/lottie` entry — the\nclient-only opt-in for mounting raw JSON synchronously — so you pay for it exactly\nwhere you use it.\n\n### Remotion vs lottie-web parity notes\n\nThe handle is faithful, with a few mechanism differences on the Remotion backend:\n\n- **Reverse** (`setDirection(-1)`) is driven by a `requestAnimationFrame` loop that\n  seeks backwards, since Remotion's Player has no native reverse.\n- **Segments** (`setSegment`/`playSegments`/`resetSegments`) map onto the Player's\n  `inFrame`/`outFrame`.\n- **`setSpeed`** re-renders the Player.\n- **Mounting is asynchronous** (React commits it), so early commands are queued\n  rather than applied instantly — see above. lottie-web mounts synchronously.\n- **`muted`** is Remotion-only, and defaults to `true`.\n- **Marker names** (string args to `goToAndStop`/`goToAndPlay`) and a **numeric\n  `loop` count** are lottie-only; `renderer`/`assetsPath` config is ignored for\n  `.zip`.\n\n> **Lottie support is temporary.** It exists only until prod animations finish\n> migrating to Remotion. When that's done, deleting `src/lottie/`, the `.json`/\n> `.lottie` branch in `src/load-animation.ts`, and the `lottie-web` dependency\n> removes it cleanly — the handle contract is Remotion-only after that.\n\n---\n\n## Compressor mode\n\nBuild authored compositions into zips from Node — in a build script, or via the CLI.\n\nEach animation folder has:\n\n```\nmy-animation/\n├── composition.tsx   # default-exported Remotion composition\n├── manifest.json     # { id?, name?, width, height, fps, durationInFrames }\n└── images/           # optional assets, imported as `import x from \"./images/x.png\"`\n```\n\nA composition may only import from `react`, `remotion`, and its own assets — those\nare external in the bundle; anything else won't be present at load. Use inline styles.\n\n### CLI\n\n```bash\n# remotion-animation-build [srcDir] [outDir]\n# defaults: ./animations  ->  ./public/animations-zips\nnpx remotion-animation-build animations public/animations-zips\n```\n\n### Programmatic\n\n```ts\nimport { buildAnimations, compressAnimation } from \"@asset1gmo/remotion-kit/compress\";\n\n// Build every folder under animations/ into public/animations-zips/<id>.zip\nawait buildAnimations({\n  srcDir: \"animations\",\n  outDir: \"public/animations-zips\",\n  onBuilt: (r) => console.log(`built ${r.id} — ${r.zipBytes} bytes`),\n});\n\n// Or compress one folder and get the bytes without touching disk\nconst { bytes, manifest } = await compressAnimation(\"animations/promo\");\n```\n\n`runtime.remotion` in the manifest defaults to the `remotion` version resolved from\nyour working directory; pass `remotionVersion` to set it explicitly.\n\n---\n\n## Publishing\n\nPublished as `@asset1gmo/remotion-kit`. After a one-time setup, every push to\n`main` that bumps the version publishes automatically via GitHub Actions\n([.github/workflows/publish.yml](.github/workflows/publish.yml)).\n\n### First publish (manual, once)\n\nThe package must exist on npm before Trusted Publishing can be configured. The\naccount uses 2FA, so pass an OTP:\n\n```bash\nnpm whoami                        # asset1gmo\nnpm publish --otp=<6-digit code>  # builds via prepublishOnly; access:public is set\n```\n\n### Enable auto-publish (one-time)\n\n1. On npmjs.com → the package → **Settings → Trusted Publisher**, add a GitHub\n   Actions publisher: repo `asset1gmo/remotion-kit`, workflow `publish.yml`.\n2. That's it — no token or secret. OIDC authenticates CI and adds provenance.\n\n### Releasing thereafter — just push\n\nEvery push to `main` publishes the **next patch** automatically. The workflow\nreads the current version from npm, increments the patch, and publishes it — you\nnever edit the version:\n\n```bash\ngit commit -am \"whatever you changed\"\ngit push           # -> CI publishes the next patch (e.g. 0.1.1, then 0.1.2, ...)\n```\n\nNotes on this model:\n\n- **Every push to `main` is a release**, including docs-only pushes. Batch work\n  on a branch and merge when you actually want a version out.\n- The `version` field in `package.json` is **not** the source of truth — npm is.\n  CI computes the next number from the registry and never commits back to git.\n- To jump a **minor/major** (auto-bump only does patches), publish that base\n  version once manually (`npm version minor && npm publish --otp=<code>`); CI then\n  keeps patching from there (0.2.0 → 0.2.1 → …).\n\n> **Token alternative:** instead of Trusted Publishing you can store an npm\n> **automation** token as the `NPM_TOKEN` repo secret and publish with\n> `NODE_AUTH_TOKEN`. It works today but npm is deprecating 2FA-bypass tokens, so\n> OIDC is preferred.\n\n## Notes\n\n- **No CSP `eval` workarounds.** The loader evaluates the CJS bundle with\n  `new Function`. The target apps are private with no strict CSP.\n- **Asset URLs are not revoked.** Animations are small and cached for the page\n  lifetime; blob URLs created for their images are kept alive deliberately.\n","readmeFilename":"README.md"}