{"_id":"spfn","_rev":"211-86910bdcc66ed7821bd983837d1da7fb","name":"spfn","dist-tags":{"alpha":"0.1.0-alpha.88","beta":"0.3.0-beta.12","latest":"0.3.0-beta.12"},"versions":{"0.1.0-alpha.1":{"name":"spfn","version":"0.1.0-alpha.1","keywords":["nextjs","backend","framework","cli","superfunction","spfn"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.1","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"dist/index.js"},"dist":{"shasum":"b47722420d8fb4072ce3b0d2e08775cf87c5ce78","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.1.tgz","fileCount":4,"integrity":"sha512-M5EsRTbvlSlWdJVNnDjpt3YUwiOmxOqhP6qoV5OVTzzicgmlULH7W1PxYGegPGC0RvHi1zYcg21n/eHf+YaK2g==","signatures":[{"sig":"MEUCIGph8pMXH6iWvRuysD7Vv7mXwQ4LSAmrc2kGi59MZ3lkAiEA37Cc+G1fUNDh+SaWcBXzPfZhbcnjY1Nmqb488JRHjzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2605},"type":"module","_from":"file:spfn-0.1.0-alpha.1.tgz","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/private/var/folders/h9/gtg_888n2j196vml9rmlv42h0000gn/T/f2afc4b436f0fd2f4bda13334fec1652/spfn-0.1.0-alpha.1.tgz","_integrity":"sha512-M5EsRTbvlSlWdJVNnDjpt3YUwiOmxOqhP6qoV5OVTzzicgmlULH7W1PxYGegPGC0RvHi1zYcg21n/eHf+YaK2g==","deprecated":"Bug: workspace:* dependency not resolved. Use @latest or @alpha instead.","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.4.2","description":"Superfunction CLI - The Backend Layer for Next.js","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@spfn/cli":"0.1.0-alpha.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.1_1760194277128_0.9472807739193372","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"spfn","version":"0.1.0-alpha.2","keywords":["nextjs","backend","framework","cli","superfunction","spfn"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.2","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"dist/index.js"},"dist":{"shasum":"c55ce1bc7176802bbb992105d20f3ce90da50313","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.2.tgz","fileCount":4,"integrity":"sha512-ChyEMD8Q1TInHx4oVzUBQ3zx2wwulcIuk1AK/x4/hM7vbYx9FWFg5lvLsPLnLMUiCKTcppa23S6EIFGmFH6qyA==","signatures":[{"sig":"MEYCIQDQapuFNTr/wISrtbIW1x8cslcki9qmg2Sg0sVyb+gbDgIhAJulcOoA7MR9B00o7S7rml6yzzq6gu4yeAxztagMIgHS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2605},"type":"module","_from":"file:spfn-0.1.0-alpha.2.tgz","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/private/var/folders/h9/gtg_888n2j196vml9rmlv42h0000gn/T/2067ae35641825c632cb1273a4c59a2e/spfn-0.1.0-alpha.2.tgz","_integrity":"sha512-ChyEMD8Q1TInHx4oVzUBQ3zx2wwulcIuk1AK/x4/hM7vbYx9FWFg5lvLsPLnLMUiCKTcppa23S6EIFGmFH6qyA==","deprecated":"Bug: workspace:* dependency not resolved. Use @latest or @alpha instead.","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.4.2","description":"Superfunction CLI - The Backend Layer for Next.js","directories":{},"_nodeVersion":"22.11.0","dependencies":{"@spfn/cli":"0.1.0-alpha.2"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.2_1760196287356_0.8667310302512043","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.3":{"name":"spfn","version":"0.1.0-alpha.3","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.3","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"c55bcecdcb7c1400206d8a4539eda744f12d6f00","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.3.tgz","fileCount":14,"integrity":"sha512-kBE3CE39dl8Qc3f9cPZqatrXbGiNWQ8As8b3UeAOv7WTJyrxU1RQKpLTATgGt8yW1xaOFJSFEYNCeeZmqOe4NQ==","signatures":[{"sig":"MEUCIQC6mZ4YPEPmArj/bK54YU7EnHDLb1ITheg6BsPThzvENgIgAnPZY4txFFi7HNra99cJ8Ra2Xs2z1S0x4uMDfTlEjME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57522},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"b4876a158f6b92ead0d32f113da9e6d351e063a8","scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"deprecated":"Bug: workspace:* dependency not resolved. Use @latest or @alpha instead.","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsx":"^4.20.6","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"workspace:*","concurrently":"^9.0.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.3_1760329950747_0.9900998930090001","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.4":{"name":"spfn","version":"0.1.0-alpha.4","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.4","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e81e2a9e5e97958aa9b2de02ee21d457affb10a1","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.4.tgz","fileCount":19,"integrity":"sha512-fYMT+Sbuv4hqHgRGJoBCZTbu+zQqGFI1/RKR+OLARi4g8GtF+4TESS2H1xTlHUrvD36mJ8Em5SHbIefyJa5VHw==","signatures":[{"sig":"MEUCID2oBW9ghRzGubL7rN33k5/g86iKTWS1xRuM6PQo8l7CAiEA9KU96QwJObM11enFQcJHjzzYuwfDZ8g+/lHEVogXQfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73510},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"8ea16fd9714f19f04b8901b477859869d52c30e3","scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"deprecated":"Bug: workspace:* dependency not resolved. Use @latest or @alpha instead.","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsx":"^4.20.6","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"workspace:*","concurrently":"^9.0.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.4_1760341741941_0.27699328509486354","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.5":{"name":"spfn","version":"0.1.0-alpha.5","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.5","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f18fdfda93999c484037b1234af6f3b7b4a5753d","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.5.tgz","fileCount":20,"integrity":"sha512-qUp1gl2nytFLWi/JmM/55nhJl2jO/iy8xjruQcqv8th1/lgO/qf/wNcL6+g+Bh4QVIiJaZRIUNQoCoBA3wuOoQ==","signatures":[{"sig":"MEUCIErVNbsPnp/SAF+/va0On9v1MBuH88bzV0kM2zRXYQfBAiEA+onrNbDaApbey81SpGJBYzWVepEa1uIxss1mvqYYW3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74579},"type":"module","_from":"file:spfn-0.1.0-alpha.5.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/a8bfc03072276b26149e43d8752c6c5d/spfn-0.1.0-alpha.5.tgz","_integrity":"sha512-qUp1gl2nytFLWi/JmM/55nhJl2jO/iy8xjruQcqv8th1/lgO/qf/wNcL6+g+Bh4QVIiJaZRIUNQoCoBA3wuOoQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsx":"^4.20.6","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.5","concurrently":"^9.0.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.0","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.5_1760347057488_0.9537459636369039","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.6":{"name":"spfn","version":"0.1.0-alpha.6","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.6","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"18c8bd8365af9a81267b1c255901a1ada76a7047","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.6.tgz","fileCount":19,"integrity":"sha512-+JHXc7iqm4yabqfPIr6RbwdBeEzzFRs5QnhSAd0hfiIwIVepNpwYm9yHyhSwXGn41Y3H2nRQcJifmwYQAZbJxQ==","signatures":[{"sig":"MEQCIDs+q/jc1aici/NANa1Ess44mYqLMG7BuRxz7AN6BJ/oAiBWyB7byfM8o0J+rTWJ3UP2CxGrYkGJ9Q8Z9hIEBVbrzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74065},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"3dff36ed1339369b9cdab2f97fc2200a5e9f4d6f","scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.4.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"workspace:*"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.6_1760369775399_0.5865162653879874","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.7":{"name":"spfn","version":"0.1.0-alpha.7","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.7","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d8f19198b284353ff7b8f6ce852c2899f4ac511f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.7.tgz","fileCount":20,"integrity":"sha512-m/d5rnc0/kNgiQnMFwtFYjknMxhqFrTrRGBALoXccVBhC08ITjc/7d6pzu0bk0B1Y34whcRSkCZA0ccDnyjOSQ==","signatures":[{"sig":"MEUCIQDuDYEY8EF7Lmv61iuGAwRf7KjDAo1uEoBgzEOWkpEtUAIgPkTUCfp8/vKec/TMiJptBYGMUyLy/+23b8Vb+TP2wzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75134},"type":"module","_from":"file:spfn-0.1.0-alpha.7.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/31521e9e394307a2aa86d90a721febd9/spfn-0.1.0-alpha.7.tgz","_integrity":"sha512-m/d5rnc0/kNgiQnMFwtFYjknMxhqFrTrRGBALoXccVBhC08ITjc/7d6pzu0bk0B1Y34whcRSkCZA0ccDnyjOSQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.7_1760417913986_0.7832065064557159","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.8":{"name":"spfn","version":"0.1.0-alpha.8","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.8","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"0e6bd466c63cbb4bb6de62a5bf9e501f6e66c95f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.8.tgz","fileCount":20,"integrity":"sha512-aZd8jnuEqfoVa0RUPD6dDmsrSIJtTcvIQZUyS4YVpA1ln0afVZ4lHwUUwQdHaub6a3yVc2B7yTa9Jv0HX0n0Aw==","signatures":[{"sig":"MEQCIC694Nn2n973SdD8kwaFi+AS1WEydJ85fZGBjc5BwcQEAiAWuAj3qVYKT01IxsCElY/h27012YhnommRBi3Z8VINBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75029},"type":"module","_from":"file:spfn-0.1.0-alpha.8.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/f08d9652964bb6447c1522de332e7294/spfn-0.1.0-alpha.8.tgz","_integrity":"sha512-aZd8jnuEqfoVa0RUPD6dDmsrSIJtTcvIQZUyS4YVpA1ln0afVZ4lHwUUwQdHaub6a3yVc2B7yTa9Jv0HX0n0Aw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.8"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.8_1760419490365_0.7051845337063158","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.11":{"name":"spfn","version":"0.1.0-alpha.11","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.11","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"258cd3def7df3b2337a868b05ec5860cedff7b0b","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.11.tgz","fileCount":20,"integrity":"sha512-pcPH4bmyaqo41fi5IBELAi4OZqvhZVsDMakGvsDzh6lC/qaSsIeWfr48wnFXNPz9n+Mu69OWM9ScUnaMz+R2og==","signatures":[{"sig":"MEUCIQDEYn8NF4Ex988tiLs6g8SUZSmL3pkLjqBU7oh2oedsGQIgPWRubYU8NnQ/RgFFp0C6QXOaGjdyawLSL7qHct9zmqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82347},"type":"module","_from":"file:spfn-0.1.0-alpha.11.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/0d31ad34306dd557be1f747941b7d042/spfn-0.1.0-alpha.11.tgz","_integrity":"sha512-pcPH4bmyaqo41fi5IBELAi4OZqvhZVsDMakGvsDzh6lC/qaSsIeWfr48wnFXNPz9n+Mu69OWM9ScUnaMz+R2og==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.11"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.11_1760426981386_0.22174704998851147","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.12":{"name":"spfn","version":"0.1.0-alpha.12","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.12","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"dc1aead0bc01622d0e2de3eec4b1557efddea4e6","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.12.tgz","fileCount":20,"integrity":"sha512-y8+8LA8luNKxKhlnF9TzAUpo0fbqSf1jeu1ajuLCDUHy5ktC0JCEEbsNrOobv0yDCc1h9X8PdKfHNZFX3iOGGQ==","signatures":[{"sig":"MEYCIQDg3ZQBBQktN/GzxRDUinSolTfydIe+kitn9v16fMdR/gIhAMm422jlBTVGstbgfUa4EDk//abgHd0NEbDS2clvcZOw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82347},"type":"module","_from":"file:spfn-0.1.0-alpha.12.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/d8a335ce1c8eb20a7058e8bd26090499/spfn-0.1.0-alpha.12.tgz","_integrity":"sha512-y8+8LA8luNKxKhlnF9TzAUpo0fbqSf1jeu1ajuLCDUHy5ktC0JCEEbsNrOobv0yDCc1h9X8PdKfHNZFX3iOGGQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.12"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.12_1760428166328_0.6373639384328413","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.13":{"name":"spfn","version":"0.1.0-alpha.13","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.13","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f59eda292bb4d2c29f42eebd8155a05627dba724","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.13.tgz","fileCount":20,"integrity":"sha512-w2DxvK+wig6f9bQsTwphO4+ByZqpJW6e1duU6C//M2PkwsR9Iz84OWV/VVNNA5j7wjBQck2EiNcZML2pgUbxVA==","signatures":[{"sig":"MEQCIGdmHpqIqpeDtvAFOgox4/ZndMU8Xb7ew3ZwqM94u7FeAiA5EFWGyvnTpFjC8eDJiepeZ0S/ZkcPUMROvOVdxV/YBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82347},"type":"module","_from":"file:spfn-0.1.0-alpha.13.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/69fce8b7de74c2ec2cc7346c6f484f30/spfn-0.1.0-alpha.13.tgz","_integrity":"sha512-w2DxvK+wig6f9bQsTwphO4+ByZqpJW6e1duU6C//M2PkwsR9Iz84OWV/VVNNA5j7wjBQck2EiNcZML2pgUbxVA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.13"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.13_1760429515475_0.5393698506428508","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.14":{"name":"spfn","version":"0.1.0-alpha.14","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.14","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"b0bfa7f36d1c7cf1f0ba2f2d371670dee51f81dd","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.14.tgz","fileCount":25,"integrity":"sha512-eMWH9BfSxYI1bDLC0SP05HT7E/Mz7Z1hhPRknp4AHmqXM+GkUxq5DvYgDxbw5aKvLYwAhGHCZvv1qAeceZh+Zw==","signatures":[{"sig":"MEQCID/imbc/a5mVzqkx3Hd6KAIyIkeJEcapvx3VROdhvkROAiB+8ANvcQqp3o1y7Tv2GL5+tfFe8cWNxK/dFCYHeG8Vdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101770},"type":"module","_from":"file:spfn-0.1.0-alpha.14.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/4ca8e85ca3a084cf143e45548c144cde/spfn-0.1.0-alpha.14.tgz","_integrity":"sha512-eMWH9BfSxYI1bDLC0SP05HT7E/Mz7Z1hhPRknp4AHmqXM+GkUxq5DvYgDxbw5aKvLYwAhGHCZvv1qAeceZh+Zw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.14"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.14_1760436001262_0.47595815578411416","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.15":{"name":"spfn","version":"0.1.0-alpha.15","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.15","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"547b86f9bb948a76d4a8620b9fa02ba4f42258a8","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.15.tgz","fileCount":25,"integrity":"sha512-lDfBOFtPU1wrt6NHqny9ubIC+EZFovvwYx7yuKj7VA9N7iUuhp3VrJQxNubdmNHxaHHG/xG3ASshyQyFMhFZ4g==","signatures":[{"sig":"MEQCIF/N1o2A518l7K77AsxB85odJ+rbaGkYoyc66OwtbFOKAiBxSrIhovbDuicBl48vq+gUFZ0Wn1C4t/ESJB33hrAIZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101829},"type":"module","_from":"file:spfn-0.1.0-alpha.15.tgz","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/da3ef3f72fefbd2e3d233c9df93780e8/spfn-0.1.0-alpha.15.tgz","_integrity":"sha512-lDfBOFtPU1wrt6NHqny9ubIC+EZFovvwYx7yuKj7VA9N7iUuhp3VrJQxNubdmNHxaHHG/xG3ASshyQyFMhFZ4g==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.15"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.15_1760436862792_0.9514304697206906","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.16":{"name":"spfn","version":"0.1.0-alpha.16","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.16","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"77cf092067c8a6caa0c7b4235e21685fc34d34d6","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.16.tgz","fileCount":26,"integrity":"sha512-IoHqF++ua5SOemG2UDFU8vhMfDqE5iQ60f/aBdKmLpPkQ6TJ5wXcexcJnHTyo4RW5F35mU8CvsRFfiCefjl1HA==","signatures":[{"sig":"MEYCIQD8lsYYqQQ8jtcKiiWXVAIdif4UMtOsWMR1XWOA9aHpJwIhANvrXdpPY/H1qrJojDrvHYFTqfMvicGPqjrOC+Dk0L/t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110759},"type":"module","_from":"file:spfn-0.1.0-alpha.16.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/e944ac7ce81a61d322c2b10cb9d62a95/spfn-0.1.0-alpha.16.tgz","_integrity":"sha512-IoHqF++ua5SOemG2UDFU8vhMfDqE5iQ60f/aBdKmLpPkQ6TJ5wXcexcJnHTyo4RW5F35mU8CvsRFfiCefjl1HA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.15"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.16_1760446578088_0.5239993114457333","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.17":{"name":"spfn","version":"0.1.0-alpha.17","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.17","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"220a7839177d279c0307842126c76dfcfad1615d","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.17.tgz","fileCount":26,"integrity":"sha512-E9U6n6nF6WWgs34jH9RaPzM3sinMPD2rHZQkipYj/9nHb7U/1pNUP0HvrpGdiudX1eo9WpWVHzfhWN2+D3/GSw==","signatures":[{"sig":"MEUCIQDWi/w38lqx/sxZgXd/3gbuQ0LnDQg4M1CqDE5b9xoM9QIgZntrNfBgNXzHNgbsMeiHkC2ire0H6Yk+MGPnWMALCfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112318},"type":"module","_from":"file:spfn-0.1.0-alpha.17.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/f6846be59160fdccdee5f6abe7878738/spfn-0.1.0-alpha.17.tgz","_integrity":"sha512-E9U6n6nF6WWgs34jH9RaPzM3sinMPD2rHZQkipYj/9nHb7U/1pNUP0HvrpGdiudX1eo9WpWVHzfhWN2+D3/GSw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.15"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.17_1760451859547_0.03919335805465218","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.18":{"name":"spfn","version":"0.1.0-alpha.18","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.18","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"9379e08b7f4d4b5b54c053a9b02e7fbdc37e34f2","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.18.tgz","fileCount":26,"integrity":"sha512-DJkcZEYKT6cBnSqKEwpG7QoFrNz4uHWAjANJwUUMk7O9BNt7HkW+cpsjWK+/wczW8Ie8F2aZoQBF8+qfPEFKMw==","signatures":[{"sig":"MEQCIGTAqgJz5PIy7UVt1zSXPz/LUdyY6pNpuZ2iVWapHEwTAiBgR9PD8/TDbhuuFU65douKbeAkVRQD9HxQk8wzPJWbmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112585},"type":"module","_from":"file:spfn-0.1.0-alpha.18.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/private/var/folders/h9/gtg_888n2j196vml9rmlv42h0000gn/T/b61dd2b9ab7c6d17f32116a24ed391f6/spfn-0.1.0-alpha.18.tgz","_integrity":"sha512-DJkcZEYKT6cBnSqKEwpG7QoFrNz4uHWAjANJwUUMk7O9BNt7HkW+cpsjWK+/wczW8Ie8F2aZoQBF8+qfPEFKMw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.4.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.15"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.18_1760455967381_0.8104526092359492","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.19":{"name":"spfn","version":"0.1.0-alpha.19","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.19","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"7f7d29fc88e761266a8a88ab101314bfed63ba64","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.19.tgz","fileCount":26,"integrity":"sha512-1ogmfjmNDy0nZO+2fPg463bQOtcAlHncW0rIvGUlGAUfOAo0nICJayTGae083cCDsTrTCbB3H+EGjVt8xN38oQ==","signatures":[{"sig":"MEQCIGT50RvbLt7vhmSHjsqGZKnhYMnzLwgwc7zUr98XJ+nKAiBL3pDhLms3mYLxK6VmR4LLgDb2yndYFsUSlXFDatWUZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112611},"type":"module","_from":"file:spfn-0.1.0-alpha.19.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/private/var/folders/h9/gtg_888n2j196vml9rmlv42h0000gn/T/c980d68e720649891675bad854a9fb0d/spfn-0.1.0-alpha.19.tgz","_integrity":"sha512-1ogmfjmNDy0nZO+2fPg463bQOtcAlHncW0rIvGUlGAUfOAo0nICJayTGae083cCDsTrTCbB3H+EGjVt8xN38oQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.4.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.15"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.19_1760456702705_0.08518803171586198","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.20":{"name":"spfn","version":"0.1.0-alpha.20","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.20","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"691ab3f7ea5f3ccfa27cd84a4b065bd25ccecd9c","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.20.tgz","fileCount":27,"integrity":"sha512-9EWIdOc27ca4YN9J/7T7l3tcrI1jEWkggNEBVoSavVD0NV98FaCcoyKzqihQ6yS4QwMDYqt7Mj7xMwEDqBiNRQ==","signatures":[{"sig":"MEUCIBj6lFBVWfq/eVpV3NkmSUPdeOc3lxoHFTjvPY14YuSRAiEAxiSuNYJdD5xuAa7gOsVaXYjUg5JPwGVaXazaP8d8gJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120579},"type":"module","_from":"file:spfn-0.1.0-alpha.20.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/6e86d4a2713ae5672904d8dac1d8ffca/spfn-0.1.0-alpha.20.tgz","_integrity":"sha512-9EWIdOc27ca4YN9J/7T7l3tcrI1jEWkggNEBVoSavVD0NV98FaCcoyKzqihQ6yS4QwMDYqt7Mj7xMwEDqBiNRQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.20"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.20_1760589192946_0.7592519489061251","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.21":{"name":"spfn","version":"0.1.0-alpha.21","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.21","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"38e3d88fbbfdcecab4baa5a303fcf5b7ce58842d","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.21.tgz","fileCount":27,"integrity":"sha512-fyO226WKW31/t6csL2ibyodSx/i6s7A/F6Ix86oMCwUBcnTle/3lByCC/PIEXLebDXZ71rh0KZDTeZzkBPmiBg==","signatures":[{"sig":"MEUCIQCtc6dIJi2OCNqebFi7YjZTHx3UlBWj8eAF6IiIDfT6fAIgSmoOhpCaZxfGIPWFyUR93j5JTkSslLJnFGjYNVVfeXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124195},"type":"module","_from":"file:spfn-0.1.0-alpha.21.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/f7965b03a1c6d42c3262ad75c57369c4/spfn-0.1.0-alpha.21.tgz","_integrity":"sha512-fyO226WKW31/t6csL2ibyodSx/i6s7A/F6Ix86oMCwUBcnTle/3lByCC/PIEXLebDXZ71rh0KZDTeZzkBPmiBg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.21"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.21_1760592169009_0.8474793241936234","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.22":{"name":"spfn","version":"0.1.0-alpha.22","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.22","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"3bab6d688f20ab7fd42d1127ae7a230dca9be4db","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.22.tgz","fileCount":27,"integrity":"sha512-slUHMUIZXv3JPenKJk6kWaEk6fz113dlwp10aSulq6yulf17gp26E19TDFBBLyT2dChpEsNS3fI/slSW8vrKkQ==","signatures":[{"sig":"MEQCIAbO/GF63jsDyaCQ/6UPJ3hAEnxLr/hYst5ZeRyMSZ1eAiA7RfhgVvXOmzfUTnC9Zo6zU/pmTOlqeEee2Mu3VacG/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124195},"type":"module","_from":"file:spfn-0.1.0-alpha.22.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/45ae932764dca92110131403d32bdbbf/spfn-0.1.0-alpha.22.tgz","_integrity":"sha512-slUHMUIZXv3JPenKJk6kWaEk6fz113dlwp10aSulq6yulf17gp26E19TDFBBLyT2dChpEsNS3fI/slSW8vrKkQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.22"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.22_1760689412834_0.023057576115654177","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.23":{"name":"spfn","version":"0.1.0-alpha.23","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.23","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"2b60b54169f9c030a1f60dc8c99661b2bf3b3299","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.23.tgz","fileCount":27,"integrity":"sha512-N39gUOGlZd/9fDcxPg3Cx9QeTKa+hBK1fDEXxF2hcM0n8Y6MQcywMepLTmQVhsjW1XEbKZrrEDkrzDY/QcyduQ==","signatures":[{"sig":"MEUCIQCJbU2TH0gcb9CVjmWtDHaiCvC4rEMkvC5LDPUGfCMUVQIgWD4yDlw+OvRue0i1RC5ybmUOYwD3IsMs61SuJYsJXFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124195},"type":"module","_from":"file:spfn-0.1.0-alpha.23.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/940f526807171cdb2cbf867fe86d886e/spfn-0.1.0-alpha.23.tgz","_integrity":"sha512-N39gUOGlZd/9fDcxPg3Cx9QeTKa+hBK1fDEXxF2hcM0n8Y6MQcywMepLTmQVhsjW1XEbKZrrEDkrzDY/QcyduQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.23"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.23_1760691961081_0.19267265322950378","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.24":{"name":"spfn","version":"0.1.0-alpha.24","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.24","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f359dad428c92e9e48c76720feebfaea2b6de12a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.24.tgz","fileCount":27,"integrity":"sha512-g257tznpJ2b0CBtiLvBtTF6zjxInFxIQ5Wgw4FQNkSeKF0H/ArGz29PUAR0eH9efYH6JKMYVuKg2jysbwj72Aw==","signatures":[{"sig":"MEYCIQCI/SB4mgPk1c7HsbppJSYEt4gPNeUAtOrlBJ7M7qAQwQIhAKfuvJXiSyY1txsU/ZXLM5eV2dJ+0Mvr6bUKzdXgDTcn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124920},"type":"module","_from":"file:spfn-0.1.0-alpha.24.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/b28526586a24ee123a763fb0e4076858/spfn-0.1.0-alpha.24.tgz","_integrity":"sha512-g257tznpJ2b0CBtiLvBtTF6zjxInFxIQ5Wgw4FQNkSeKF0H/ArGz29PUAR0eH9efYH6JKMYVuKg2jysbwj72Aw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.24"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.24_1760694845605_0.8895478231138991","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.25":{"name":"spfn","version":"0.1.0-alpha.25","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.25","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"6ba6b053becef1c917df29ad3a62e78aa90f87ee","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.25.tgz","fileCount":27,"integrity":"sha512-Y0o5NGJ4olmux3PS8vpHdCMsCGlqGNuj39Lr/wVolvEmYQIhkH0HdIavmPphP+EQePVNkMZc/xCvw8ocQMQzWg==","signatures":[{"sig":"MEYCIQDZpqpsb7inr4XB0M6D96vluMmghLwDtHLRyRtD0rASaQIhAOZvuwVS/4vyzgA15F4OlMaYWUwzDCoCGhhIm867ND+z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124920},"type":"module","_from":"file:spfn-0.1.0-alpha.25.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/3743ae1d10e5f3e9e8e56614afe2da5c/spfn-0.1.0-alpha.25.tgz","_integrity":"sha512-Y0o5NGJ4olmux3PS8vpHdCMsCGlqGNuj39Lr/wVolvEmYQIhkH0HdIavmPphP+EQePVNkMZc/xCvw8ocQMQzWg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.25"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.25_1760704526023_0.3778802233710943","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.26":{"name":"spfn","version":"0.1.0-alpha.26","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.26","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"168a44f1b704253f98f081266f0c22d6168ab7a4","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.26.tgz","fileCount":27,"integrity":"sha512-b4hVJJZgjIwQtIIkCdSZ1p25gSdXY36Lwi4Wmfg/Aj/Hmuqz159N4/ucduHigDSJAH83L2dSy+dXH6LtqSkQ1Q==","signatures":[{"sig":"MEUCIQDY4z7eCNvksBw2FL9PLqqjfPknX7rSv4Sk31ZQdDj+cgIgfFCTXkN9uFCS9w6vLiZu/d4tIkw4b0cDLclFO474jXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124920},"type":"module","_from":"file:spfn-0.1.0-alpha.26.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/6f745343278b8b3ca0fd016eec6d326c/spfn-0.1.0-alpha.26.tgz","_integrity":"sha512-b4hVJJZgjIwQtIIkCdSZ1p25gSdXY36Lwi4Wmfg/Aj/Hmuqz159N4/ucduHigDSJAH83L2dSy+dXH6LtqSkQ1Q==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.26"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.26_1760709593188_0.17654374723443245","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.27":{"name":"spfn","version":"0.1.0-alpha.27","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.27","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e12ce086863d15faff12eaa54981b7f5750cf447","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.27.tgz","fileCount":27,"integrity":"sha512-YX6IMB3PHWixMadq/uHkEU0cXkF3Db1oM9ucnRgpthGOtTrP9R1xUC0r7qBPru9FbvNtTP1JktJLi3Q6EGWqJQ==","signatures":[{"sig":"MEQCICFL8jJ0M1AMCoQUBkT4cOrcZjkhm91L+E9giKEUN7J5AiBJcjOdwC9cDuvkn3LoHup2tAwpe6K2iaTA8FyUkIaKKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124920},"type":"module","_from":"file:spfn-0.1.0-alpha.27.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/private/var/folders/h9/gtg_888n2j196vml9rmlv42h0000gn/T/720faa0dc48701e13bd26fa991e6baa4/spfn-0.1.0-alpha.27.tgz","_integrity":"sha512-YX6IMB3PHWixMadq/uHkEU0cXkF3Db1oM9ucnRgpthGOtTrP9R1xUC0r7qBPru9FbvNtTP1JktJLi3Q6EGWqJQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.4.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.27"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.27_1760760829101_0.44067146709428595","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.28":{"name":"spfn","version":"0.1.0-alpha.28","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.28","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"a62a2754fb220203f60c3318b4ed44b53c14ec1d","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.28.tgz","fileCount":27,"integrity":"sha512-/0di2pF9RNEcrL60vYSbSToRKJ8jg2Z3WjFkRBifHRCJ4HEPDPlmRPGMZuuq06RdC0vwIKzKg7xZesvsepupYw==","signatures":[{"sig":"MEUCIQD/J82ljZAIx9Ov+QWdoBRCtpp2yf5ozgutjB/6fX6b4gIgLef25NF/cYkCiKNYkvRn4P+GCBx2EkUIrYdp4mux9x4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124920},"type":"module","_from":"file:spfn-0.1.0-alpha.28.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/b697d2446f1d7ca56d60da65d939bd56/spfn-0.1.0-alpha.28.tgz","_integrity":"sha512-/0di2pF9RNEcrL60vYSbSToRKJ8jg2Z3WjFkRBifHRCJ4HEPDPlmRPGMZuuq06RdC0vwIKzKg7xZesvsepupYw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.28"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.28_1760786319999_0.8352044527608715","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.29":{"name":"spfn","version":"0.1.0-alpha.29","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.29","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"04dd60dc1387284d29e255290bb7ad733b98b4c3","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.29.tgz","fileCount":27,"integrity":"sha512-f7Y1YnCuWsDAQaCRZg7CuvQ7ed/iSgQp3HM8WTilwju9HZjfyxi3jqYtttkDtWVUKzqD/pL73xqKbaiC+Xd70A==","signatures":[{"sig":"MEYCIQDQ1S0rGeMrPJjIziLpkuh8axtGdFhL3tLmssUJY14+4wIhAL2jPlXQULSB3Up3ySj6wIyyQK+MlvoUBY3h701DprCs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126503},"type":"module","_from":"file:spfn-0.1.0-alpha.29.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/457c47d65c8faf6644b89d10ebdaa558/spfn-0.1.0-alpha.29.tgz","_integrity":"sha512-f7Y1YnCuWsDAQaCRZg7CuvQ7ed/iSgQp3HM8WTilwju9HZjfyxi3jqYtttkDtWVUKzqD/pL73xqKbaiC+Xd70A==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.29"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.29_1760798499905_0.5191725838847223","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.30":{"name":"spfn","version":"0.1.0-alpha.30","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.30","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"89404e83385a03c93bb55a62c9143d48fbaf019b","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.30.tgz","fileCount":27,"integrity":"sha512-qKXAgR1VbFZhyT+FExNhQc3xbR2tK7G/0QBULCjGv4HIanBsHcw18iHuCaIM743O1OHJUltM+D5QecP8QX/W4A==","signatures":[{"sig":"MEQCIFVrgexrXZxzrv1XeFJUoKGdaWkcIUVzxS8B6hkP4T3OAiA6H819rYUYk456nwqtlT2ldHQA21eUPgkTDwTYaWE5zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125585},"type":"module","_from":"file:spfn-0.1.0-alpha.30.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/8b67888057979f48c8302eed6e1ec44c/spfn-0.1.0-alpha.30.tgz","_integrity":"sha512-qKXAgR1VbFZhyT+FExNhQc3xbR2tK7G/0QBULCjGv4HIanBsHcw18iHuCaIM743O1OHJUltM+D5QecP8QX/W4A==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.30"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.30_1760799051392_0.5971636619737135","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.31":{"name":"spfn","version":"0.1.0-alpha.31","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.31","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"3c32c1c21e36c040c2fcc5aba5d16aca93163d71","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.31.tgz","fileCount":27,"integrity":"sha512-67zPfJIWTbUWpI7/VQ0jpkwVu8qckxxv7xYHYHR9iSVhvO30f97Gy/uO5J8LqnXbUsNcUieG3vi7pIG5ehRgtw==","signatures":[{"sig":"MEYCIQCs5Ji0X0XaaZy/sc++9B+ERLdAmFAXlYFjuQjIxXU3zAIhANsflK4+W+gGdr5pjcviHPfZoDTbHfXwWMQB4wzPd4G1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125585},"type":"module","_from":"file:spfn-0.1.0-alpha.31.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/7f50b07061539b67daff4a6eddfab3e9/spfn-0.1.0-alpha.31.tgz","_integrity":"sha512-67zPfJIWTbUWpI7/VQ0jpkwVu8qckxxv7xYHYHR9iSVhvO30f97Gy/uO5J8LqnXbUsNcUieG3vi7pIG5ehRgtw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.31"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.31_1760847595469_0.6427767604727694","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.32":{"name":"spfn","version":"0.1.0-alpha.32","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.32","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"3c7771bd77ba8b586246f7a19b5020dbd70d128b","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.32.tgz","fileCount":27,"integrity":"sha512-haDpLH2ctjY68/Cpgcvj+74gf5wNoCXRNlawpRRisf2h6XQe7YcNPoP/ucAZkxc2hUCDJCD+RXLbcWXCMe0LJQ==","signatures":[{"sig":"MEYCIQDc10xOABGkssKH6Cw/SOnMyG/ppdef4jCE2Aw2D4XvSAIhAMUDp6C0osFzdg94qzlk8MkzPHQU4NMhd6LoBkWyvtyF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125585},"type":"module","_from":"file:spfn-0.1.0-alpha.32.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/4da86535b47e8b6770744d4930fe956e/spfn-0.1.0-alpha.32.tgz","_integrity":"sha512-haDpLH2ctjY68/Cpgcvj+74gf5wNoCXRNlawpRRisf2h6XQe7YcNPoP/ucAZkxc2hUCDJCD+RXLbcWXCMe0LJQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.32"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.32_1760873476090_0.28987862734297454","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.40":{"name":"spfn","version":"0.1.0-alpha.40","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.40","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"492f8287163d4263b4ad33fd572d4b844b77267a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.40.tgz","fileCount":27,"integrity":"sha512-2Zs1ev4SX/ZDBSpOatF574od/aZMvDtitEnTcNSn7vUhPq6UwJs4sOO/n/vXVJLVFrBGqbswc6JSHKsrOGK0IA==","signatures":[{"sig":"MEUCIQDN3RhULtB74HoVUxSkb1qRCqFxBHOC16mecI2NYPOA8wIgYaDiH8re2IBg0bcQ9zuxN35ZDJYqSF4iRle8p5xTUiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115314},"type":"module","_from":"file:spfn-0.1.0-alpha.40.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/c7dccde02d8794b41f972b2400f7c25b/spfn-0.1.0-alpha.40.tgz","_integrity":"sha512-2Zs1ev4SX/ZDBSpOatF574od/aZMvDtitEnTcNSn7vUhPq6UwJs4sOO/n/vXVJLVFrBGqbswc6JSHKsrOGK0IA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.40"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.40_1761042977132_0.07438807561944971","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.41":{"name":"spfn","version":"0.1.0-alpha.41","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.41","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"4baca74b97f76b31811e1c5df27d9081d02578d7","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.41.tgz","fileCount":27,"integrity":"sha512-amNejsVOAcSjpg08CbvX0EwbGHZ5hWaKWF9dfFv7HHzrFiMT98HJYdFF2VcejhF9EBzmFCb7Ctbdro34MOVwzg==","signatures":[{"sig":"MEQCIGiJ/piOxof87OhkHFLNM7brn4qNVASQPfAkMvMjmaE7AiBQYzKZMZAw00HOqTvJoMzy0F4e/HpJ5rXtkRDjS6Bm2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115545},"type":"module","_from":"file:spfn-0.1.0-alpha.41.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/2dec6a357454fbe1ccc09e3350eca4ac/spfn-0.1.0-alpha.41.tgz","_integrity":"sha512-amNejsVOAcSjpg08CbvX0EwbGHZ5hWaKWF9dfFv7HHzrFiMT98HJYdFF2VcejhF9EBzmFCb7Ctbdro34MOVwzg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.41"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.41_1761053525195_0.0620789202930645","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.42":{"name":"spfn","version":"0.1.0-alpha.42","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.42","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"bf16cb420c14af339e3d037fa6cd68a1c63ea2f9","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.42.tgz","fileCount":27,"integrity":"sha512-C1NmX4UTCKBPkt0CGtuNsj53ekX0SFEtXOhnjP/v7csSKosyViJ45ssfMrUDjaIU5sIpAM+HC148DO9Z0Pg9Xg==","signatures":[{"sig":"MEQCIGfGWsIiqrRzpcQ0qVdTHidqPT3HaqiNCMkRfSUuycreAiAbu/zPYZs6mYwj6qsN8uL55sXKh6txQT3mS3mriO2RWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115545},"type":"module","_from":"file:spfn-0.1.0-alpha.42.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/86ffe03019765ae71f8294f441695aee/spfn-0.1.0-alpha.42.tgz","_integrity":"sha512-C1NmX4UTCKBPkt0CGtuNsj53ekX0SFEtXOhnjP/v7csSKosyViJ45ssfMrUDjaIU5sIpAM+HC148DO9Z0Pg9Xg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.42"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.42_1761055217512_0.7660508546190499","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.43":{"name":"spfn","version":"0.1.0-alpha.43","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.43","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"3f430407510c854e279a969c50708ce5954bdb8e","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.43.tgz","fileCount":27,"integrity":"sha512-gbpYUNHB6QQ8jsMLxcSzwKMkodLIbjc1BpT1CluBDJHL2lpSjKOvytQxeNCWFTWwfeKxenwc906zO4pj9GoQbA==","signatures":[{"sig":"MEQCIAD9qIJKqlfQWUAlWLbvp/lqCMYFzj2WZu/tcWgJ5u/RAiBdH7EirP/qEGgZDiOeF9R2XVG0+dUxkX/MQML2sSp0ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115545},"type":"module","_from":"file:spfn-0.1.0-alpha.43.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/cf6accb5a83ec9509665d95690465c3a/spfn-0.1.0-alpha.43.tgz","_integrity":"sha512-gbpYUNHB6QQ8jsMLxcSzwKMkodLIbjc1BpT1CluBDJHL2lpSjKOvytQxeNCWFTWwfeKxenwc906zO4pj9GoQbA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.43"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.43_1761055833548_0.6032271755467546","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.44":{"name":"spfn","version":"0.1.0-alpha.44","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.44","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"8bc28fff488e6a49255ac79d4d040be74cb7b16f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.44.tgz","fileCount":23,"integrity":"sha512-QJuUYlI7ARwNy+UMaucpGbqJNA9Y6DLKieJxHckoGrOrxXQrmiDweQVh6CJQ5Sh4hnFTqIHfUjS4v+KmlYh44g==","signatures":[{"sig":"MEQCIGbqSlSmYlUEOumVSHVC0CSrJ7rhnBTQyhnb4YdvNh75AiAqZBoDSRBgpb0H/sELHTUl2d+oYnLLkYfON1PPA/bHxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":85302},"type":"module","_from":"file:spfn-0.1.0-alpha.44.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/ec171c24d5cb6888bfc0ae3713d8fdb1/spfn-0.1.0-alpha.44.tgz","_integrity":"sha512-QJuUYlI7ARwNy+UMaucpGbqJNA9Y6DLKieJxHckoGrOrxXQrmiDweQVh6CJQ5Sh4hnFTqIHfUjS4v+KmlYh44g==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.44"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.44_1761141869540_0.9987134354446954","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.45":{"name":"spfn","version":"0.1.0-alpha.45","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.45","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/spfn#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f92f780a6e4636606d525ea099fc35ee6ddd0422","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.45.tgz","fileCount":23,"integrity":"sha512-NCH//gi+BIqY8uE4RYvkku1Eb742oG6PKJt5hS0M3Znvutp9yOYal6n6NOaFodE50JzBtuJltTY41vOHcgNarQ==","signatures":[{"sig":"MEYCIQCNVO/randaKaZkykrghWXVtDIvp667iPItzzgtr71ZiwIhAMdl6Vk5BWKtqT6Xq0ZktB1FKngV0R3i8zXCicujr0jS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":85302},"type":"module","_from":"file:spfn-0.1.0-alpha.45.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/89f6b83b9492e273a3adb0b06a857097/spfn-0.1.0-alpha.45.tgz","_integrity":"sha512-NCH//gi+BIqY8uE4RYvkku1Eb742oG6PKJt5hS0M3Znvutp9yOYal6n6NOaFodE50JzBtuJltTY41vOHcgNarQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/spfn"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.45"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.45_1761144154838_0.07090786509628066","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.49":{"name":"spfn","version":"0.1.0-alpha.49","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.49","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"31793b725a1cfe1642946e5675e12bbc24e0f338","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.49.tgz","fileCount":23,"integrity":"sha512-NK0q25PfP5Extpm8L4alV/IxTw3KJ0vtLGXmq38JWImA9ARaO0SjeevZRIDXbw6/BVdDbLFmu9sC5I9DPT0u4w==","signatures":[{"sig":"MEUCID5UeuAXmdOxWlof5sn6aDfCdGqOnpuDAdneFPZw1nOVAiEAhswYBa7qI1MZNHFIly94oAjMxsR9sp2+lbZ/0q51kgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99196},"type":"module","_from":"file:spfn-0.1.0-alpha.49.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/1625e139d8c4e72176498436f4504574/spfn-0.1.0-alpha.49.tgz","_integrity":"sha512-NK0q25PfP5Extpm8L4alV/IxTw3KJ0vtLGXmq38JWImA9ARaO0SjeevZRIDXbw6/BVdDbLFmu9sC5I9DPT0u4w==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.49"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.49_1761192408167_0.5421474462425528","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.50":{"name":"spfn","version":"0.1.0-alpha.50","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.50","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e14385cd67830c29ba14f31a84121779e2044b81","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.50.tgz","fileCount":23,"integrity":"sha512-0Ao6axGmtMQxRrDDoy1gtroU8RCpU6qNHS6tJd268QkRwUXDIgKCtcYOZZmSfYnCD9HnFRl3reE4k6N9Ycm6VA==","signatures":[{"sig":"MEQCIB+pyU2su357gfN/TUKkii8TuJ59XQna9nqlqp7NC1XkAiBF/sLrwUIItlRzjGhox4kUfJI0QDIkNBkWFN/YO6saFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99196},"type":"module","_from":"file:spfn-0.1.0-alpha.50.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/d0b38e1ffb14deb689630f13f7d1669c/spfn-0.1.0-alpha.50.tgz","_integrity":"sha512-0Ao6axGmtMQxRrDDoy1gtroU8RCpU6qNHS6tJd268QkRwUXDIgKCtcYOZZmSfYnCD9HnFRl3reE4k6N9Ycm6VA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.50"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.50_1761193929300_0.7614537489802253","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.51":{"name":"spfn","version":"0.1.0-alpha.51","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.51","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f84c9168d2bb150e59d75c53ff49f57e203ea536","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.51.tgz","fileCount":23,"integrity":"sha512-YO5qPC+A3vViPGvrxbZOBJ8u1DUBSFTwPyUlDg+Wka0P8vMt+j5yJsfpnv7roeAgCdnjp9MSJ0+bCEhe+sbMpg==","signatures":[{"sig":"MEUCIErXmuWHb1+fpFNySDtODmCflAXvC+ORCRlPgrlCVyUpAiEAsVZP8Vq4LbN1IHAwMEQVluaQMeG8OnQbajlq87CRCZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99196},"type":"module","_from":"file:spfn-0.1.0-alpha.51.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/52e77161e02fdf44276400512d3a3980/spfn-0.1.0-alpha.51.tgz","_integrity":"sha512-YO5qPC+A3vViPGvrxbZOBJ8u1DUBSFTwPyUlDg+Wka0P8vMt+j5yJsfpnv7roeAgCdnjp9MSJ0+bCEhe+sbMpg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.51"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.51_1761198720886_0.8678191470034888","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.52":{"name":"spfn","version":"0.1.0-alpha.52","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.52","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"8d1709e78f89947f951f722c9649c28a254d11b7","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.52.tgz","fileCount":23,"integrity":"sha512-ykbkxhq+oUGm5WWzvgIVkEbvdsf0JsaQ+6rkemR3Y/QJ5QuqhKSHgQIl0v0w1z5/gPTsdHIKFniKv1SzS6/Zmg==","signatures":[{"sig":"MEUCIQDL1OLjC/Skga99zc3s6fKSDugewNoEucDDvqAXtPwgRQIgdCvFR2TXuj6HqH27SRpqFBPboVbkd6z6KLd9O91w4qA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107876},"type":"module","_from":"file:spfn-0.1.0-alpha.52.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/2852d4ebdec3165740842da30eaa9f45/spfn-0.1.0-alpha.52.tgz","_integrity":"sha512-ykbkxhq+oUGm5WWzvgIVkEbvdsf0JsaQ+6rkemR3Y/QJ5QuqhKSHgQIl0v0w1z5/gPTsdHIKFniKv1SzS6/Zmg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.52"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.52_1761492043118_0.4782468927540624","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.53":{"name":"spfn","version":"0.1.0-alpha.53","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.53","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"c7ea95a48bdd3d6e06d561bb957c4ab4ea6e0eab","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.53.tgz","fileCount":23,"integrity":"sha512-eH6k6m/qG7+8qus4LAx0Va9YGHYRgEtSoSATJiY/sU4i2JSO0rGKyrXdkkT4yl6YArwVVp3+9xAtmz8zDmQ8iA==","signatures":[{"sig":"MEQCICNSQFKK4iX+uz/ScwVxGtQeHya8plLm7C2A7ku+3QDhAiBaH43avvQpTpeLczfOTwIJSJrz+Hdjd+uxMVMD9kTdvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107870},"type":"module","_from":"file:spfn-0.1.0-alpha.53.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/925cd7d9d0732b9a42ea40af8a2a9094/spfn-0.1.0-alpha.53.tgz","_integrity":"sha512-eH6k6m/qG7+8qus4LAx0Va9YGHYRgEtSoSATJiY/sU4i2JSO0rGKyrXdkkT4yl6YArwVVp3+9xAtmz8zDmQ8iA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.53"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.53_1761569053434_0.7447508574470436","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.54":{"name":"spfn","version":"0.1.0-alpha.54","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.54","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"2eec847ea4c5750170627e9552f5476574805be2","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.54.tgz","fileCount":23,"integrity":"sha512-0Ju1I705N8CuLDuEa2Z6ShjAAVsST9ANhOEjtUOg/V6MqnSxHULo6KDgOTUMV5UtF0+XewNQ56fSeCxTrDbkjg==","signatures":[{"sig":"MEUCIQD6R073t7f1YPNe+fG2nO/d7fAVikSaL2B39ZDj8N1PVgIgDsWZfX+qyVyiFJM7HP7DHYVXuuAO2KPFy7ZPzE7n9nE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108346},"type":"module","_from":"file:spfn-0.1.0-alpha.54.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/aaad71ad2b405307e411c6058745ce8f/spfn-0.1.0-alpha.54.tgz","_integrity":"sha512-0Ju1I705N8CuLDuEa2Z6ShjAAVsST9ANhOEjtUOg/V6MqnSxHULo6KDgOTUMV5UtF0+XewNQ56fSeCxTrDbkjg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.54"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.54_1761576225644_0.011632743088110908","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.56":{"name":"spfn","version":"0.1.0-alpha.56","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.56","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"45494ff6bdee6044348c49dfd0ec7b7c8ecfdbd0","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.56.tgz","fileCount":23,"integrity":"sha512-m1byvGdB+wtiD7e3yQ7vRsQoWVnsx0uSA8jMQG8h5vw2hluSmeWKvXBI8OH5hBcw1+iVgdKoRmaOBGI8b7yxkg==","signatures":[{"sig":"MEYCIQCTt/pwGbUYsz5xxUZGIsUrucjpbOnXAGB2+csI3wSWeAIhAM/XaGeZTI808XzSE3NFXntnkxHblkc+Tlrtv91h6wah","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108715},"type":"module","_from":"file:spfn-0.1.0-alpha.56.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/2f399497ef93cfc7c538446f462e7055/spfn-0.1.0-alpha.56.tgz","_integrity":"sha512-m1byvGdB+wtiD7e3yQ7vRsQoWVnsx0uSA8jMQG8h5vw2hluSmeWKvXBI8OH5hBcw1+iVgdKoRmaOBGI8b7yxkg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.56"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.0.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.56_1761649380206_0.9092511605802414","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.60":{"name":"spfn","version":"0.1.0-alpha.60","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.60","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"28fd20d3b25659d93dd00ff9c0851fe00004c090","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.60.tgz","fileCount":26,"integrity":"sha512-YcIo8emu13tzkE//feMITZjLHFOQlKFUaRduiczK+xXt/7h9m2Ka7sxTAzoab73iM8wIIuMwF+BG/879k6MLtg==","signatures":[{"sig":"MEQCIFHtgUxVX9zW4d4YqaBP5QJOMJ0RDZs2x8B7TT9xlHg1AiBv6zRMNj5EePAkLff4sHG8keo3xWLDh/pDGXLErwloNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.60","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100959},"type":"module","_from":"file:spfn-0.1.0-alpha.60.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/0a361279ff859fa31c58d2f1ca325eda/spfn-0.1.0-alpha.60.tgz","_integrity":"sha512-YcIo8emu13tzkE//feMITZjLHFOQlKFUaRduiczK+xXt/7h9m2Ka7sxTAzoab73iM8wIIuMwF+BG/879k6MLtg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.60","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","tsup":"^8.5.0","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.60_1761741296971_0.6690961477965676","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.61":{"name":"spfn","version":"0.1.0-alpha.61","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.61","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"ec7f12a5350e8d0ea0552d0a421abd00ded1f58a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.61.tgz","fileCount":26,"integrity":"sha512-1G6THEttH2fB/6+tTWV4KkUn88uP9oWL2WbawrInCiwXAOp3F3di+lqgLf2i1A8fSqrnx+IdDEbVclrOB11cyg==","signatures":[{"sig":"MEUCIQCFtznmEIc7/t+Q0cjv5YFnVTZ3oGsSTU5ByTUAQDJZiQIgBfSEi2lYlyY2ooUvE9mD7CzKLTOR42jYq1+Q75a8WJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101221},"type":"module","_from":"file:spfn-0.1.0-alpha.61.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/fcaea8994cfd0f24fe7e5203762fab63/spfn-0.1.0-alpha.61.tgz","_integrity":"sha512-1G6THEttH2fB/6+tTWV4KkUn88uP9oWL2WbawrInCiwXAOp3F3di+lqgLf2i1A8fSqrnx+IdDEbVclrOB11cyg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.61","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.61_1761822547341_0.6086358765150117","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.63":{"name":"spfn","version":"0.1.0-alpha.63","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.63","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"eaeb2da6df4ff363d3dd6c8deb3e3e38732dedb5","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.63.tgz","fileCount":32,"integrity":"sha512-GD88sLJSndlX2ViHoXgPpPZJSyOIdr1DMJXGsC3EwXgfc4e4Pa9VQDwChnTKSJHbUl4n3nO+0bZxw6639WvmtA==","signatures":[{"sig":"MEUCIQCRSvbFX61jcUipKq0b141L0R927VFOUSZJmD75XQq+9AIgFTtkLo1VlARz1nxzhEd9r0KGj2r2vM8f1VZcfIroXiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":130177},"type":"module","_from":"file:spfn-0.1.0-alpha.63.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/c0812a5ec4afc1de738d3e74978da84a/spfn-0.1.0-alpha.63.tgz","_integrity":"sha512-GD88sLJSndlX2ViHoXgPpPZJSyOIdr1DMJXGsC3EwXgfc4e4Pa9VQDwChnTKSJHbUl4n3nO+0bZxw6639WvmtA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.63","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.63_1761923651329_0.00044124674509848916","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.64":{"name":"spfn","version":"0.1.0-alpha.64","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.64","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d628de793b6f32e42bebcedbabeeeab58266f78f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.64.tgz","fileCount":32,"integrity":"sha512-4qv3UT9eWafQPi2kkgbHBOnsUQsdozouCrZJBKeh6SOjIxmvTQ5JMGTDVQMvi7dQ8xB1SCXk1AwpGAaictT1UQ==","signatures":[{"sig":"MEYCIQDbe9lcSSRgr4k1Ep2lIOTVLlGRM55aWWNenUh216adGgIhANnDV78MTUZzZT4mo44eqS7aeE3bHrfbr/LsjKlvcxee","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.64","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":130177},"type":"module","_from":"file:spfn-0.1.0-alpha.64.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/a2a7a12f06f8233b9ae44893c65aed92/spfn-0.1.0-alpha.64.tgz","_integrity":"sha512-4qv3UT9eWafQPi2kkgbHBOnsUQsdozouCrZJBKeh6SOjIxmvTQ5JMGTDVQMvi7dQ8xB1SCXk1AwpGAaictT1UQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.64","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.64_1761957872780_0.0700016660209466","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.65":{"name":"spfn","version":"0.1.0-alpha.65","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.65","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"cf9ce68eb848630f01f3b83a244e1e0cc92ded92","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.65.tgz","fileCount":32,"integrity":"sha512-TTLSzSSwx9v6iHyNb4+yaZTJ+xb8I/kb7BilVMVtHLbAIfJNDKllFLxdoGkdJqW1otsc2IzzhMdvzDde3Qd4BA==","signatures":[{"sig":"MEYCIQCUk85gqq7Y3VJArYodI4dSbOH6SCngQjkXJ4ixFpwJZgIhAIiBg5dKUGd2/DVEybxS9j16fOsdi/oU12QEPa6qeSKA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.65","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150698},"type":"module","_from":"file:spfn-0.1.0-alpha.65.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/1cc12f70fc93987d00198cb19b3343e9/spfn-0.1.0-alpha.65.tgz","_integrity":"sha512-TTLSzSSwx9v6iHyNb4+yaZTJ+xb8I/kb7BilVMVtHLbAIfJNDKllFLxdoGkdJqW1otsc2IzzhMdvzDde3Qd4BA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.65","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.65_1762051907405_0.3850445161520659","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.68":{"name":"spfn","version":"0.1.0-alpha.68","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.68","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"70c9b55fe96d697b4a07bf608ea7ae5297f747ad","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.68.tgz","fileCount":32,"integrity":"sha512-6uYWIHgADVUltaoohoLmIZgJcXbEbbz3vSeto32PwCDsyZRm6VN7gnpzm4/qwo+N+7cxWfWR9iM6DSmtLcr6yA==","signatures":[{"sig":"MEYCIQCB2PjUgeS005jMBWYr7KkZwsqCsWnKEtXKdfBcvQ4aIAIhAM+QCYSHAVKPhn456JD9xzzEbXmodQiMTxFlmV/ssvNv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.68","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150698},"type":"module","_from":"file:spfn-0.1.0-alpha.68.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/1da8694904ee7efd62106e936ba8018e/spfn-0.1.0-alpha.68.tgz","_integrity":"sha512-6uYWIHgADVUltaoohoLmIZgJcXbEbbz3vSeto32PwCDsyZRm6VN7gnpzm4/qwo+N+7cxWfWR9iM6DSmtLcr6yA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.68","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.68_1762083379875_0.44683291523630086","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.72":{"name":"spfn","version":"0.1.0-alpha.72","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.72","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"1968fa85fd44ff49b24976bda4ca467e163514cd","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.72.tgz","fileCount":32,"integrity":"sha512-vTK2Y0L+ox1F2EW9PzuzIhJCUiaSWaFnk2d3joY5r1JozkcL0MXPmmTXuY0kWdktu6z4+lyS0eqEgDByiwZ4Tw==","signatures":[{"sig":"MEUCIGrwgPIV6ZAJpSK6Z/Y0BM+BRU6RiMxCla8D64Q7SqV/AiEA/S9ndxIiP+eGRic+VaY02ZTde440JSjY2g4lb+SrWdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150701},"type":"module","_from":"file:spfn-0.1.0-alpha.72.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/c33907a3802123a471ebdba0b1e7b496/spfn-0.1.0-alpha.72.tgz","_integrity":"sha512-vTK2Y0L+ox1F2EW9PzuzIhJCUiaSWaFnk2d3joY5r1JozkcL0MXPmmTXuY0kWdktu6z4+lyS0eqEgDByiwZ4Tw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.72","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.72_1762100737788_0.11972501791593482","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.74":{"name":"spfn","version":"0.1.0-alpha.74","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.74","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"71691ec38326d5c4df81d14e05b9e5fbe6be99f1","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.74.tgz","fileCount":32,"integrity":"sha512-EBTxep3mMokMFnwpauLJoE+OTIzH6yE/hEmDlDSMekztUU6biqTYfga1UVdRJwpYQkTVWt6IVeOYZ9USpNIYWg==","signatures":[{"sig":"MEYCIQDPdatxkQgvbFAGJgci/HHSIxU+GCdjju+gff+ZnTROtAIhAJOMyIFHmGZVCa+UwFwuH5VA2Y2TEe6Z38t77KrTgzEm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.74","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150701},"type":"module","_from":"file:spfn-0.1.0-alpha.74.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/8d44311bec19cb0015c9cc6ed91f159e/spfn-0.1.0-alpha.74.tgz","_integrity":"sha512-EBTxep3mMokMFnwpauLJoE+OTIzH6yE/hEmDlDSMekztUU6biqTYfga1UVdRJwpYQkTVWt6IVeOYZ9USpNIYWg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.74","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.74_1762149837170_0.9893322020384812","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.81":{"name":"spfn","version":"0.1.0-alpha.81","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.81","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"9261e43103f8c3d2c9e0af94e618c2b5bc4e5ed8","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.81.tgz","fileCount":31,"integrity":"sha512-NbKAaLeeyybc9tH5HVVkDtyTNfhjz63Qn141UgYnEIPf5yiObZb7tLSwyxm8kt/tSn5qrTV/9JNET24YkC4Rsg==","signatures":[{"sig":"MEYCIQC0gMlDMFSPqXktR/8/jhEyAtvHY/xluzNXXdDviS+yoAIhAIow4giz5K/tuVS7uvrTPkYm0su7zcFqETsT/cwVwExv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.81","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":146730},"type":"module","_from":"file:spfn-0.1.0-alpha.81.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/1766128dab533f248820efdc1fbbf78e/spfn-0.1.0-alpha.81.tgz","_integrity":"sha512-NbKAaLeeyybc9tH5HVVkDtyTNfhjz63Qn141UgYnEIPf5yiObZb7tLSwyxm8kt/tSn5qrTV/9JNET24YkC4Rsg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.81","drizzle-orm":"^0.44.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.81_1762275682751_0.9701342220149123","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.82":{"name":"spfn","version":"0.1.0-alpha.82","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.82","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d9c5ad16916cef8dd23b3c73dbf99356859e5a34","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.82.tgz","fileCount":32,"integrity":"sha512-xSTtJry3fYEYiP3Mh7KuP1Mzv4l0Cit0AkUoYaaphjgKOXHcFBu4XuG8LZUeJA2AghUlNr7QFIIjC/N5XoAKpw==","signatures":[{"sig":"MEYCIQDQ1mTCRbUZSauckJ1CTVJjrXd++DBY0Kz4uu4BtKBffgIhAL2AIfNCzIYyoNniJwcoSMocHM4WPScrPwlzRbI51a7g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.82","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168257},"type":"module","_from":"file:spfn-0.1.0-alpha.82.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/99eb6d03ef51d5cbf33e1494b0f76bfd/spfn-0.1.0-alpha.82.tgz","_integrity":"sha512-xSTtJry3fYEYiP3Mh7KuP1Mzv4l0Cit0AkUoYaaphjgKOXHcFBu4XuG8LZUeJA2AghUlNr7QFIIjC/N5XoAKpw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.82","drizzle-orm":"^0.44.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.82_1762331188279_0.17603804869473816","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.83":{"name":"spfn","version":"0.1.0-alpha.83","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.83","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"0cd3e573493885bb30fcfd31cddaa845d975a7af","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.83.tgz","fileCount":32,"integrity":"sha512-XOVtEF7CcDSPA154p9lJ83N65+7Qnh8A4VNkWbJZu2EP13qkwkvcPQVmJM0ZrfuLlbqtgVmf9y4+Uq7Dd/Zs9w==","signatures":[{"sig":"MEQCIHRdD6lj9nkVaSYb2jXkBcpBCCqxUwpkYtYnNvlsDzO2AiALZSGF9qVxoIJLOR6c9FV/wCe9p0D4O7nDtX4l/qvQHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.83","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168418},"type":"module","_from":"file:spfn-0.1.0-alpha.83.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/c4e7fd5c9f2bd111b79bdecdf47cf80a/spfn-0.1.0-alpha.83.tgz","_integrity":"sha512-XOVtEF7CcDSPA154p9lJ83N65+7Qnh8A4VNkWbJZu2EP13qkwkvcPQVmJM0ZrfuLlbqtgVmf9y4+Uq7Dd/Zs9w==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.83","drizzle-orm":"^0.44.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.83_1762357990609_0.31155756452064987","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.84":{"name":"spfn","version":"0.1.0-alpha.84","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.84","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"c69ba997ad5e141902f0d4c81ec0614631271b91","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.84.tgz","fileCount":33,"integrity":"sha512-X/p5cGxEueXmNUPhaDVxsTt6vtsgK/unvPiwLuMxLLwih8+LvAxa8MZBfgbH/2CPPwnww/4IcM+cWfIpy3Rv+Q==","signatures":[{"sig":"MEYCIQDfdjiWt7Haz9ulXjLXO9+tGCeCev/Oy4r2sUYFRvmEIgIhANLff5HjNRJdLamWYHef9voUiZKU2WLAVqimk5X72x7E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.84","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":180580},"type":"module","_from":"file:spfn-0.1.0-alpha.84.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/491b6661cb83d624d5ce4862386ca2bd/spfn-0.1.0-alpha.84.tgz","_integrity":"sha512-X/p5cGxEueXmNUPhaDVxsTt6vtsgK/unvPiwLuMxLLwih8+LvAxa8MZBfgbH/2CPPwnww/4IcM+cWfIpy3Rv+Q==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.84","drizzle-orm":"^0.44.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.84_1762430006370_0.6685437370572949","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.86":{"name":"spfn","version":"0.1.0-alpha.86","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.86","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"dd44c129dadb84b40e9c2dfb2c35d19579730c9a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.86.tgz","fileCount":33,"integrity":"sha512-YnuIhaV5X+tv1oRHb4NleAONAaXJK28Y+m5n/BahZwK5OvJLO22eaRfC3IuAzV1hO23kMcbfmkYjK2yuFgqUZA==","signatures":[{"sig":"MEQCIFfoPXMKqWmVrekqU0arPW09fxe3sunhAOsq59blVnBAAiBbGaviLZChA1CyADOdzG8ugX91oeCuV2BTT8qi7nmn/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.86","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185064},"type":"module","_from":"file:spfn-0.1.0-alpha.86.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/d7d6f81d8c8f8185b94aedb937a98563/spfn-0.1.0-alpha.86.tgz","_integrity":"sha512-YnuIhaV5X+tv1oRHb4NleAONAaXJK28Y+m5n/BahZwK5OvJLO22eaRfC3IuAzV1hO23kMcbfmkYjK2yuFgqUZA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.3.0","execa":"^8.0.1","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.86","drizzle-orm":"^0.44.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.5","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.86_1762695372703_0.2255733791315302","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.88":{"name":"spfn","version":"0.1.0-alpha.88","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.1.0-alpha.88","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e429d7679b258323b2ac9dbd4e6196fbc17e6f3d","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.1.0-alpha.88.tgz","fileCount":33,"integrity":"sha512-zs6NqlNHPQrWL9436cyTWpqqjd8km8zYg07DvVJmuBlvU3ouJnQK2+xL+5JzWQn809gMHskFXxB2rtEoZsoZtQ==","signatures":[{"sig":"MEUCICmpUBU/tu7ms3gYJRoiNQqvcopZY/WL8HjNSx5cD44QAiEAzHP/Hw+Wv5naBPPemr82pCHwm8CRcd9dNCX/J7OFvLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.1.0-alpha.88","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185064},"type":"module","_from":"file:spfn-0.1.0-alpha.88.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0c7de99-a26a-4287-8c77-db2f3b7e9f50"}},"_resolved":"/tmp/f73f0d580e71f5674ca58f7242d99c15/spfn-0.1.0-alpha.88.tgz","_integrity":"sha512-zs6NqlNHPQrWL9436cyTWpqqjd8km8zYg07DvVJmuBlvU3ouJnQK2+xL+5JzWQn809gMHskFXxB2rtEoZsoZtQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.1.0-alpha.88","drizzle-orm":"^0.44.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.1.0-alpha.88_1762701465320_0.429321023630272","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.1":{"name":"spfn","version":"0.2.0-beta.1","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.1","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"8697e380fa2969bc49d2b6e8a9b44615b6171a69","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.1.tgz","fileCount":31,"integrity":"sha512-RwrmMWc7BDVyML0lPEQR3dWWXruYSPpJCtcNB4Je6quU7MYQfTeQkBeeUg9dRCDZ8yrVbUQY48Jn7XxDwgX0TA==","signatures":[{"sig":"MEQCIEkO3RrPgdT6KDH22NgJO41DddQvRnRwkGG9HgtuSQy1AiAPz+wOLDreCPhXsGvTt3Wo4NER6X8owhX1zoiIDx+fKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195345},"type":"module","_from":"file:spfn-0.2.0-beta.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/f201c7256d514fa8e60916a3e2d727d9/spfn-0.2.0-beta.1.tgz","_integrity":"sha512-RwrmMWc7BDVyML0lPEQR3dWWXruYSPpJCtcNB4Je6quU7MYQfTeQkBeeUg9dRCDZ8yrVbUQY48Jn7XxDwgX0TA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.6.4","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.1","drizzle-orm":"^0.44.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","dotenv":"^17.2.3","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.1_1765167882819_0.43320339951474085","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.2":{"name":"spfn","version":"0.2.0-beta.2","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.2","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d4d6204db90f365a8909487d1a793ec9fa02dfcf","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.2.tgz","fileCount":31,"integrity":"sha512-d62iTXtwqmLhqrKunkCsjIhHNrVQtJy9bEhMedvXcRyjXaXAyBze9pcgz5UanJkfLz+5h+xqUGKD717mcO4RbQ==","signatures":[{"sig":"MEUCIQCUVO2xuBAuzwtqnU6fpt6bnt+aBLdMpyqsHpdbA4gLrwIgT5PZsLFTcdy50YMROzpqDTm/tsLs4yHZTV7KQOxBSqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203638},"type":"module","_from":"file:spfn-0.2.0-beta.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/d742843dfac8556bf48584bccda3f236/spfn-0.2.0-beta.2.tgz","_integrity":"sha512-d62iTXtwqmLhqrKunkCsjIhHNrVQtJy9bEhMedvXcRyjXaXAyBze9pcgz5UanJkfLz+5h+xqUGKD717mcO4RbQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.7.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.4","drizzle-orm":"^0.44.7"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.2_1765760087415_0.11540609701322424","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.3":{"name":"spfn","version":"0.2.0-beta.3","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.3","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"eff2b1f9bec4f239da828b9276b8cb9eefdfd357","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.3.tgz","fileCount":31,"integrity":"sha512-NBrTsUI0B2iSmXAwGU2APwBeEPMsv3FNzKYJr4rKmV+e1KmSNflZp7x8mDDNqHYoC1AWow0o7aRk3Wfml02tlw==","signatures":[{"sig":"MEQCIB8mEo8xEPUK9VpKAJF9aHulPcxzOEFInFQzYl8+IFj4AiBWQF5/KYPStolLBHt2pnX59nLzV5JBykRTIMnkveurbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203638},"type":"module","_from":"file:spfn-0.2.0-beta.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/dbf5e9a83ed52623201f312ea2bb73ad/spfn-0.2.0-beta.3.tgz","_integrity":"sha512-NBrTsUI0B2iSmXAwGU2APwBeEPMsv3FNzKYJr4rKmV+e1KmSNflZp7x8mDDNqHYoC1AWow0o7aRk3Wfml02tlw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.7.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.4","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.3_1765876190841_0.7939998897928509","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.4":{"name":"spfn","version":"0.2.0-beta.4","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.4","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"092f3480ca133000525c169ba9e26cefd6dd8c63","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.4.tgz","fileCount":31,"integrity":"sha512-VU89C/ZgccsZGc6A9Wwfqka2acNLyy+ikxEwt4K4SDn6XQClAwGXmHof8rOQhB3VjtPbt7h3lWHYVdAFbDaGWA==","signatures":[{"sig":"MEUCIHNbT23JFLz4NnJ4yJQdBXU5gYd/wPVvEZMDk1YqXrzGAiEAhQBgxW0HmeUC9lgVVNV7c3BgGStEUMiEvj0NEEXbj+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206336},"type":"module","_from":"file:spfn-0.2.0-beta.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/daab162b694fb239c19e112e2556d0f6/spfn-0.2.0-beta.4.tgz","_integrity":"sha512-VU89C/ZgccsZGc6A9Wwfqka2acNLyy+ikxEwt4K4SDn6XQClAwGXmHof8rOQhB3VjtPbt7h3lWHYVdAFbDaGWA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.7.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.5","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.4_1765878788813_0.6516700293169138","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.5":{"name":"spfn","version":"0.2.0-beta.5","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.5","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d5569363e9a53e54a056629ae7ed05abd3bf8d7a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.5.tgz","fileCount":31,"integrity":"sha512-yRIovWFjPM7t1tsT9p9IRjzZWNjaAHhNyBzvHwOcduv+nbQ4tWwzM67flHy11Or5rss9aoPkKZfx23yjN3LKdQ==","signatures":[{"sig":"MEQCIFR9h5SJZ3OzJDt6JbvMOJxuuf30PIpt31+lVgwZ1a1sAiBbIdYKCw9aqRXj/Nv5EvqwM8l04vJe+oCDplCP0bKCgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206653},"type":"module","_from":"file:spfn-0.2.0-beta.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/48e142d1c30ca66e61f4df7b6273d29b/spfn-0.2.0-beta.5.tgz","_integrity":"sha512-yRIovWFjPM7t1tsT9p9IRjzZWNjaAHhNyBzvHwOcduv+nbQ4tWwzM67flHy11Or5rss9aoPkKZfx23yjN3LKdQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.7.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.5","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.5_1766061696490_0.9614461183760232","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.6":{"name":"spfn","version":"0.2.0-beta.6","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.6","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"9dc46339f29a9eebb149c844973ff7343bdf89ec","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.6.tgz","fileCount":31,"integrity":"sha512-Lp8vRJH4XO9pEyCt/PMW6kz/ywWGMqYdXA2TyiVr7FAoj1cTdFHDcb0O/8BXU7dKhhYy+onXa9b4ZZ/lCfu9hg==","signatures":[{"sig":"MEYCIQC6uCpeyjznELbEXQffXKS+LndXjOmnpLnsdWLOVgOLfgIhAJo69g5kKFmRECzZjKW+NaXD+cIARmH489jeUZukIRC6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206626},"type":"module","_from":"file:spfn-0.2.0-beta.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/cb76b733a22f18a8c021ba42bc739ebb/spfn-0.2.0-beta.6.tgz","_integrity":"sha512-Lp8vRJH4XO9pEyCt/PMW6kz/ywWGMqYdXA2TyiVr7FAoj1cTdFHDcb0O/8BXU7dKhhYy+onXa9b4ZZ/lCfu9hg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.7.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.8","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.6_1768372237467_0.06399921410270082","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.7":{"name":"spfn","version":"0.2.0-beta.7","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.7","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"eacfbae3dd1190391f97690a5358dbc3d0798e5d","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.7.tgz","fileCount":31,"integrity":"sha512-vtRkQ92YTfG7ZCjazuywJeFd89i4f9ptlEwiC2FaPDcJpvO2mf7Flp67hjH1hO02WLbgYBbcGm8tiejRHj0V9w==","signatures":[{"sig":"MEUCIC8Q+b/UCWStOv26bz6imgSrzMBmuUNRFZtC7Tm2NkBlAiEA4c7MVP/2swPF/0rPwsAdj/DnzDeCe0DchBkoMWyZfxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206626},"type":"module","_from":"file:spfn-0.2.0-beta.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/5169e94c03ff4c280caf1e06fe3e26cd/spfn-0.2.0-beta.7.tgz","_integrity":"sha512-vtRkQ92YTfG7ZCjazuywJeFd89i4f9ptlEwiC2FaPDcJpvO2mf7Flp67hjH1hO02WLbgYBbcGm8tiejRHj0V9w==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.7.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.9","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.7_1768372871692_0.4876517666867173","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.8":{"name":"spfn","version":"0.2.0-beta.8","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.8","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d7c21c716ca2c73cff346cc5c633998e7f99e740","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.8.tgz","fileCount":31,"integrity":"sha512-AyCk7tIOTFeo10rcsTknnGZ95fMmUsU5y4zi7ldClrAW6zYMwle5sDuULshqZCiD9OvstuodhKUS1v5YT0cuJQ==","signatures":[{"sig":"MEUCIDwIGkrXs+lP0FyAhzIP/yQhjfokSKsdxuLDwyjFzpu2AiEA2rslpzejI594FW2uiezlmua/PMRTz/9RyDPFymXMvtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":207740},"type":"module","_from":"file:spfn-0.2.0-beta.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/4dfe29c7af2a8a42a8860e48635742a5/spfn-0.2.0-beta.8.tgz","_integrity":"sha512-AyCk7tIOTFeo10rcsTknnGZ95fMmUsU5y4zi7ldClrAW6zYMwle5sDuULshqZCiD9OvstuodhKUS1v5YT0cuJQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.9.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.12","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.8_1770390810851_0.5381639134848504","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.9":{"name":"spfn","version":"0.2.0-beta.9","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.9","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d4af5793706536039482e8d118a395af4add3cc7","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.9.tgz","fileCount":31,"integrity":"sha512-z+HthlX7LhNlArB7zCvzWv4AOFozTRjxMNAQNYmIrfrrTZxBNyKQUoanW2E2NbXe2vbw71Q14R/YLz43nrRshw==","signatures":[{"sig":"MEQCICha+eZ4EnlaYrO8NB1421EbUVUL3gSDsPD2Mm4lQyeZAiBu59jyAXfhGdJUr83Z3rx2JJedqVtWKdXWfpUNamQBgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":207738},"type":"module","_from":"file:spfn-0.2.0-beta.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/b87965814c2b4ca35590851a2c2bc443/spfn-0.2.0-beta.9.tgz","_integrity":"sha512-z+HthlX7LhNlArB7zCvzWv4AOFozTRjxMNAQNYmIrfrrTZxBNyKQUoanW2E2NbXe2vbw71Q14R/YLz43nrRshw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.9.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.12","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.9_1770423656897_0.5740531780017939","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.10":{"name":"spfn","version":"0.2.0-beta.10","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.10","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"25c391e3739721191ace7a0207299e7bba73d413","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.10.tgz","fileCount":31,"integrity":"sha512-lv7cQi/QiS8L5vl14WrtibFnCLux7V3j3vH+fDMdZQqe0INECajNWhbNyhEPiYaF66FcDO/01Qjtbx1dAO6i8A==","signatures":[{"sig":"MEQCIHcbx/7JgY7YvwagOMUdyMGSlCRqZ/BoD7c/PHFPK0jqAiAhSgD6j59rrxMsAeDYRRbM5lTxZ0zKSV+ufsqyFWjO5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210130},"type":"module","_from":"file:spfn-0.2.0-beta.10.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/9e11750dd765dc8342ed12054d94bbd6/spfn-0.2.0-beta.10.tgz","_integrity":"sha512-lv7cQi/QiS8L5vl14WrtibFnCLux7V3j3vH+fDMdZQqe0INECajNWhbNyhEPiYaF66FcDO/01Qjtbx1dAO6i8A==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.13","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.10_1771168653163_0.9137719074003143","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.11":{"name":"spfn","version":"0.2.0-beta.11","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.11","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e04a0c76d6121719e87787669c2ac5dcf0ed0611","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.11.tgz","fileCount":31,"integrity":"sha512-wC/ReDlhHkIv4YKTt7DoK2pXU8sRKeBVDOTAIA22iPGUU27FKpY7EAoHWrOt8tBhIIKX9wHL6czGqh0vGp9p0g==","signatures":[{"sig":"MEUCIQDMU/zdUngQRAzeYITEiaYX/JziAxpGTS6zCIUDg7NxTgIgTJ0dDUv0rHrNG+31gwj8XODMbPkdYO2ncY7BKMW9WKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":214410},"type":"module","_from":"file:spfn-0.2.0-beta.11.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/c62028509866c671fcd506cdc3b3674e/spfn-0.2.0-beta.11.tgz","_integrity":"sha512-wC/ReDlhHkIv4YKTt7DoK2pXU8sRKeBVDOTAIA22iPGUU27FKpY7EAoHWrOt8tBhIIKX9wHL6czGqh0vGp9p0g==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.14","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.11_1771217629225_0.7067547977443189","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.12":{"name":"spfn","version":"0.2.0-beta.12","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.12","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"432a4511a87bedc29d3bbaa89531d2bfbc77859e","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.12.tgz","fileCount":31,"integrity":"sha512-l3BgC7LwcsEjGFinOFZWcvWL4OVtbw/ikHNfx3Jco56q4zb6q6jbswx4pF/DUvacRpC/09r2Ob1wmjAPUudcAg==","signatures":[{"sig":"MEUCIGAJVDRmCNr6ynbEtWchpDe4Jz9SXfetRSvZwOuXM+/4AiEAuSZ8piG8QeCho583KXrE7NB1gBdKva8FHGqsn14ybQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215402},"type":"module","_from":"file:spfn-0.2.0-beta.12.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/26d253ec47c8e3631c22587927ae88a0/spfn-0.2.0-beta.12.tgz","_integrity":"sha512-l3BgC7LwcsEjGFinOFZWcvWL4OVtbw/ikHNfx3Jco56q4zb6q6jbswx4pF/DUvacRpC/09r2Ob1wmjAPUudcAg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.14","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.12_1771218811103_0.9486654917738371","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.13":{"name":"spfn","version":"0.2.0-beta.13","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.13","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"425ae70bd1177cb2028af33a0df47ecda85de3fb","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.13.tgz","fileCount":31,"integrity":"sha512-b8VuKmmUe8bdPMs1V3fIEHnm6KRjTUSf5d9B7ye7OexTY2mmDyKop61Ybk7BqpCtzB6X5Dzp9W0VuoK4yf620w==","signatures":[{"sig":"MEUCIB3SE9+UI5bLa43sNuXAy33LYMZpiyMTpfmdZT43/xXVAiEAxXyN3XoVfG4g+HFe387LAibtwCDGOs4cdYC6z4qYK0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215444},"type":"module","_from":"file:spfn-0.2.0-beta.13.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/4db092c0afb71c55e62200f8c5dbe824/spfn-0.2.0-beta.13.tgz","_integrity":"sha512-b8VuKmmUe8bdPMs1V3fIEHnm6KRjTUSf5d9B7ye7OexTY2mmDyKop61Ybk7BqpCtzB6X5Dzp9W0VuoK4yf620w==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.14","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.13_1771219187973_0.3143588855266364","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.14":{"name":"spfn","version":"0.2.0-beta.14","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.14","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"572fabb852171f273d653b0f800157f0173fe583","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.14.tgz","fileCount":31,"integrity":"sha512-S8xcpOtRSMQfvvtTiCwQsaDoBllw8YF2elRTRjtR288BtK5VDiH4htQQHd943h+bbtVCepGcM39XbvhDXF890Q==","signatures":[{"sig":"MEUCIDyNyRdZu10V5c5ZT1dUgW8GfoLLipdNfbTv2iO7Yu8VAiEAulHgTzhiFzjZY8Tj3inbjMARjulWApkxQGN/oDkxwkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215499},"type":"module","_from":"file:spfn-0.2.0-beta.14.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/9cafa8388019fde8cc317e853ef36207/spfn-0.2.0-beta.14.tgz","_integrity":"sha512-S8xcpOtRSMQfvvtTiCwQsaDoBllw8YF2elRTRjtR288BtK5VDiH4htQQHd943h+bbtVCepGcM39XbvhDXF890Q==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.16","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.14_1771396141614_0.20744181114745186","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.15":{"name":"spfn","version":"0.2.0-beta.15","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.15","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"28518e10d94a607887c05c690f6a10e26f2ea989","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.15.tgz","fileCount":31,"integrity":"sha512-z+kPP/hXdiUiwXc8vSXlwKmIr88PuGIZ0gwLgOxbdhP9fnYCwrW1pie7VADVFU2XjYE7Y2oQYhgxArpYrvqppg==","signatures":[{"sig":"MEUCIQDIZcm4WDTRbmNFF9xvOJTah947N6XEZnzWG5w+iStWxwIgJ6Vb6Wsl8TgCyNS76fnifc4xEShqC1NND9BEADPaH0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":215631},"type":"module","_from":"file:spfn-0.2.0-beta.15.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/1d37e056d5427b15e3ccc9929c8f5ae3/spfn-0.2.0-beta.15.tgz","_integrity":"sha512-z+kPP/hXdiUiwXc8vSXlwKmIr88PuGIZ0gwLgOxbdhP9fnYCwrW1pie7VADVFU2XjYE7Y2oQYhgxArpYrvqppg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.16","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.15_1771401401950_0.3730249613525818","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.16":{"name":"spfn","version":"0.2.0-beta.16","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.16","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"9349bb8cad0444e8f5b40948b0750827f17c636a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.16.tgz","fileCount":31,"integrity":"sha512-02ZoogDmDCEXqHGrh3v7TnwXqEDtzPfVbl93H+HEcy38SJv6ztsM72RvtTJRzYr6CCempE75iJRiF8S4P5xlXg==","signatures":[{"sig":"MEUCIQDASeZadGypa1n9OZg1jNOHF0b+9BHiIILy89ISNImI9wIgSVcRlr8DSzpNX5LMTrjWLLFcdDoVOq/JvsS31S2a/FM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":216743},"type":"module","_from":"file:spfn-0.2.0-beta.16.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/181f98e0c9d77f732a1eb437a44e654d/spfn-0.2.0-beta.16.tgz","_integrity":"sha512-02ZoogDmDCEXqHGrh3v7TnwXqEDtzPfVbl93H+HEcy38SJv6ztsM72RvtTJRzYr6CCempE75iJRiF8S4P5xlXg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.19","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.16_1771587923961_0.5839648173712406","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.17":{"name":"spfn","version":"0.2.0-beta.17","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.17","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"6b5044fdd73590cf35c67d097bb2a6d5faf2c2d9","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.17.tgz","fileCount":31,"integrity":"sha512-7oVgMBl/QddZ9IPUveKvMcCLbKxRkSHVLbal4cgTa1lnhu0TG20jD1TOhRPwuh+XSglRG78+wierRL8pANpAuw==","signatures":[{"sig":"MEUCIAXAUryl0U/aiDCe9ikX8NSwjds53DdpVwomzzcTkJ1bAiEA/r/IIY1/UwLHKv9cJoLJfIQ+ETgwJszbfJ2lj8fnAWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217279},"type":"module","_from":"file:spfn-0.2.0-beta.17.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/66632e070a86c1ce0a9320c3287f1fa7/spfn-0.2.0-beta.17.tgz","_integrity":"sha512-7oVgMBl/QddZ9IPUveKvMcCLbKxRkSHVLbal4cgTa1lnhu0TG20jD1TOhRPwuh+XSglRG78+wierRL8pANpAuw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.19","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.17_1771589294399_0.848915006059237","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.18":{"name":"spfn","version":"0.2.0-beta.18","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.18","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"edf56d733b78780ab32e9d54951247f2db7f4366","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.18.tgz","fileCount":31,"integrity":"sha512-ZBVh5u//UdOFd1lhrRjyOxz8JmHIELBJb9MfdV9luBvJf9Gvi0HgQSnJdCSjEaCJzbuNWsLd/4QTK/mwljI1OQ==","signatures":[{"sig":"MEUCIQC5fz3EolyW6Dj+HWSqBL7hwlzJGxAPhl6Xj3z1k41g2QIgTI0azoFQjAWo0E+wLbGLMImvfJnOXCWUw8IEuPu32jA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217010},"type":"module","_from":"file:spfn-0.2.0-beta.18.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/47bb234c05f2c4a73fe50dbdcc0cb046/spfn-0.2.0-beta.18.tgz","_integrity":"sha512-ZBVh5u//UdOFd1lhrRjyOxz8JmHIELBJb9MfdV9luBvJf9Gvi0HgQSnJdCSjEaCJzbuNWsLd/4QTK/mwljI1OQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.19","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.18_1771589821604_0.3872983205617482","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.19":{"name":"spfn","version":"0.2.0-beta.19","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.19","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"087ea73374da751e625c96bc43125f31a3ed0e0f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.19.tgz","fileCount":31,"integrity":"sha512-aof7Bvl2xGNdMsYTiPcqp42lm3+YE9rG/bsdt2C3iT3TCRoM6SW6MWdWX/kW2wXketVux239RQYfcY1VJNHx6A==","signatures":[{"sig":"MEYCIQCf9X4jEckiZLhN/z/tpvRFX6Kw0Xd9/k5y9Rr2j9j1dQIhAK3uJqtV7i3PpYOR0psx7jBeBEWLkXyP8FiQWbBL9Gdf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217010},"type":"module","_from":"file:spfn-0.2.0-beta.19.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/6d633fff7c0f4a6ad8900b01eb261d4a/spfn-0.2.0-beta.19.tgz","_integrity":"sha512-aof7Bvl2xGNdMsYTiPcqp42lm3+YE9rG/bsdt2C3iT3TCRoM6SW6MWdWX/kW2wXketVux239RQYfcY1VJNHx6A==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.20","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.19_1771736721782_0.5639175246712698","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.20":{"name":"spfn","version":"0.2.0-beta.20","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.20","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"c43c94f82055e6b33ad0035d0af90f5e51740fed","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.20.tgz","fileCount":31,"integrity":"sha512-He0IaDLBWRGzOMQkM/1KK6LgnqaSKLpAV7uNYdHGcfhAdeNtKNJxkOqad4QDknQLTqn05pgjiDBDfa8MmtSi0w==","signatures":[{"sig":"MEYCIQDT+yyRgGsg8/BDPp3Df1IYcbht5IzZQBPzEtcZKBYlYQIhAJPapG4PhHqhfcadZYYxmElvaMuFccsZX5piP+EmOlP9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217010},"type":"module","_from":"file:spfn-0.2.0-beta.20.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/0528c3314c5c888ea5fc1deed238e80c/spfn-0.2.0-beta.20.tgz","_integrity":"sha512-He0IaDLBWRGzOMQkM/1KK6LgnqaSKLpAV7uNYdHGcfhAdeNtKNJxkOqad4QDknQLTqn05pgjiDBDfa8MmtSi0w==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.21","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.20_1771745302598_0.9793767674288001","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.21":{"name":"spfn","version":"0.2.0-beta.21","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.21","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"ec2f88751a8cc8dbe66d61155d995917b2280e44","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.21.tgz","fileCount":31,"integrity":"sha512-pa2XQAnrcBB6UvIfCdefkr5iUMmuwfroCw6rEcjwzUeYgEdWcFiNdXACofw95tvqTK7+PQxaLjTR2LQVyHEH0w==","signatures":[{"sig":"MEQCIAIdc0d0TsQOMjVVUZXAGR5M3wsf1TK31TGiq7Ge7e/XAiBXj8OGCxnfRPcLtD5rj9aXSsPyJKt/Oo5TR9xew72Meg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217010},"type":"module","_from":"file:spfn-0.2.0-beta.21.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/34bffb34bf8120e0e980cdaca4d3ea1e/spfn-0.2.0-beta.21.tgz","_integrity":"sha512-pa2XQAnrcBB6UvIfCdefkr5iUMmuwfroCw6rEcjwzUeYgEdWcFiNdXACofw95tvqTK7+PQxaLjTR2LQVyHEH0w==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.22","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.21_1771752872210_0.03930798000509084","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.22":{"name":"spfn","version":"0.2.0-beta.22","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.22","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"4ea6721eda5e092637f808d7d81877236403a3fb","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.22.tgz","fileCount":31,"integrity":"sha512-7oGcZs3UYDucDCWlwEmB7meaIekNVqlNAqgjXQfbtPf9xy5G0zHY/ghngkbdwDBQxrDjn1nBTL9KrwhXftOMDg==","signatures":[{"sig":"MEUCIQD4onyxDyDpRG2dOAWGRpkzIihOkPTXGq1harhQsRKlVwIgE3O+pkWXoW0KklONCtnR9mjwfC8SLpXcvIihjCtdamQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217010},"type":"module","_from":"file:spfn-0.2.0-beta.22.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/2e4d5c9cd6177530721864f43123ebeb/spfn-0.2.0-beta.22.tgz","_integrity":"sha512-7oGcZs3UYDucDCWlwEmB7meaIekNVqlNAqgjXQfbtPf9xy5G0zHY/ghngkbdwDBQxrDjn1nBTL9KrwhXftOMDg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.23","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","drizzle-kit":"^0.31.6","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.22_1771833574857_0.5997394774808047","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.23":{"name":"spfn","version":"0.2.0-beta.23","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.23","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"ff57711ef76d3a1ff71201393ba2b3718a3b92e5","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.23.tgz","fileCount":31,"integrity":"sha512-wJIte57l95Ppi3GuyOeFmb3R4i8gP2YUeyZ1ofYQaEjSYebhfic8Zp3wc3im474XeIS+DF3SkugHCDB1ndDeng==","signatures":[{"sig":"MEUCIQDDR8AJCvh7GrJib1cbvQ6S7tnb3Sc7V0YZoX5bZQgvDQIgAw7uLHY6NPNIvF0blr+jtDU9kBXHub1611vG9DWoroo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228352},"type":"module","_from":"file:spfn-0.2.0-beta.23.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/e0f9b8ec3847062cd65ced34b7b0a699/spfn-0.2.0-beta.23.tgz","_integrity":"sha512-wJIte57l95Ppi3GuyOeFmb3R4i8gP2YUeyZ1ofYQaEjSYebhfic8Zp3wc3im474XeIS+DF3SkugHCDB1ndDeng==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.25","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.23_1772087247715_0.24840051770746596","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.24":{"name":"spfn","version":"0.2.0-beta.24","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.24","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e072b91660f61267cfeedd933e56a9e7b520f493","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.24.tgz","fileCount":31,"integrity":"sha512-fDLJpAPhnuVdwC1WX7hG01Wie2ImKHWiDqJxLgLM2P4aGE3Q2eWqeoJdttmA/GheNGRxVJc+ITZHq70UbbkYVw==","signatures":[{"sig":"MEQCIB8rrLKt/KhsnSfw2Os4AIVOGvEjuzlAjrYv5PtvxqiEAiBzXpkRz5wbd/Bf93nFmxhx7wXcWW5DnLdH6JzoNxWGXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229339},"type":"module","_from":"file:spfn-0.2.0-beta.24.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/f0e7610a72fa50d3c57e69a95fa64858/spfn-0.2.0-beta.24.tgz","_integrity":"sha512-fDLJpAPhnuVdwC1WX7hG01Wie2ImKHWiDqJxLgLM2P4aGE3Q2eWqeoJdttmA/GheNGRxVJc+ITZHq70UbbkYVw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.26","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.24_1772092092252_0.7707815432152179","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.25":{"name":"spfn","version":"0.2.0-beta.25","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.25","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"dbdb5ce2edd58f9d8aa5450bcc511a6cb7609f7f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.25.tgz","fileCount":31,"integrity":"sha512-O4vFKbKP+qBrMjFGSQUzZWO8pNClBkT4QK08lTuAP+UkctZ9gbOgH3IXcR9BMZyUm4fVYIgYi/p6pOF5IY7MPA==","signatures":[{"sig":"MEUCIAzfOAE5vH/3UyZJxrcAQt+oDhA1ZlXe4m7Gz6/qUPEtAiEAq7eZY0N2q/3w1o0G4f1slLwSyig7LWzL6rCC00I9E1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229428},"type":"module","_from":"file:spfn-0.2.0-beta.25.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/3bf1ee92087e6bc90999897dc24f212b/spfn-0.2.0-beta.25.tgz","_integrity":"sha512-O4vFKbKP+qBrMjFGSQUzZWO8pNClBkT4QK08lTuAP+UkctZ9gbOgH3IXcR9BMZyUm4fVYIgYi/p6pOF5IY7MPA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.26","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.25_1772092566799_0.39391173849458716","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.26":{"name":"spfn","version":"0.2.0-beta.26","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.26","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"58f8f72f4340f8e4b7e912f48f5a8597db94b319","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.26.tgz","fileCount":31,"integrity":"sha512-OeCUdZuhHC0MakYIny91z7hGgwwpdwZfaH3MY6bxzG7VkAivkDVks2juXdxpWI+E2Z/FPm2qUpB245Fo/DF1uw==","signatures":[{"sig":"MEYCIQDWrdL0LZKe7dyZGlmcfa3LcPCSVxRGZxWWoKc8cD6VngIhALp8bjuydZIgEkHIPyy7ofYoSxqfW+ez80eiBKa5/nm/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229389},"type":"module","_from":"file:spfn-0.2.0-beta.26.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/a3a9fe050fc614fb80871f1789347c32/spfn-0.2.0-beta.26.tgz","_integrity":"sha512-OeCUdZuhHC0MakYIny91z7hGgwwpdwZfaH3MY6bxzG7VkAivkDVks2juXdxpWI+E2Z/FPm2qUpB245Fo/DF1uw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.26","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.26_1772092744327_0.14127165836292788","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.27":{"name":"spfn","version":"0.2.0-beta.27","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.27","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"17a0535c0841186844ffa4b7ef335e13285cd2f9","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.27.tgz","fileCount":31,"integrity":"sha512-zL2FbdGOASQIGj12BMuVkmF1m4VAvYlDizjjOYfzVMsGURAMhFVjNPxgz0g5/gFISRjbOHfMJx8FjtSn4e3fKQ==","signatures":[{"sig":"MEUCIQD2e6p+vpwBg+GtaZavKY2IdBCudBSBpmv5M41iz2tA5gIgA622r8eQVf4DhSCNCL/qXGyCbRAve60V6G/WLg/MryE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229389},"type":"module","_from":"file:spfn-0.2.0-beta.27.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/83823c6e929478506b408f19af2113c6/spfn-0.2.0-beta.27.tgz","_integrity":"sha512-zL2FbdGOASQIGj12BMuVkmF1m4VAvYlDizjjOYfzVMsGURAMhFVjNPxgz0g5/gFISRjbOHfMJx8FjtSn4e3fKQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.29","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.27_1772811490871_0.5375535383982699","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.28":{"name":"spfn","version":"0.2.0-beta.28","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.28","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"5adf5e73c9e881c9533c60133ab34bffbbbfac15","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.28.tgz","fileCount":31,"integrity":"sha512-oX7sYRqJD0IC6bmYA7nC7hudSv8VZgU2yhLWEBo9oVMFTB+Wd/T5XC2b/5RbcJAhR03qhC0nEmGb/8WfiRLTWw==","signatures":[{"sig":"MEUCIDbKQrY2Svw7JOSG8UiIZiRLPaAQO6UPhTcNEMj6nrilAiEAmhHJeVU3xKSLsn4HEK/f09sZ/u/pT7vG2dIk/0cb/OY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229389},"type":"module","_from":"file:spfn-0.2.0-beta.28.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/8a5309998cd9332df37328765723c6bd/spfn-0.2.0-beta.28.tgz","_integrity":"sha512-oX7sYRqJD0IC6bmYA7nC7hudSv8VZgU2yhLWEBo9oVMFTB+Wd/T5XC2b/5RbcJAhR03qhC0nEmGb/8WfiRLTWw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.30","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.28_1772812351186_0.6267119226107627","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.29":{"name":"spfn","version":"0.2.0-beta.29","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.29","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"4576e0052210055473c621f61340104464a83d51","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.29.tgz","fileCount":31,"integrity":"sha512-FrYpa6cPEFe68UyWQtwt6LcDfjSJQ4icUp8dF8CsYSWsuYvUAq3mqnrYxAr78jS1bEt68hUKNZys0vE+p1UoEw==","signatures":[{"sig":"MEUCIQDPzDsPU8KHEU3s1HozG2d3yc3lIiviw3vEX/UoORxp2wIgfatOvmD8wqYR9vUx0m4UQOikdxdiKxY00HcRUnFO5wE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229389},"type":"module","_from":"file:spfn-0.2.0-beta.29.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/98049e394f2f57d2c1195f39dbb6faf4/spfn-0.2.0-beta.29.tgz","_integrity":"sha512-FrYpa6cPEFe68UyWQtwt6LcDfjSJQ4icUp8dF8CsYSWsuYvUAq3mqnrYxAr78jS1bEt68hUKNZys0vE+p1UoEw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.31","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.29_1772855879212_0.49187195723293375","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.30":{"name":"spfn","version":"0.2.0-beta.30","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.30","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"fee9f84e52ea77197296c91adc6a7a1f1eb0ff51","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.30.tgz","fileCount":31,"integrity":"sha512-uvN+NlfRWsp2IsuK/vRNfBXoyRuEgWXLBebrfw4eXxCrNkmSMwOuYhyFbxf9HPN90Ph0YxR7Co7SKJyVFjeWiA==","signatures":[{"sig":"MEYCIQDnqp0jtCzicuIoaFotPuoeam6k9DmDtZCXG0OysPtlwQIhAI3E5Zzjk3YlCSGZLq5RtUOUaZ26X6kvuB/u79GNPz7p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229466},"type":"module","_from":"file:spfn-0.2.0-beta.30.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/9170cc009c3b6f3816ce43eca3b053d6/spfn-0.2.0-beta.30.tgz","_integrity":"sha512-uvN+NlfRWsp2IsuK/vRNfBXoyRuEgWXLBebrfw4eXxCrNkmSMwOuYhyFbxf9HPN90Ph0YxR7Co7SKJyVFjeWiA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.31","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.30_1772981833714_0.7247262277713442","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.31":{"name":"spfn","version":"0.2.0-beta.31","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.31","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d79f1f87ce49d462f713e06f0328afc922fbc31d","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.31.tgz","fileCount":31,"integrity":"sha512-dJJiTlEOHOvVjMyknBQlO+myxZms7IFYmic1V+KVHID0TU2rcDu+iXOqlkGJqc51SfvkGzF4Rc+QJDnX/ytlfA==","signatures":[{"sig":"MEYCIQDU7VfYw1b15knDxZqI1KnvPYs8TRF/aNJlQ2R8AV/OnwIhAORw5MZSp72vzNfudUiz8RnEFsbeSR7ivxfiKby0YG45","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":231926},"type":"module","_from":"file:spfn-0.2.0-beta.31.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/cb153b0e01f622ceaea64c57b1739207/spfn-0.2.0-beta.31.tgz","_integrity":"sha512-dJJiTlEOHOvVjMyknBQlO+myxZms7IFYmic1V+KVHID0TU2rcDu+iXOqlkGJqc51SfvkGzF4Rc+QJDnX/ytlfA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.31","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.31_1772983100556_0.2763824640460535","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.32":{"name":"spfn","version":"0.2.0-beta.32","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.32","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"9fea0557d28ab68c60372585ec0181f2560c79fc","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.32.tgz","fileCount":31,"integrity":"sha512-7vGOIRW7wBIpPdiq4Cbn74jbutqgJkBV4rLOpMzOZRl+XgqDiVqxNzaDRsG1U1LLmb9N537d7iB4zAAqqbkJjQ==","signatures":[{"sig":"MEUCIQC/Ztxv/e90cfooJvV0wyAX0MyiYsJrmiv6Cd/QmsMB9wIgeJzXVCFaJySR69amM29/aSLoEEkW1SXy68HxVvLr0VQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232281},"type":"module","_from":"file:spfn-0.2.0-beta.32.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/7ede85acb3fbfef9dc56c339e765988f/spfn-0.2.0-beta.32.tgz","_integrity":"sha512-7vGOIRW7wBIpPdiq4Cbn74jbutqgJkBV4rLOpMzOZRl+XgqDiVqxNzaDRsG1U1LLmb9N537d7iB4zAAqqbkJjQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.31","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.32_1773068888809_0.7766322849733562","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.33":{"name":"spfn","version":"0.2.0-beta.33","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.33","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"1c471a48eba91f28d6517a333448980b00f9fc2e","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.33.tgz","fileCount":31,"integrity":"sha512-xbbFfYM5C5+42nqPtOhHrlFSreoVz0uV78eUCrRMpiJGvhVlF8XjpRBN8KMrCFDECpAGLj7NnahCHv3bYxqIMA==","signatures":[{"sig":"MEUCIQCgu42dzaG1fEJYI1Cbna3uAI9UxaDuWeoikAzNTeORxgIgUv2F0QzH7C5xVbI5gd4MIKqEKxU93+KFQzA9Wsmy1lQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232281},"type":"module","_from":"file:spfn-0.2.0-beta.33.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/d7def0c6701fc240ee4ad55c827f25c0/spfn-0.2.0-beta.33.tgz","_integrity":"sha512-xbbFfYM5C5+42nqPtOhHrlFSreoVz0uV78eUCrRMpiJGvhVlF8XjpRBN8KMrCFDECpAGLj7NnahCHv3bYxqIMA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.32","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.33_1773220822244_0.9008422911821292","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.34":{"name":"spfn","version":"0.2.0-beta.34","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.34","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"966249b53b172d0f69192116b19f0979a3c40ea4","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.34.tgz","fileCount":31,"integrity":"sha512-0aj5Oi8Wtt4SaUCq4SppNKN1V0/swAgDhqDw34qEafOjLDXL5NJDkzfBifDRSw3Wiq38BJf1FOeOwd6UrlCR1g==","signatures":[{"sig":"MEUCIQC9nmqizrzuO9loIG/PB7M+8a6mrHat0SzOzL8juectNgIgCIdmlzgW4tr7CUYfjw1YkU3QI8g2tCG5m0MHR6tcqcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":231790},"type":"module","_from":"file:spfn-0.2.0-beta.34.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/9544b2530bfccc414472299604a4088c/spfn-0.2.0-beta.34.tgz","_integrity":"sha512-0aj5Oi8Wtt4SaUCq4SppNKN1V0/swAgDhqDw34qEafOjLDXL5NJDkzfBifDRSw3Wiq38BJf1FOeOwd6UrlCR1g==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.35","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.34_1773501946437_0.4301312364260812","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.35":{"name":"spfn","version":"0.2.0-beta.35","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.35","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"8e91b526717a1371f3df506bcf0bee400c6d43fc","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.35.tgz","fileCount":31,"integrity":"sha512-xJ+l5Qp+OMcR3Ef3L3WteZF1jp0e0qKKZeHCbkdL+G1wwAZ8PL+kng6vUQyofDYHroyxhiitXVtT2jOKHLwb3Q==","signatures":[{"sig":"MEUCIFcGKwoVRb4eJeJHVHO/+/StoeJHwBawqGdHFbpBi7wsAiEA4/VssIW0b10VVsINK4CVFppPyItUJv86vuIoI0jq6Eo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232024},"type":"module","_from":"file:spfn-0.2.0-beta.35.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/d504a88b112a125372495c9ee87187ce/spfn-0.2.0-beta.35.tgz","_integrity":"sha512-xJ+l5Qp+OMcR3Ef3L3WteZF1jp0e0qKKZeHCbkdL+G1wwAZ8PL+kng6vUQyofDYHroyxhiitXVtT2jOKHLwb3Q==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.37","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.35_1774604388626_0.7484934070652065","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.36":{"name":"spfn","version":"0.2.0-beta.36","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.36","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"60392a2edca33af172757fb20fe08eb4b429d4b8","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.36.tgz","fileCount":31,"integrity":"sha512-g8akYQHR0zfE9UcaMPZwNf9gWh3YfIZaMN/kj7xcHNW+xzBWve2KgAcU/L+m9LbYSo+z2N0k8S3eN6yZh+5A2g==","signatures":[{"sig":"MEQCIB3qdArlmNPVh4kzXKKm4ElPtXVJubaqmEqiYrMH7IOWAiAXysOwQyfXYGi8z25rgLXYt8kLqMxo0K/rBgD5Qg1Vmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232375},"type":"module","_from":"file:spfn-0.2.0-beta.36.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/105776e3b17ef4045b7e62e98ff85037/spfn-0.2.0-beta.36.tgz","_integrity":"sha512-g8akYQHR0zfE9UcaMPZwNf9gWh3YfIZaMN/kj7xcHNW+xzBWve2KgAcU/L+m9LbYSo+z2N0k8S3eN6yZh+5A2g==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.37","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.36_1774605287083_0.9121812752534979","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.37":{"name":"spfn","version":"0.2.0-beta.37","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.37","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"7c06dfa5587c519d5351601bfe52c21620aa4700","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.37.tgz","fileCount":31,"integrity":"sha512-PheDaES1jyfPw5LZzG/14P7la8RR7aOlgJUlWFTOHM945wd7vpLZ8RgsoP0cZKQYPZ8zdJwMbtBf+GhzGDQ0Yw==","signatures":[{"sig":"MEYCIQCn8Twx9yXxjGtSZ6Tt/HjCHBrfbktLklBvY+42xJWysgIhAN04TzVC1Y8o7o2mVaSCw3j1lN7NtNgNaW3NWiWMkmhM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232375},"type":"module","_from":"file:spfn-0.2.0-beta.37.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/ee5a1fa0aa379541609e1f5a5c29635a/spfn-0.2.0-beta.37.tgz","_integrity":"sha512-PheDaES1jyfPw5LZzG/14P7la8RR7aOlgJUlWFTOHM945wd7vpLZ8RgsoP0cZKQYPZ8zdJwMbtBf+GhzGDQ0Yw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","@spfn/core":"0.2.0-beta.37","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.37_1774625247330_0.3740226464174288","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.39":{"name":"spfn","version":"0.2.0-beta.39","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.39","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"1f706b6ce6aab26df3a05953db0277face3892e9","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.39.tgz","fileCount":31,"integrity":"sha512-LRPBPx/XlSssIkOdsLabdHcc+Iy1Xg6zgvW7xtnbA0C/iAPhqYcBdiVsoyigIIPTgGQ7OZK93h86Aus/chafEA==","signatures":[{"sig":"MEUCIDb/QsHpGF7p50LjDdJ/fygyaO2PAZLOyGuY2MILsMKqAiEAzGJ6++9tCQwVuVRzird2WanUdNOOawgRHBf2oSn/9pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232412},"type":"module","_from":"file:spfn-0.2.0-beta.39.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/f388aaf0da251c40c53124db8ee85a62/spfn-0.2.0-beta.39.tgz","_integrity":"sha512-LRPBPx/XlSssIkOdsLabdHcc+Iy1Xg6zgvW7xtnbA0C/iAPhqYcBdiVsoyigIIPTgGQ7OZK93h86Aus/chafEA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.38","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.39_1774626089267_0.014187646033755774","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.40":{"name":"spfn","version":"0.2.0-beta.40","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.40","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"fffcad008443d469f71cadd8580d798704688bd2","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.40.tgz","fileCount":31,"integrity":"sha512-CKwZjAFawfZw/JHRAoI+1Eff7B4yJ+Jd2qLLbo0cYOYgc/TnLx/v99tHyuJO3W0nQVegUcW6fJb7LNqYb78pEw==","signatures":[{"sig":"MEUCIAYmUgIW0cqXDgpmkERfub3b73BiVPyLaR1EGPwkjrP5AiEAzSOFjzWp7Z6+hUUmy7g3Tp4vhxLtnjt3M7mSjJRdteE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232777},"type":"module","_from":"file:spfn-0.2.0-beta.40.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/2b835742a96b78a80f495005d131fff2/spfn-0.2.0-beta.40.tgz","_integrity":"sha512-CKwZjAFawfZw/JHRAoI+1Eff7B4yJ+Jd2qLLbo0cYOYgc/TnLx/v99tHyuJO3W0nQVegUcW6fJb7LNqYb78pEw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.39","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.40_1774786565946_0.31937376217462266","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.41":{"name":"spfn","version":"0.2.0-beta.41","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.41","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"1707131395faa042a658c8487f832842756ae1c2","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.41.tgz","fileCount":31,"integrity":"sha512-rKB8TulqWyCF1MPPR251A6Q+GRKROMzkPhZhjZ2853tXs53hHmVTqM/AKZTB2IgwWM/eRn7d3XWJfIIHGsiF+A==","signatures":[{"sig":"MEUCIHk2n1II83ba0u40LQJvQ4+JDYdCFjyKbiuhpwJ+lxOQAiEAkwpxSYKZGskyHMsgUExfozzlpMeF5y4wuzMTKdA20sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232947},"type":"module","_from":"file:spfn-0.2.0-beta.41.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/e5e8903b25c4744a8ba0e57aed6c5d41/spfn-0.2.0-beta.41.tgz","_integrity":"sha512-rKB8TulqWyCF1MPPR251A6Q+GRKROMzkPhZhjZ2853tXs53hHmVTqM/AKZTB2IgwWM/eRn7d3XWJfIIHGsiF+A==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.39","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.41_1774880884571_0.8849101666900805","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.42":{"name":"spfn","version":"0.2.0-beta.42","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.42","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"7c45f7fff0812db99b7e006870527f7435870e10","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.42.tgz","fileCount":31,"integrity":"sha512-eCW+KGDU4P9604VmJpkWDqfZyQ900d0iSrVOzT4ykMbtvYjsxjQCmfUTdcVYk99I2N8Ks6er5EbEwXhX+bFtGw==","signatures":[{"sig":"MEUCIQDZuICoikSyTGet/87WWgMz3x23d8LHaU421sgGhFhb+gIgPN05xWpzkyUbvVijKPo5npcclcb95N7QN5NtIX1UAOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233045},"type":"module","_from":"file:spfn-0.2.0-beta.42.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/18642971569cfb554ba29d706838999e/spfn-0.2.0-beta.42.tgz","_integrity":"sha512-eCW+KGDU4P9604VmJpkWDqfZyQ900d0iSrVOzT4ykMbtvYjsxjQCmfUTdcVYk99I2N8Ks6er5EbEwXhX+bFtGw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.39","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.42_1774883762211_0.2854383127223692","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.43":{"name":"spfn","version":"0.2.0-beta.43","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.43","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"dbac9a80ecf167efdb2c5301e4fb542f958bdc3f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.43.tgz","fileCount":31,"integrity":"sha512-vu4mcHpqou2126w5DbLx0OK6qLX9OagMBj6VG9JAEM0yNbFk3dSMm8x1g2BO5ckeRZenIgr6+xe/wJmiLqibqg==","signatures":[{"sig":"MEYCIQCIb5AbNec0v3KakUpYq3idOLQmcnza/pFOdiP8xtWbTwIhAO6xbf8OrqPy6msGJWQkwXh/u2fKpFn3wedEDDPtnvhf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233045},"type":"module","_from":"file:spfn-0.2.0-beta.43.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/fa0625256184628ae9a28557431255ee/spfn-0.2.0-beta.43.tgz","_integrity":"sha512-vu4mcHpqou2126w5DbLx0OK6qLX9OagMBj6VG9JAEM0yNbFk3dSMm8x1g2BO5ckeRZenIgr6+xe/wJmiLqibqg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.40","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.43_1774887018874_0.5283059479800476","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.45":{"name":"spfn","version":"0.2.0-beta.45","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.45","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"c9f009d311ae0b8859dc189ae3103450f4df1bd2","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.45.tgz","fileCount":31,"integrity":"sha512-RlqydYc9pMe84HTHe+EMJemA8XZt69TEEbhARjSpcU6ZsKHpM+QYJR3lT0W1OiwMgAp5QQQY8mxffXvq+DFFQA==","signatures":[{"sig":"MEYCIQDSsvdoHXT/hWKpJ2jAjyc6eQVHyQSaKG3hDeL9SImrfwIhAP87JOZEqoXBPk+eFnoHPsDyq3fRhrjzQrFqbYOfgNnO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233045},"type":"module","_from":"file:spfn-0.2.0-beta.45.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/a56c86c3df8e1eaed9387b53237503e3/spfn-0.2.0-beta.45.tgz","_integrity":"sha512-RlqydYc9pMe84HTHe+EMJemA8XZt69TEEbhARjSpcU6ZsKHpM+QYJR3lT0W1OiwMgAp5QQQY8mxffXvq+DFFQA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.42","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.45_1775103515607_0.19850434891598656","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.46":{"name":"spfn","version":"0.2.0-beta.46","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.46","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"63790362b91a8ce459980537862101e60e438b83","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.46.tgz","fileCount":31,"integrity":"sha512-6N3+s3yl7oG5248zvQHqJjUOmJj0W72ltPbxu0dcMmPyKH0XepFoTmByZfXxA2nrgtTck9ndvGzI71hhyk8hEA==","signatures":[{"sig":"MEUCIQDOFUfXHEFmPQgD2jcsJDWlj7wqEXWa3r1iQM2wrCTNdQIgaUdGOGJ+q66hMYLX+32WYZXaubKXUxH01cf4ztBKn30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":234457},"type":"module","_from":"file:spfn-0.2.0-beta.46.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/005ad91a42cd0db71c7f2dec6666b2ba/spfn-0.2.0-beta.46.tgz","_integrity":"sha512-6N3+s3yl7oG5248zvQHqJjUOmJj0W72ltPbxu0dcMmPyKH0XepFoTmByZfXxA2nrgtTck9ndvGzI71hhyk8hEA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.12.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.45","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.46_1776335526444_0.5534861634442949","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.47":{"name":"spfn","version":"0.2.0-beta.47","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.47","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"b74c3ab92b6e88e4b69f3cd711cad4d0af85491a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.47.tgz","fileCount":31,"integrity":"sha512-yRhq49GygV9Gd95hwabz0bgmFm1oxyeHDmg5PzH1mx+fFdf8gqESwnJg/NyfeZdicPlJx1YTTVPjvPPphHNtLg==","signatures":[{"sig":"MEUCIQDYgoN0ph26XE5/zRAsC8eRQLxmIlCYL8YrSMQ5H1iDWgIgYs78EgMUlrmHOVJnsrSG0Iu5+XMNvKpiZX8DNybPqfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232797},"type":"module","_from":"file:spfn-0.2.0-beta.47.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/596d80de8b769efc69c44d370cd950f7/spfn-0.2.0-beta.47.tgz","_integrity":"sha512-yRhq49GygV9Gd95hwabz0bgmFm1oxyeHDmg5PzH1mx+fFdf8gqESwnJg/NyfeZdicPlJx1YTTVPjvPPphHNtLg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.14.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.48","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.47_1779211817756_0.34300288649277966","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.48":{"name":"spfn","version":"0.2.0-beta.48","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@inflike.com"},"license":"MIT","_id":"spfn@0.2.0-beta.48","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"cf0e4b6e5fbfe95b6331a189175c62a2d0e5419e","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.48.tgz","fileCount":22,"integrity":"sha512-Uql5dyRInhRjL4I/F/CNI8uUMAuVRed7iND5ctNGOKn4jfPw/zU4lxWhOpVdnGbwaiYCFBG41SqrZHbx1Hr+Yg==","signatures":[{"sig":"MEQCIBF/U3iKTfrqa02sFZtmu32ugW/3XpC/piB+pz+a8TAJAiAdhhyGb3mS8Q0l7MJPMACiOE6nYUexDCaEba9I+/Ya1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192209},"type":"module","_from":"file:spfn-0.2.0-beta.48.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/56ff468ae1135df49cfa9b045e9a0251/spfn-0.2.0-beta.48.tgz","_integrity":"sha512-Uql5dyRInhRjL4I/F/CNI8uUMAuVRed7iND5ctNGOKn4jfPw/zU4lxWhOpVdnGbwaiYCFBG41SqrZHbx1Hr+Yg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.16.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.49","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.48_1781107544856_0.5740632885178101","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.49":{"name":"spfn","version":"0.2.0-beta.49","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.49","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e1b5f7aca1c4e590a27c2550ee3c67548167ae34","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.49.tgz","fileCount":22,"integrity":"sha512-cxyblyuAgpPn5ezvaCngRivw4ZVNOi9D/B9aOXTTEKmfqjnYcZQRZIINhs93WA04eIsgVE+ri1+rQ+jtNr57rA==","signatures":[{"sig":"MEUCIEGYf59UfkYWk1kO0XnGSMAU1q00lGaJ0qImAkH7Bvu+AiEArnu3bW0hfgYCAdk7VPsG4Wo1A+jI2A8dI4tyHnu7dfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192649},"type":"module","_from":"file:spfn-0.2.0-beta.49.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/b0ae1de2eb24a4720593012bdee45135/spfn-0.2.0-beta.49.tgz","_integrity":"sha512-cxyblyuAgpPn5ezvaCngRivw4ZVNOi9D/B9aOXTTEKmfqjnYcZQRZIINhs93WA04eIsgVE+ri1+rQ+jtNr57rA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.17.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.50","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.30","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.49_1781600539745_0.342067771002736","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.50":{"name":"spfn","version":"0.2.0-beta.50","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.50","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"bf30abc170b87682e85f04768c6eb19bf776f2ae","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.50.tgz","fileCount":22,"integrity":"sha512-HeWvjES1uL93DHDXnNMKg7+cIyuBym8+MncJQ7kpacP3civfRNgHzXtZK1o5KnbB/rwEGonRNHZ7QbM4wacpsw==","signatures":[{"sig":"MEUCIQDSDv8XushdbhoVXBkZFwRUPyw/LyeSqKYLb15Yx4xF8gIgFJn1f08Ck2hKheLCF6WztLa55EDYZuuiUp3jLfkIidc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192649},"type":"module","_from":"file:spfn-0.2.0-beta.50.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/ba25ada6ca44e918fccd851644c68ccd/spfn-0.2.0-beta.50.tgz","_integrity":"sha512-HeWvjES1uL93DHDXnNMKg7+cIyuBym8+MncJQ7kpacP3civfRNgHzXtZK1o5KnbB/rwEGonRNHZ7QbM4wacpsw==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.17.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.54","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.50_1782548645971_0.44217554646386636","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.51":{"name":"spfn","version":"0.2.0-beta.51","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.51","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"1ffb230524448e7195df3c99136cd3aab97e4d30","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.51.tgz","fileCount":22,"integrity":"sha512-UspRQF1YNse3Kh3S95Nt0tJ4hq1RExrg6a2sARNai4IX3QRauz9Jn9FMnzsmfQnFpKBMkew1JUQJH99qXBUsVQ==","signatures":[{"sig":"MEQCIC1tfXrAd3Pvlmjavp7qPHgz92KZjq5Y+nUn06Nz6BZpAiBtmGsGzpO9vxU9/ZXeMvkmQaC/suzJRv5J6dCARQAS1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192649},"type":"module","_from":"file:spfn-0.2.0-beta.51.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/cb9c0f6ad58c83b08d8b531b654a06d7/spfn-0.2.0-beta.51.tgz","_integrity":"sha512-UspRQF1YNse3Kh3S95Nt0tJ4hq1RExrg6a2sARNai4IX3QRauz9Jn9FMnzsmfQnFpKBMkew1JUQJH99qXBUsVQ==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.17.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.55","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.51_1782549686841_0.4079904369798899","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.52":{"name":"spfn","version":"0.2.0-beta.52","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.52","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f4729b46d88fa09e57b24c68b73184a61a279774","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.52.tgz","fileCount":22,"integrity":"sha512-tEzO8EXmWKkp2RSF8jkqra630UMiVFikNXmvcagcUV3j8bFDtv0U8ti7lR+P7vhpLn89qVzhBGlm81mo+vsoeA==","signatures":[{"sig":"MEYCIQDMsPjYxRGsWIqciRVVrEfKHDYd+LT8NDr2G2kbEyaFHAIhAKvRXLj4Hfs6hLwNeRAlT/IH0wuZBH3vfCeqv9splsQ4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":193199},"type":"module","_from":"file:spfn-0.2.0-beta.52.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/71f6d010f4a3ff8b638f34eb45fe3f51/spfn-0.2.0-beta.52.tgz","_integrity":"sha512-tEzO8EXmWKkp2RSF8jkqra630UMiVFikNXmvcagcUV3j8bFDtv0U8ti7lR+P7vhpLn89qVzhBGlm81mo+vsoeA==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.17.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"alpha","access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.56","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.52_1782567641964_0.328543466227754","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.54":{"name":"spfn","version":"0.2.0-beta.54","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.54","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"eb39812440f992f11c3500e33d9e95e464d68e6f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.54.tgz","fileCount":23,"integrity":"sha512-M1cUcmjCH42uGglsP5XZTqm9aqDLW2XEeuAj/Ipw/IM+fHMaJDQ6uJO8O28lQGUHmcrXYrkvlTa5DhQNUdUMvg==","signatures":[{"sig":"MEUCIQDtDZgvx1AVubDzBtrDwgR/1u2v74msmZyrqEbZi9eQHQIgQY9+dnSDAvVCLInSE3j9g7aqOAvakccpQWjdbLMs/l4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":231577},"type":"module","_from":"file:spfn-0.2.0-beta.54.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"_resolved":"/tmp/65e8865a84ab68f938f58c62414b369e/spfn-0.2.0-beta.54.tgz","_integrity":"sha512-M1cUcmjCH42uGglsP5XZTqm9aqDLW2XEeuAj/Ipw/IM+fHMaJDQ6uJO8O28lQGUHmcrXYrkvlTa5DhQNUdUMvg==","repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.18.0","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.0","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"0.2.0-beta.59","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.54_1782991323236_0.42507253990521776","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.56":{"name":"spfn","version":"0.2.0-beta.56","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.56","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/spfn/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/spfn/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"99512aeab6d9ed7f9f4190f43ad74ade00370d27","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.56.tgz","fileCount":23,"integrity":"sha512-UCcLN0dLiviNBucU8rL86/61PglsCbgpSf3yUOE08d+iZOTD4kjwSb1YWurBXCadqoPosDgfz0u0ISsIlnfyuA==","signatures":[{"sig":"MEUCICtwqPgy1s8zcjRdDkFdDPxJeshpU8z4ZLiY8M5AzItHAiEAq6wO5/ByONqEeLNpvYqI57FuCmzFbkPScJ0ZjgDJRTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":234754},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"185f265bbc1a04dcdaded39e18c2dc13b76e9292","scripts":{"dev":"tsup --watch","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/spfn/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"^0.31.6","drizzle-orm":"^0.45.0"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.56_1784702999592_0.49683090294765253","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.57":{"name":"spfn","version":"0.2.0-beta.57","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.57","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"8a46841a6637e5bf04e19a8d456724afb2413b5e","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.57.tgz","fileCount":23,"integrity":"sha512-x5Ip9xIM67thoNVk2ORfBwJ085lVkw9I7ZjTFCgtu2gz5e3NFASAH59mvKYJKAhni9eXfcplllLwCBzwh0i3Bw==","signatures":[{"sig":"MEUCIFCis/MQ0TmVcbTeaO8+72ZHaLY+MXRjmD3FB3qCsm1yAiEAlFvTmiJyJfh3QN7/5mQhO/cc4ZqSSL6Fkv9+cmBAMOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":234724},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"4a09250c7a88158aacb0bd5559cf36347a06e2a9","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.57_1784827545981_0.9284499510815556","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.58":{"name":"spfn","version":"0.2.0-beta.58","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.58","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"3316d203be0044d422f028a7cb100e3202127129","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.58.tgz","fileCount":23,"integrity":"sha512-kvEvER60aQaQGLFVQQUz3TOHuc2J3CH1w3pRIPFmI4rdePXoUmTSYT5onk2R3mrjrCLGDGdBSQXGcELrj0zxeQ==","signatures":[{"sig":"MEYCIQCWxhjC3lXuXQ6UiE2ZcBPxQk9GlD+AbWgl+k5EGe/dUgIhAMwfOHOhG7KzcHMKbkkad9oNDWkRiiYAM9bC80woxqw5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":234879},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"79a04c90788944c551dbccf651f2f57421d87bbb","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.58_1784831788956_0.8432600415929052","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.59":{"name":"spfn","version":"0.2.0-beta.59","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.59","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f9bca597916832626fb4841d7b452c3405fe3a69","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.59.tgz","fileCount":23,"integrity":"sha512-90utCqcAPMGKLmUridOUnrjxP4Ddj+vwxoC8M6EWFKzb9l/CtaP5IASEPwbrNIGBnuOcdcjiBO2+4u6WdVwg5g==","signatures":[{"sig":"MEUCIQDTdaIQcR2kMOI6BISSmqp+HwhGytKCl9CCt+TmJSFs+QIgBG3rX3JL8f/QD7fy4ZlwO3KzBYS8+uMAdj3mD47exx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":236833},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"a4db27605cb228c9a7c76eab7eb1853c31a0e177","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.59_1784858248778_0.7168532126661178","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.60":{"name":"spfn","version":"0.2.0-beta.60","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.60","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"21e54b763d881d8304992fc89a47aaaf46b01e7a","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.60.tgz","fileCount":23,"integrity":"sha512-F8aoig1WQ1xmaEIsFQisBRdR6nd07rLGA8tWbGu5KfBcduMHDyaF3j6XfAEPJVwSNG/m9yRdMSXvljRSyN3plQ==","signatures":[{"sig":"MEQCID7D+DepYbhc+YJpuE2InKu1RovRmVNRDIKfbwr1vPuHAiBBlXan3GLyOILl9+b27/ZpAwasYNOsg54TgI1hue/mbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.60","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":241351},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"6009241c30b7ff131feb7497425e9ec45c83afdc","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.60_1784933784588_0.7840698075788373","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.61":{"name":"spfn","version":"0.2.0-beta.61","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.61","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"ad87089b5ecb05f0cc0e8751daeada7ee0c3ad94","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.61.tgz","fileCount":23,"integrity":"sha512-yJ8E3UcNTJech+0gTVw5PXEsI1fm0SGX+VROtT3HnSnZHnKqEWavnVh9SEnBAxQlDDh+NCSNdfLtR2dHBQTQ0w==","signatures":[{"sig":"MEYCIQDdjRZeLRlny4+VI4XXZ3lKgUochXQv47sl9JfOggctjwIhAMu6xsAl1pjmfGApEzCVkbFXQey4gvV/tdex2CEvUAHy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247434},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"c7806a5d809f4d8f14015acd9fbea3510d9c1bf7","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.61_1784934331701_0.4813075621598546","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.63":{"name":"spfn","version":"0.2.0-beta.63","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.63","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"29071f6dd03a72d12ffccce5f0f4efb016ca88dd","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.63.tgz","fileCount":34,"integrity":"sha512-dBffg+lOLB/FC6/gYBUl6L2N+8nzFv1DVYS3qevmg4jrqwG028gaSRG3J+boo4vPFzlXCzsQGHv34ll1Qp10DQ==","signatures":[{"sig":"MEYCIQDYJH51k0cZz1mJ6AvE8zP2TiDZyS8MoP8KuOt1k82bhQIhAIxdcVRDExDb5zSjyJkjWDl/GOLtlkPku9KbBweFFupP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":268630},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"e233991a2c188b50cc16b85ad4889af1af8d4d9c","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.1","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.63_1785086212715_0.2615442580998004","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.64":{"name":"spfn","version":"0.2.0-beta.64","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.64","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"6c75ddba78dc50cf972525d64bcd3b839fb7fea3","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.64.tgz","fileCount":37,"integrity":"sha512-5nZgAGi3k9iGPtqnKVjfI/P2Bpklc2NiMGy0uc2fmf53gs88e4sYQuBL7S51kuEPbm4XavFohf3pUyjeaNllZw==","signatures":[{"sig":"MEUCIHyUG160SEBQ6GWYplwvM3cPaV+0rQqNWvAymtaVFtYFAiEAqO0KF2gQ7AuytSGNNd+T5QWMOXIgtFYphbh67O2OA/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.64","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277204},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"f845d50da011f3ba137e89deb71380025f4ce301","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"npm publish --access public --tag beta","publish:alpha":"npm publish --access public --tag alpha","publish:latest":"npm publish --access public"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.64_1785670568309_0.38478530923154497","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.65":{"name":"spfn","version":"0.2.0-beta.65","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.65","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"df96e60b1ebd62f6824d270e8c51f47c1dc83689","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.65.tgz","fileCount":37,"integrity":"sha512-Auq2avnPeRxDp1IBRzEXYOwsnNzNJtw/hRAd6CMKI+zvELl1rRKmB77vVN0Q7JY4Cud683fQjsCcbroIJDGdMQ==","signatures":[{"sig":"MEYCIQDQh5Qz+AchZM50sM4cQKk7gnLY/b7cm1CmVfmIM8yoIgIhAMRmkOSSgqrtIlpVFtScQMYe1hhp66p9tPYe9u1CC97o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.65","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277232},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"9dc6397a2e809b6c3d28b745cb8ed3d80d923f16","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.65_1785771714709_0.29620926126395997","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.66":{"name":"spfn","version":"0.2.0-beta.66","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","development","init","typescript","type-safe"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.66","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"e712971be518f76c1aaf346dd08dc7aa2b6d38a7","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.66.tgz","fileCount":37,"integrity":"sha512-lhlZiWAtJPEBh5i7klW4hgnCkZTLETwymwLEfWQ/YIIcRUbIgWO3qATojpogbx8SqeH0QWc9GQjYCXmEei+FxQ==","signatures":[{"sig":"MEUCIFg1Bv7Mxj9VcYc0WtUj20TXsaxMb5k/3wccDNfQh6QGAiEAhlvEHYc7v0C+pm+IkBPZN6+rvhdpyNCmvnNAa98rp70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.66","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":288181},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"ca8000ded77e7d22536a5bbbec21fbe10e32206c","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Superfunction CLI - Add SPFN to your Next.js project","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.66_1785913563456_0.013105879204820203","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.67":{"name":"spfn","version":"0.2.0-beta.67","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.67","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"409848dc32a2ee47189d1fc294f9967f3daaa451","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.67.tgz","fileCount":37,"integrity":"sha512-8ktPjbiXjVPV1mb6tKTJEE21GuvRDrV2NLDXUjLrG/caEd+2aqzyscZZaOg9mYdNhlo3EoyeMWH7AZGIVekPGg==","signatures":[{"sig":"MEUCIEYqiTqh0RzDCIzXxYatCHgB9MtdQl9tgb3YYtW+ODvFAiEA2veWkugDl92+9ntyUkEjB/DWIywUXBMooQI/EGx7uTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":288626},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"gitHead":"526c8d70e82c62f031af6bf18d742ef1eac4abee","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.5.0","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.54","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.67_1785926838185_0.5914756747844829","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-beta.68":{"name":"spfn","version":"0.2.0-beta.68","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.2.0-beta.68","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"38a7390fb6395f34a1dfd40a4706f55eafb295fc","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.2.0-beta.68.tgz","fileCount":37,"integrity":"sha512-KZE+S10eVJ1URdqkl1vrQ+BSL3gcgoRrf82LQplEUdOF6jV0WnHu2X2UNyqcTKx8h+WtQvSYED6tBLSLS9xT4g==","signatures":[{"sig":"MEQCIEWRHGEDhW+CNHy0ltyX9A3S1u94fyi2MBkdUdBslfkBAiBRWh5ruPkFgZ3S6C50eby1T3DFDqICGHognmzGsVz7Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.2.0-beta.68","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":286825},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"111c63be56be8f79a0ce3bfef1fff5514d0851b1","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.2.0-beta.72","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.2.0-beta.68_1786006985807_0.07384686100892379","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.1":{"name":"spfn","version":"0.3.0-beta.1","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.1","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"bcc7958eb52199b3983a1b776091634f5862075e","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.1.tgz","fileCount":37,"integrity":"sha512-mNln74n4DXsPopOnnDKL5j+7/hQzGEWXIWBzLhaRZUH7HJeR7vM8r3CuVVvlw4Btq7Ek/z6Lmd02j9r3rSI0WQ==","signatures":[{"sig":"MEUCIQCw2myUFeO3s9MhqB5A/u/mjs9W5Uku+slKrH4dUTdT7wIgHyQ7isbt6RaImCX1HxFd4NF8AqeMv+8RN9D4KntSQ14=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":314029},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"87facbc9ae4a26805f37d53d071b965e0ea9e594","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.1 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.1_1786198316165_0.33873262536931237","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.2":{"name":"spfn","version":"0.3.0-beta.2","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.2","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"9295252ae4a592cadc893d24e3688bf117f69208","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.2.tgz","fileCount":37,"integrity":"sha512-hqQFM06wFYJ8j9IOvI3w8JOPpvISN/JdVmJCgRz7C6UyIGkfp6iRmZ74AAlvS7d9YBur4o5eYVHwSSyeKyva+A==","signatures":[{"sig":"MEYCIQDP8B8gtcylLZNN8/wzZ0eJXZBvIH8JTk4B86JQFSeNOgIhAIiDAFtOuQatEKjFbNPPjCoqYVJNbMmYt1y9Bn5+RdL/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":318222},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7099954f0ada5b3326f9a1ec82b8301280fdc7f1","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.1 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.2_1786201827579_0.3298605730554669","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.3":{"name":"spfn","version":"0.3.0-beta.3","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.3","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"f2951e43e14149af94c90e5a743099fea3936a3f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.3.tgz","fileCount":35,"integrity":"sha512-hwINdUXCywwIIqvGkK7bF0L/9YpnPD3qUrC7KxagHUEtyRQhE7YbZvlPdrgC51mefZCWGWNw3T3PapHu7IVdqg==","signatures":[{"sig":"MEUCIFaFCNOH64XElu7+bOVZxg7iCNbw46bzZLvVPwNLb492AiEA2IZLu34R4+C4qSbshSHaIi3hbV/RwU5C8DWsC8OiB2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":319723},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4cf87a5928f3627ee60a63b008a7562fe2d627f3","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.3 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.3_1786283714843_0.07456520934801913","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.4":{"name":"spfn","version":"0.3.0-beta.4","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.4","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"eb39bfb02370aefe75d655e5d017873a66d55f24","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.4.tgz","fileCount":34,"integrity":"sha512-bmCVo+If5GjhM5gx1mI4dYy1Wr6ZvNmCvRy1jOTdtSLxo50FmXJb1VQjlejAPXN1CLWaMIfC9caGf+MGW/io3w==","signatures":[{"sig":"MEQCIEfG7SoXBu9JvCWLUCjgS/rL84UmKXQtjV81pCQJp1aoAiAsm5B9q3g6+iLHyqLKUTNOfixVS/N4TzPd25Nfx5eAzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":320074},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"99c7964a17acf16b06b16e69094cd4d72e1f35f0","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.3 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.4_1786287530275_0.750128474104149","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.5":{"name":"spfn","version":"0.3.0-beta.5","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.5","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"775c3a46e19b31b4e9ce13c3915d724fd33b8cc5","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.5.tgz","fileCount":34,"integrity":"sha512-IDrWlZphaheeVj57G2JPAR32+pCPLUGofAEY0mEMKBro5e6fUuyNMOItgZec1xeWW9xAOWzgz+5vg3pb9SpUDA==","signatures":[{"sig":"MEYCIQDtjCjwWSeEL0e+fFCYfn349G5lb1ux4OzjAT77tYmX5gIhAO1JQQ/a2YT9WvP0jbSsua2GaRHp0RvmGW9Uv3BxPXbT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":372908},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e63b88533d87c9eeb2b2aa64fc9a697099dd42dd","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","hono":"^4.12.34","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.3 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.5_1786680980768_0.6668541770043142","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.6":{"name":"spfn","version":"0.3.0-beta.6","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.6","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"d2cfad889adfae0483e7b48e65d34c01fdefb9c6","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.6.tgz","fileCount":34,"integrity":"sha512-xKP0dQFOn0VdeqvKpbJt6ujGN3HHJRYJjTDci1vO9oD6UrqKN4UHlDkmmL4o1XiAifipQCggtFSgGCjCqhsUAQ==","signatures":[{"sig":"MEYCIQC7yibngLxoirsWk+xsoVmU2+5IfGgU9I10knj2PzxUpAIhAN2kJLggFgb8+yrPSPWalCZrPolHahAgIQsXjsXIuM+e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":631854},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ddf7b09aca875291f42a2a55811456cc77b76658","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","hono":"^4.12.34","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.3 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.6_1787750268592_0.692223687254178","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.7":{"name":"spfn","version":"0.3.0-beta.7","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.7","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"4b470691c63339389fae219e9ba8f0424ebc8cde","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.7.tgz","fileCount":34,"integrity":"sha512-gNvKqdhyIFlVGLt+3ThguAbNwoxqXIT53O6tq9ynYdWqV6UcyLrt74eA2aZz/RZ6EvIWSykQHNgMT9RkR3ufVQ==","signatures":[{"sig":"MEUCIQD6ydse/eVXjprAIt8lDc2RgDpHoaqFXHgiqbVzBu18HwIgZnJDWrzJV04TOeR+2iYdRvaqlG7dNXbWhSBYB1+CaeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":639773},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f1c7e5e307b704dad03b8c8d536fe222426ef54d","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","hono":"^4.12.34","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.3 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.7_1788315419060_0.8170038027734798","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.8":{"name":"spfn","version":"0.3.0-beta.8","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.8","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"12dd505a31c1e31dd831335e396823e79017b6cc","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.8.tgz","fileCount":34,"integrity":"sha512-xCoqarzkcV3P95JxKJyWLe4KAHXQbYIe5oZcIdZaGnl6ipHl97esDoEbSBBlYJv/gKMnlpFUd+XNik7K/BtpxQ==","signatures":[{"sig":"MEUCIAeoGyNFgVKYnQwZIbUsiF4zLIk/+9Do1uP/UhhUFrTnAiEA/WQxc9sUmYoMG3RIbE7xQbQFOivwqeiFNzWOHOqIDEU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640653},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"dc5e13bee8cb659765e24a3389bdd0b4e2a8a691","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","hono":"^4.12.34","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.3 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.8_1788324520200_0.769136391370534","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.9":{"name":"spfn","version":"0.3.0-beta.9","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.9","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"5bb0bde8b1e2f39b275e27b5439e207c3044cf8e","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.9.tgz","fileCount":34,"integrity":"sha512-AlTbaHXN7KcJjG7jIejumQJwFWBJ40ksxxBPyFjZcHHE8qWx9Slp7UyIgd6oGBaER0wC/4fPD/Qz1fSP5Bp8Kg==","signatures":[{"sig":"MEYCIQDkg9efknaePT01AX+7MGKUFULLL9gCuWIxh95bMmSTSAIhALd4W0EUkq1xMngp/uGO86WHVShjpY7R5E/y6gGi8RnR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640793},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d3fbbfbd300f377191f051b056af56069f1853b5","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","hono":"^4.12.34","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.3 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.9_1788519434958_0.3937610811200034","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.10":{"name":"spfn","version":"0.3.0-beta.10","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.10","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"8f8c5b6fa7ecec9068f6da890fa5eb157eb26a32","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.10.tgz","fileCount":34,"integrity":"sha512-g/Hj1zQ+FLTDL33tNQ3tdHqWji6bi++Lo4WL7bgALFd5Z9aDDrg2Irdj3WQS1BAoi5CSpTKImJtH1oPS99hdSg==","signatures":[{"sig":"MEQCIFWUn3E58cjnYeWW54hmfpWiT1rSQG6qcKxjAuPVGLXaAiBiX8JKzGY4kaLv5QhC7Qnjht0cTqzj6+V9l+V8IGje5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":654172},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"97e0a2541e7bbdb8da140c9b9dd73cfd3d67d621","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","hono":"^4.12.34","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.9 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.10_1789401231388_0.8885628707085182","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.11":{"name":"spfn","version":"0.3.0-beta.11","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","_id":"spfn@0.3.0-beta.11","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"bin":{"spfn":"bin/spfn.js"},"dist":{"shasum":"c7f508bcb045c0ce7e3e3370c4a257de63d396bf","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.11.tgz","fileCount":34,"integrity":"sha512-N0ppC2F3NlI523/DbVriRZn87VWm8ctzI+GVnkGIxUQvcblBs48ZYE/OIazMAUmKzv7mUpaDx+22Ohzd1zo2Fw==","signatures":[{"sig":"MEUCIQCxiLpE/iDpJSZtNJ4XKcgIELVNamnR4+LwL6ThKRORIgIgHW7+UwAPSL4zr0sNRn6R7B3TWZ0pq2d033DFNt3b1Rw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":654170},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"53eeff9cbd8461bfc69b7c1279d536d6e077eb79","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","hono":"^4.13.5","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.9 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/spfn_0.3.0-beta.11_1789404829149_0.03927753533192724","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-beta.12":{"_id":"spfn@0.3.0-beta.12","bin":{"spfn":"bin/spfn.js"},"bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"dist":{"shasum":"89d5bb83503d02392d1866676fa1cde3e024c94f","tarball":"https://registry.npmjs.org/spfn/-/spfn-0.3.0-beta.12.tgz","fileCount":34,"integrity":"sha512-rNZubA1Jqi3dFxB9KguDpxo0G2DIBu6E0VOUc0S8V3YRlmTbI8Rowwp835JKPqpriJ2fq4s/X9TxweMHxrW2TQ==","signatures":[{"sig":"MEUCIC89XP71tKd2J7wgpAub1Ce8fmKXJEJulBd73zS33PGaAiEA12XJAe0+0ZmCGCchiKu3dtly+I3REUSNttJ1HA69k70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEm87ZydbN+8t05J4EFgzAAESMIig9yLQ0XUjBYcONm+AiB+adrWtDb7v6Ar305CQDw97Eg3GLViri8tMzhWJ4m15Q=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/spfn@0.3.0-beta.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":654630},"name":"spfn","type":"module","types":"./dist/index.d.ts","author":{"name":"Ray Im","email":"rayim@fxy.global"},"engines":{"node":">=20.0.0"},"gitHead":"842f21e961ba356bf68cbe1f392781191b515fbf","license":"MIT","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup && node scripts/copy-templates.js","prepack":"node -e \"require('fs').copyFileSync('../../LICENSE','LICENSE')\"","type-check":"tsc --noEmit","publish:beta":"node ../../scripts/publish-package.mjs beta","publish:alpha":"node ../../scripts/publish-package.mjs alpha","publish:latest":"node ../../scripts/publish-package.mjs latest"},"version":"0.3.0-beta.12","_npmUser":{"name":"superfunction","email":"rayim@inflike.com"},"homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"_npmVersion":"12.0.2","description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","directories":{},"maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"_nodeVersion":"22.23.2","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","tsup":"^8.5.0","yaml":"^2.8.3","chalk":"^5.6.2","execa":"^8.0.1","dotenv":"^17.2.3","prompts":"^2.4.2","chokidar":"^4.0.3","fs-extra":"^11.2.0","postgres":"^3.4.0","commander":"^11.1.0","drizzle-kit":"1.0.0-rc.4","drizzle-orm":"1.0.0-rc.4"},"publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","hono":"^4.13.5","vitest":"^4.0.6","@types/pg":"^8.10.9","@spfn/core":"workspace:*","typescript":"^5.3.3","@types/node":"^20.11.0","concurrently":"^9.2.1","@types/prompts":"^2.4.9","@types/fs-extra":"^11.0.4","@electric-sql/pglite":"^0.5.4"},"peerDependencies":{"@spfn/core":">=0.3.0-beta.9 <0.4.0","typescript":"^5.3.0"},"optionalDependencies":{"@napi-rs/keyring":"^1.1.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spfn_0.3.0-beta.12_1790072261343_0.8521827696711879"}}},"time":{"created":"2025-10-11T14:51:16.960Z","modified":"2026-09-22T10:17:41.810Z","0.1.0-alpha.1":"2025-10-11T14:51:17.461Z","0.1.0-alpha.2":"2025-10-11T15:24:47.541Z","0.1.0-alpha.3":"2025-10-13T04:32:30.923Z","0.1.0-alpha.4":"2025-10-13T07:49:02.133Z","0.1.0-alpha.5":"2025-10-13T09:17:37.655Z","0.1.0-alpha.6":"2025-10-13T15:36:15.597Z","0.1.0-alpha.7":"2025-10-14T04:58:34.152Z","0.1.0-alpha.8":"2025-10-14T05:24:50.549Z","0.1.0-alpha.9":"2025-10-14T06:27:27.720Z","0.1.0-alpha.10":"2025-10-14T06:48:37.638Z","0.1.0-alpha.11":"2025-10-14T07:29:41.566Z","0.1.0-alpha.12":"2025-10-14T07:49:26.548Z","0.1.0-alpha.13":"2025-10-14T08:11:55.666Z","0.1.0-alpha.14":"2025-10-14T10:00:01.462Z","0.1.0-alpha.15":"2025-10-14T10:14:22.969Z","0.1.0-alpha.16":"2025-10-14T12:56:18.294Z","0.1.0-alpha.17":"2025-10-14T14:24:19.785Z","0.1.0-alpha.18":"2025-10-14T15:32:47.576Z","0.1.0-alpha.19":"2025-10-14T15:45:02.897Z","0.1.0-alpha.20":"2025-10-16T04:33:13.167Z","0.1.0-alpha.21":"2025-10-16T05:22:49.229Z","0.1.0-alpha.22":"2025-10-17T08:23:33.012Z","0.1.0-alpha.23":"2025-10-17T09:06:01.302Z","0.1.0-alpha.24":"2025-10-17T09:54:05.800Z","0.1.0-alpha.25":"2025-10-17T12:35:26.206Z","0.1.0-alpha.26":"2025-10-17T13:59:53.403Z","0.1.0-alpha.27":"2025-10-18T04:13:49.307Z","0.1.0-alpha.28":"2025-10-18T11:18:40.232Z","0.1.0-alpha.29":"2025-10-18T14:41:40.107Z","0.1.0-alpha.30":"2025-10-18T14:50:51.578Z","0.1.0-alpha.31":"2025-10-19T04:19:55.681Z","0.1.0-alpha.32":"2025-10-19T11:31:16.312Z","0.1.0-alpha.40":"2025-10-21T10:36:17.330Z","0.1.0-alpha.41":"2025-10-21T13:32:05.393Z","0.1.0-alpha.42":"2025-10-21T14:00:17.697Z","0.1.0-alpha.43":"2025-10-21T14:10:33.777Z","0.1.0-alpha.44":"2025-10-22T14:04:29.747Z","0.1.0-alpha.45":"2025-10-22T14:42:35.054Z","0.1.0-alpha.49":"2025-10-23T04:06:48.362Z","0.1.0-alpha.50":"2025-10-23T04:32:09.492Z","0.1.0-alpha.51":"2025-10-23T05:52:01.092Z","0.1.0-alpha.52":"2025-10-26T15:20:43.320Z","0.1.0-alpha.53":"2025-10-27T12:44:13.613Z","0.1.0-alpha.54":"2025-10-27T14:43:45.825Z","0.1.0-alpha.56":"2025-10-28T11:03:00.391Z","0.1.0-alpha.60":"2025-10-29T12:34:57.200Z","0.1.0-alpha.61":"2025-10-30T11:09:07.539Z","0.1.0-alpha.63":"2025-10-31T15:14:11.500Z","0.1.0-alpha.64":"2025-11-01T00:44:33.059Z","0.1.0-alpha.65":"2025-11-02T02:51:47.659Z","0.1.0-alpha.68":"2025-11-02T11:36:20.069Z","0.1.0-alpha.72":"2025-11-02T16:25:37.983Z","0.1.0-alpha.74":"2025-11-03T06:03:57.387Z","0.1.0-alpha.81":"2025-11-04T17:01:22.966Z","0.1.0-alpha.82":"2025-11-05T08:26:28.503Z","0.1.0-alpha.83":"2025-11-05T15:53:10.809Z","0.1.0-alpha.84":"2025-11-06T11:53:26.562Z","0.1.0-alpha.86":"2025-11-09T13:36:12.883Z","0.1.0-alpha.88":"2025-11-09T15:17:45.543Z","0.2.0-beta.1":"2025-12-08T04:24:42.952Z","0.2.0-beta.2":"2025-12-15T00:54:47.573Z","0.2.0-beta.3":"2025-12-16T09:09:50.983Z","0.2.0-beta.4":"2025-12-16T09:53:08.975Z","0.2.0-beta.5":"2025-12-18T12:41:36.636Z","0.2.0-beta.6":"2026-01-14T06:30:37.631Z","0.2.0-beta.7":"2026-01-14T06:41:11.825Z","0.2.0-beta.8":"2026-02-06T15:13:31.035Z","0.2.0-beta.9":"2026-02-07T00:20:57.072Z","0.2.0-beta.10":"2026-02-15T15:17:33.312Z","0.2.0-beta.11":"2026-02-16T04:53:49.389Z","0.2.0-beta.12":"2026-02-16T05:13:31.265Z","0.2.0-beta.13":"2026-02-16T05:19:48.112Z","0.2.0-beta.14":"2026-02-18T06:29:01.783Z","0.2.0-beta.15":"2026-02-18T07:56:42.117Z","0.2.0-beta.16":"2026-02-20T11:45:24.125Z","0.2.0-beta.17":"2026-02-20T12:08:14.549Z","0.2.0-beta.18":"2026-02-20T12:17:01.750Z","0.2.0-beta.19":"2026-02-22T05:05:21.934Z","0.2.0-beta.20":"2026-02-22T07:28:22.770Z","0.2.0-beta.21":"2026-02-22T09:34:32.355Z","0.2.0-beta.22":"2026-02-23T07:59:35.014Z","0.2.0-beta.23":"2026-02-26T06:27:27.883Z","0.2.0-beta.24":"2026-02-26T07:48:12.419Z","0.2.0-beta.25":"2026-02-26T07:56:06.976Z","0.2.0-beta.26":"2026-02-26T07:59:04.481Z","0.2.0-beta.27":"2026-03-06T15:38:11.035Z","0.2.0-beta.28":"2026-03-06T15:52:31.344Z","0.2.0-beta.29":"2026-03-07T03:57:59.375Z","0.2.0-beta.30":"2026-03-08T14:57:13.866Z","0.2.0-beta.31":"2026-03-08T15:18:20.693Z","0.2.0-beta.32":"2026-03-09T15:08:08.983Z","0.2.0-beta.33":"2026-03-11T09:20:22.413Z","0.2.0-beta.34":"2026-03-14T15:25:46.592Z","0.2.0-beta.35":"2026-03-27T09:39:48.769Z","0.2.0-beta.36":"2026-03-27T09:54:47.221Z","0.2.0-beta.37":"2026-03-27T15:27:27.516Z","0.2.0-beta.39":"2026-03-27T15:41:29.417Z","0.2.0-beta.40":"2026-03-29T12:16:06.113Z","0.2.0-beta.41":"2026-03-30T14:28:04.713Z","0.2.0-beta.42":"2026-03-30T15:16:02.358Z","0.2.0-beta.43":"2026-03-30T16:10:19.049Z","0.2.0-beta.45":"2026-04-02T04:18:35.773Z","0.2.0-beta.46":"2026-04-16T10:32:06.593Z","0.2.0-beta.47":"2026-05-19T17:30:17.907Z","0.2.0-beta.48":"2026-06-10T16:05:44.989Z","0.2.0-beta.49":"2026-06-16T09:02:19.923Z","0.2.0-beta.50":"2026-06-27T08:24:06.107Z","0.2.0-beta.51":"2026-06-27T08:41:26.954Z","0.2.0-beta.52":"2026-06-27T13:40:42.105Z","0.2.0-beta.54":"2026-07-02T11:22:03.372Z","0.2.0-beta.56":"2026-07-22T06:49:59.765Z","0.2.0-beta.57":"2026-07-23T17:25:46.119Z","0.2.0-beta.58":"2026-07-23T18:36:29.104Z","0.2.0-beta.59":"2026-07-24T01:57:28.930Z","0.2.0-beta.60":"2026-07-24T22:56:24.738Z","0.2.0-beta.61":"2026-07-24T23:05:31.845Z","0.2.0-beta.63":"2026-07-26T17:16:52.865Z","0.2.0-beta.64":"2026-08-02T11:36:08.476Z","0.2.0-beta.65":"2026-08-03T15:41:54.865Z","0.2.0-beta.66":"2026-08-05T07:06:03.602Z","0.2.0-beta.67":"2026-08-05T10:47:18.316Z","0.2.0-beta.68":"2026-08-06T09:03:05.936Z","0.3.0-beta.1":"2026-08-08T14:11:56.347Z","0.3.0-beta.2":"2026-08-08T15:10:27.722Z","0.3.0-beta.3":"2026-08-09T13:55:15.009Z","0.3.0-beta.4":"2026-08-09T14:58:50.411Z","0.3.0-beta.5":"2026-08-14T04:16:20.926Z","0.3.0-beta.6":"2026-08-26T13:17:48.759Z","0.3.0-beta.7":"2026-09-02T02:16:59.239Z","0.3.0-beta.8":"2026-09-02T04:48:40.342Z","0.3.0-beta.9":"2026-09-04T10:57:15.108Z","0.3.0-beta.10":"2026-09-14T15:53:51.578Z","0.3.0-beta.11":"2026-09-14T16:53:49.341Z","0.3.0-beta.12":"2026-09-22T10:17:41.449Z"},"bugs":{"url":"https://github.com/fxylabs/spfn/issues"},"author":{"name":"Ray Im","email":"rayim@fxy.global"},"license":"MIT","homepage":"https://github.com/fxylabs/spfn/tree/main/packages/cli#readme","keywords":["spfn","cli","nextjs","backend","framework","generator","crud-generator","scaffolding","boilerplate","dev-tools","typescript","type-safe","full-stack-framework","ai-coding-agent","claude-code"],"repository":{"url":"git+https://github.com/fxylabs/spfn.git","type":"git","directory":"packages/cli"},"description":"Scaffold a full-stack TypeScript backend onto a Next.js app built with an AI coding agent: auth, database, typed routes and codegen, one fixed vertical slice per feature","maintainers":[{"name":"superfunction","email":"rayim@inflike.com"}],"readme":"# spfn — the SPFN CLI (backend layer for Next.js)\n\n`spfn` takes a Next.js idea from prototype to production with a consistent full-stack\narchitecture. It can scaffold either a core-only backend or a production baseline with\nauthentication, internationalization, and a terminal operations surface, then runs the\ndev/build/start lifecycle, database tooling, RPC codegen, and environment validation.\n\nConsistent is the point rather than a nicety: what it scaffolds is one fixed shape per\nfeature, so a coding agent has no architecture left to invent and the codebase does not\nacquire several. That problem has a name —\n[architecture drift](https://superfunction.xyz/architecture-drift).\n\n> Beta: install with the `@beta` tag (`spfn@beta`). The binary is `spfn`.\n\n## Install\n\nNo global install needed — run through your package manager's dlx/npx:\n\n```bash\nnpx spfn@beta <command>\npnpm dlx spfn@beta <command>\n```\n\nOr add it as a project dependency (`spfn init`/`spfn create` do this for you), then\ncall it via `pnpm spfn <command>` / `npm run spfn:<script>`.\n\nRequirements: Node.js 20+ in both modes, Next.js 16.3.3+ (App Router, `src/` dir),\nPostgreSQL 14+ (Redis optional). Next.js 15\nis not supported — see [the root README](../../README.md#what-do-i-need-installed).\n\n## Usage\n\n```bash\n# Prototype-to-Production baseline: core + auth + i18n + ops\nnpx spfn@beta create my-app --mode full\ncd my-app\ndocker compose up -d            # Postgres + Redis\n# .env.local & .env.server are generated — keep both gitignored\npnpm spfn db migrate            # Apply auth migrations\npnpm spfn:dev                   # Next.js :3790 + SPFN API :8790\n\n# Core-only full-stack skeleton\nnpx spfn@beta create my-api --mode bare\n\n# Add SPFN to an existing Next.js project\nnpx spfn@beta init --mode full\n```\n\nThe package manager is auto-detected (pnpm > yarn > bun > npm) from lockfiles; override\nwith `--pm`. In a pnpm workspace, `create` installs from the workspace root.\n\n---\n\n## Commands\n\nRegistered top-level commands: `create`, `init`, `add`, `dev`, `build`, `start`,\n`provision`, `codegen`, `contract`, `key`, `setup`, `db`, `env`, `ops`, `secret`,\n`cloud`, `kit`.\n\n### `spfn create <name>`\n\nRuns `create-next-app` with SPFN-recommended flags (TypeScript, App Router, `src/`,\nTailwind, import alias `@/*`, no ESLint), sets up SVGR icons, then runs `init`.\n\nChoose `full` for the recommended Prototype-to-Production baseline or `bare` for the\nhistorical core-only skeleton. Without `--mode`, interactive runs show a mode selector\nwith `full` recommended. For backward compatibility, non-interactive `--yes` runs without\nan explicit mode continue to generate `bare`; automation that wants full should always\npass `--mode full`.\n\n| Option | Description |\n|--------|-------------|\n| `--pm <manager>` | Force package manager: `npm` \\| `pnpm` \\| `yarn` \\| `bun` |\n| `--shadcn` | Also run `shadcn init` |\n| `--mode <mode>` | `bare` (core only) \\| `full` (core, auth, i18n, ops) |\n| `--skip-install` | Skip dependency install |\n| `--skip-git` | Skip `git init` |\n| `-y, --yes` | Skip prompts, use defaults |\n\n### `spfn init`\n\nAdds SPFN to an existing Next.js project: copies the selected server templates, wires the RPC\nproxy route, Docker files, deploy + codegen config, updates `package.json` scripts/deps,\nand installs. Full mode also adds the `/_auth/:path*` → SPFN API rewrite to\n`next.config` (OAuth callbacks return to the app origin; merged manually if a `rewrites()`\nalready exists). See [Scaffold structure](#scaffold-structure) for what lands on disk.\n\n| Option | Description |\n|--------|-------------|\n| `--mode <mode>` | `bare` (core only) \\| `full` (core, auth, i18n, ops) |\n| `-y, --yes` | Skip prompts, use defaults |\n\nGenerated projects pin `drizzle-orm` and `drizzle-kit` to `1.0.0-rc.4`, matching\n`@spfn/core` and the rest of the published SPFN database packages.\n\n### `spfn add <package>`\n\nInstalls an SPFN ecosystem package and applies its pre-built migrations. The package\nname must be scoped (contain `/`).\n\n```bash\npnpm spfn add @spfn/cms\npnpm spfn add @mycompany/spfn-analytics\n```\n\nHow it works: if not already present it installs the package, then reads the package's\n`spfn` field in its `package.json` (`migrations`, `setupMessage`) and applies any\nfunction migrations to `DATABASE_URL`. If `DATABASE_URL` is unset, migration is skipped\nwith a hint to run `spfn db push` later. Works with published and workspace packages.\n\n### `spfn add vercel`\n\n`vercel` is not a package — it is a built-in target, and the one argument to `add` that is\nnot a scoped package name. It scaffolds the three files a Next.js + SPFN app needs to run\nits backend as Vercel Functions:\n\n| File | What it is |\n|------|------------|\n| `src/app/api/backend/[[...route]]/route.ts` | `hono/vercel` adapter, mounts the SPFN app under `/api/backend` |\n| `vercel.json` | build config (`pnpm spfn:build`) |\n| `.npmrc` | which registry the `@spfn` scope resolves to — a mapping, not a credential |\n\nThe registry token does **not** go in that `.npmrc`. pnpm 10 and later refuse to expand an\nenvironment variable in a registry credential that came from a project `.npmrc` — the file is\ncommitted, and a hostile edit could redirect the secret to a registry nobody chose. pnpm drops\nthe line with a warning and the install fails as unauthorized. So the credential goes in Vercel's\n`NPM_RC` environment variable, which Vercel writes to the build container's user-level `~/.npmrc`,\nwhere pnpm still expands it. `spfn add vercel` prints the exact block to paste.\n\nExisting files are never overwritten; they are reported and skipped. The runtime behind\nthe adapter is `createServerlessApp()` from `@spfn/core/server`. Afterwards, point\n`SPFN_API_URL` at `https://<your-domain>/api/backend`, and make sure `hono` is a direct\ndependency of the app so `hono/vercel` resolves.\n\n### `spfn dev`\n\nStarts the SPFN server + Next.js (and a codegen watcher). The server must report ready\n(via a `.spfn/server-ready` signal file) before Next.js launches. Runs through `tsx`,\nno pre-build needed.\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--server-only` | Run only the SPFN/Hono server (also auto-selected if Next.js isn't a dependency) | off |\n| `--watch` | Restart the server on `src/server` changes (chokidar) | off |\n| `-p, --port <port>` | SPFN server port (sets `SPFN_PORT`) | `spfn.config.js` `ports.server`, then `8790` |\n| `-H, --host <host>` | SPFN server host (sets `SPFN_HOST`) | `spfn.config.js` `host`, then `localhost` |\n| `--allow-pending-migrations` | Start even when migrations are pending (they are listed as a warning) | off |\n| `--no-agent-files` | Do not write the SPFN instruction block into `AGENTS.md` (same as `SPFN_AGENT_FILES=0`) | writes on |\n\nNote: hot reload is **off by default** — pass `--watch` to restart on file changes.\n\nOn startup `spfn dev` refreshes a marked block of SPFN conventions in the project's\n`AGENTS.md` (creating the file, and a `CLAUDE.md` that references it, when absent) so\ncoding agents read the right idioms. Only the marked region is rewritten, and only when\nits content actually changed.\n\nPending migrations stop the boot — see [Database](#spfn-db) for what the refusal looks\nlike and how to override it.\n\n### `spfn build`\n\nRuns codegen, builds Next.js (via the project's `build` script), and compiles\n`src/server/**/*.ts` → `.spfn/server` with tsup. Also writes `.spfn/prod-server.mjs`\n(the production entry consumed by `spfn start`).\n\n| Option | Description |\n|--------|-------------|\n| `--server-only` | Build only the SPFN server (skip Next.js) |\n| `--next-only` | Build only Next.js (skip the SPFN server) |\n| `--turbo` | Use Turbopack for the Next.js build |\n\n### `spfn start`\n\nStarts the production servers from build output. Requires `spfn build` first — it errors\nif `.spfn/server`, `.spfn/prod-server.mjs`, or `.next` are missing.\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--server-only` | Run only the SPFN server | off |\n| `--next-only` | Run only Next.js | off |\n| `-p, --port <port>` | SPFN server port (sets `SPFN_PORT`) | `spfn.config.js` `ports.server`, then `8790` |\n| `-h, --host <host>` | SPFN server host (sets `SPFN_HOST`) | `spfn.config.js` `host`, then `localhost` |\n| `--allow-pending-migrations` | Start even when migrations are pending (they are listed as a warning) | off |\n\nBoth run together via `concurrently --kill-others`.\n\nNeither flag has a default value, deliberately. A default is indistinguishable\nfrom a value the operator typed, and it was forwarded as `SPFN_PORT` either way —\nwhich overrode the app's own configuration. Pass nothing and `spfn.config.js`\ndecides; pass a flag and it wins.\n\nNext.js is started on the port `spfn.config.js` gives as `ports.next` (`3790` by\ndefault), overridable with `NEXT_PORT`.\n\nPending migrations stop the boot unless `--allow-pending-migrations` or\n`SPFN_ALLOW_PENDING_MIGRATIONS=true` is set — see [Database](#spfn-db). `--next-only`\nskips the check: no SPFN server starts, so nothing can drift.\n\n### `spfn codegen`\n\nManages code generators driven by `.spfnrc.ts`. The default generator is\n`@spfn/core:route-map`, which emits `src/generated/route-map.ts` from `src/server/router.ts`\nso the RPC proxy can resolve routes without importing server code. Generators also run\nautomatically during `spfn dev` and `spfn build`.\n\n| Subcommand | Description |\n|------------|-------------|\n| `codegen init` | Create `.spfnrc.ts` (`--with-example` shows custom-generator usage) |\n| `codegen list` (`ls`) | List configured generators and their watch patterns |\n| `codegen run` | Run all generators once (no watch) |\n\n`package.json` exposes this as the `codegen` script (`spfn codegen run`).\n\nTo add a custom generator, implement the `Generator` interface from `@spfn/core/codegen`\nand reference it in `.spfnrc.ts`:\n\n```ts\n// .spfnrc.ts\nimport { defineConfig, defineGenerator } from '@spfn/core/codegen';\n\nexport default defineConfig({\n    generators: [\n        defineGenerator({\n            name: '@spfn/core:route-map',\n            routerPath: './src/server/router.ts',\n            outputPath: './src/generated/route-map.ts',\n        }),\n    ],\n});\n```\n\n### `spfn contract`\n\nManages the route contract — what a **separately deployed** client (a mobile app, an external\nAPI consumer) is promised. A web client needs none of this: it derives its types from\n`AppRouter` in the same build, so a broken response already fails the compile.\n\nRequires the `@spfn/core:contract` generator in `.spfnrc.ts`. Every command regenerates the\ncontract from the router first, so a stale `contracts/current.json` is never what gets checked\nor released.\n\n```bash\n# Regenerate and compare against the newest released snapshot\nspfn contract check\n\n# Cut a release — writes contracts/released/1.3.0.json. Commit it.\nspfn contract release 1.3.0\n\n# List released snapshots\nspfn contract list\n```\n\n| Subcommand | Description | Exit code |\n|------------|-------------|-----------|\n| `contract check` | Compares the current contract against the newest released snapshot | 1 when a promise is broken |\n| `contract release <version>` | Writes the snapshot every later build is compared against | 1 when the contract is broken, the version already exists, or it is not newer than the newest one |\n| `contract list` (`ls`) | Lists released snapshots | 0 |\n\n`--dir <path>` overrides the contracts directory; by default it comes from the generator's\n`outputDir` in `.spfnrc.ts`.\n\n**`spfn build` runs the same gate.** A broken contract fails the build with a non-zero exit\ncode — that is the point of hanging the check off codegen rather than leaving it to a\nseparate step.\n\nSee [`@spfn/core` contract docs](../core/src/contract/README.md) for the case table and the\nremoval rules.\n\n### `spfn db`\n\nWraps Drizzle Kit with auto-generated config. Most commands read `DATABASE_URL` from the\nloaded `.env` chain.\n\n| Subcommand | Description |\n|------------|-------------|\n| `db generate` (`g`) | Generate migrations from schema changes (timestamp-prefixed) |\n| `db push` | Diff with Drizzle Kit's current PostgreSQL engine and apply the selected DDL atomically. Destructive changes need confirmation; `--force` applies them, `--dry-run` previews |\n| `db migrate` (`m`) | Run pending migrations. `--with-backup` snapshots first |\n| `db status` | Show which migrations are applied and which are pending, for the project and for each installed function package. `--json` prints one machine-readable report instead |\n| `db studio` | Open Drizzle Studio. `-p, --port` (auto-finds a free port) |\n| `db check` | Verify the database connection |\n| `db drop` | Drop all tables — **destructive**, double-prompts (see [Pitfalls](#pitfalls)) |\n| `db backup` | Create a backup (`-f sql|custom`, `-o`, `-s`, `--data-only`, `--schema-only`, `--tag`, `--env`) |\n| `db restore [file]` | Restore from a backup (`--drop`, `-s`, `--data-only`, `--schema-only`, `-v`) |\n| `db backup:list` | List backups |\n| `db backup:clean` | Prune backups (`-k, --keep <n>`, `-o, --older-than <days>`) |\n| `db reindex` | Convert sequential migration prefixes to timestamps (`--dry-run`) |\n\n> `db push` is for development. For production, use `db generate` + `db migrate` to keep\n> migration history.\n\n**Which files are the schema.** `db push`, `db generate` and `db studio` resolve the\nproject schema in the same order:\n\n1. `db push --schema <path>`: a file, a directory or a glob.\n2. `./drizzle.config.ts`, when the project has one: its `schema` entry, and for `db push`\n   a non-empty `schemaFilter`.\n3. Every entity file under `src/server/entities/`, barrel files (`index.*`, `config.*`)\n   excluded.\n4. The registry — `src/server/entities/config.ts`, or the file `DRIZZLE_SCHEMA_PATH`\n   names — loaded alone, in two cases: the scan finds no entity file (the folder holds\n   only the registry and the tables live elsewhere), or the registry exports a table,\n   enum, view or sequence none of the scanned files define while the folder defines\n   nothing the registry lacks (the tables moved out and a re-exported file was left\n   behind). The command says which and names the objects. A registry whose objects\n   are all among the scanned files (the scaffold) changes nothing. When each side\n   defines objects the other lacks, no choice keeps every table, so the command stops\n   and names both sets: re-export the folder's entities from the registry, move the\n   leftover files out, or name the schema in `drizzle.config.ts`.\n\nAn entry named through 1–2 is expanded the way drizzle-kit expands it and nothing is\nfiltered: a file is loaded as-is, a directory is read one level deep, a glob uses glob\nsyntax (`**`, `*`, `?`, `{a,b}`, `[…]`) with parentheses taken literally, so\n`src/server/(workspace)/entities/*.ts` works, and a directory the glob matches is read\none level deep. Symlinks are followed (a link cycle ends where a directory was already\nvisited); a walk skips dot-directories like drizzle-kit's glob does. The accepted\nextensions are drizzle-kit's (`.ts .mts .cts .tsx .js .mjs .cjs .jsx`). Two deliberate\ndifferences: declaration files (`.d.ts`, `.d.mts`, `.d.cts`) are skipped, and a walk\nnever enters `node_modules`, so a `**` pattern cannot pull a dependency's file into\nthe schema. A registry loaded as-is (2 or 4) contributes only what it exports:\nre-export with `export *` so a `pgEnum` or `pgSchema` defined next to a table comes\nalong. `db push` diffs the PostgreSQL schemas the declared `schemaFilter` names (else\n`public`) plus every schema the loaded modules name — tables, `pgSchema()` objects,\nenums, views, sequences; `--schema` replaces the files but keeps that declared filter.\n\n**A function package's own schema is never the project's.** An installed package that\nships migrations (`@spfn/auth` → `spfn_auth`) creates and alters its own tables when\n`db push` or `db migrate` runs its migrations, so the project never diffs or generates\nthem. Whichever files are loaded, `db push` drops the objects living in such a schema\nfrom the diff and leaves that schema out of the filter it derives — a registry that\nre-exports one package table for a relation no longer proposes `DROP TABLE` for the\npackage tables it does not re-export. A `schemaFilter` declared in `drizzle.config.ts`\nstill stands verbatim; naming a package schema there is the user's own choice. Schemas\nthe project itself owns (`pgSchema('billing')`) are unaffected: they are created and\ndiffed as before.\n\n`db generate` cannot be filtered the same way — drizzle-kit loads the schema files\nitself and its `generate` reads no `schemaFilter` — so it stops instead when the files\nit would read reach a package's objects:\n\n```\n❌ The schema read from entity registry ./src/server/entities/config.ts reaches\n   users (@spfn/mockfn), which the package migrates itself. …\n```\n\nKeep package re-exports out of the registry: a relation can `import` the package's\ntable and reference it without re-exporting it.\n\nEarlier releases gave `db push` the folder scan alone, so a project whose tables lived\noutside `src/server/entities/` and were re-exported from the registry pushed nothing\n(`No schema files found`), and a project with a `drizzle.config.ts` had `db push` and\n`db generate` reading different files. `db push` prints which source it used, exits 1\nwhen a path named through 1–2 has no schema files, and exits 1 when `drizzle.config.ts`\ncannot be loaded rather than pushing something `db generate` would not read. One\nconsequence for code calling `getDrizzleConfig({ schema, expandGlobs: true })`\ndirectly: an explicit glob is no longer barrel-filtered, so a glob that matches both a\nbarrel and the files it re-exports now makes drizzle-kit report a duplicate table, as\nit would for the same glob in a hand-written `drizzle.config.ts`.\n\n**A server refuses to start while migrations are pending.** Bumping `@spfn/auth` and\nskipping `db migrate` used to boot fine, pass the health check, and then fail every\nrequest that touched a new column as an opaque 500. `spfn dev` and `spfn start` now\ncompare the migrations each installed function package ships (and `src/server/drizzle`,\nwhere present) against what the database records as applied, print the ones still\nwaiting, and stop:\n\n```\n❌ Refusing to start: 1 pending migration(s) in @spfn/auth\n   @spfn/auth: 1 pending migration(s) (12/13 applied)\n       - 20260805143152_client_identity\n\n   Run: pnpm spfn db migrate\n```\n\n`--allow-pending-migrations` starts anyway and logs the same list as a warning.\n`SPFN_ALLOW_PENDING_MIGRATIONS=true` does the same where no flag can be passed — a\ncontainer's env, a CI job. The check is skipped when the app initializes no database\nor no package ships migrations, and a database it cannot reach is reported as\n\"could not verify\", never as drift.\n\n`db push` and `db migrate` also replay migrations shipped by installed SPFN function\npackages (`@spfn/auth`, `@spfn/cms`, …) into per-package tracking tables\n(`drizzle.__spfn_fn_<pkg>_migrations`). The CLI applies these with a built-in runner\nthat reads both migration layouts — drizzle-kit ≤0.31 (`NNNN_name.sql` +\n`meta/_journal.json`) and drizzle-kit 1.0 (`<timestamp>_name/migration.sql`) — so a\npackage's layout never has to match the CLI's bundled drizzle version. `db push`\nvalidates every package's migration folder before applying the project schema, and a\nfunction-migration failure after a successful schema apply exits 1 with a message\nmaking clear the project schema was already committed.\n\nDatabase TLS is controlled by `DATABASE_URL`. Loopback URLs (`localhost`, `127.0.0.1`,\nand `::1`) default to `ssl: false`; add an explicit `sslmode` when the local server uses\nTLS. For a TLS connection with a self-signed certificate, set\n`SPFN_DB_INSECURE_TLS=1` to disable certificate verification. This opt-in never enables\nTLS by itself and `sslmode=disable` remains authoritative.\n\n### `spfn env`\n\nSchema-driven environment variable tooling (schema comes from a package's `envSchema`,\ndefault `@spfn/core`). Routes vars to the right file: `NEXT_PUBLIC_*` → `.env`/`.env.local`,\nserver vars → `.env.server`.\n\n| Subcommand | Description |\n|------------|-------------|\n| `env list` | List vars from the schema (`-g` groups by target file) |\n| `env stats` | Show variable statistics |\n| `env search <query>` | Search vars by key or description |\n| `env init` | Generate `.env` template files (`-e <env>` for per-env, `-f` to overwrite) |\n| `env check` | Check `.env` files against the schema (`-e <env>` for a full env chain) |\n| `env validate` | Validate `process.env` against the schema — for CI/CD (`-e <env>`, `-s` strict) |\n\nAll accept `-p, --package <pkg>` (`env validate` uses `-p, --packages <pkgs...>`).\n\n### `spfn key [preset]`\n\nGenerate cryptographically random secrets (base64url, 256-bit default).\n\n```bash\nspfn key                       # generic 256-bit secret\nspfn key auth-encryption -c    # preset key, copy to clipboard\nspfn key --list                # list presets\nspfn key gen -b 64             # raw value only, no metadata (alias of `key generate`)\n```\n\nPresets: `auth-encryption`, `nextauth-secret`, `jwt-secret`, `session-secret`, `api-key`.\nOptions: `-l, --list`, `-b, --bytes <n>` (1–128), `-e, --env <name>`, `-c, --copy`.\nThe command prints the value to stdout for you to paste into an env file — it does **not**\nwrite any file.\n\n### `spfn secret`\n\nUnified secret management: local secrets live in the OS keychain, deployed secrets in\nencrypted SOPS files. The runtime never sees a reference — `spfn dev` injects local\nvalues into the server process and GitOps injects them in production, so the app always\nreads plain `process.env`.\n\n| Subcommand | Description |\n|------------|-------------|\n| `secret set [key]` | Store a value (masked prompt). `--env local` → keychain; other envs → SOPS |\n| `secret list` | List declared secrets and their status per env (never prints values) |\n| `secret generate [key]` | Mint values for schema secrets with a `generate` strategy (`-a/--all`) |\n| `secret rotate [key]` | Rotate values; external secrets are flagged for manual reissue (`-a/--all`) |\n| `secret keygen` | Generate an age key pair for the SOPS no-cloud backend |\n| `secret recipients <add\\|remove\\|list> [age1…]` | Manage `.sops.yaml` recipients + re-encrypt |\n| `secret check` | Static lint — flag plaintext secret leaks |\n\nOptions: `-e, --env <env>` (`local` default; also `development`/`staging`/`production`),\n`-p, --package <pkg>` (schema source, default `@spfn/core`).\n\n**Local (keychain).** `spfn secret set DB_URL` stores the value in the OS keychain\n(macOS `security`, Windows Credential Manager via optional `@napi-rs/keyring`, Linux\nlibsecret) and writes a `secret:keychain:spfn_DB_URL` reference into `.env.server`. The\nreference is not sensitive; the real value never lands in the repo. `spfn dev` resolves\nand injects it. Note: injection happens only when the server is started via `spfn dev` —\nrunning the app another way (a bare `node`, tests) would see the raw reference, so use\n`spfn dev` locally (a runtime resolver for other runners is planned).\n\n**Deployed (SOPS).** `spfn secret set DB_URL --env production` writes the value into\n`secrets/production.enc.json`, encrypted by SOPS. The backend (age / GCP KMS / AWS KMS)\nis chosen by `.sops.yaml` creation rules — KMS needs no local key file (IAM + cloud\nauth), age is the no-cloud fallback (`secret keygen` + `secret recipients add`). Commit\nthe encrypted file; your GitOps step decrypts it into env at deploy time. `sops`/`age`\nare needed only for the deployed envs, never for local keychain use.\n\nSchema-driven: a secret declared with `envSecret({ generate: 'base64url32' })` can be\nminted/rotated automatically (`secret generate`/`rotate`); one without `generate` is an\nexternal value you paste in (`secret set`).\n\n### `spfn cloud`\n\nFree-tier management for apps deployed to your own **Vercel Hobby + Supabase Free**\naccounts: see the plan limits, watch live usage against them, keep the Supabase\nproject from pausing, and sync env vars/API keys. Account tokens and key values live\nin the OS keychain and never appear in command output.\n\n| Subcommand | Description |\n|------------|-------------|\n| `cloud link` | Connect accounts: Vercel access token + Supabase personal access token (masked prompt or `VERCEL_TOKEN`/`SUPABASE_ACCESS_TOKEN` env), pick the project on each side. Identifiers land in gitignored `.spfn/cloud.json`; tokens go to the keychain |\n| `cloud limits` | The free-plan limits (constants verified against the official docs, date shown) — works before `link` |\n| `cloud usage` | Current usage: Vercel billing feed (rolling 30 days), Supabase DB size + last-24h API requests |\n| `cloud status` | Usage measured against the limits on one screen; items at ≥80% get a migration warning |\n| `cloud keepalive` | Daily cron hitting `/api/backend/_core/health?detailed=true` (the detailed check runs a DB query, which is what prevents the ~7-idle-day pause). Vercel cron by default; `--github-actions --url <deployed-url>` for a workflow instead |\n| `cloud env pull` | Supabase keys → local: project URL + anon key into `.env.local`, service-role key into the keychain (`.env.server` gets a reference). `--db-url` also composes `DATABASE_URL` (prompts for the DB password) |\n| `cloud env push KEY…` | Push local env values to the Vercel project env by name. Values resolve from `.env`/`.env.local`/`.env.server`+keychain; everything is sent encrypted except `NEXT_PUBLIC_*` |\n\nFree-tier behavior worth knowing (also printed by `cloud limits`): Vercel Hobby\nallows one cron at most once per day and pauses a capability when its rolling\n30-day limit is hit (it never bills); Supabase Free quota is summed per\norganization (except DB size), and org totals like egress/MAU have no public API —\n`cloud status` shows per-item numbers and points at the dashboard for the rest.\nHobby is limited to personal, non-commercial use — a monetized app needs Vercel Pro\nor a migration off the free tier.\n\n### `spfn setup icons`\n\nInstall and configure SVGR for SVG-as-component imports (Next.js only).\n\n### `spfn ops`\n\nInvoke a running app's ops surface — the routes it exposes with\n[`createOpsRouter`](../core/README.md#how-do-i-operate-the-app-from-the-terminal).\nCommands are discovered from the app's `GET /_ops/_manifest`, so nothing is generated or\nconfigured locally.\n\n```bash\nspfn ops list --app https://api.example.com           # what can this app do?\nspfn ops call listSignups --query limit=50            # invoke a command\nspfn ops call refundOrder --param id=42 --data '{\"reason\":\"duplicate\"}'\nspfn ops call listSignups --describe                  # what does it take?\n```\n\n`--describe` answers from the manifest's schemas, so the usage is the running app's own,\nnot a local copy that can drift:\n\n```\nlistSignups  GET /_ops/signups\n\n  query parameters (--query)\n    limit  number  optional  1–100, default 10\n    state  string  required  one of: pending, approved\n\n  Invoke: spfn ops call listSignups --query limit=<value>\n```\n\nAdd `--json` for the raw JSON Schema. The server still validates every call — `--describe`\nreports what it will accept, and the app's answer decides.\n\n#### Capability modules\n\nAn app can also mount ops commands a package described, with\n[`defineOpsModule`](../core/README.md#can-a-package-ship-ops-commands). Those commands are\nnamed `<module>.<command>` and carry a summary, an effect and their scopes, so the CLI can\ngroup them and say what each one does. From **0.3.0-beta.5**:\n\n```bash\nspfn ops modules                                      # what is mounted, and from where\nspfn ops modules --json                               # same, machine-readable\nspfn ops list --module ledger                         # just that module's commands\nspfn ops call ledger.compact --yes                    # effect=destructive needs this\n```\n\n`spfn ops call` refuses a command the app declared `effect: destructive` unless `--yes` is\ngiven. It refuses the same way when the app announced module metadata this CLI could not\nvalidate: the effect is then unknown rather than absent, and an unknown effect is not\ntreated as a safe one. The command still lists — an operator reading a short list would\notherwise take it for the app's whole surface — and the warning names what was dropped.\n\nEverything in the manifest is the app's own text written to your terminal, so control\ncharacters in it are replaced before anything is printed.\n\nThe app URL comes from `--app` or `SPFN_OPS_APP`, and it must be **https** — every one of\nthese commands carries a secret, and `token issue` carries an administrator's password.\n`http` is accepted only against `localhost`, `127.0.0.1` and `::1`, where there is no\nnetwork to listen on. A URL with a base path (`https://example.com/api`) is kept whole:\nboth the ops calls and the administrator sign-in go through it.\n\nThe ops token resolves `--token` → `SPFN_OPS_TOKEN` → macOS keychain, and its lifecycle is\nmanaged with:\n\n```bash\nspfn ops token issue --name laptop --scopes 'waitlist:read' --app <url>\nspfn ops token issue --name ci --scopes '*' --no-expiry --to-keychain --app <url>\nspfn ops token list --app <url>\nspfn ops token revoke <id> --app <url>\nspfn ops token store --app <url>      # hidden prompt → keychain\nspfn ops token forget --app <url>\n```\n\n`issue`, `list` and `revoke` call the app's own admin-only routes, so the CLI prompts for\nan administrator's email and password first — no database access. Only the token's SHA-256\nhash is ever stored, so the secret exists in the clear once, in the issuance answer;\n`--to-keychain` delivers it without printing it.\n\n`--expires-days` takes 1 to 36500 days (about a century), or `--no-expiry` for a token that\nnever expires. The upper bound is there because a day count becomes a date by arithmetic,\nand a big enough count produces an invalid date rather than a distant one.\n\nSPFN authenticates a request with a JWT the client signs itself, so the CLI generates a key\npair for the command, signs the one call it needs, and revokes the key before the command\nends — on the failing path as much as the succeeding one. Nothing is written to disk.\n\nThese three commands need `@spfn/auth` **0.3.0-beta.2 or later** installed in the app: the\nops token lives in its schema, and the signing comes from its `@spfn/auth/crypto` entry\npoint, which that release added. The CLI does not depend on the package in any form — it\nloads it from the app at run time, and tells a missing package apart from one too old to\ncarry the entry point, so the message names the thing to do.\n\nBecause the package is the app's, it is resolved **from the directory the command runs in**.\nRun `spfn ops token` from the app's root; running it elsewhere reports the package as\nmissing, and the message names the directory it looked in.\n\n### `spfn kit`\n\nInstall, verify and update a **Superfunction Kit** — a licensed product that ships as a\nsigned release: an SPFN scaffold, an exact dependency graph, files the Kit manages on the\ncustomer's behalf, and its own tooling. `spfn kit` is the generic installer for all of\nthem. It hard-codes no product: which Kit, which packages and which files are managed all\ncome from the signed setup descriptor and release manifest, and every judgement specific to\na product comes from that product's own `/tooling` entry, which the CLI *discovers* among\nthe packages the manifest installs.\n\nThere is one binary and one command group. No Kit gets its own CLI.\n\n| Subcommand | Description |\n|------------|-------------|\n| `kit install <setup-url> <dir>` | Install the newest entitled stable release into a new or empty directory: verify the setup link, activate the license, create the SPFN base, materialize the managed files, install the exact graph, run migrations, run the gates, write the lock and make the first commit |\n| `kit restore` | Reinstall the exact release a clean clone records, using the committed lock and this machine's credential. Rewrites no source file |\n| `kit status` | Read-only report: installed release, activation, credential, managed drift, migrations, open operation. Anything the CLI could not determine is reported as `unknown` |\n| `kit check` | Read-only contract check with stable diagnostic codes, the path each is about, and the command that would fix it |\n| `kit plan [--to <release>]` | What an update would change, with the approval digest. Writes nothing |\n| `kit update [--to <release>] [--approve-plan <digest>]` | Update through the signed update edges, then gates, lock and commit |\n| `kit resume [operation-id]` | Continue an operation that stopped — after re-reading the project and confirming the recorded checkpoints still hold |\n| `kit abandon [operation-id]` | Record that an operation will not be finished, and report what it left behind. Deletes and rolls back nothing |\n\n**Secrets never travel as arguments.** There is no `--license-key <value>` option, by\ndesign: a secret on a command line is in the process table, the shell history and every log\nthat records an argv. A key arrives either through a masked prompt or through\n`--license-key-stdin`. Once activation succeeds the key is discarded and only the local\ncredential the server issued remains, in the OS keychain under its own service\n(`superfunction.spfn.kit`), separate from the env secrets `spfn secret` manages. The\nshort-lived registry session is handed to the package-manager child process in its\nenvironment and nowhere else, as npm configuration addressed to the registry it opens\n(`npm_config_//host/npm/:_authToken`). The committed `.npmrc` maps the release's scopes to\nthat registry and carries no credential at all — not a value, and not a variable naming\none: pnpm 10 and later ignore a credential that reaches them from a project `.npmrc`, because that\nfile is committed and a hostile edit could send the secret to another registry.\n\n**`--json` is the agent surface.** Every subcommand takes it, prints newline-delimited\nevents with a stable `code`, `phase` and safe next command, and never opens a prompt. A\nJSON-mode command that needs a secret exits `2` and reports `input: masked-stdin`.\n\n| Exit | Meaning |\n|-----:|---------|\n| `0` | Completed, or an idempotent no-op |\n| `2` | Waiting for a person: a secret on stdin, or an exact plan approval |\n| `3` | Recoverable failure — `spfn kit resume` can continue it |\n| `4` | Refused before any write: drift, compatibility, entitlement or a busy project |\n| `5` | An external service could not be reached |\n| `10` | This CLI and the release speak different protocol versions |\n\n**What an install does not do.** It stops at a verified local repository: no cloud account\nis linked, nothing is pushed, nothing is deployed. That is a checkpoint for the agent to\ncontinue from, not a finished product install.\n\n**Approval is exact.** A breaking release or an external effect requires the digest of the\nvery plan being run (`--approve-plan`), which can only be obtained by reading the plan.\nThere is no blanket `--yes`.\n\n**One operation at a time.** A project holds a filesystem lock while a write operation\nruns. A lock left behind by a dead process is not simply deleted — it is reconciled against\nthe operation journal, and reclaimed only when that journal agrees the work is over or the\ncaller is resuming exactly the operation it belongs to.\n\nGenerated state lives under `.spfn/`: `license.json` and `kit-lock.json` are committed and\nhold public identifiers only; `operations/` is per-machine and gitignored.\n\n**Exactness is proved, not assumed.** Before the package manager runs, every package the\nsigned manifest names is fetched through the licensed registry proxy and checked twice: the\nversion's integrity against the digest the manifest pinned, then the bytes that actually\narrived against that same digest. The first says the registry agrees with the release; only\nthe second says the file on this disk is the file the release described. The project's base\narrives the same way — one scaffold archive, verified against the manifest's integrity\nbefore a single file is expanded, and refused outright if it names a path that would leave\nthe project directory or overwrite a file that is already there.\n\n**An artifact is written as what it is.** A managed bridge is a file, and its\nbytes are the file. The scaffold and the Agent Pack are archives, and the CLI expands them —\nthe pack into `.spfn/agent-pack/`, because a release's guides, schemas and checklists are a\ndirectory and belong to the release rather than among customer source. Both are proven\nagainst the manifest's digest before they are opened, and both refuse an entry that is a\nsymlink or that would be written outside the project. What the pack expanded to is recorded\nin `.spfn/agent-pack.json` so drift can compare the tree file by file.\n\n**A materialize that stopped can be resumed.** Coming back to a half-written tree compares\nrather than overwrites: a file already holding exactly the bytes the release would write\ncounts as done and the resume continues past it, and a file holding anything else is refused\nwith that file left exactly as it was found. An update is the one operation that replaces —\nand only after drift has already been refused, so every managed file is known to hold the\nprevious release's bytes rather than somebody's edit.\n\n**Release files are paid content, and are fetched as such.** Managed files, agent packs and\nthe scaffold archive go out with the same bearer the private registry takes, and a refusal\ncomes back in the same vocabulary — so \"this machine's credential has been replaced\" never\narrives disguised as \"that file is missing\". The setup descriptor, the release catalog and\nthe manifests stay public and carry no bearer: they are locators and promises about a\nrelease, and nothing anyone paid for is inside them.\n\n**Credentials rotate before they expire, not after.** A local credential opens the registry\nfor a limited window. When that window is close to closing, the CLI asks the control plane\nfor a replacement and writes it to the keychain *before* using it — a rotation that was not\nrecorded can never have happened. A credential another machine has already replaced is\nreported as stale rather than as missing: the two mean different things, and only one of\nthem means someone else's machine changed.\n\n**Nothing secret is ever an argument.** That now includes the keychain write itself: the\n`security` command goes in on stdin and the value goes in hex-encoded, so a local `ps` sees\n`security -i` and nothing else. It also means a keychain item can hold a value a quoted\ncommand line could not have carried at all, such as a multi-line key.\n\n**Machine-local state stays local.** `spfn kit` writes `.spfn/.gitignore` covering\n`operations/` the moment it creates that directory — in its own directory, never in the\nproject's root `.gitignore`, which belongs to the customer. Without it a release whose\nscaffold forgot the rule would commit an operation journal and a lock naming the machine's\nhostname and process id.\n\nAll ten places `spfn kit` touches the outside world are real implementations now. Six reach\nthe network or a release artifact — signed catalogs and manifests, licence activation,\ncredential rotation, the registry proxy, release artifacts and the scaffold — and four run\nsomething on this machine: `pnpm install --frozen-lockfile`, the migrations through\n`spfn db status --json` and `spfn db migrate`, the release's gates as the project's own\nscripts, and Git for `init`, `status` and the first commit. Nothing else: no remote is\nadded and nothing is pushed.\n\nWhat still stops a real install is the trust root. The list of keys this CLI will accept a\nsigned release from is **empty in this build**, because the release signing key is not\npublished yet — so every signed document fails verification with `KIT_MANIFEST_INVALID`,\nwhich is the correct behaviour for a CLI that cannot yet tell a real release from a forged\none. `SPFN_KIT_TRUSTED_KEYS` supplies a list for a staging run or a release rehearsal, as a\nJSON array of `{ \"keyId\", \"publicKey\" }` with base64 SPKI keys. It *replaces* the built-in\nlist rather than adding to it.\n\n`SPFN_KIT_SETUP_ALLOWLIST` names the origins a setup link may be fetched from, as a\ncomma-separated list of bare origins. It follows the same rule as the key list — it\n*replaces* the shipped one, so it can only ever narrow what this CLI will fetch a descriptor\nfrom — and it is the one place plain `http` is accepted, for `localhost` and `127.0.0.1`\nonly, matched literally so a name like `127.0.0.1.example.test` is not one of them. A path,\na query, a fragment, userinfo, or a non-loopback `http` entry makes the whole variable\ninvalid rather than being quietly trimmed. A setup link may carry an explicit port, which is\nwhat lets a certification environment serve one; the link itself must still be `https`\nunless its origin is loopback *and* on the list.\n\n`SPFN_KIT_CONTROL_PLANE_URL` and `SPFN_KIT_REGISTRY_URL` point a project that has *not yet\nbeen activated* at a staging or local control plane. They are ignored once it has: the\naddresses a checkout recorded when it was licensed are the addresses it keeps, so a stray\nshell variable cannot move an activated project onto another service.\n\n`status` and `check` never depend on any of it: an unreachable remote must not hide local\nstate, so they read the lock, the license file, the drift and the open operation from disk\nand report everything else as `unknown`.\n\nThe command surface, journal, lock, keychain, verification and the whole install →\nactivation → exact frozen install → restore path are exercised in `test/kit/`: the remote\nhalf against a loopback HTTP fixture answering with the licence service's and the registry\nproxy's own statuses and error bodies, the scaffold against real archives on real temporary\ndirectories, and one integration case that runs the whole install with pnpm resolving from\na registry on 127.0.0.1, the gate as a real child process and a real Git commit at the end.\n\n---\n\n## Scaffold structure\n\nBoth modes produce the core full-stack skeleton:\n\n```\nsrc/\n  app/api/rpc/[routeName]/route.ts   # RPC proxy — re-exports { GET, POST } from @spfn/core/nextjs/server\n  generated/route-map.ts             # generated by codegen (run `spfn codegen run` if missing)\n  lib/\n    api-client.ts                    # createApi<AppRouter>() — the type-safe client\n  server/\n    router.ts                        # defineRouter({ ...routes }) → export type AppRouter\n    server.config.ts                 # defineServerConfig().port(8790).host('0.0.0.0').routes(appRouter)\n    config/env.config.ts             # environment schema\n    entities/                        # Drizzle tables (example.entity.ts, config.ts)\n    repositories/                    # BaseRepository subclasses (example.repository.ts)\n    routes/                          # route DSL handlers: root.ts, health.ts, examples.ts\n    tsconfig.json, tsup.config.ts\n.spfnrc.ts                           # codegen config (route-map generator)\nspfn.config.js                       # deployment config (subdomain/region/domains) — committed\ndocker-compose.yml                   # Postgres + Redis (dev)\ndocker-compose.production.yml\nDockerfile, .dockerignore\nnext.config.ts                       # patched when auth is enabled: /_auth/:path* rewrite → SPFN API\n.env.local.example                   # committed reference — Next.js keys, placeholder values\n.env.server.example                  # committed reference — backend keys, placeholder values\n.env.local                           # generated, gitignored (values loaded by Next.js)\n.env.server                          # generated, gitignored (server secrets: DB, cache)\n```\n\nThe reference is split by consumer, never combined, and a key's file follows who\nreads it rather than whether it is secret:\n\n- `.env.local` / `.env.local.example` — the Next.js process (server routes, proxy,\n  SSR) and, through `NEXT_PUBLIC_*`, the browser: `SPFN_API_URL`, `SPFN_APP_URL`,\n  `SPFN_AUTH_SESSION_SECRET`, `SPFN_AUTH_SESSION_TTL`, `SPFN_AUTH_CSRF`.\n- `.env.server` / `.env.server.example` — the SPFN backend only, never loaded by\n  Next.js: `NODE_ENV`, `SPFN_LOG_LEVEL`, `DATABASE_URL`, `CACHE_URL`, `DB_POOL_*`,\n  and every OAuth, token, and admin secret.\n\nSo the session secret is secret and still lives in `.env.local` — the Next.js proxy\nverifies cookies with it — while `DATABASE_URL` never appears there at all.\n\nFull mode overlays the Prototype-to-Production baseline:\n\n```\nsrc/\n  app/login/page.tsx                 # provider login starter UI\n  app/auth/callback/page.tsx         # OAuth session handoff\n  i18n/catalogs.ts                   # application-owned en/ko starter messages\n  i18n/server.ts                     # configured server-side i18n registry\n  server/routes/ops.ts               # ops routes under /_ops + the manifest `spfn ops` reads\n  server/router.ts                   # authRouter + opsRouter + global authenticate\n  server/server.config.ts            # createAuthLifecycle + i18n startup\nnext.config.ts                       # /_auth/* callback rewrite\n.env.local                           # generated auth session secret (gitignored)\n.env.server                          # auth keyring (gitignored)\n```\n\nThe full RPC proxy imports the auth interceptor; it merges no route map, because the\ngenerated one already carries the routes of the packages `.packages()` mounts. Internal auth\nkeys are generated with cryptographic randomness in ignored local env files;\n`.env.local.example` and `.env.server.example` contain placeholders only. Add only the provider keys you use, then run\n`pnpm spfn db migrate`.\n\nOperating the app is [`spfn ops`](#spfn-ops), not a dashboard: the starter\n`src/server/routes/ops.ts` exposes two read commands, and `spfn ops` discovers them from\nthe running server's manifest. Issuing the first token signs in as an administrator, so\nuncomment `SPFN_AUTH_ADMIN_ACCOUNTS` in `.env.server` and restart before\n`spfn ops token issue`. The ops surface adds no dependency — the router comes from\n`@spfn/core/ops` and the tokens from `@spfn/auth`.\n\n`init` also patches `package.json` (scripts: `spfn:dev`, `spfn:server`, `spfn:next`,\n`spfn:build`, `spfn:start`, `codegen`; deps: `@spfn/core`, `spfn`, `drizzle-orm`,\n`@sinclair/typebox`, `concurrently`, etc.; full also adds `@spfn/auth`, `@spfn/i18n`,\nauth's `@spfn/notification` peer, and a Node `>=20.0.0` engine when the\nexisting range still permits older Node versions), excludes `src/server` from the root\n`tsconfig.json` (Vercel compat), and adds `.spfn/`, `.env.local`, `.env.server` to\n`.gitignore`.\n\n### Route DSL (the current architecture)\n\nRoutes are defined with the `route` builder and collected by `defineRouter`. There is no\nseparate \"contract\" layer — the router's type *is* the contract; the client infers from it.\n\n```ts\n// src/server/routes/examples.ts\nimport { route } from '@spfn/core/route';\nimport { Type } from '@sinclair/typebox';\n\nexport const getExample = route.get('/examples/:id')\n    .input({ params: Type.Object({ id: Type.String() }) })\n    .handler(async (c) =>\n    {\n        const { params } = await c.data();\n        return { id: params.id };\n    });\n```\n\n```ts\n// src/server/router.ts\nimport { defineRouter } from '@spfn/core/route';\nimport { getExample } from './routes/examples';\n\nexport const appRouter = defineRouter({ getExample });\nexport type AppRouter = typeof appRouter;\n```\n\n```ts\n// src/lib/api-client.ts\nimport { createApi } from '@spfn/core/nextjs';\nimport type { AppRouter } from '@/server/router';\n\nexport const api = createApi<AppRouter>();\nconst example = await api.getExample.call({ params: { id: '123' } });\n```\n\nClient calls go through the Next.js RPC proxy (`/api/rpc/[routeName]`), which forwards to\nthe SPFN API with cookie forwarding and interceptors, resolving routes via the generated\n`route-map.ts`.\n\n---\n\n## Deployment\n\nTwo targets, both shipping from the same repository.\n\n**Vercel — serverless, one origin, no container.** Run `spfn add vercel` (above) and\ndeploy. Frontend and backend share a single Vercel origin. One caveat: the in-process job\nworker does not run there, so enqueuing works but nothing drains the queue — schedule a\nroute that processes a batch (Vercel Cron), or run jobs on an always-on target.\n\n**Always-on — a long-lived process.** `spfn build` then `spfn start`, or the generated\nDocker files. Background jobs, WebSocket events and the periodic database health check all\nneed this path.\n\n```bash\n# Build + run locally\npnpm spfn:build\npnpm spfn:start                 # Next.js :3790 + SPFN API :8790\n\n# Docker (single image runs both)\ndocker compose -f docker-compose.production.yml up --build -d\n```\n\nThe Dockerfile (`node:22-alpine`) installs with `pnpm --frozen-lockfile`, runs\n`pnpm run spfn:build`, prunes dev deps, exposes `3790`/`8790`, health-checks\n`http://localhost:8790/_core/health`, and starts via `pnpm run spfn:start`.\n\nRun migrations against the target DB before/with deploy:\n\n```bash\ndocker exec <container> npx spfn db migrate\n```\n\nForget, and the container will not come up: the server refuses to serve while migrations\nare pending and prints which ones. That is the intended failure — a deploy that stops at\nthe gate is one that never served the 500s. If a rollout has to proceed anyway, set\n`SPFN_ALLOW_PENDING_MIGRATIONS=true` in the container's environment; the pending list is\nlogged as a warning instead.\n\nA readiness probe can catch the same drift on a cluster the local gate never sees. When\ndetailed health is on, `GET /_core/health` carries a `migrations` object with per-package\napplied/pending counts — assert `migrations.pending === 0` in the probe to hold a\ndrifted pod out of rotation. Reporting drift does not, by itself, change the overall\nhealth `status`.\n\n`spfn.config.js` (committed) configures the managed `*.spfn.app` deployment: `subdomain`,\n`region` (`us` default, `kr`, …), `customDomains`, and non-secret `env`. Its `SpfnConfig`\ntype ships from `spfn` (`@type {import('spfn').SpfnConfig}`).\n\n---\n\n## FAQ\n\n**`create` or `init` — which one?**\n`create` starts a new project: it runs `create-next-app` with SPFN's flags and then runs\n`init` inside it. `init` adds SPFN to a Next.js app that already exists. If you built\nsomething with an AI coding agent and now want a real backend under it, `init` is the one.\n\n**`bare` or `full`?**\n`full` is the recommended baseline: core, auth, i18n and the ops surface wired together, so\nyou get a working authenticated app on day one, operable from the terminal. `bare` is core only — the architecture with nothing\nelse decided. Automation should always pass `--mode` explicitly, because a `--yes` run\nwithout one still produces `bare` for backward compatibility.\n\n**Why doesn't my server restart when I edit a file?**\nBecause hot reload is off by default. `spfn dev --watch` restarts the server on `src/server`\nchanges. Next.js reloads on its own either way.\n\n**Do I have to use Docker?**\nNo. Vercel is a first-class target and needs no container. Docker is the always-on path,\nand `docker compose up -d` is also the convenient way to get PostgreSQL and Redis locally —\npointing at your own PostgreSQL works too. PostgreSQL itself is not optional.\n\n**Which Node version do I need?**\n20 or later, in both modes. `@spfn/core` runs on `@hono/node-server` 2, which declares\nthat floor, and full mode's `@spfn/auth` needs the same.\n\n**When do I have to run codegen by hand?**\nWhenever routes change outside `spfn dev`, which runs a codegen watcher for you. A stale or\nmissing `src/generated/route-map.ts` makes the RPC proxy answer 404 — run `spfn codegen run`\nand commit the result.\n\n**Where do secrets go?**\n`.env.server` (gitignored, server-only) for backend values, `.env.local` for the session\ncookie secret that the Next.js runtime itself needs. Never `spfn.config.js` — that file is\ncommitted.\n\n## Pitfalls\n\n- **`.env.server` is gitignored and server-only.** Put backend-only DB/secret values there,\n  not in `.env` (committed). Full mode's session-cookie secret is the intentional exception:\n  it lives in gitignored `.env.local` because Next.js must encrypt the cookie. There is no\n  `.env.server.local`. `spfn init` generates `.env.server`; put DB/secret values there.\n  Load order is the standard dotenv chain ending with `.env.server`.\n- **Never commit secrets in `spfn.config.js`.** It's checked into Git; its `env` block is\n  for non-sensitive values only. Use CI/CD secret management for credentials.\n- **`spfn dev` does not hot-reload by default.** Add `--watch` to restart on `src/server`\n  changes.\n- **`spfn start` needs a prior `spfn build`.** It hard-fails without `.spfn/server`,\n  `.spfn/prod-server.mjs`, and `.next`.\n- **Destructive DB commands are guarded.** `db drop` double-confirms (and verifies the\n  target); `db push` applies the selected statements in one transaction and withholds\n  destructive ones unless `--force`/confirmed. Prefer `db generate` + `db migrate` for\n  production; `db push` is dev-only.\n- **`spfn add` requires a scoped package name** (must contain `/`) and only applies\n  migrations when `DATABASE_URL` is set — otherwise it skips with a hint. The single\n  exception is `spfn add vercel`, a built-in target rather than a package.\n- **Package manager is auto-detected from lockfiles.** If detection is wrong (e.g. mixed\n  lockfiles), pass `--pm` to `create`. In a pnpm workspace, `create` installs from the\n  workspace root, not the new project dir.\n- **Make scaffold mode explicit in automation.** Interactive runs recommend `full`, while\n  historical `--yes` calls without `--mode` remain `bare`. Pass `--mode full` or\n  `--mode bare` so scripts state their intended architecture.\n- **Regenerate the route map after route changes outside dev.** If\n  `src/generated/route-map.ts` is missing or stale, run `spfn codegen run` — the RPC proxy\n  depends on it.\n\n---\n\n## Related\n\n- [`@spfn/core`](../core/README.md) — server, route DSL, codegen, db, client runtime.\n- [`@spfn/auth`](../auth/README.md) — what `--mode full` wires in for accounts and roles.\n- [`@spfn/mcp`](../mcp/README.md) — an agent-facing MCP endpoint, added on demand with\n  `spfn add @spfn/mcp`.\n- Project root README — framework overview and getting started.\n","readmeFilename":"README.md"}