{"_id":"@_tc/template-core","_rev":"113-d12323ef277b3679a89c0b049be55161","name":"@_tc/template-core","dist-tags":{"latest":"0.3.2"},"versions":{"0.0.1":{"name":"@_tc/template-core","version":"0.0.1","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"7acfd0be78a3112750615a225ac8a47852748959","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1.tgz","fileCount":177,"integrity":"sha512-FC+NDL9YBmag1+N0YwqT7QpB4wULVEpYCyTbraBomZ9G9xNs+nm5ju2oLt60fKmm4pzQ6NzinGBa5IhhC6UDxQ==","signatures":[{"sig":"MEYCIQCb+Ny9OIid97RaDrHqgJrrNBQg3R1tKs/4jEa6iUktWgIhAIins311mk0AVBK+mZyBR/Mm8GdkkzRbm1wfr5zYpaS4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116075},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"gitHead":"409aaddae6c0fb5b76dc90f19e6219046e3280d4","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","glob":"^10.3.10","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1_1775834589105_0.2499300847876209","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.1":{"name":"@_tc/template-core","version":"0.0.1-bate.1","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.1","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"cf1564430a9842d2b3a7319594abd2c850ea80f9","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.1.tgz","fileCount":177,"integrity":"sha512-bgDFdhD6b0t12OmardNcpHo5sXA0PLVdlCSIXlhxl0VgnIBOqCse5EK4w9vhpZ6MCGxazEpyH/ik82Xq6jYXIw==","signatures":[{"sig":"MEUCIHvzf1emR6HirkuLDch6vi6j+BxQgiItiPFgM8ir36GrAiEAmeZjNNvRu8eo09449ZQZQ6EPbuZL1JnU9giq/MTuRKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116508},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"gitHead":"409aaddae6c0fb5b76dc90f19e6219046e3280d4","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","glob":"^10.3.10","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.1_1775836368688_0.6209056654685174","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.2":{"name":"@_tc/template-core","version":"0.0.1-bate.2","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.2","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"60c9d947b531c757cb2b2d872589b639efdf29bd","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.2.tgz","fileCount":492,"integrity":"sha512-uJBVR7cxADtudxNORCF2cAgtpwPilgqs1jA0sZc2x81FrwL0u513KubX0BzX3LD9RFXczU6XJ51GUoVt1IA/wQ==","signatures":[{"sig":"MEQCIBjzN77WBtqEx7H9b1R3aURSphtxTtIVSFUAGFI0GpigAiB316viBGx5AzjGxDpPZKdjL9pO5KcrxGIeyRwBTR4V0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":580243},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"gitHead":"b1d47b92399b6a4254b1c41d9452af88b6f645b7","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","vite":"^8.0.8","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.2_1776096082541_0.5202309168922632","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.3":{"name":"@_tc/template-core","version":"0.0.1-bate.3","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.3","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"71f1211e6697f3b4dcf81fa373c06a0a5e8a5a4a","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.3.tgz","fileCount":499,"integrity":"sha512-MaYpmaU5NMw93u/q7gyw+rwg/mGKZG8frTaTeqaaDNlmeTDP9RCvdYWPkhR05HWt+yghTR/th/W5Bv5panPdYg==","signatures":[{"sig":"MEYCIQCQinKxLDUM6CwVEfSV//5p89C5GMdjC4sviyN6mm/Z4gIhAMOqtUX4jw7bFt3My2qvQXqso6EqWIsY37ZdqFXTt3X3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":581575},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{"./vite":{"types":"./app/vite/index.d.ts","import":"./app/vite/index.js"}},"gitHead":"b1d47b92399b6a4254b1c41d9452af88b6f645b7","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","vite":"^8.0.8","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.3_1776097319513_0.891986313345213","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.4":{"name":"@_tc/template-core","version":"0.0.1-bate.4","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.4","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"341a02547a9ec74b2ac40c40018c429c22bd4788","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.4.tgz","fileCount":499,"integrity":"sha512-t88j3Pf7AbnYoXBXDixdwJGy0gt/aK7anwqWd0gGfuYkT4K1gJu7xOS7I9V/AFksWo2g4xOwdUJ4QP+u9HhnRQ==","signatures":[{"sig":"MEUCIQDAzpD82/Racm+ABUduqKl3JrmB07ra7lA5UJ+GlkE8OwIgGgCbJLne/zF2CJou9OL46J9DnJvLossn4X47QG6XIfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":581712},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{"./vite":{"types":"./app/vite/index.d.ts","import":"./app/vite/index.js"}},"gitHead":"b1d47b92399b6a4254b1c41d9452af88b6f645b7","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","vite":"^8.0.8","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.4_1776097893537_0.6794483007614129","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.5":{"name":"@_tc/template-core","version":"0.0.1-bate.5","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.5","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"672bfc0e9977823e573436ccadcd2043edb331e6","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.5.tgz","fileCount":492,"integrity":"sha512-xsR9sf7wYbfCwI3NF7rXWGSg2e0rlGHXqhekBhbAWYKgUtP8qkMfyvgYikO6uusnIDhSOPsO2b7YbmJl36NiAA==","signatures":[{"sig":"MEYCIQCEX5uvZCSNdk5Eqw9kmfI7Tj14umlp4xADydCUns2QBwIhAJeiuGwnIZ5s0KvNTkT1XRUdgJ0HugwKqyX4jYktkaHb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577453},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{"./vite":{"types":"./app/vite/index.d.ts","import":"./app/vite/index.js"}},"gitHead":"b1d47b92399b6a4254b1c41d9452af88b6f645b7","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","vite":"^8.0.8","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.5_1776099066182_0.4316928320079758","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.6":{"name":"@_tc/template-core","version":"0.0.1-bate.6","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.6","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"bcaf7cf1fd6403c30932900f6358e5a2c27d7be7","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.6.tgz","fileCount":492,"integrity":"sha512-15/pnSqnvaydTM2g8IeAofmJRaVKFCc/FTQ3bJx8+nECTyRC1LlpqIwQOBy+iQhOnOOkftvcDM1sYg0xWXhwvg==","signatures":[{"sig":"MEQCIGOQ7i9zuSgOLL5I86fs65HVYyfmb2a+xqyo05MTkRhiAiBfdaTLDEZ9qnj9Jk3rd/C+xCa1A2xBtAw9mt+ijnTvyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577493},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{"./vite":{"types":"./app/vite/index.d.ts","import":"./app/vite/index.js","require":"./app/vite/index.js"}},"gitHead":"b1d47b92399b6a4254b1c41d9452af88b6f645b7","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","vite":"^8.0.8","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.6_1776099465210_0.6234214141993841","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.7":{"name":"@_tc/template-core","version":"0.0.1-bate.7","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.7","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"be319a7a1dae3de2022a485e5e0e836ac87ffd1e","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.7.tgz","fileCount":508,"integrity":"sha512-DSL5VaGq9Wc2RFBnXWVvNX7NcgQ4ea2PpLUuRi2GAECgd7yvFNq1n+vKoANaUD+jNY+xpwYFmQmado9hDVSaEg==","signatures":[{"sig":"MEUCIFPyXjUcgFrv/2dRVHI+VIJJjJy85LFKRHKKTtv1MnjiAiEAg6zRUZ1KT74oTFsQYcHjebyX5c1XctejBcJ/vnbdsZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":580654},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.js"},"./vite":{"types":"./app/vite/index.d.ts","import":"./app/vite/index.js","require":"./app/vite/index.js"}},"gitHead":"b1d47b92399b6a4254b1c41d9452af88b6f645b7","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","vite":"^8.0.8","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2","@_tc/template-core":"link:dist"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.7_1776147547707_0.854528114122042","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.8":{"name":"@_tc/template-core","version":"0.0.1-bate.8","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.8","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"e473604f89dce0ba2ca7d278ac7471eb54b6daa3","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.8.tgz","fileCount":373,"integrity":"sha512-EVbA4TLwlsJIcsBP+vziQS6d8nx+55OCPg8gyG83n8+qLUm1SffVlI0L2z+MpRy11HaR4pBhKC/TthYi6GPRxQ==","signatures":[{"sig":"MEUCIA7aPgz3GrAqzb0fCZBudcGB4Fd+xV5TnjMlvllsTfHgAiEA35/2hpZsq7sYNQ7TSWyleh99W5805hs/oVPIv3zg6Rk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380178},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.js"},"./vite":{"types":"./app/vite/index.d.ts","import":"./app/vite/index.js","require":"./app/vite/index.js"}},"gitHead":"b1d47b92399b6a4254b1c41d9452af88b6f645b7","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","vite":"^8.0.8","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","lodash":"^4.17.21","koa-router":"^12.0.1","@types/node":">=18.0.0","koa-nunjucks-2":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.8_1776148277886_0.892272880367853","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.9":{"name":"@_tc/template-core","version":"0.0.1-bate.9","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.9","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"9153f8a170198472993e711823ace7e5135f65ca","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.9.tgz","fileCount":334,"integrity":"sha512-RwW+EDZgVdEuSn6/R4LDrYYgiguCntbj6nee+M2K/pI4/+EBE5sdzMK7w31qHGOETKwyS+Wmr92r+BSsE+wJ9g==","signatures":[{"sig":"MEQCIAe0NNPP7aAHdD9Iba3/XgPZS48uayuXRZV0jemgwXG+AiAYjs8Sls8As7Lm1s1vxGvqUnUF6LKNKQBnzztxzLj8lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364109},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.9_1776679085781_0.5406377551996868","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.10":{"name":"@_tc/template-core","version":"0.0.1-bate.10","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.10","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"4bd3a9a6abd89a4d7e783f99c60d4b8dc9cfeefe","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.10.tgz","fileCount":338,"integrity":"sha512-8WmKEfq3HJNKUKm5SIEOMxy6XK2HX3VwbAAeIZ+6WrNy0Snqk6eXIUiGyA0UzPi4043V62QWfMwgp2fR7LukVQ==","signatures":[{"sig":"MEUCIQDFmeReMxNg6TtV530KRyxGIxe0p5F7VRhKotc9gi/LJwIgW8K+M5Skgzvw/CtWzitKyub7Zx7YdgFB7ytDK9IAwK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364792},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","vite-plugin-html":"^3.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.10_1776679439795_0.23249305296207634","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.11":{"name":"@_tc/template-core","version":"0.0.1-bate.11","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.11","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"ef330b344f8efec6030e7c6ae13a63cc513af105","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.11.tgz","fileCount":338,"integrity":"sha512-HcQW84rVuiVzRTUwlKwJlkFL71O93YLeqPP5qghiXUkCthGEGeU5MiE9JjPyTmaG4iGhrCZtgtCpqouV9F0NMg==","signatures":[{"sig":"MEUCIQDBwLxwrEuB5VFfL8+7SOQ64OR28QgGYtPH8uHp2qmm8AIgYK+FerCEtIsKJX0JSOY5K8I/ERx4D02OrBoihCwzGXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364852},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.11_1776679635791_0.6606652455644648","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.12":{"name":"@_tc/template-core","version":"0.0.1-bate.12","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.12","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"a05fa26bcf37ed6d0a3cf1723186d1c7567ca38d","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.12.tgz","fileCount":338,"integrity":"sha512-rO9yE4g//9piThMN7PJ6Av8gpvptYQzGIJKFGnEOAsnHnFXyagD7GjgbeCGtzTCTO/Lfei6EFAHAQNvQb/SNUg==","signatures":[{"sig":"MEUCICmRuthUiSS6aAqaQs4rhLAOcNP+/6p+NL3BssgpqHVoAiEA9Fr4QA2uioYYkFYzjQqtu4qGeORz/V/kRgTiSEVmhc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365158},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.12_1776703307734_0.8078303309938968","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.13":{"name":"@_tc/template-core","version":"0.0.1-bate.13","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.13","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"441dcdfd8664bccee2b98ed7977eef8d04fb9b99","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.13.tgz","fileCount":338,"integrity":"sha512-t/p4uQDzC3grsnBmd+M6vHbtvNP3bxAfRBB657Qvc4DB2kSdi+Z3G6N8sWfXeOYQmPcAjSoutL+JRF0x5DqaCA==","signatures":[{"sig":"MEYCIQD3gDQtomjxIVTdG56lqSdhHOzgHp795XQPyiaRZriDmAIhAP1Ocy5lsjSjh6IukOzG9H41ppc0R2V1sYvD6k6DwsxI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365282},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.13_1776703774371_0.7760534673892776","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.14":{"name":"@_tc/template-core","version":"0.0.1-bate.14","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.14","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"857ce9790b58ec7a04ae472f1510b15bda7b0056","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.14.tgz","fileCount":338,"integrity":"sha512-1e2LHNnSY/jU97xcPE2gUbwqEa3nY0Gv7FiNK1GWbspZyIplF2sG6EnzVp5wB7STkIuX1bDAsXsif/oNq5us/w==","signatures":[{"sig":"MEQCIFkp9n2OYlfUfeDwh19rdIgBVEXl+DV+ESRR/N5ckTkBAiBT4DKtJcP8bsw2RQd4DcqxRzfHKILbf0oNET0U7O5JUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364290},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.14_1776715379344_0.5290748062881692","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.15":{"name":"@_tc/template-core","version":"0.0.1-bate.15","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.15","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"d70b15df61b1cd893b2bd1bd0b4ee9eb1980b6ed","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.15.tgz","fileCount":338,"integrity":"sha512-wtRDIc+wZqI2MFmWSucoNc8+5YfVto4cJoJDEP/SAh43EQRM39NGFKmOge4VXoW7ge1LfEx9TFjhByyWaD54dQ==","signatures":[{"sig":"MEQCIHXrwl5QoEf1XaI3iKAGgNAGASkgBF2cR2DMURcjRe6tAiBNgJGw4EGNxnEigc4VyRt5Amhwzwtrp3e9qDR2BTrU8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364399},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.15_1776716610837_0.7583793300839108","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.16":{"name":"@_tc/template-core","version":"0.0.1-bate.16","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.16","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"ba9efdd86e1f62e889a3766466077c3a27b6049c","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.16.tgz","fileCount":338,"integrity":"sha512-pEJZaq+1qEtO2mlCf4S4SKvIq0GXvn0jZuzGj44V/NyFv3no+KrXEYWynNj6LvEfsLJSqJ/kRfKWpoHuk96bmA==","signatures":[{"sig":"MEUCIQCBbokJtTTwwEuLQXJLMsArzqMno73g+kusnt+o4U9hhgIgC7njzPJaaPFbLTUhEklk/uQ9YJdZ70dTOB2u8LIIpLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365983},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.16_1776717832162_0.6160307172190749","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.17":{"name":"@_tc/template-core","version":"0.0.1-bate.17","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.17","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"d948d4b8229cb8583d9192d3b28027064aa2ab33","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.17.tgz","fileCount":338,"integrity":"sha512-D4BHq9Eyx943yMgcS23LLuxjhJxWFH1A3Dj/zaxAPN2U0bVm5tFTfDkwI9PUi4vdqjAaCKveDrkmpJCG2fpwFg==","signatures":[{"sig":"MEUCIFr3ZtuSiHDfTBpzAK1RdXi3cB4yXBVZemX8/YwQmedzAiEAtXD+U95w5Cziuarha+2KCvhP6XLtmojsfr5G/85mcuY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368390},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"90a951aed7c5acfb31726c0d805850ee7fe3e5fb","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.17_1776753618008_0.9554059140166644","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.18":{"name":"@_tc/template-core","version":"0.0.1-bate.18","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.18","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"409df3527b5e9686bf25fe86c5a5ff12aaaf689f","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.18.tgz","fileCount":338,"integrity":"sha512-k/QAgHgCV3BurahxxdJS4NGEqGPoM9jRcEl5GOSbwCGABRJ54cTbgPmoueP1ss+5dLroX2OFHdfELa/tGQTVPw==","signatures":[{"sig":"MEUCIQCOUBQf1/7USlyIuU2+/LPF058CwTF1+9jdBm7BC+ATlwIgRdhmIkN30VkQZr2sQzqoFdkV2BbuITVRYhvvYdrpkz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368080},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.18_1776759108730_0.06211144662342161","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.19":{"name":"@_tc/template-core","version":"0.0.1-bate.19","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.19","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"06fa58f1a6a4f10e639b0acd6b97e9fc348c89fe","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.19.tgz","fileCount":338,"integrity":"sha512-DnYOYUGJgg9FJebdfyqnvFricwr9OCSO7qejMfUaxDFqO0Ac5vvCJeDyZacpuj8wv92UI7a5vwmvlTDuRFlB7g==","signatures":[{"sig":"MEQCIDFOTtuMLrJzT3jdgtgvihlcQ1PzDxerfmb/Uls2QbO1AiAMwO+qx6u4j5+HGBOnV5Gbc+AKDiDcsjBVp0sDSLcnAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368991},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.19_1776761199465_0.6576836757102715","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.20":{"name":"@_tc/template-core","version":"0.0.1-bate.20","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.20","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"46994976e4b8c4314c629644ac009728ffebfa64","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.20.tgz","fileCount":338,"integrity":"sha512-50/1lTUmeY7kF9Z0CyNc77dVVA5EwCstsR4UQHm2ouPM2jXHNB7MXKPwiAny8QvQmNUD1ccw9uxvbkZlFjdNqA==","signatures":[{"sig":"MEUCIQCGZ+rJw3fvOGorC/DlePLWuNhhE9hAOoNQcD/rjvq9JQIgQcwfXyXyXn/5FJ5Zgt9n73Dig8hNj9/4qPFdHipVni8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369327},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.20_1776762281746_0.7145851603444484","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.21":{"name":"@_tc/template-core","version":"0.0.1-bate.21","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.21","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"61f9db515b1d24e443fd113526ae71942acbcc74","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.21.tgz","fileCount":338,"integrity":"sha512-GHdL88sWhuUEmJE4+JnxmovL0I4I+TGqywemQCLCKLirr1ap5/PjbDiQdlW8gQ+XsT2pQQwJkRcOM6JgJU+Dgg==","signatures":[{"sig":"MEQCIEAaugmCeY03COaI4x8EPX7gPfLJwF2SdscXeq5CURSEAiBGfBJg1zV0W2pgZPpo7iUHSSuWVGweoRzmwRArWcVhRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369337},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.21_1776762939326_0.011753400864466856","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.22":{"name":"@_tc/template-core","version":"0.0.1-bate.22","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.22","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"a967bf4e73bd25f9668f247a4f4f05423a331c23","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.22.tgz","fileCount":338,"integrity":"sha512-Af1tiuhAOdNN5lOv/yjKMS6HVGeOh06PMMMloF09L35oQvgEOTLphzd0vbcM53xmtnud+vXL//A8HN8h3Yn/ZQ==","signatures":[{"sig":"MEUCIQCeU5BOPr1jA49qUMRYctP1uVORd56i/5g76/sQXRPqxQIgHx7saKuaria4tHK6yP59NseyPoGVpnNj5oqPn9k9RvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369335},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.22_1776763302540_0.26423278992331034","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.23":{"name":"@_tc/template-core","version":"0.0.1-bate.23","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.23","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"ce9e02c2df9035088afcd487071a68df4c38b229","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.23.tgz","fileCount":338,"integrity":"sha512-++m5KBwFgA4fPTHwWkvniO8n7ALyCd3lBqMsRjqiVbSpqbXPhD5Klj5turWM3FxlcwQLqinva7sIzkC2C3+DDQ==","signatures":[{"sig":"MEUCIQDS3pqndAbhrpAtt9mmAeCLQHv71Yma6lSppDfan6aoWAIgWufTZlaK0slmedEYTXPhf7oKI72rNAFArEu8y1UQ+v0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369015},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.23_1776766040700_0.6583551215652721","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.24":{"name":"@_tc/template-core","version":"0.0.1-bate.24","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.24","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"fd5683a7b8a4de88a1ce2b4dcc6327269432b86d","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.24.tgz","fileCount":338,"integrity":"sha512-gEEoUs0XdUZRH2R9CJ3jFyhOkD7qeEbIG9t1EHuGfJdZPka5vJFV8fOEr8Kdx30nGm/KcAff6YDV48BbmO/Cbw==","signatures":[{"sig":"MEUCIEUNcBHQPPS3ggrh3yT0DOwCB+Dr3wpQ4ClkONYJfUBeAiEAnsHR6XNmG7z+uLlqvVzZedTk4Xl7RWT+YNJYHT51n8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369461},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.24_1776766550964_0.012678776961275284","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.25":{"name":"@_tc/template-core","version":"0.0.1-bate.25","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.25","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"5090d1f9188cc0dca21406fa90382a3f31ac2f90","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.25.tgz","fileCount":338,"integrity":"sha512-+UfBdo80xTV8xlUoEyGu473kyWfqajX+/YpAB39cJp/ZR7Qddkb/t7jDsjVjTZdN07UpZcBkB6JM0zEX7WZ8AQ==","signatures":[{"sig":"MEUCIEvnO4XmKga+6AuEPiefBsyNnYbtGlHZ1ggMWU9Nlu9eAiEAvilWBIkct0gq5KxiCqkyMewaVPHLPXSkOzhZCe4TEf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369128},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da5fd9c3853e393ff1d826f083188b1fc07d3c9b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.25_1776782136398_0.9724060241895893","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.26":{"name":"@_tc/template-core","version":"0.0.1-bate.26","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.26","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"5fa178a36d46e12f5ec2facf0da29c8aa9307797","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.26.tgz","fileCount":338,"integrity":"sha512-RkCVVjUUCrz710ktIj6ryu0sW22+PVSleG5zadpvRrEzudnpi3oRP94M/stvlr6M/vRJJBuqbMEFRuPlaphiQw==","signatures":[{"sig":"MEQCIFEJ//OEjnojX9nU2YrtlhR+pC3pR9Cnrhtz4FtlfLvfAiA/n8WGjOWkKOypMH+wPVy2KwK1umwtihqpP5xcKkGwGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369172},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da3eecb14492c5d3d72778d7a6275dbc093a4ae2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.26_1776842857771_0.8863075206891424","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.27":{"name":"@_tc/template-core","version":"0.0.1-bate.27","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.27","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"138e2b9d893f713c87dca7ce3a9432c3e51e5cba","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.27.tgz","fileCount":338,"integrity":"sha512-8zfaWcmmiTHXazgJUQ7cqW+cRadUHmtOuIuN1nxpbwS2i/dwHpc5WGgVamuBQW9uCBpJhAN4UZp/36byptRU/g==","signatures":[{"sig":"MEQCIFC91A/jtlun5ZMA6m+lG8JYfui82lc4UGIC2DoJ9pWpAiBJ/XZQ/XeQ2RL2cm43BrF3I96wPdjjs5MEZyM2Q3tv6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369387},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da3eecb14492c5d3d72778d7a6275dbc093a4ae2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.27_1776871232220_0.12181895016378053","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.28":{"name":"@_tc/template-core","version":"0.0.1-bate.28","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.28","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"aac129280193c71b05548390f09fda5499032d90","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.28.tgz","fileCount":338,"integrity":"sha512-uYw6clsRBtRAfy/1q1SNksD9BqyFvZxNet4u0Ec/B687YZAS1l8IaNBsgTvm2CDxHHjmrkrmSFMtExLnjIJ7HA==","signatures":[{"sig":"MEUCIDZVZzniRLGcmVTcr3rZXXQ+wQEUBTe3VmTctoS5O4PBAiEAxrD6dwpAyu9MB7eZXe4P6nGw4TkCuK2csEQXuyW//HM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369387},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da3eecb14492c5d3d72778d7a6275dbc093a4ae2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.28_1776873556973_0.0782444983935624","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.29":{"name":"@_tc/template-core","version":"0.0.1-bate.29","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.29","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"23f304d2d66115bd246de6600608bb1249ad2936","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.29.tgz","fileCount":338,"integrity":"sha512-uavn16lXI+SsAqO4tVCCIzyWo5My4m+fJRJiUdkqyfmUmwmKb3ezpVMu0gdnfvXnvKfKeS+PDMFAPls4i7vvvQ==","signatures":[{"sig":"MEQCIHbXnh+ZK3Dv1YgZ4RZOUiGHXeF5Wf4mdPy7CSW93Nt7AiAMZ4x3dMnM96sAslD8H3z4Cyy3hBPQ6sySDhohV6Hsiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369321},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da3eecb14492c5d3d72778d7a6275dbc093a4ae2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^6.3.4","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.29_1776873959363_0.26219712228168346","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.30":{"name":"@_tc/template-core","version":"0.0.1-bate.30","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.30","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"3a69bfbfe1301706bad48765ce79e0ac50c455e3","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.30.tgz","fileCount":248,"integrity":"sha512-xGY6R1qETU4umCIgvI4j9GU5HTtlRL6uxkdfQaNxUpP/tPMQvP7x6rwKYcB/mBblwcwoMNExZ5Op5qKW0KIC4A==","signatures":[{"sig":"MEUCIDE9XnIE0GfbIhJSgZ3wpuax6t6ySzns4ZYUNjIpx4HeAiEAmUS8YaDIGGR7G0ZWzqCE90M9NPC4C4r8wtLF6UZSxfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314955},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da3eecb14492c5d3d72778d7a6275dbc093a4ae2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.30_1776959232895_0.27718873971031366","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.31":{"name":"@_tc/template-core","version":"0.0.1-bate.31","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.31","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"618261f36e8c6a27e2ae228df09c1cfc8a36f659","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.31.tgz","fileCount":248,"integrity":"sha512-ig355wq5hv64qT8r/9OW8QfjzUgPl1y8LOedAPgByPvHI2z3mfIwwztncJpf9A5VahIYVPYiyZQ+LyHx2nhkDA==","signatures":[{"sig":"MEQCIDQKjXHmCU7xAocoQGeoCILepxF19PLRCNtcwm0X5A1zAiBdPZFw8xU9M3XeZfSNua0SbaVxjCfey7o/LLWDkCfCFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314954},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./esm/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./c/r":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./c/r/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./bundler":{"types":"./esm/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"}},"gitHead":"da3eecb14492c5d3d72778d7a6275dbc093a4ae2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.31_1776959459303_0.6944696746419732","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.32":{"name":"@_tc/template-core","version":"0.0.1-bate.32","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.32","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"e0f5f9e8e749d158650211226508e9c1bd029526","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.32.tgz","fileCount":293,"integrity":"sha512-7ZPtEfqSL2Gp2s2zz8lDRG+jHvXqxa6NunaPkdTZ0CETi5ePqUlWhLNb3BlDQDGYLqyd5fKw+au/xfQhM2zOeg==","signatures":[{"sig":"MEYCIQCZpga3WSQY15PiC1J1Kop4rEuYL9jp3F5zxQ8C/ZthjgIhAOHz9v9nuAmfFbz67dcGYBV7Sv1w7RfthuPLaYJ6QfVK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329842},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./bundler":{"types":"./types/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.js","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"}},"gitHead":"e1a45895dd768f668eb366ec28ab6e2fe2619aae","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.32_1776963419206_0.39247879801883667","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.33":{"name":"@_tc/template-core","version":"0.0.1-bate.33","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.33","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"f6c9cd3c0eda0a74b7d0440aa35485b50f90d0e1","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.33.tgz","fileCount":293,"integrity":"sha512-t3HLOHcObpU35qH9FHrT1v4ozuCwG4wIQVaUvbGirW7KxGMNyUC3jj90N+4dqNpyNP6MrwzwLGDHzgA3YcU+mw==","signatures":[{"sig":"MEUCIQDGsKve81jceHRCPmAJll7Voupz384HTtQGuqej0nAQFgIgMWFB/2bM+kgo0Uc2iw3zbSS1IgJSsFdL5J24OlNazxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329892},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./bundler":{"types":"./types/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.js","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"}},"gitHead":"e1a45895dd768f668eb366ec28ab6e2fe2619aae","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.33_1776966246825_0.7374294010810203","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.34":{"name":"@_tc/template-core","version":"0.0.1-bate.34","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.34","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"c2bd82c8871cf0735d5aabe045e444129bc49e9c","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.34.tgz","fileCount":293,"integrity":"sha512-GqFHDGGnIPQpeKBJo8WofnaCiK+HOgSvT6ggJiTYopUNR6p0OWTZ7ksBQC3zp5kJoYqEcIuBCmcCvUO2KJtyeg==","signatures":[{"sig":"MEUCIQD4uxpMtSjg/5oCpmYe+8qSemEnOMMxvJrBqA4gXaHEhAIgH7p0i2NTONH06klWIfHOAeuvQ6mr4GmMsWJzjqH2evY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331342},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./bundler":{"types":"./types/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.js","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"}},"gitHead":"e1a45895dd768f668eb366ec28ab6e2fe2619aae","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.34_1776968604846_0.6450444447028121","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.35":{"name":"@_tc/template-core","version":"0.0.1-bate.35","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.35","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"10255856588fd2becdeefc5be1369b2cb517ffe5","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.35.tgz","fileCount":294,"integrity":"sha512-8H/fPGeFt1g7LWjxVH9xZbGIp9dkDESqKG7qKsUt5IDtUjxqOZaNlzGnZJqqeh18xdynkl4F2fW3OBpeS9pKkg==","signatures":[{"sig":"MEUCIB3p55tXjCkZAtSA5TF5Js3ofctZeopwWSqhsAHJhy8LAiEAta9MFA6YMIglpoaQZDJrb053WSPD4EPcWOcUDHxabBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331406},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./bundler":{"types":"./types/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.js","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"}},"gitHead":"e1a45895dd768f668eb366ec28ab6e2fe2619aae","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.35_1776969116707_0.7369720691217376","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.36":{"name":"@_tc/template-core","version":"0.0.1-bate.36","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.36","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"560af5cbfc45e2b75fd6a49ce698c07ef77f854b","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.36.tgz","fileCount":294,"integrity":"sha512-vFPEr5MGHTFvpyylAItOW5fX0xTRHxygy0jQbIudzCjVRlZIuBiG4Yc9dIr7F5wC7tYY44w58neeCZF2IHwrXg==","signatures":[{"sig":"MEYCIQDJmWyNnMAnFgXLyZS6a1/LOz5wDLTMQXJcKP4LzcLZaAIhAPUnVJfPCC9i09gxgS+PFQhjvr2tlb1JEffVOMVrZDZ9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336841},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./bundler":{"types":"./types/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.js","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"e1a45895dd768f668eb366ec28ab6e2fe2619aae","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.36_1776971909742_0.6391276912790491","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.37":{"name":"@_tc/template-core","version":"0.0.1-bate.37","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.37","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"309c5d722c838bd3c207821067e10a5d5ad2070a","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.37.tgz","fileCount":557,"integrity":"sha512-3LnTNW+j8rxmAiMoYZJBVzu9w2p5fb3JKJB6YMlMGHhbkiYIMOq1QsVG9iASY8QyNI8Jh0lIMeG++dDgXMUdxA==","signatures":[{"sig":"MEYCIQDj+bsJ7Mr6+gcZm1PEkw03R0pEbv4o5+9+hWobVJzfVAIhAIvTxamXsQikiTbiSCSJa4SQqh1/nGYHwuMZpBYNG7pT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628667},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.js","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.js","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.js","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./bundler":{"types":"./types/bundler/index.d.js","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.js","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"1510cfc52df1cdf55bd476edd9dcff0a9f2a4c63","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.37_1778672707293_0.8555288354488759","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.38":{"name":"@_tc/template-core","version":"0.0.1-bate.38","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.38","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"789ed1472db3f2141b577d0420129112456bd0ac","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.38.tgz","fileCount":567,"integrity":"sha512-XX7U70FWWVTLH3Al/HPVMrDb2CJlJibwzfrnJooA501qwRfc7ztmWO3bu4pT/G3N6dTblktEcPltZyq3WjhhXQ==","signatures":[{"sig":"MEUCIQCIWUiumcxfSznqSGbA3xtOLvKOFivxje6qWsO5oVYg6AIgCCGhmGP0x01Wgp02JgMQKC6Xl01TdpqmS0vCk7xagrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685758},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.ts","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.ts","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"1510cfc52df1cdf55bd476edd9dcff0a9f2a4c63","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.38_1778679798175_0.5555132914771246","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.39":{"name":"@_tc/template-core","version":"0.0.1-bate.39","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.39","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"5bc6fdae5186435d92aef9fa3f50d0378cca625f","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.39.tgz","fileCount":567,"integrity":"sha512-FW5hMqIC/ggzghhKOrYgFhu3w3d/CYwjQrRa/lB4DupLwZym0lUNnPGcYhplQQtc8nIMbI3oIW1LDz69WCCxVw==","signatures":[{"sig":"MEYCIQDG5zebBQbvEEbHgzvKUfTNSy/vmInFFF/aEsXgchNUSgIhAMlTkK4mgd1lZUTAAkAVmUn+lhL92nKBw+zUQuBWYxtT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":686715},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.ts","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.ts","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"1510cfc52df1cdf55bd476edd9dcff0a9f2a4c63","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","chokidar":"^4.0.3","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.39_1778683949837_0.7208458450279427","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.41":{"name":"@_tc/template-core","version":"0.0.1-bate.41","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.41","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"ca245e972fedfc20d970547f2ef1ad1b1f771c66","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.41.tgz","fileCount":567,"integrity":"sha512-/eJ5CJh8Qf3CyEofQIc7fJL305oMaLMbKZpt2/aknTafb5EnRSv+/yx/0+XdlMvaSePyOGVysMbjmU3QAwxP4A==","signatures":[{"sig":"MEUCIQCZSjscIZgnbOoGpEO3FjLdgj+QHjhla7XsJQgCmQpmAwIgBUkhUy7pueYeFtingSQgtjEYeCmIiagdlFJwwhmNjmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":686715},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.ts","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.ts","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"1510cfc52df1cdf55bd476edd9dcff0a9f2a4c63","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","chokidar":"^4.0.3","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.41_1778684927732_0.29809892109974334","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.42":{"name":"@_tc/template-core","version":"0.0.1-bate.42","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.42","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"2bb6e35652c35cebd171f4d1851adde86800bb73","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.42.tgz","fileCount":567,"integrity":"sha512-DPsbmR3AV/BbErLRSTGjjyqYV5OSHnV14devi49EsXOluYBrjcHJv3dJ6OoL6sfPKDpUXslAwRU+n57ysDuvpQ==","signatures":[{"sig":"MEUCIEAmN0S/txBKd7/ypNn6zMCLT00L1faHBRCqeG+pG3HFAiEA05wP53wWUv3UAned2WjayDoDITBM6HrHF4C8QTyoMS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":687347},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.ts","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.ts","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"1510cfc52df1cdf55bd476edd9dcff0a9f2a4c63","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","chokidar":"^4.0.3","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.42_1778686201747_0.41303232264447454","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.43":{"name":"@_tc/template-core","version":"0.0.1-bate.43","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.43","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"6a811add3f4dce8859883cab52bed36270d0c503","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.43.tgz","fileCount":567,"integrity":"sha512-5hhSkp1Mjr3N40fpJW7donkD0rSvDSJojPjdDdVmrjiCBFz/ePi2UHDC9Ld8JCLfOs2K9p1cybU1Ch4wI84a8Q==","signatures":[{"sig":"MEUCIQDjUdCxaYSdm6uz/JUAmhMxPRYYO9XZ+E6vqQ0z5qVO8AIgKY2MfM9y2CnEesPP8JJoiITvQjurQvdqEmSauBhATX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":687143},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.ts","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.ts","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"f2cd9b09ed9d61a44cc0345793ce16134c69d0f5","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","chokidar":"^4.0.3","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.43_1778688177243_0.9934917102759719","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.45":{"name":"@_tc/template-core","version":"0.0.1-bate.45","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.45","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"8f40ac16745fe379f2fdf05ab9531f071ca180d0","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.45.tgz","fileCount":579,"integrity":"sha512-6F5oH9FMS0j94ZgAxp1aSE88GhhCpGjeXhQdt7oS14Sikbz9sT0aAskaI0wIY0Hzoq1nyjH4ksKQ4bevJUgygg==","signatures":[{"sig":"MEYCIQDWcoQvaEg8zrzN1Qui7sXzy/yoN0JmFu25679TT3up9AIhANvV0NK7FtgsVzELuUu/uoDr0PFhtkjEWhcPRUAxh4XR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713635},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.ts","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.ts","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"387ec74e0f253d09d64324d705572f5e0f96058b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","chokidar":"^4.0.3","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.45_1778751229393_0.7099729926910241","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.46":{"name":"@_tc/template-core","version":"0.0.1-bate.46","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.46","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"4f82540cb602e17f9ff69461140ee78cac0b4c68","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.46.tgz","fileCount":579,"integrity":"sha512-++l2L8sWeYwi3ajA/xw6pKGUBalPU7R/EnZFMeHnXX+5PAB96ETLTcnYRWj7GG0FUlEZdtfcwoFRqzs7zXBjLg==","signatures":[{"sig":"MEUCIQDQ2GHuv3Wtw8mGxbsqQ7B3pK8U1vTttqpRCTeD90yIygIga1MoBoY67YKMCCzXhafX1jIXtrJe7EfC+4lCeCCjwsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713913},"main":"./index.js","types":"./index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/index.d.ts","import":"./fe/frontend/index.js","require":"./fe/frontend/index.js"},"./fe/*":{"types":"./fe/frontend/*","import":"./fe/frontend/*","require":"./fe/frontend/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/main.d.ts","import":"./fe/frontend/main.js","require":"./fe/frontend/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/main.css"},"gitHead":"387ec74e0f253d09d64324d705572f5e0f96058b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","knex":"^3.2.3","immer":"^11.1.7","log4js":"^6.9.1","chokidar":"^4.0.3","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","superagent":"^7.1.0","koa-compress":"^5.2.1","@babel/runtime":"^7.27.6","koa-bodyparser":"^4.4.1","koa-nunjucks-2":"^3.0.2","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","koa-nunjucks-2":"^3.0.2","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","vite-plugin-html":"^3.2.2","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.46_1778752926212_0.25386885382401325","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@_tc/template-core","version":"0.0.2","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.2","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"9b0e625292530178d2460a0ab9787e0df9165699","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.2.tgz","fileCount":594,"integrity":"sha512-AUUP5VsFQawfEGu7Lt6iO4kYBrzuj0ToJn0L8xMPFV6TJk+sWyqrvNjYnp9Gor2A3scbVnQRQzOkyJT2mnpkCg==","signatures":[{"sig":"MEUCIQDGVPvcmZ50WRLyZmENYfPIpzLsZN/MxGwOEBKuGNCQAgIgIJuzdxtzPufSdL0w79i8uPmyQRuNdn4EJdrU83dbATs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720773},"main":"./index.js","types":"./dist/types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c0378db8972e562239a5fa89342e91e28ad220ba","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","immer":"^11.1.7","log4js":"^6.9.1","chokidar":"^4.0.3","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.2_1778878847249_0.0884360642326254","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@_tc/template-core","version":"0.0.3","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.3","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"9d33286550f7258b9ab53b6e16d36e3bf5aef350","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.3.tgz","fileCount":594,"integrity":"sha512-89XuniHvvuyVP95f6/Y+T7XCvovv798GzHz/Ez349AD/KOWhjFHCyYVc4Y3o85zYk9vCXVARgDMIuAm46uY7Gg==","signatures":[{"sig":"MEQCIFK0QElAQk0VMDN51NjsMrgoQw+GtGUSF48wURM0dPZhAiAbc79NgGeTInexg/aFJHJF1dTPidfz7ZS7mM8rDLciig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720776},"main":"./index.js","types":"./dist/types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c0378db8972e562239a5fa89342e91e28ad220ba","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A TypeScript Koa framework template - Monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"^8.18.0","md5":"^2.3.0","glob":"^10.3.10","immer":"^11.1.7","log4js":"^6.9.1","chokidar":"^4.0.3","nunjucks":"^3.2.4","tailwind":"^4.0.0","koa-static":"^5.0.0","koa-compress":"^5.2.1","koa-bodyparser":"^4.4.1","@tailwindcss/vite":"^4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.3_1778879489202_0.04598223606779972","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@_tc/template-core","version":"0.1.0","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.0","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"41f5ea1afe2eb49ae1f0c777aee502ef3c2ce210","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.0.tgz","fileCount":637,"integrity":"sha512-mxa1l8tGVfse9ijqJzPTFvaasmVcFYyM0iwdEGGBL7F1qk6tydNmsd+xBXGXgFCdDGMHaQw+zO1nQEoIDzePHg==","signatures":[{"sig":"MEQCIDRcXdSC942d7aVaM2cyBHAG+7d7reYuEBaKLN+vnWmkAiBJiAyQv5vMwmFZe6/xZFkQHUMiHtZOcgEd4IKy8d1A6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808583},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"e1a4819414ed240152199dd1637825de66da1254","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.0_1779109469038_0.012156587047830403","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@_tc/template-core","version":"0.1.1","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.1","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"cc1368f24d20a5f5dc04b90750a22df8f8e1a948","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.1.tgz","fileCount":637,"integrity":"sha512-grajaMaIS2WS6sNlM4y8S+LNJL2yzsKgKxWyiSqwjdFwQpTw00idVd1oRRhJn9yw3Xs+bbvj0LsNnUAWzhYUtg==","signatures":[{"sig":"MEUCIQCDgsVwVlvlrlbWwnqwVq/Ss0j1QfutefGx18nPI6DXRwIgNaV6FnvS8M1LmSq6aNC8Far54EiuC75zjAnpytWVnnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808593},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4e960e0a27d375438c26c0c41519857a23d42427","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.1_1779112271973_0.0074725970666469355","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@_tc/template-core","version":"0.1.2","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.2","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"ade802dd960c6e84826beee43a88521a894263ba","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.2.tgz","fileCount":637,"integrity":"sha512-N4ptSsoxLwWMDRkefP+Q3vFw5dMKXI036wh+VEfWuMrPNhBTrTr8lm5dC3RpBvOkcvHEHDtgkvccKxlBbEckJQ==","signatures":[{"sig":"MEYCIQCwjJGvogUMXaG9TTK1eHFeCm510DR7WqRm+YqtTsGEhAIhAPiroIufD9b2/4mpQWnouBZ57KEoC3B81UPgr0QOxOYv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809143},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"d47d7e75636a20fc6128acb67aba13fb69005600","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.2_1779120366252_0.366387319049974","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@_tc/template-core","version":"0.1.3","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.3","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"3f3630c466b4bbd6187731ef7b89ba817e651ebe","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.3.tgz","fileCount":637,"integrity":"sha512-VcV9brNPDeb91RG6gIXZWMHFeCk7B3kkIv3p2FfJ1Gz/tc8OWxzN/z4bSI2Raavmy71gAJJuJka2B10sDJ3Ixg==","signatures":[{"sig":"MEUCIEJCOiWNQV8X79dmzK7U32MZ8HuIM56u4I2YQNH6rFcrAiEAueCD+Q/cVq5V0OUNlQwedx4eLB2289Aqi4vzM823f44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809308},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"d47d7e75636a20fc6128acb67aba13fb69005600","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.3_1779122629267_0.33376413395862037","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@_tc/template-core","version":"0.1.4","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.4","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"8c44ad5bfbcd976991943b501767e4995058fa4f","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.4.tgz","fileCount":637,"integrity":"sha512-axkFMmxfUeoZRB3v24jGfyZOmvL1yHyqsAQzBgjjiCQ3huFvtZcSpR+OoA7T+DQVgkGSL/IMJ2ABNiHp+XGGeQ==","signatures":[{"sig":"MEUCIDyjCh7WjelR4OlrhkFYhVA8SC19PUwxxeuGomA3VCNJAiEAlKpUFyFMG8NIWk7mfUMI0Kw16GQUvVWRJtp5hymRNqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":809425},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"05111f07d693f8405ba998eb203458212ef8c008","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.4_1779124195042_0.3495719017771739","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@_tc/template-core","version":"0.1.5","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.5","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"0a489249589b1e5444f5c6464dfd58da4ae5806f","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.5.tgz","fileCount":641,"integrity":"sha512-Bj9Ib1zRO5T/kQ8uK98WC1BahsyF/EfvJDmjnfWO2aZ2FcnZVSyeIAsflZL6G7LQyBc8R4YIiX/BrtnW7ZD8Bg==","signatures":[{"sig":"MEUCICNxs3tqFX/gFBimYzOGF7GDMkGua0oZQ9w6fBHLGybTAiEAoyGtGNxv11mPoXGgdw49sgQyOZVzzAUY+90ebgN/QcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853396},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.5_1779169332280_0.9894266823168745","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@_tc/template-core","version":"0.1.6","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.6","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"75645d75010d393599cb1b9365fc4b64a68c638f","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.6.tgz","fileCount":641,"integrity":"sha512-eQfk91wUuIN8r3eSdVeLz9PQDFP9NURjLyZyXTGBl+tbsuSr2IfOz+Y5Q16DzXZZjT5t7rfO5QMWONZYbHKdcQ==","signatures":[{"sig":"MEQCIHs7os6PMXQYIeghhRNPFSOd5X7izPFVXuwOw/bFMQLOAiBizh4t1NLou6Q+8EyuJN5aGxzLumdhkkqh1aBHl3MOPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853934},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"^8.0.0","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.6_1779171886657_0.9436420048005747","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@_tc/template-core","version":"0.1.7","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.7","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"7a8d79735b63e0c984b505a9a685ce97fd63c758","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.7.tgz","fileCount":641,"integrity":"sha512-b0srpaRFjlSlYSKiHzOKdXkGr+sI4BHg7daWBWHRkLyHNJ81+LqSMJtPawynVMgz+h2NAvjVWi3n3Dud6sz1rQ==","signatures":[{"sig":"MEUCIEABXEVcbrmnMrJRNAl5vIZXf+NR5ToQoeKgqteh9LOmAiEA2jBNWgO4wa2BASU21qdq7qQpHTpGDobV+SBvIju5gUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853934},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.13","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.7_1779172672563_0.4897931384597145","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@_tc/template-core","version":"0.1.8","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.8","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"5589f4eb63c4957ce0129151c42587cb9a217386","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.8.tgz","fileCount":644,"integrity":"sha512-08934N9LQVKH5eM1l3+mW98Ccgw+fvKxNXkAwqrlhC/J26bjHxm12BI/SJ77EYEiUtWBA0ArJkjQEVm1q+CWIA==","signatures":[{"sig":"MEUCIA8ebfbe5+Xtg6uujzIQeMAJumjT8sNGK/VDzlcwW8WvAiEAosV+OHt6qEK1xRknP0sdKNlR1LSWJ2/UcDxNQQwAfeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":855635},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.13","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.8_1779174987233_0.7965753778720943","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@_tc/template-core","version":"0.1.9","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.9","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"d7c94f9ff3cd09edf847d39ecd94b8f3e95567fe","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.9.tgz","fileCount":644,"integrity":"sha512-+Fx4P+KwdwmcH8yC22nSMTTJfX9o33Eq3XN0f5Y9r0mJq/F0/HJz/2movQT5f2YlFVoTgxBeaKYnSxj0yvz+8g==","signatures":[{"sig":"MEQCIHIqw7yTrRnDu/rf3ctkd38NeALarih79RrM5Zxl/tQMAiArkdZvLMDjKJrP0gkm/KXFEY8/+wBpsxRY5fL396mX/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":855536},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.13","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.9_1779175867169_0.027058143249112376","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@_tc/template-core","version":"0.1.10","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.10","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"b72f4f7ae0cfa8ac8f0708b967ee63e36622496a","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.10.tgz","fileCount":644,"integrity":"sha512-gLhbKjCS5ZZMPNvRVH9WM0gorqB3WKhDGG60K+HjrrzPH8AsheZf+u6jTFD5RTqy4KzffemLM+kuhtozrlqcJQ==","signatures":[{"sig":"MEUCIQD8EvZRhtgHf9UBToSmNU3tPcC6jRmPmrZlqIIkey4tUQIgY+VOgI/Quqk8/pgnOYT9X7F5Wn9bc1f9F1gEvtcm4Cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":855501},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.13","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.10_1779176565646_0.19910757814235525","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@_tc/template-core","version":"0.1.11","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.11","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"8ca35a9070151af70c6016c51543a1eb48a6afa6","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.11.tgz","fileCount":644,"integrity":"sha512-UpTvkpRnOyOyjSgl8nVcrn/tA5sYyBaWTmpfTWVt4P0NuzNeSBJ+wyI2ZBuXw1ARhreV2HtJn+xkgL8ZkwVM1Q==","signatures":[{"sig":"MEUCIHmE7duwfz+bF69CWZiy00HochXWxB5rHM3upDgGAUREAiEAxuR0ez7NuIEIp41FF3/4PL1eusL1s4aedO3XXAonUiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":854580},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.13","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.11_1779176944671_0.9531334187575873","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@_tc/template-core","version":"0.1.12","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.12","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"2442cfd69f3cd916e8b1b31a1dc1959ad8a02289","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.12.tgz","fileCount":644,"integrity":"sha512-rjFyzSiiIv7NRMEv0FqsZlCcEtzQqtUVZPYPTAt6t6xU1JttXcoPPwn5FOeSS86GwEj2dMedyd8C/UzlAjio4g==","signatures":[{"sig":"MEQCIGrAHFxwqRtId6omapCZxjtiFxXcMWGv+MriDfkzsm+NAiAXuYFwZ9lmvUPG/jEx4/L/StF3DMYqVaMpOTIf2M2anw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":854584},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.13","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.12_1779180017308_0.39015963059421765","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@_tc/template-core","version":"0.1.13","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.13","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"500f7e66bfa7714ed3d629555c6656e0f2c2d6f1","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.13.tgz","fileCount":641,"integrity":"sha512-SVKWFRVgHTpy7P804zf6Xmi4Hd3ObGVywb62CUH7pMyAy6VnPH5z3RymYPLwqGKh9V8p0A67ScaRTq7QlwSrAg==","signatures":[{"sig":"MEUCIQDYRjqZDKugIaS5NSMNi4EQWEMJsOUMX/4+ulcyqmzqFAIgWJdqrPxrpBI1z/yq/jDI0dPz0yU8OfpSydj+SjRBGDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853527},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0630b4642c8ba7531ee5cacbdcc8e2df26f5fada","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.13_1779182883386_0.7917976716239314","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@_tc/template-core","version":"0.1.14","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.14","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"b29a015d9bdcd2650f90abd1e06d8bda79f4184a","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.14.tgz","fileCount":653,"integrity":"sha512-+2Em+Gw2GkRSqIGTtv5ACSOogboZSAnEyLocoGKVhtZeY8GBsyo2TqtU9v+w006H4bpcbhNAejJS7/8RKPXi0A==","signatures":[{"sig":"MEUCICeWCUdQCiocfkAx1CLXcmdWcTNeRwMVvMsxAldDc0wgAiEAuJYih42RqEOm8P8UnFeuN80LldUjO7Fl8lmdOjGjrUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":898334},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4bcbbf41164b51512c8e9041b20710a5d6512e22","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.14_1779199562192_0.24967856254363086","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@_tc/template-core","version":"0.1.15","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.15","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"903b6a1ea794ba470a253448d2a6f0f6355fd308","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.15.tgz","fileCount":653,"integrity":"sha512-ZKGalHNL3VrsmbrboBKZCg+2FN3gzn5FQuc1GkT1l9wZ8z4zNYwY4DneCrEGTLzrq7clhvorDqU8dbrhpaAEIw==","signatures":[{"sig":"MEQCIGmnANVUgqUeTpxfIu4+yLSGm6/UWF2Xvqe3xPQksPUkAiBcEC3yuOPM7juYRh0u67Ilyt3wSXKJ/vrJdyhJgGMsjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":899000},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4bcbbf41164b51512c8e9041b20710a5d6512e22","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.15_1779200516749_0.27843094060891227","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@_tc/template-core","version":"0.1.16","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.1.16","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"0a3c42702174af4bc2ca30fa706a76be221c92b5","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.1.16.tgz","fileCount":653,"integrity":"sha512-R23jnRxRCUmrabkg3rgDHK/VmikuHFHE820ogLn9Iau0jRSnKQTcLfgyIpiTrlLhlQvIAZoglAfnwlqDBXfhVA==","signatures":[{"sig":"MEUCIQCYKL6+jyCLNgkBrdrDkOkUBZypon5i8ybmkoNkzwpHEgIgY7iUVDCqCG5tLLjS+vesj6QuJ25K1CdeCsGcDTo0IL0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":912076},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/ui/react/index.d.ts","import":"./fe/packages/ui/react/index.js","require":"./fe/packages/ui/react/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/ui/react/*","import":"./fe/packages/ui/react/*","require":"./fe/packages/ui/react/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"40fa61ee3bef3a16af2f6169987b11a22d86504b","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.1.16_1779204985171_0.3818279682882908","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.47":{"name":"@_tc/template-core","version":"0.0.1-bate.47","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.47","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"8163ba9532fd6b7a2f7bf17e579e357715c2fd3c","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.47.tgz","fileCount":673,"integrity":"sha512-PBvdamCsbS2Ekt3ULdykdoZ9hTlluM3upT10b/FNBW44/OG3dMGmlXawnCrKVmBQVB61gScQScMRbHAE3HRHBw==","signatures":[{"sig":"MEQCIC9d/jzwTEddbKiHWdWMjcOQdbZZXW4rPYrI3ACpfdtJAiBKSEhs20sDywnIDW1STI6jQO3U8dlcsuMhaaOwVgeC3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":952321},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"0010331d0c12ea80e043c68e3a132296ceca3713","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.47_1779255007202_0.933939317317289","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.48":{"name":"@_tc/template-core","version":"0.0.1-bate.48","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.48","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"16286287ed67c43920c0a20ba08851105dd3d251","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.48.tgz","fileCount":673,"integrity":"sha512-HiN/PJmeKHvGmkX/du3ct0yEZ+GDZWHl2jv6GN8bIwxTj0uw/j8JikIOF+HR1FI1OFNYdglum/bbR/EcvdkUJw==","signatures":[{"sig":"MEUCIGmZjYk15USSl70IMHj/0dC/20+0HZCWIqb2RZ2w8HOKAiEAjYZsriko0OJfqqzaUJRsNZHcxbj6rXNGPcY0oDsvCgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":955210},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"43e0fc8d7f3b919bd404c60f085efc40a326f5a2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.48_1779257074429_0.14769727233844177","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.49":{"name":"@_tc/template-core","version":"0.0.1-bate.49","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.49","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"5586a49d85de98e6f89ea3cc9b2a7b6e61b37940","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.49.tgz","fileCount":674,"integrity":"sha512-lepGAueGhpTYphx4u3KgBD0xw+PLzYUoWy0r3Y+ab9EDjiDjUd4bQAsNxp9joiCEBXvYAM47yTYqES8TJl836Q==","signatures":[{"sig":"MEQCIEM60oVEdaro4X5gfwS6g/96/zj2C+azNhZCl33NgslMAiAgZE/vVyoBVyFpDratXC/qJvBzcOF8MSkO5dmMzYhX0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":969076},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"43e0fc8d7f3b919bd404c60f085efc40a326f5a2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.49_1779257373404_0.4505379245025487","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.50":{"name":"@_tc/template-core","version":"0.0.1-bate.50","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.50","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"8b79887621dfefb0c2790a59c4160afa6458993c","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.50.tgz","fileCount":832,"integrity":"sha512-NeSdowaS/5EBBV24JweOJbyqoJeeNeRdz0kGaL/flictOGt2v+ofN5b/JqvmpXf6cZaaumh/mzLJ1XNreVoSHw==","signatures":[{"sig":"MEYCIQD9hbf/kWgwvEft6XGCi/Mdxnkt8Wa7a6f/4glWKrpIdAIhAJI3qEiGlxzo0m0etpu+bmio+m/hfVQqc2MQ/2PT1ozL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1038282},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"43e0fc8d7f3b919bd404c60f085efc40a326f5a2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.50_1779262830292_0.863430428073086","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.51":{"name":"@_tc/template-core","version":"0.0.1-bate.51","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.51","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"3f10783ba19519de8e501e1f44e871e3f503f67a","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.51.tgz","fileCount":832,"integrity":"sha512-t5+KfEZetKHnqVgimRXcMAKgZRrmBufXkBfKgFMJOFSabcGBZHij9kWfde4WGGf74phWqjpHXaw1FEqCHaGczw==","signatures":[{"sig":"MEUCIQCQ2LchB5/Y82Wtl3rIjCauTBt1KStBgTrlZkPOtGMzwQIgEDHBSWxaPoCzvOE8xb5X/6IC8Y2u0SsYWVs42W8UR/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1037417},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"43e0fc8d7f3b919bd404c60f085efc40a326f5a2","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.51_1779263831665_0.24175433621212972","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.52":{"name":"@_tc/template-core","version":"0.0.1-bate.52","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.52","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"960a30c246b86674ec77f3d61c803d2cb16fd1b4","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.52.tgz","fileCount":836,"integrity":"sha512-Gj+to61P13rzoynLETuSu6sRzuvU598PMZn3fdtYWvvbkJEdfM7BaUwn13YpG3Ktci4M+xP5f7pkwK7tfpA76w==","signatures":[{"sig":"MEQCIBTAla8jcaTzcnG+IVYgPQ3Nfee8EhmcFGfvsTg3gLhQAiAv3A0YJL/M7caFx4wu067ia4qjyUhYYpW2ON1O2oE+AA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1043599},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"397c14e254427224261fdf8d807d59de2085a032","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.52_1779269461285_0.5544161175695026","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.53":{"name":"@_tc/template-core","version":"0.0.1-bate.53","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.53","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"23e9d130a4333d97759659aafc897b6db347d59d","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.53.tgz","fileCount":836,"integrity":"sha512-pySVxI4BGP7OA1bbPB27+JB4tsdmbQOfjLaznxUw1r8oaN1DN5IYO/3RDa2PnHKJfDLVWwhX3SOgl9tgWpSRog==","signatures":[{"sig":"MEYCIQCvBljr5IVsz5hgdkn7PN9sh2fHAYIrdVLJlShDm+gnIQIhAJ+QIQT9h5PFBcw54JQVynGHXjzYdqW1jg6XWy6iFQOZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1043605},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"397c14e254427224261fdf8d807d59de2085a032","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.53_1779269640343_0.17596956825421795","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.54":{"name":"@_tc/template-core","version":"0.0.1-bate.54","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.54","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"c49ae7d342c6f8d8179c396a53d31944e106d026","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.54.tgz","fileCount":836,"integrity":"sha512-JeGFPt9add4H0NVW7rmooBLqtYfbv79mVjAAf9C+Pd5OKspBciVfolSfUO+YLQ59LOpZMDEwMWtKqTLIxrua0Q==","signatures":[{"sig":"MEQCIGMbczxR867K6Y7c52qacM2yd09j0HNHvgykLUdJ0cr3AiADQtQ6xPW65e7Dxh/DC5MSeEaHI+3jkKl26MiTpViQsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1052299},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"141a910815397eee55157b702598d602e81654ce","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.54_1779276028992_0.3646402677305607","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.55":{"name":"@_tc/template-core","version":"0.0.1-bate.55","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.55","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"b752854e3881c2fbc87cdfa2413d5cdbd59da7d1","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.55.tgz","fileCount":839,"integrity":"sha512-/KpeWJCZ6eP6BfGkCC+KKjOIJg5jesK4UNBH4QkKAD/ePiTc3+aWDI2/lazmltHfPUrmhnWkXAbjobQ3jza1NQ==","signatures":[{"sig":"MEUCIQDGoxN5YVDdHmWzVZpaxe9crvzDcyKP5xGfNpSkqJw/8AIgJUTgz5pF74bLQs8ILAT1QZveRnmBpQYli3NsU7+C3ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1060385},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4ee777c67338890cc1799b7c5f237ad5cfa79cca","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.55_1779286095580_0.2709447903272175","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.56":{"name":"@_tc/template-core","version":"0.0.1-bate.56","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.56","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"aeaf7fef4712f0dc5d1f7a8dc6b12ffa5192bdc1","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.56.tgz","fileCount":839,"integrity":"sha512-+kCGWao+O6z1I3f+nV9ZzzA4uxjvgIrFR9IAIWfQQZsaEfLk1x4G1eKiqacLF714nbI2FeHMcHh9ANHIBzmgbg==","signatures":[{"sig":"MEQCIHKVd0S2hmn4XJs4ezjJ+Nzyn1w3f+/T4iwaWR9a6FA3AiBfPC8NGotGdcu7Yxa1UrkScV/r3BiqNbQ55O8F/wILwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1060395},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4ee777c67338890cc1799b7c5f237ad5cfa79cca","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.56_1779286504318_0.4549803919351654","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.57":{"name":"@_tc/template-core","version":"0.0.1-bate.57","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.57","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"284a832a7e859e8302ebb814f2d727182500ef3f","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.57.tgz","fileCount":842,"integrity":"sha512-vvn4rHzTHciV2VDdiaOyxaGtDiJ99OQG7OHrrj+v23HsvwMulnpvMfe4EFRB9Fy9ps0699RTWwrjk+n0HQv/UQ==","signatures":[{"sig":"MEUCICUVpqotl4GHgCmss6VC2ibcUU65N4tSRLgHeI9Jq57QAiEA5JYmUj7K2N1UuysCVZCukICGuqzMYbFOSP0jEbfq/+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1062754},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4846c3c309ee5e4519de80f2d9951e72557ea564","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","koa-router":"^12.0.1","@types/node":">=18.0.0","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","react-router-dom":"^6.28.0","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.57_1779290270969_0.9278356680894486","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.58":{"name":"@_tc/template-core","version":"0.0.1-bate.58","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.58","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"fb375a185da4117bea2707baf5148e4fa3d95412","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.58.tgz","fileCount":842,"integrity":"sha512-ePfPGAqpd9/6paR2E4wbjFBK15QdmjSjHDcWihbXD/vnQfnH+pqXf6haCdRDbPHvkT930oI0qcsxGQHBKSqqWQ==","signatures":[{"sig":"MEQCIFuzP8qReLzgtE7eVg9WUCzQrx19CvCZJls6p1Htg2+6AiBi4NcTgpnyCALdJzNfGarGVqvnVdqcT32ggxl1hzl8cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1066050},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4846c3c309ee5e4519de80f2d9951e72557ea564","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.58_1779291458402_0.32558633479202914","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.59":{"name":"@_tc/template-core","version":"0.0.1-bate.59","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.59","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"1c0e3118b0911481c4554fe7222abf467e6805cb","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.59.tgz","fileCount":842,"integrity":"sha512-J/EkAKQv89ZLDkOc4v7JdnJ/Ka+CnL2Xv6HAW1Pz4Py2AX8T2CuuyLFzeWgRR+j0CYUn6jw1OPbp+dKWN5L69g==","signatures":[{"sig":"MEUCIQC3JuEmKp4gWJNcKyXroEORdeU4yyHbb2wRv9RBf7ukGAIgdRWxaMhX69QpfIar68latOMjZZ+SpkmmMGPOi2mhon8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1072252},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c0b899f63846e16defce2737ff552d6445e61117","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.59_1779300991650_0.74760044827142","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.60":{"name":"@_tc/template-core","version":"0.0.1-bate.60","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.60","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"e866bc8c6e1f73799e34140498913d12fafaba77","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.60.tgz","fileCount":842,"integrity":"sha512-SN1zh48mgUqvDQcJh6kocQ8QiWTal97edQJnwFevp3h62h+rySLNGAUSg5Rz2C5m9oBUvTLoYwD4nnWmfipAmg==","signatures":[{"sig":"MEQCIELiOmm+MMEcAe4xZNt3TfffsEu4/j58pKEETlV980OCAiANgYaAPt72hmodIN0UF+hOuO0NxBI+rmm861oiG+LO6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1076183},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"7d31eec50c31cae9d4612c4ee9d278d5a26c5d60","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.60_1779303938678_0.2663063721742642","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-bate.61":{"name":"@_tc/template-core","version":"0.0.1-bate.61","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.0.1-bate.61","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"57836af3fdb089ad968ceadcaae9168181751379","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.0.1-bate.61.tgz","fileCount":840,"integrity":"sha512-XgFzyEMCKPT7JBEkSJn4wcawv6O2S3BLDK87B4C2V7SVJDB4AcTP9Bhx81LIt6P+To6avaaEQ1qamAI/FDuU5A==","signatures":[{"sig":"MEQCICSCALgwKb5N0eTcqpdeJeVc7YLEAIBDhKCVgtLEVdymAiBmSaXBDiDpPPxFUfoLHZ+ElhXIIwx3WcK4s954QGwehg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1075861},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"7d31eec50c31cae9d4612c4ee9d278d5a26c5d60","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.0.1-bate.61_1779305469782_0.7519424170192266","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.0":{"name":"@_tc/template-core","version":"0.2.0-bate.0","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.0","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"9b6e087dfb0101b32a4653a65f4ce6378160e761","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.0.tgz","fileCount":840,"integrity":"sha512-0D5Wojiw6qJCuNsb/uPEGywU45vVOf+7BBRUtSY/1L6LAuYAleo+ZhsGuQvvYagmSuVfgSFOKFIjbdTrxqaqvQ==","signatures":[{"sig":"MEYCIQDaTqkEqp6ipuxF8h32xoawPKLAUh+cSb5E6RF/PuWY3wIhAPWO263vS6yGiH3LwL3MJnnL+CE6WOZxGZywyq1TO1nF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1079630},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"b68c5085f7209c2cb5e1a75523ffbe6d1d01b72f","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.0_1779340121825_0.4446318889966765","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.1":{"name":"@_tc/template-core","version":"0.2.0-bate.1","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.1","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"a902838091f285ec7ea6a7471cd63d1159af3043","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.1.tgz","fileCount":843,"integrity":"sha512-hIoaMqMqMTm+fOeFOAwedmVPChYhk2kgPAeyphQxqH1YOXOOe01c4fm7XNu5WrCPEmZrry+Ir4RqHoJQF+rOpw==","signatures":[{"sig":"MEQCIGWAf6gdJ5mceQf7voxunWufqaVhW0HTlw4uWedFx3ayAiAgGJv5qKj3OgB/sHzWqpD0uo10RSicD77gpu3CeBm0fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1087723},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"aa1fa7e6c177e035e0b8513d89c21b6af93f77c9","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.1_1779355650518_0.36689293396913847","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.2":{"name":"@_tc/template-core","version":"0.2.0-bate.2","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.2","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"082a4e0f5b4b79018cf4f42e38349d304c1e390a","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.2.tgz","fileCount":845,"integrity":"sha512-T1gbw/UrwSqBUoLZ1vwvuHIoaWV9cM3lKrcXyIQ6v1P57Xfi1wK3aCnHM59UxEChf41QNCjmyn19Z1pxf9oyow==","signatures":[{"sig":"MEUCIBod0U0ZhU+hLdhbQXq5UifHT+F0Fe6SMajnw++bOzujAiEA7BgjU9UxzhSGNpY+dug2NFmazRJk2pfYGTg5MNftbvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093738},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"bf9ecc111b01791a45b2a8146d2f6823c58acace","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.2_1779363332891_0.392795082292029","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.3":{"name":"@_tc/template-core","version":"0.2.0-bate.3","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.3","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"13922d2b08f2b317f07bfa8f36dd49a05585aeae","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.3.tgz","fileCount":845,"integrity":"sha512-LejCsMDKgghd6+hGV1FzFx8Na3i9ZO8f2l0fF2dciZtF1qZNc9Yj/gonegO+yhyLQKrXbMSABvcUJbs2JuC4/w==","signatures":[{"sig":"MEQCICOG1fyof8NKEof2TunMTIaitox59EAtFvVVHHjlsHuhAiBjfoHB3p4MudeE/LD+ebv2dbQjVNKI5pa5jcu5FV0r2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093738},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks/*":{"types":"./fe/packages/react/hooks/*","import":"./fe/packages/react/hooks/*","require":"./fe/packages/react/hooks/*"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"bf9ecc111b01791a45b2a8146d2f6823c58acace","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.3_1779364257604_0.14680520323361246","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.4":{"name":"@_tc/template-core","version":"0.2.0-bate.4","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.4","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"377fb64f71feb88c5f1d7e902b23ded698fb481d","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.4.tgz","fileCount":849,"integrity":"sha512-kc4vGBrk3PUKLgFUskjQjnXXxANwvAUIi4UmUTdvlSylVKe17rXqVZaSolaH8+QFOZgtxB3DT548XgpNFHW29A==","signatures":[{"sig":"MEUCIASIfEfrGSA/drWxiGbuAEGOiZT4P8mtzaq+3/0fQv+FAiEAiSZtGsyOe7DPFkn5LDelOMFFfDculeXCoaYJh7eQk4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1097614},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"bf9ecc111b01791a45b2a8146d2f6823c58acace","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.4_1779367384837_0.7197655972275698","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.5":{"name":"@_tc/template-core","version":"0.2.0-bate.5","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.5","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"675b15e20e621c2ff5d6019b274a10f6cd820d65","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.5.tgz","fileCount":849,"integrity":"sha512-Wj5PA3xnqAFTRpzbhbJ8jLGeMlqktxYNlIw+WXqr/kJqFmW/D08gDSChUUnP9jQtJfwr0gBtlYaYrC2g1X76Rw==","signatures":[{"sig":"MEUCIHl+WfrDHlVBBqA483vesmpPxsi1O+WQEK+hhouPCVG2AiEAkqZYEjChx9TnMHLmsapodeSi/lVrPU9QjqCemMXz/VI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1104341},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"38a691e2eb587a38584847560c8dae45b49c0fa9","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.5_1779371791415_0.9630720999817461","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.6":{"name":"@_tc/template-core","version":"0.2.0-bate.6","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.6","maintainers":[{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"c4dedd22d94d58f1893bc9b884bebcb1c8133b36","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.6.tgz","fileCount":849,"integrity":"sha512-j7Ibwu02RLpCS91o/fSqQmLe9n8zm1VvaQXVUqEEymMwCDi9eQb5TLKsrHq6AwKsLSy7GEqHg5R9oW9Mxy8dog==","signatures":[{"sig":"MEQCIFqC9ve1qX+9DBE8U7GmZJ10wovone9lwRvcWCDupA5LAiA38mUocFJmJUoI5HZRJ70Ga2aoLOt40sjh1kVA4Vb7Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1104680},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"38a691e2eb587a38584847560c8dae45b49c0fa9","_npmUser":{"name":"_tc","email":"arlen.l.n1you@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.6_1779382443509_0.23453979929280822","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.7":{"name":"@_tc/template-core","version":"0.2.0-bate.7","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.7","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"c8acb1d9954d3dad0fd5483ab1990b0cdef8878b","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.7.tgz","fileCount":859,"integrity":"sha512-75Fz2Q3lntkKZb/lACVVBD/nsEXiPH8ePRurKMpBD7+XCXzlm1aUYywwKB5NPoc2PoJi18xz/T40mC7PbmtxBw==","signatures":[{"sig":"MEUCIB2/nQ+xPojZ3h7y1L+lfcsj37/d4/3924nLfW+j/o9SAiEAxNzq4RzYNtWROBIolnMBX8OtlNz+ErJUb3OGEj+tQ9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1116299},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"7ba658c70f9ee0a05d3794493ff479272c016d08","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.7_1779427636661_0.43388165008299073","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.8":{"name":"@_tc/template-core","version":"0.2.0-bate.8","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.8","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"c670624bd0d7edb1f267b9e28bdb515c153f07b1","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.8.tgz","fileCount":859,"integrity":"sha512-MSY60XBFL3tXi51BfUaBKlC2LFUP6X96LUeIbktJrUGSH/DWQ+nv3CiAe0EHN7Cqz2hm0oya/xmLwNUEfkUvdA==","signatures":[{"sig":"MEUCIHnAaO3CSOeh87qxlktTCpQ2FZwiJbMLzeTyeXPc37VfAiEAxDQwCgc5ztqno5nl+ELg6G6oJDB6on1TLQog6eC3htI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1116463},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"7ba658c70f9ee0a05d3794493ff479272c016d08","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.8_1779429181014_0.44883145277457936","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.9":{"name":"@_tc/template-core","version":"0.2.0-bate.9","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.9","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"0f6bc9b0f0dd87323e6641a5666bf74c7a0d39fa","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.9.tgz","fileCount":869,"integrity":"sha512-Vwewm9VeM3zB4DA8LH/YRXC0vlnj69z5ekXvHROQFg4YcA+00YglzMe9NO+2ciCsEDPIX1aSow+Xl0M9Dfhuvw==","signatures":[{"sig":"MEUCIEpUNbhQY0Pm9Om7XJ6jUaXoLyG9/8ah4iEfvAfG3ZIJAiEA/yjfOerQmqGE5KAmBksDRfmys8dQx42mz9IQG7141Ts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1129161},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"22f3d5ca5f7c71c2132a004c48a6f2b4c947b28d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.9_1779437711982_0.8711173050538117","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@_tc/template-core","version":"0.2.0","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"ed5d2a208a1c304358b9241047d15903ede936e1","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0.tgz","fileCount":869,"integrity":"sha512-G7iuxagJy5noupkqErqUXgqg2HaBseHb47gamTDQC0awDjBdlssIoblfJiZ/jOdJukGEkPFUbUVvhRTXgtrrPA==","signatures":[{"sig":"MEQCIBs+fAUSuuI8yRO9Nt7TbXIIKl1kYaFg5SAkE+Ku0O5OAiBXMjvvVim99k9+EOx7kD31ys2Z8m7QuzsA/Ilv4/qojw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1129148},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"f61d58a02698a2a43c1742feba20c02657b83705","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0_1779438187902_0.9831870017462119","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.10":{"name":"@_tc/template-core","version":"0.2.0-bate.10","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.10","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"23e0e884295117106d68a4422250badf5f256e5e","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.10.tgz","fileCount":875,"integrity":"sha512-b+KBQ8y9Vd6RxKXPLPZtwCZ0frJP7dy7ywOG67W4BGYEVswe+GKDqsZbB/OeGnDKpsZ3HCb18VLHkGZEZTXzXQ==","signatures":[{"sig":"MEQCIBRUOFKyoVLKG1HAVNErZICIn2oRqnZy1AiQSi7Dvv/iAiB6U3Ta9WcK/cC+HVzWQ5xv1HGDGbzOviq8OvzLt+1rHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1136212},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"f61d58a02698a2a43c1742feba20c02657b83705","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.10_1779447700390_0.9833437079356231","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.11":{"name":"@_tc/template-core","version":"0.2.0-bate.11","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.11","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"cec9a2097cce6749a6e75669cd18d41b8105bbf8","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.11.tgz","fileCount":875,"integrity":"sha512-kkDDjoh4hY6gK7zb9B0uwqw9XV9wCv1fz5m0FoI+7e95S9iPSGnGVwvpmjiaTGvawK7hPLsF2JlcLBg3bBprPw==","signatures":[{"sig":"MEYCIQDni1U9cfGMkwlZ6p0unE3GRk9ag/VwrazukxGQS9/NKwIhAIfM3IyndZUHkRcsWgNxJxKkId934H+QIUToI2/PRwg1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1136670},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"f61d58a02698a2a43c1742feba20c02657b83705","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.11_1779449340646_0.49595161206177396","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.12":{"name":"@_tc/template-core","version":"0.2.0-bate.12","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.12","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"edfc1562901eb8136b2eed17e106b7855faa71d0","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.12.tgz","fileCount":878,"integrity":"sha512-08IlzD0enOZsimNBS/cXM4fPfgA6BXlwGIR+4hG2PLoNhYFPzjayLkOVvSJxhttSQZgO9IRHPxBau89Tpj/L6g==","signatures":[{"sig":"MEQCIHDALbwBNRnrTe9kMyPaeIVCdgGw7e2mQKsWY75LyGPtAiB9N9PU8EJBub4ask5KZZelVkC0YPeO4mBVwvSMGTwDsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1152521},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"f61d58a02698a2a43c1742feba20c02657b83705","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.12_1779453148562_0.9566149523480207","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.13":{"name":"@_tc/template-core","version":"0.2.0-bate.13","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.13","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"6067f596aacf258f85c3302ff4fec858bec1cae5","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.13.tgz","fileCount":878,"integrity":"sha512-zyUo094K1kQ+n0YX4Etbgu9xUqIceJLh8ymuu9fyXSbJWdNdnoIGmXB2SVobg/bktE3OcfI3iWZnwQ+JJ8M1bQ==","signatures":[{"sig":"MEUCIBhYiKCUP4for1mlPfqvfXKRlqv/QwMC5VJATdNZla/OAiEAjD2eSbVoxjyeM3DIX1COGJDV6y09tBMkIoeGW7P+NZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1152599},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"f61d58a02698a2a43c1742feba20c02657b83705","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.13_1779455023106_0.295248788161794","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-bate.14":{"name":"@_tc/template-core","version":"0.2.0-bate.14","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.0-bate.14","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"28d57c2b62c167a17968cfa73c1776135a25e22d","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.0-bate.14.tgz","fileCount":878,"integrity":"sha512-4qlbAidLTOaWTzdZ3kPE/TCg4JEGTml8jmi+wzCwdkVBxhL9sftmEYnN/xiaEie0pr+E+n6aAXZrWkch5RMNoA==","signatures":[{"sig":"MEUCIQC8gXC1jIP21qxu01MDKKas9cs1YXE/FgfCnFwXQE2YSQIgfNHHG3r+H8v3BuDH3WYEp2qZY4GG9CTlMYofGk3oYG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1158138},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"598894e1d3515a449ba8a292536e05f0115a8a78","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.0-bate.14_1779467549831_0.32605550008617334","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@_tc/template-core","version":"0.2.1","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.1","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"d2932aed832cea73fc84109daacdd21476a390bd","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.1.tgz","fileCount":878,"integrity":"sha512-4QDUjyN5U4ecPMruN/eD1eoYS7d6supdqoBusfYTElCDlPVaVIhbaFax3u8AwE4OK1yfj6n1/IN3wNKY8DL+ow==","signatures":[{"sig":"MEQCICQ3wVir2SzdXBtR91gCt/FJjDaJiwZndt7BwJ+umpBFAiA9Hsclj0eIsJHYA7AarAPW94kV7KFcz5dOCFTvvkg4Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1158130},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4277a0798e6a766a7130163d3e686906fcab0172","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.1_1779534474826_0.8939965708954964","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-bate.1":{"name":"@_tc/template-core","version":"0.2.1-bate.1","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.1-bate.1","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"9457f128d139f17f19ff562bd50af33b03be9114","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.1-bate.1.tgz","fileCount":878,"integrity":"sha512-BXavo5398kv4pRSgIHq/Vuhrh2qgriTiBIZxqgtXcAXQmjCKPOSaqhvm+6bO7CzvOkxVrdtKz4iB4TlVfbqu5Q==","signatures":[{"sig":"MEYCIQCNa2VRBlj74RvbF3TY4APLpQBrWHOtoQPvMjnm36cOWwIhAJkEIre3cd3CmJm36cIY1tJZ76Shh35FCNO34UGRXHYl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1158990},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"b2b935cc1fec6c70e36d9c1097957b80f93383f9","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.1-bate.1_1779610403927_0.751121441694893","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@_tc/template-core","version":"0.2.2","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.2","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"5231e64006317306e499b61327e779dc4bb4942a","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.2.tgz","fileCount":1032,"integrity":"sha512-X6yQ0VDJV/EawC/UajVPOqxVYjZ+T9ruSFcn55fQv7Gn2afvjY5gxR3aUq0d/V67gIaC4QLYcEKwQh9Nqzg5Ew==","signatures":[{"sig":"MEUCIDdD4OU2zHyyU54CSuxR/U2L8TzezDR1zB3urukCZTxvAiEAsV1ALrlbT97EZ6/SPSKRWPkFdJwRQU055N3XTomxmFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1303983},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4da36a4f2d0b79ce1f9f5625e2a0cfb70ac012be","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.2_1779702118886_0.8307153796357789","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@_tc/template-core","version":"0.2.3","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.3","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"b1424864e813e27b137b56ba5235d671af10bc1d","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.3.tgz","fileCount":1032,"integrity":"sha512-DXJNE7CE94xXr0JsX0Z1rJYvfIsKNRzvBreWw1rJU0O1xFiSMar7FuKGcV+FYA3XZBqixtUfmYuXAxA5oEXbWA==","signatures":[{"sig":"MEQCIGOfoB5Yr7OCp8rDGnwwegWyQHJd81VencfM2kYUz2VeAiAQBTfd1ZB6Kq3alX0kltAdvEPA/poBy48ToAc/ZrP9wQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1304401},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"4da36a4f2d0b79ce1f9f5625e2a0cfb70ac012be","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.3_1779702736693_0.7713879014461447","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@_tc/template-core","version":"0.2.4","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.4","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"1c21336c0c6e03400f7a58ed38490a361ed930c4","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.4.tgz","fileCount":1032,"integrity":"sha512-TJ1MeOCjakW43xk+3WIxRqDSaOKao0jF5q8cCRn55zP4DR4pzl6SYjrFDY+C7wE6RWCQKRce87IkUm6hCiN9dA==","signatures":[{"sig":"MEUCIQD1CXZj4FKjDM6wq0Ch1mfZwBjWalCXbAzgZOiL+OT/fgIgOZymVgCNFW3hNa7NLSdlGYRle4sBkNVbucJ5FEeJ5RI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1304398},"types":"./types/index.d.ts","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"6354c9c5cc4ba94137aeb35b261982fd613a8add","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.4_1779704869233_0.5622867847065727","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@_tc/template-core","version":"0.2.5","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.5","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"7a224334e1a18860fe81e3229e9ae6d0f988369e","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.5.tgz","fileCount":1032,"integrity":"sha512-ZVc4b2Qbh+muALHnOdA4YWmr5+N+W/f3fJA4a+IxtokPXJfmJgS3Y0Ubsb+c7FONt3NzAKK8a5U6aLnn2Nv2sw==","signatures":[{"sig":"MEUCIAmx451UEE1Vp6UiPRtGotIo9uA/i9hhMq/6DzmKWB8vAiEAmH8d25gbaq0AuQQAmmskhgaSrEvddwYbO27Zavr3d7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1304455},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c8d4bb146a4ab676fdf9467c2e19f26dd8ea2c9d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.5_1779705662586_0.4150979284734886","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@_tc/template-core","version":"0.2.6","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.6","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"e7e3bc13a25428b43c16da73be0ce75422487757","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.6.tgz","fileCount":1032,"integrity":"sha512-HyC9R2YHqAbLOHgJNOBd5SSNn1M6Fe0+EJlqoNpqN09oee71bq6uEubMKwdhfEIcPTpIvE6A5vX4UMCS+vEPPg==","signatures":[{"sig":"MEUCIQD4Aypby05l6JRqqbSByiUFx08P984zSij/HxbAGdoRxwIge9ZLOXtz0gUzTOOeCAmO13P5BCAlDI4KBT/hc5PVXfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1305883},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c8d4bb146a4ab676fdf9467c2e19f26dd8ea2c9d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.6_1779711496582_0.4205047417093608","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@_tc/template-core","version":"0.2.7","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.7","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"b5a0142d98f3a1437e02a5f5e76ef65c024a2c20","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.7.tgz","fileCount":1032,"integrity":"sha512-z38qP94vppWr6yEBPSZp0WXakYqiy2Mkdxtdyd8NILOMO7jhwWTtaT7Bp0OUXqF1N0PjTZWKKq/24NidyxpV4w==","signatures":[{"sig":"MEUCIQDND09hwFUOQBqrs+8TdUh3KDNc7bxClGyX+DgRT65SHwIgDkEgyyMk88MzAytCQmceNX8NUhamR9mKW7/xbRAezFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1305986},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c8d4bb146a4ab676fdf9467c2e19f26dd8ea2c9d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.7_1779718386030_0.40150972616117864","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@_tc/template-core","version":"0.2.8","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.8","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"9d320a477c010afbab10e6f51fee21c3ece47480","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.8.tgz","fileCount":1032,"integrity":"sha512-/KLaQRSWCMN9Kv8n+K1yNuWkMHckR5O4mjyyx67iLk85kkLlDc3uvTxEFQgVfc1/V6K/NFABckvevIdGmXyQVg==","signatures":[{"sig":"MEUCIQCywTCGpvs/Ju5Xuz/9lQU8D5zdsj5yVAJJe6JsJCXTLwIgH438Nf40HT9DX+bMa0VOSgz5YdU3G724jy5j8YBx+2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1306006},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c8d4bb146a4ab676fdf9467c2e19f26dd8ea2c9d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.8_1779718918215_0.3731564496907731","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@_tc/template-core","version":"0.2.9","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.9","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"fccacc8f6cd4d56c8f8e6b4fc9a3344468fc71cc","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.9.tgz","fileCount":1032,"integrity":"sha512-OJioJxgZI1cZGLsH7Ok/1PjmCb8KJAMUG5woj2hQzfcoWfWPe49i5hzzTmueUjOFCKtm0n+a6CbIBbV1c9Gn/w==","signatures":[{"sig":"MEQCIC6+WNn2/M1SjeYccHiU3IyLXyZmcnSph+Yz81dMdXHmAiB92OVF+hnnM8QQcfK9lClA/FvDpc7YshlNQiEZK0SfdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1306020},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"c8d4bb146a4ab676fdf9467c2e19f26dd8ea2c9d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.9_1779720025267_0.5337479204601037","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@_tc/template-core","version":"0.2.10","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.10","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"2fd270372d411cdf126af1610bea1626efff266e","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.10.tgz","fileCount":1032,"integrity":"sha512-wbE7aOFkFlIH2uGl/3I+8nA2mRZ1tTGJaUNXtHl6EtaXc/gXz+3e1Y2k342/MU0zDeg+yUdjZtoeVANuHm+IkQ==","signatures":[{"sig":"MEUCIQCc5Wd57sAD5zYkIc+Wx34YR0C5DxX1GIHOCJpdVOrQ4wIgUxGjRQ2Jif9JZeQJFHNtF09Oj51OtM8CGlWGn4gbS60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308935},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"a8d957f62d40a6b6dc078495d944431d0605e97d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.10_1779775296816_0.5902237366315606","host":"s3://npm-registry-packages-npm-production"}},"0.2.10-bate.1":{"name":"@_tc/template-core","version":"0.2.10-bate.1","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.10-bate.1","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"44fbd65a66cb3244da3ead66b86d612a7ebd27d7","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.10-bate.1.tgz","fileCount":1032,"integrity":"sha512-XsNDLuD4f7UXOkeiFNhoBS2fFxAJGAx0peLk9RPxytpRZgZc5SrsraBsKnvJ6LQgrE1TpR2jy77+C0AqKhgXHQ==","signatures":[{"sig":"MEUCIDcLFVTYMDGe2yVahuAp53WIOPxJpuCL76dcGF1lcBYsAiEAor+hcxCLytxkYdpOYXjhqD+9lWvp1xRC2g0dsY3v6ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308942},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"a8d957f62d40a6b6dc078495d944431d0605e97d","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.10-bate.1_1779775531237_0.6783630647645409","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@_tc/template-core","version":"0.2.11","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.11","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"e0e817861da1a6dc615063ce9980b2cd8c5e8ace","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.11.tgz","fileCount":1032,"integrity":"sha512-kX8O7ZwNmsbVmha6h78DcTe4TmrZphk8Y/MYiqeVljixdIYjW619Dymc4jDNaTbKHglCVXKp6NSPMQ6rPWJEiw==","signatures":[{"sig":"MEUCIQDorEMHMTGNhTKRZWZCvafxg7bw8YO8T9rj6T7JziRKvgIgMXpWweu+Q3QIi03oajfiQPC/IjHzyHYZS5+fAvCG1UQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308936},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"dc5b4453d2f3420be65b437eec5acefcf5de2bdf","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.11_1779904427996_0.2558540406830685","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@_tc/template-core","version":"0.2.12","keywords":["koa","framework","typescript","template","monorepo"],"author":"","license":"ISC","_id":"@_tc/template-core@0.2.12","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"998acf307fb08dec64436925bcaad21ffafa4228","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.2.12.tgz","fileCount":1033,"integrity":"sha512-koVwRvRSMds2v2JP7RK0SQqg73P0rhyvPnYpoKYDV4tPhiJSlBWwwIHJZ6xI8VHPTFGxeu6cDRsfkkKvcP9V+A==","signatures":[{"sig":"MEQCID/PBlKBTs91KNizPmBnb+PqXxeSoeLvdAp1BXIYk9qDAiBEONCQy+SKyxLHrRd3Vjqxh7Meelj4fJD/bA/WPKzOLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1312303},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./model":{"types":"./model/model/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css"},"gitHead":"dc5b4453d2f3420be65b437eec5acefcf5de2bdf","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.2.12_1779904730678_0.7875716173141654","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@_tc/template-core","version":"0.3.0","keywords":["koa","framework","typescript","admin","react","vite","schema"],"author":"","license":"ISC","_id":"@_tc/template-core@0.3.0","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"56f3b49dc5f60f6f087a0c5b9e15b48884210250","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.3.0.tgz","fileCount":1126,"integrity":"sha512-MvuFOCQrhaxcKxgeQL0c87Un2luFyNngXpyQ7V6WJnw/KPQm4L5RCOzwlv94WrCvSCbBHq8Uz2I5H6yvrPuOpw==","signatures":[{"sig":"MEUCIQC+Xxluvhh3hQJLcJvz/NmqJVAcXjzBi5fRhdAqp53qIQIgJoLJT/WLv4rwi1Hcp1yJzN0bkb1Aq45CJOfZDjF5bOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1460242},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./ssr":{"types":"./fe/ssr/index.d.ts","import":"./fe/ssr/index.js","require":"./fe/ssr/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./models":{"types":"./models/models/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./ssr/hooks":{"types":"./fe/ssr/hooks/index.d.ts","import":"./fe/ssr/hooks/index.js","require":"./fe/ssr/hooks/index.js"},"./ssr/types":{"types":"./fe/ssr/types.d.ts","import":"./fe/ssr/types.js","require":"./fe/ssr/types.js"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./ssr/components":{"types":"./fe/ssr/components/index.d.ts","import":"./fe/ssr/components/index.js","require":"./fe/ssr/components/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css","./ssr/createSSREntry":{"types":"./fe/ssr/createSSREntry.d.ts","import":"./fe/ssr/createSSREntry.js","require":"./fe/ssr/createSSREntry.js"},"./ssr/hooks/useSuspensePromise":{"types":"./fe/ssr/hooks/useSuspensePromise.d.ts","import":"./fe/ssr/hooks/useSuspensePromise.js","require":"./fe/ssr/hooks/useSuspensePromise.js"},"./ssr/components/StreamingRender":{"types":"./fe/ssr/components/StreamingRender/index.d.ts","import":"./fe/ssr/components/StreamingRender/index.js","require":"./fe/ssr/components/StreamingRender/index.js"}},"gitHead":"a30278b44a0a72050cb15366c8a34c61d185297f","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework package powered by Koa, React, and Vite","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.3.0_1780560741870_0.1636224761627627","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@_tc/template-core","version":"0.3.1","keywords":["koa","framework","typescript","admin","react","vite","schema"],"author":"","license":"ISC","_id":"@_tc/template-core@0.3.1","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"dist":{"shasum":"cc22219fbf1dc628b03f8c183d3202a18c4aab76","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.3.1.tgz","fileCount":1126,"integrity":"sha512-ZzgGYS5sglrCNxva4HTzUGlIiGn6DgJUzUdUJ8q6nwkDiGOZpgb/LKzgO4l8ZaJyEclt48YCQagzL9FtNCZSpA==","signatures":[{"sig":"MEYCIQCsu0gpSgBCsMgwyaVX9sUIt1/UzvyLE9E+NfxP3fWn4wIhANajss+VGhQEfA30ZRLUFigwjs7qG7aPC4fqi8cIxOA3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1462893},"types":"./types/index.d.ts","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./fe":{"types":"./fe/frontend/src/index.d.ts","import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js"},"./ssr":{"types":"./fe/ssr/index.d.ts","import":"./fe/ssr/index.js","require":"./fe/ssr/index.js"},"./fe/*":{"types":"./fe/frontend/src/*","import":"./fe/frontend/src/*","require":"./fe/frontend/src/*"},"./fe/rc":{"types":"./fe/packages/react/ui/index.d.ts","import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js"},"./models":{"types":"./models/models/index.d.ts"},"./bundler":{"types":"./types/bundler/index.d.ts","import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js"},"./fe/main":{"types":"./fe/frontend/src/main.d.ts","import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js"},"./fe/rc/*":{"types":"./fe/packages/react/ui/*","import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*"},"./ssr/hooks":{"types":"./fe/ssr/hooks/index.d.ts","import":"./fe/ssr/hooks/index.js","require":"./fe/ssr/hooks/index.js"},"./ssr/types":{"types":"./fe/ssr/types.d.ts","import":"./fe/ssr/types.js","require":"./fe/ssr/types.js"},"./fe/rc/hooks":{"types":"./fe/packages/react/hooks/index.d.ts","import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js"},"./ssr/components":{"types":"./fe/ssr/components/index.d.ts","import":"./fe/ssr/components/index.js","require":"./fe/ssr/components/index.js"},"./fe/common/request":{"types":"./fe/frontend/src/common/request.d.ts","import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css","./ssr/createSSREntry":{"types":"./fe/ssr/createSSREntry.d.ts","import":"./fe/ssr/createSSREntry.js","require":"./fe/ssr/createSSREntry.js"},"./ssr/hooks/useSuspensePromise":{"types":"./fe/ssr/hooks/useSuspensePromise.d.ts","import":"./fe/ssr/hooks/useSuspensePromise.js","require":"./fe/ssr/hooks/useSuspensePromise.js"},"./ssr/components/StreamingRender":{"types":"./fe/ssr/components/StreamingRender/index.d.ts","import":"./fe/ssr/components/StreamingRender/index.js","require":"./fe/ssr/components/StreamingRender/index.js"}},"gitHead":"cdcbad0ef28577da7c5b796079272993269016b2","_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"_npmVersion":"10.9.2","description":"A full-stack TypeScript admin framework package powered by Koa, React, and Vite","directories":{},"_nodeVersion":"23.9.0","dependencies":{"ajv":"8.18.0","md5":"2.3.0","glob":"10.5.0","immer":"11.1.7","log4js":"6.9.1","chokidar":"4.0.3","nunjucks":"3.2.4","koa-static":"5.0.0","tailwindcss":"4.2.4","koa-compress":"5.2.1","koa-bodyparser":"4.4.1","@tailwindcss/vite":"4.2.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"peerDependencies":{"koa":"^2.15.0","clsx":"^2.1.0","vite":"8.0.10","xlsx":"^0.18.5","react":"^19.0.0","lodash":"^4.17.21","zustand":"^5.0.0","date-fns":"^3.6.0","react-dom":"^19.0.0","@types/koa":"2.15.0","@types/md5":"2.3.6","koa-router":"^12.0.1","@types/node":"20.19.39","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","tailwind-merge":"^2.4.0","@types/nunjucks":"3.2.6","react-router-dom":"^6.28.0","@types/koa-router":"7.4.9","@types/json-schema":"7.0.15","@vitejs/plugin-react":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/template-core_0.3.1_1780569607575_0.7132912630377437","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@_tc/template-core","version":"0.3.2","description":"A full-stack TypeScript admin framework package powered by Koa, React, and Vite","types":"./types/index.d.ts","exports":{".":{"import":"./esm/index.js","require":"./cjs/index.js","types":"./types/index.d.ts"},"./bundler":{"import":"./esm/bundler/index.js","require":"./cjs/bundler/index.js","types":"./types/bundler/index.d.ts"},"./fe/main":{"import":"./fe/frontend/src/main.js","require":"./fe/frontend/src/main.js","types":"./fe/frontend/src/main.d.ts"},"./fe":{"import":"./fe/frontend/src/index.js","require":"./fe/frontend/src/index.js","types":"./fe/frontend/src/index.d.ts"},"./fe/common/request":{"import":"./fe/frontend/src/common/request.js","require":"./fe/frontend/src/common/request.js","types":"./fe/frontend/src/common/request.d.ts"},"./ssr":{"import":"./fe/ssr/index.js","require":"./fe/ssr/index.js","types":"./fe/ssr/index.d.ts"},"./ssr/createSSREntry":{"import":"./fe/ssr/createSSREntry.js","require":"./fe/ssr/createSSREntry.js","types":"./fe/ssr/createSSREntry.d.ts"},"./ssr/types":{"import":"./fe/ssr/types.js","require":"./fe/ssr/types.js","types":"./fe/ssr/types.d.ts"},"./ssr/components":{"import":"./fe/ssr/components/index.js","require":"./fe/ssr/components/index.js","types":"./fe/ssr/components/index.d.ts"},"./ssr/components/StreamingRender":{"import":"./fe/ssr/components/StreamingRender/index.js","require":"./fe/ssr/components/StreamingRender/index.js","types":"./fe/ssr/components/StreamingRender/index.d.ts"},"./ssr/hooks":{"import":"./fe/ssr/hooks/index.js","require":"./fe/ssr/hooks/index.js","types":"./fe/ssr/hooks/index.d.ts"},"./ssr/hooks/useSuspensePromise":{"import":"./fe/ssr/hooks/useSuspensePromise.js","require":"./fe/ssr/hooks/useSuspensePromise.js","types":"./fe/ssr/hooks/useSuspensePromise.d.ts"},"./fe/rc":{"import":"./fe/packages/react/ui/index.js","require":"./fe/packages/react/ui/index.js","types":"./fe/packages/react/ui/index.d.ts"},"./fe/rc/hooks":{"import":"./fe/packages/react/hooks/index.js","require":"./fe/packages/react/hooks/index.js","types":"./fe/packages/react/hooks/index.d.ts"},"./fe/rc/*":{"import":"./fe/packages/react/ui/*","require":"./fe/packages/react/ui/*","types":"./fe/packages/react/ui/*"},"./fe/*":{"import":"./fe/frontend/src/*","require":"./fe/frontend/src/*","types":"./fe/frontend/src/*"},"./fe/tailwind_ui.css":"./fe/frontend/src/main.css","./models":{"types":"./models/models/index.d.ts"}},"dependencies":{"@tailwindcss/vite":"4.2.4","ajv":"8.18.0","chokidar":"4.0.3","glob":"10.5.0","immer":"11.1.7","koa-bodyparser":"4.4.1","koa-compress":"5.2.1","koa-static":"5.0.0","log4js":"6.9.1","md5":"2.3.0","nunjucks":"3.2.4","tailwindcss":"4.2.4"},"peerDependencies":{"@types/json-schema":"7.0.15","@types/md5":"2.3.6","@types/node":"20.19.39","@types/nunjucks":"3.2.6","@types/koa-router":"7.4.9","@types/koa":"2.15.0","@vitejs/plugin-react":"6.0.1","clsx":"^2.1.0","date-fns":"^3.6.0","koa":"^2.15.0","koa-router":"^12.0.1","lodash":"^4.17.21","lucide-react":"^0.468.0","rc-field-form":"^1.44.0","react":"^19.0.0","react-dom":"^19.0.0","react-router-dom":"^6.28.0","tailwind-merge":"^2.4.0","vite":"8.0.10","xlsx":"^0.18.5","zustand":"^5.0.0"},"keywords":["koa","framework","typescript","admin","react","vite","schema"],"author":"","license":"ISC","engines":{"node":">=22.13.0","pnpm":">=8.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_id":"@_tc/template-core@0.3.2","gitHead":"f0ea548d8ed36606a3014e60dec7007103eedca8","_nodeVersion":"23.9.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-E/sWR/sasmJuFUF+dE4C10Tecj2iE44mq0fa/2hjW0nX2SzaLazXg4SQ5B5YD1UsI8aDsZ1iD2Uf2zTc62TVIg==","shasum":"5eedb71597cdacded3485944f9f66c012fddee15","tarball":"https://registry.npmjs.org/@_tc/template-core/-/template-core-0.3.2.tgz","fileCount":1126,"unpackedSize":1464642,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCG+LqBgsC5jNRreW2485m5+QB5fBc/ZLK+m4XG6IrdXQIgHbQ660Z7y9sqjH8BIBkXqpdEVyXbnx+d7Ot9Zmc80fo="}]},"_npmUser":{"name":"n1you","email":"n1you.arlen@gmail.com"},"directories":{},"maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/template-core_0.3.2_1780756834222_0.6252607225211568"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T15:23:09.005Z","modified":"2026-06-06T14:40:34.508Z","0.0.1":"2026-04-10T15:23:09.268Z","0.0.1-bate.1":"2026-04-10T15:52:48.830Z","0.0.1-bate.2":"2026-04-13T16:01:22.740Z","0.0.1-bate.3":"2026-04-13T16:21:59.786Z","0.0.1-bate.4":"2026-04-13T16:31:33.760Z","0.0.1-bate.5":"2026-04-13T16:51:06.353Z","0.0.1-bate.6":"2026-04-13T16:57:45.400Z","0.0.1-bate.7":"2026-04-14T06:19:07.869Z","0.0.1-bate.8":"2026-04-14T06:31:18.038Z","0.0.1-bate.9":"2026-04-20T09:58:05.936Z","0.0.1-bate.10":"2026-04-20T10:03:59.948Z","0.0.1-bate.11":"2026-04-20T10:07:15.949Z","0.0.1-bate.12":"2026-04-20T16:41:47.891Z","0.0.1-bate.13":"2026-04-20T16:49:34.507Z","0.0.1-bate.14":"2026-04-20T20:02:59.533Z","0.0.1-bate.15":"2026-04-20T20:23:31.003Z","0.0.1-bate.16":"2026-04-20T20:43:52.348Z","0.0.1-bate.17":"2026-04-21T06:40:18.174Z","0.0.1-bate.18":"2026-04-21T08:11:48.910Z","0.0.1-bate.19":"2026-04-21T08:46:39.596Z","0.0.1-bate.20":"2026-04-21T09:04:41.883Z","0.0.1-bate.21":"2026-04-21T09:15:39.477Z","0.0.1-bate.22":"2026-04-21T09:21:42.718Z","0.0.1-bate.23":"2026-04-21T10:07:20.909Z","0.0.1-bate.24":"2026-04-21T10:15:51.108Z","0.0.1-bate.25":"2026-04-21T14:35:36.567Z","0.0.1-bate.26":"2026-04-22T07:27:37.921Z","0.0.1-bate.27":"2026-04-22T15:20:32.385Z","0.0.1-bate.28":"2026-04-22T15:59:17.124Z","0.0.1-bate.29":"2026-04-22T16:05:59.543Z","0.0.1-bate.30":"2026-04-23T15:47:13.106Z","0.0.1-bate.31":"2026-04-23T15:50:59.497Z","0.0.1-bate.32":"2026-04-23T16:56:59.371Z","0.0.1-bate.33":"2026-04-23T17:44:06.970Z","0.0.1-bate.34":"2026-04-23T18:23:25.042Z","0.0.1-bate.35":"2026-04-23T18:31:56.845Z","0.0.1-bate.36":"2026-04-23T19:18:29.913Z","0.0.1-bate.37":"2026-05-13T11:45:07.504Z","0.0.1-bate.38":"2026-05-13T13:43:18.396Z","0.0.1-bate.39":"2026-05-13T14:52:30.073Z","0.0.1-bate.41":"2026-05-13T15:08:47.918Z","0.0.1-bate.42":"2026-05-13T15:30:01.991Z","0.0.1-bate.43":"2026-05-13T16:02:57.460Z","0.0.1-bate.45":"2026-05-14T09:33:49.586Z","0.0.1-bate.46":"2026-05-14T10:02:06.499Z","0.0.2":"2026-05-15T21:00:47.480Z","0.0.3":"2026-05-15T21:11:29.359Z","0.1.0":"2026-05-18T13:04:29.250Z","0.1.1":"2026-05-18T13:51:12.222Z","0.1.2":"2026-05-18T16:06:06.454Z","0.1.3":"2026-05-18T16:43:49.428Z","0.1.4":"2026-05-18T17:09:55.267Z","0.1.5":"2026-05-19T05:42:12.457Z","0.1.6":"2026-05-19T06:24:46.853Z","0.1.7":"2026-05-19T06:37:52.720Z","0.1.8":"2026-05-19T07:16:27.386Z","0.1.9":"2026-05-19T07:31:07.328Z","0.1.10":"2026-05-19T07:42:45.808Z","0.1.11":"2026-05-19T07:49:04.809Z","0.1.12":"2026-05-19T08:40:17.494Z","0.1.13":"2026-05-19T09:28:03.617Z","0.1.14":"2026-05-19T14:06:02.367Z","0.1.15":"2026-05-19T14:21:56.945Z","0.1.16":"2026-05-19T15:36:25.375Z","0.0.1-bate.47":"2026-05-20T05:30:07.387Z","0.0.1-bate.48":"2026-05-20T06:04:34.621Z","0.0.1-bate.49":"2026-05-20T06:09:33.546Z","0.0.1-bate.50":"2026-05-20T07:40:30.460Z","0.0.1-bate.51":"2026-05-20T07:57:12.096Z","0.0.1-bate.52":"2026-05-20T09:31:01.476Z","0.0.1-bate.53":"2026-05-20T09:34:00.543Z","0.0.1-bate.54":"2026-05-20T11:20:29.344Z","0.0.1-bate.55":"2026-05-20T14:08:15.818Z","0.0.1-bate.56":"2026-05-20T14:15:04.480Z","0.0.1-bate.57":"2026-05-20T15:17:51.137Z","0.0.1-bate.58":"2026-05-20T15:37:38.621Z","0.0.1-bate.59":"2026-05-20T18:16:31.887Z","0.0.1-bate.60":"2026-05-20T19:05:38.841Z","0.0.1-bate.61":"2026-05-20T19:31:09.969Z","0.2.0-bate.0":"2026-05-21T05:08:42.005Z","0.2.0-bate.1":"2026-05-21T09:27:30.735Z","0.2.0-bate.2":"2026-05-21T11:35:33.081Z","0.2.0-bate.3":"2026-05-21T11:50:57.854Z","0.2.0-bate.4":"2026-05-21T12:43:05.035Z","0.2.0-bate.5":"2026-05-21T13:56:31.671Z","0.2.0-bate.6":"2026-05-21T16:54:03.732Z","0.2.0-bate.7":"2026-05-22T05:27:16.911Z","0.2.0-bate.8":"2026-05-22T05:53:01.230Z","0.2.0-bate.9":"2026-05-22T08:15:12.176Z","0.2.0":"2026-05-22T08:23:08.133Z","0.2.0-bate.10":"2026-05-22T11:01:40.658Z","0.2.0-bate.11":"2026-05-22T11:29:00.877Z","0.2.0-bate.12":"2026-05-22T12:32:28.764Z","0.2.0-bate.13":"2026-05-22T13:03:43.291Z","0.2.0-bate.14":"2026-05-22T16:32:30.003Z","0.2.1":"2026-05-23T11:07:55.063Z","0.2.1-bate.1":"2026-05-24T08:13:24.092Z","0.2.2":"2026-05-25T09:41:59.036Z","0.2.3":"2026-05-25T09:52:16.884Z","0.2.4":"2026-05-25T10:27:49.370Z","0.2.5":"2026-05-25T10:41:02.783Z","0.2.6":"2026-05-25T12:18:16.771Z","0.2.7":"2026-05-25T14:13:06.209Z","0.2.8":"2026-05-25T14:21:58.407Z","0.2.9":"2026-05-25T14:40:25.480Z","0.2.10":"2026-05-26T06:01:36.992Z","0.2.10-bate.1":"2026-05-26T06:05:31.416Z","0.2.11":"2026-05-27T17:53:48.147Z","0.2.12":"2026-05-27T17:58:50.850Z","0.3.0":"2026-06-04T08:12:22.059Z","0.3.1":"2026-06-04T10:40:07.751Z","0.3.2":"2026-06-06T14:40:34.387Z"},"license":"ISC","keywords":["koa","framework","typescript","admin","react","vite","schema"],"description":"A full-stack TypeScript admin framework package powered by Koa, React, and Vite","maintainers":[{"name":"n1you","email":"n1you.arlen@gmail.com"},{"name":"_tc","email":"arlen.l.n1you@gmail.com"}],"readme":"# @_tc/template-core\n\nTemplateCore 是一个基于 TypeScript、Koa、React 的后台框架包。它把后端约定式加载、前端 Dashboard、Schema CRUD 页面、models 类型和类型扩展放到同一个 npm 包里，项目只需要按目录补充自己的 `app/`、`models/`、`frontend/`。\n\n预览 & 文档地址：https://t-c-s-p.allomg.qzz.io/preview\n\n## 安装\n\n```bash\npnpm add @_tc/template-core\n```\n\n要求：\n\n- Node.js >= 22.13.0\n- pnpm >= 8\n- 使用内置前端时，需要安装 peer dependencies；完整清单以包内 `package.json` 的 `peerDependencies` 为准，包括 Koa、React、Vite、路由、状态、表单和 UI 相关依赖。\n\n## 快速使用\n\n项目建议结构：\n\n```text\nmy-admin/\n├── app/\n│   ├── controller/\n│   │   └── product.ts\n│   ├── router/\n│   │   └── product.ts\n│   └── service/\n├── config/\n│   └── config.default.ts\n├── frontend/\n│   ├── src/          # 库代码\n│   ├── apps/         # 应用入口\n│   └── extended/     # 扩展点\n├── ssr/\n│   └── apps/         # SSR 页面入口，可选\n├── models/\n│   └── product/\n│       ├── mode.ts\n│       └── project/\n│           └── demo.ts\n├── typing/\n│   └── template-core.d.ts\n└── index.ts\n```\n\n启动入口：\n\n```ts\nimport { join } from 'path'\nimport { serverStart } from '@_tc/template-core'\nimport { buildFE } from '@_tc/template-core/bundler'\n\nasync function main() {\n  await serverStart({\n    name: 'my-admin',\n    baseDir: join(__dirname, '.'),\n    pageBasePath: '/',\n    additionalPublicPaths: [join(__dirname, 'dist/public')],\n  })\n\n  await buildFE('dev')\n}\n\nmain().catch((error) => {\n  console.error(error)\n  process.exit(1)\n})\n```\n\n只用后端能力时，可以不调用 `buildFE('dev')`。\n\n### serverStart 参数说明\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n| --- | --- | --- | --- | --- |\n| `name` | `string` | 否 | - | 应用名称 |\n| `baseDir` | `string` | 否 | - | 项目根目录，通常为 `join(__dirname, '.')` |\n| `pageBasePath` | `string` | 否 | `'/'` | 页面访问前缀，所有前端页面路由的基础路径 |\n| `ssrPageBasePath` | `string` | 否 | `'/fessr'` | SSR 页面访问前缀，如 `/tssr` 会让 SSR 页面路由变成 `/tssr/:page` |\n| `homePage` | `string` | 否 | - | 应用首页路径 |\n| `additionalPublicPaths` | `string | string[]` | 否 | - | 追加静态资源目录；如需同时作为 Nunjucks 模板查找目录，建议传绝对路径数组 |\n\n框架会自动读取 `config/config.default.ts` 中的配置（如 `port`、`env`、`auth`、`resourceCacheTimeMs` 等）。\n\n常用默认配置示例：\n\n```ts\n// config/config.default.ts\nexport default {\n  port: 9000,\n  auth: {\n    ATKey: 'Authorization',\n    RTKey: 'RT',\n  },\n  resourceCacheTimeMs: 5 * 60 * 1000,\n}\n```\n\n`auth.ATKey` / `auth.RTKey` 用于约定项目鉴权中间件读取短 token 和刷新 token 的 header 名；默认分别为 `Authorization` 和 `RT`。\n\n`resourceCacheTimeMs` 控制生产环境静态资源缓存时间，单位是 ms，默认 5 分钟。\n\n服务端返回给前端的错误消息会按请求头里的语种翻译。当前优先读取 `x-tc-language`，也兼容 `tc_language`、`tc-language`、`language`、`lang`、`locale` 和 `accept-language`；如果没取到，默认按英文 `en-US` 处理。\n\n静态资源挂载顺序为：项目 `app/public`、框架 `app/public`、`additionalPublicPaths`。Nunjucks 模板查找顺序为：项目 `app/public/dist`、框架 `app/public/dist`、`additionalPublicPaths/dist`。这些目录由 `app.publicsPath` 统一维护。当 `buildFE` 输出到自定义目录时，可以用 `additionalPublicPaths` 把该目录交给 Koa 提供静态资源访问和模板渲染；如果需要模板查找也命中追加目录，请传绝对路径数组。\n\n### buildFE 参数说明\n\n```ts\nbuildFE(mode: 'dev' | 'prod', options?: BuildFEOptions)\n```\n\n**mode**：构建模式\n- `'dev'`：开发模式，构建一次并监听项目 `frontend/` 变化后重建\n- `'prod'`：生产模式，构建优化后的静态资源\n\n**options.output**：构建输出位置\n- `'frame'`（默认）：输出到当前导入格式对应的框架静态目录，例如 `node_modules/@_tc/template-core/esm/app/public/dist` 或 `node_modules/@_tc/template-core/cjs/app/public/dist`\n- `'run'`：输出到项目根目录的 `app/public/dist`，适合 TypeScript 编译后的项目\n- `() => string`：自定义函数，返回输出目录；建议返回绝对路径\n\n**options.minifyHtml**：是否压缩 Vite 输出的 HTML 内容后再写出最终 `.tpl` / `.html` 文件，默认 `false`\n\n构建完成后会在输出目录写入 `FEBuildKey`。服务端渲染 HTML 时会读取 `public/dist/FEBuildKey`，构建 key 变化后自动清空本地 HTML ETag 缓存。\n\n示例：\n\n```ts\n// 开发模式，默认输出到框架包\nawait buildFE('dev')\n\n// 生产模式，输出到项目目录\nawait buildFE('prod', { output: 'run' })\n\n// 自定义输出路径\nawait buildFE('prod', {\n  output: () => join(__dirname, 'dist/public')\n})\n\n// 压缩最终模板输出\nawait buildFE('prod', { minifyHtml: true })\n```\n\n### SSR 页面（可选）\n\nSSR 入口放在根级 `ssr/apps/{page}/{page}.entry.tsx`。SSR 和 CSR 并存，SSR 页面默认通过 `/fessr/:page` 访问，不影响现有 `frontend/apps/` 页面。\n\n```text\nmy-admin/\n└── ssr/\n    └── apps/\n        └── hello/\n            └── hello.entry.tsx\n```\n\n```tsx\nimport { createSSREntry } from '@_tc/template-core/ssr/createSSREntry'\nimport type { SSRPageMetaResolver, SSRPropsContext } from '@_tc/template-core/ssr'\n\ninterface HelloProps {\n  name: string\n}\n\nfunction HelloPage({ name }: HelloProps) {\n  return <h1>Hello, {name}</h1>\n}\n\nexport async function getServerProps(context: SSRPropsContext) {\n  return { name: (context.query.name as string) || 'SSR' }\n}\n\nexport const pageTitle: SSRPageMetaResolver<HelloProps> = ({ props }) => `Hello, ${props.name}`\nexport const pageDescription: SSRPageMetaResolver<HelloProps> = ({ path }) => `SSR hello page at ${path}`\n\nexport default HelloPage\n\ncreateSSREntry(HelloPage)\n```\n\nSSR 运行时会通过 React streaming bootstrap 动态 import 客户端入口。页面包含 `Suspense` 边界时，服务端可以先输出 shell / fallback，浏览器侧先启动 hydration，pending 内容后续继续 stream；如果页面没有 `Suspense` 边界，hydration 时机通常会接近完整 root HTML 到达之后。完整机制见 [Streaming Bootstrap 说明](./ssr/STREAMING_BOOTSTRAP.md)。\n\n`pageTitle` / `pageDescription` 可以导出字符串，也可以导出同步或异步函数。函数会在 `getServerProps()` 之后执行，入参包含 `params`、`query`、`path`、`app`、`ctx` 和 `props`。\n\n组件级流式异步数据可以使用 `StreamingRender`。它会在服务端 Suspense 中等待 `getData()`，把结果 JSON 序列化后转成 base64，再随 HTML 片段写入 script；客户端 hydration 时会先解码并复用这份数据。\n\n```tsx\nimport { StreamingRender } from '@_tc/template-core/ssr/components'\n\nfunction OverviewPanel() {\n  return (\n    <StreamingRender\n      keyName=\"overview\"\n      fallback={<div>Loading...</div>}\n      getData={loadOverview}\n    >\n      {(data) => <OverviewView data={data} />}\n    </StreamingRender>\n  )\n}\n```\n\n`keyName` 需要在页面内稳定且唯一；`getData()` 的返回值必须可 JSON 序列化。注入内容会以 base64 形式进入 HTML，避免明文 JSON，但 base64 可逆，不等于加密，不能包含 token、密钥等敏感信息。客户端找不到对应注入数据时也可能执行 `getData()`，因此数据函数需要兼容浏览器 fallback，或在函数内部显式区分服务端和客户端逻辑。底层 Suspense Promise hook 可从 `@_tc/template-core/ssr/hooks` 或 `@_tc/template-core/ssr/hooks/useSuspensePromise` 引入。\n\n启动时构建 SSR 双产物：\n\n```ts\nimport { join } from 'path'\nimport { serverStart } from '@_tc/template-core'\nimport { buildSSR, watchSSRFiles } from '@_tc/template-core/bundler'\n\nconst baseDir = join(__dirname, '.')\n\nawait serverStart({\n  name: 'my-admin',\n  baseDir,\n  ssrPageBasePath: '/fessr',\n})\n\nawait buildSSR({ baseDir, output: 'run' })\nawait watchSSRFiles({ baseDir, output: 'run' })\n```\n\n访问：\n\n```text\nhttp://localhost:9000/fessr/hello\nhttp://localhost:9000/fessr/hello?name=TemplateCore\n```\n\n`buildSSR()` 会构建私有 `{ssrPrivateRoot}/ssr-server/{page}.mjs`、私有 `{ssrPrivateRoot}/ssr-manifest/manifest.json`，并把 SSR hydration 入口并入 FE browser build。浏览器侧静态资源走普通 `/dist/assets/*`，可与 CSR 入口共享 chunk；SSR HTML 会根据 manifest 生成 preload，并通过 React bootstrap dynamic import 启动对应客户端入口。服务端会从 `{publicPath}/../.tc/ssr` 查找 server bundle 和 manifest。`/dist/ssr-server/*` 和 `/dist/.vite/*` 会被拦截为 404，避免私有产物或误放文件直连暴露。如果 `output` 使用自定义目录，需要把对应 public 根目录加入 `additionalPublicPaths`。\n\n`*.entry.tsx` 会被 server/client 两次构建处理，顶层代码需要同时兼容 Node 和浏览器。Node-only 逻辑建议放到 `*.server.ts`，并在 `getServerProps()` 内动态导入；浏览器 API 需要放到 `useEffect` 或 `typeof window !== 'undefined'` 守卫之后。`getServerProps()` 运行在 Node 侧，不要直接复用依赖 `window` / `localStorage` 签名上下文的前端 API 层。\n\n配置文件：\n\n```ts\n// config/config.default.ts\nexport default {\n  port: 9000,\n  auth: {\n    ATKey: 'Authorization',\n    RTKey: 'RT',\n  },\n  resourceCacheTimeMs: 5 * 60 * 1000,\n}\n```\n\n访问默认后台：\n\n```text\nhttp://localhost:9000/dash?projk=demo\n```\n\n`projk` 对应 `models/{modelKey}/project/{projectKey}.ts` 里的 `projectKey`。\n\n## 内置功能\n\n- Koa 服务启动：`serverStart(options)`。\n- 约定式加载：自动加载 `config`、`extends`、`router-schema`、`service`、`controller`、`middlewares`、根级 `middleware`、`router`。\n- 双层 app：框架内置 `app/` 和项目 `app/` 一起加载。\n- 默认项目接口：\n  - `GET /api/project/model_list`\n  - `GET /api/project/list`\n  - `GET /api/project/:key`\n- React Dashboard：内置 `/dash` 页面入口。\n- 组件预览页面：内置 `/ui-components` 页面，用于查看和测试框架内置的 UI 组件。\n- 菜单渲染：支持 `schema`、`custom`、`iframe`、`sidebar`。\n- Schema CRUD：根据 `model` 中的 `schemaConfig` 生成搜索、表格、新增、编辑、详情。\n- 内置 UI 组件：提供丰富的 React 组件库，详见下方\"内置 UI 组件\"章节。\n- API 中间件：错误处理、静态资源、body parser、项目上下文、接口签名、参数校验。\n- 前端构建：扫描框架和项目的 `frontend/**/*.entry.{ts,tsx,js,jsx}`，输出服务端可渲染的 `.entry.tpl`，并写入 `FEBuildKey` 供 HTML ETag 缓存失效使用。\n- SSR 页面：扫描框架和项目的 `ssr/apps/**/*.entry.{ts,tsx,js,jsx}`，输出 server/client 双产物并通过 `/fessr/:page` 服务端渲染。\n- 类型扩展：支持扩展 SchemaForm、SchemaTable 单元格渲染组件、CallCom、KoaApp。\n\n## 常用公开入口\n\n完整 exports 以发布包内 `package.json` 为准，除下表外还包含 `./fe/main`、`./fe/common/request`、`./ssr`、`./ssr/createSSREntry`、`./ssr/components`、`./ssr/components/StreamingRender`、`./ssr/hooks`、`./ssr/hooks/useSuspensePromise`、`./fe/*`、`./fe/rc/*`、`./fe/rc/hooks` 等子路径。\n\n| 入口 | 用途 |\n| --- | --- |\n| `@_tc/template-core` | 服务启动、基础 Controller/Service、Koa 类型 |\n| `@_tc/template-core/bundler` | 构建入口，提供 `buildFE`、`buildBE`、`buildSSR`、`watchSSRFiles` |\n| `@_tc/template-core/ssr` | SSR 类型与运行时辅助，导出 `SSRPropsContext`、`SSRPageMetaResolver`、`StreamingRender`、`useSuspensePromise` |\n| `@_tc/template-core/ssr/createSSREntry` | SSR 页面客户端 hydration 工厂 |\n| `@_tc/template-core/ssr/components` | SSR 组件汇总入口，导出 `StreamingRender` |\n| `@_tc/template-core/ssr/components/StreamingRender` | `StreamingRender` 显式子路径 |\n| `@_tc/template-core/ssr/hooks` | SSR hooks 汇总入口，导出 `useSuspensePromise` |\n| `@_tc/template-core/ssr/hooks/useSuspensePromise` | `useSuspensePromise` 显式子路径 |\n| `@_tc/template-core/fe` | 前端初始化、动态组件渲染辅助、Dash 路由扩展、请求方法、SchemaPage 事件、token 工具、共享状态和内置前端组件 |\n| `@_tc/template-core/fe/main` | 前端初始化入口 |\n| `@_tc/template-core/fe/common/request` | 请求实例、请求方法和请求类型的显式子路径 |\n| `@_tc/template-core/fe/rc` | UI/SchemaForm 组件和类型 |\n| `@_tc/template-core/fe/rc/hooks` | React hooks 汇总入口 |\n| `@_tc/template-core/fe/tailwind_ui.css` | 前端全局样式入口，源码对应 `frontend/src/main.css` |\n| `@_tc/template-core/models` | model 配置类型 |\n\n### 后端类型\n\n`@_tc/template-core` 会导出常用 Node 侧类型，项目编写 `app/*` 文件时建议优先复用这些类型。\n\n| 类型 | 使用场景 |\n| --- | --- |\n| `Ctx` | Controller、middleware、router handler 的 Koa 请求上下文类型，包含框架补充的 `ctx.params` 和可选 `ctx.reqData`。 |\n| `ControllerFN` | `app/controller/*.ts` 默认导出工厂函数的约束类型，适合配合 `satisfies ControllerFN` 保留 controller 实例方法类型。 |\n| `ServiceFN` | `app/service/*.ts` 默认导出工厂函数的约束类型，适合配合 `satisfies ServiceFN` 约束 service class 工厂。 |\n| `MiddlewareFN` | `app/middlewares/*.ts` 默认导出工厂函数的约束类型，返回标准 Koa middleware。 |\n| `RouterFN` | `app/router/*.ts` 默认导出函数的约束类型，用于接收 `app` 和 `router` 并注册路由。 |\n\n示例：\n\n```ts\nimport { baseFn, type ControllerFN, type Ctx, type MiddlewareFN, type RouterFN, type ServiceFN } from '@_tc/template-core'\n\nexport const getDemoController = ((app) => {\n  const BaseController = baseFn.baseControllerFn(app)\n\n  return class DemoController extends BaseController {\n    list = async (ctx: Ctx) => {\n      this.success(ctx, ctx.reqData?.data ?? {})\n    }\n  }\n}) satisfies ControllerFN\n\nexport const getDemoService = ((app) => {\n  return class DemoService {\n    readonly app = app\n  }\n}) satisfies ServiceFN\n\nexport const demoMiddleware = ((app) => async (ctx, next) => {\n  app.extends.logger?.info(ctx.path)\n  await next()\n}) satisfies MiddlewareFN\n\nexport const demoRouter = ((app, router) => {\n  router.get(`${app.options.apiPrefix}/demo/list`, app.controller.demo.list)\n}) satisfies RouterFN\n```\n\n## model 数据如何配置\n\n`model` 是后台菜单、项目和 Schema 页面的数据源。框架会读取：\n\n```text\nmodels/{modelKey}/mode.ts\nmodels/{modelKey}/project/{projectKey}.ts\n```\n\n`mode.ts` 定义模型基础配置：\n\n```ts\nimport type { ModelDataType } from '@_tc/template-core/models'\n\nconst model: ModelDataType = {\n  mode: 'MB',\n  name: '商品后台',\n  desc: '商品管理',\n  icon: '',\n  homePage: '/_sidebar_/product?projk=demo',\n  menuLayout: 'left',\n  menu: [\n    {\n      key: 'product',\n      name: '商品列表',\n      menuType: 'module',\n      moduleType: 'schema',\n      schemaConfig: {\n        api: '/api/product',\n        schema: {\n          type: 'object',\n          properties: {\n            product_id: {\n              type: 'string',\n              label: '商品 ID',\n              tableOption: { width: 160 },\n              detailPanelOption: {},\n              editFormOption: {\n                comType: 'input',\n                disabled: true,\n              },\n            },\n            product_name: {\n              type: 'string',\n              label: '商品名称',\n              tableOption: {},\n              searchOption: { comType: 'input' },\n              createFormOption: { comType: 'input' },\n              editFormOption: { comType: 'input' },\n              detailPanelOption: {},\n            },\n            price: {\n              type: 'number',\n              label: '价格',\n              tableOption: {},\n              createFormOption: { comType: 'inputNumber' },\n              editFormOption: { comType: 'inputNumber' },\n              detailPanelOption: {},\n            },\n          },\n          required: ['product_name'],\n        },\n        componentConfig: {\n          createForm: {\n            title: '新增商品',\n            saveBtnText: '创建',\n          },\n          editForm: {\n            title: '编辑商品',\n            saveBtnText: '保存',\n            fetchKey: 'product_id',\n          },\n          detailPanel: {\n            title: '商品详情',\n            fetchKey: 'product_id',\n          },\n        },\n        tableConfig: {\n          headerButtons: [\n            {\n              label: '新增',\n              eventKey: 'callComponent',\n              variant: 'primary',\n              eventOption: { comName: 'createForm' },\n            },\n          ],\n          rowButtons: [\n            {\n              label: '编辑',\n              eventKey: 'callComponent',\n              eventOption: { comName: 'editForm' },\n            },\n            {\n              label: '详情',\n              eventKey: 'callComponent',\n              eventOption: { comName: 'detailPanel' },\n            },\n            {\n              label: '删除',\n              eventKey: 'remove',\n              eventOption: {\n                params: {\n                  product_id: '$schema::product_id',\n                },\n              },\n            },\n          ],\n        },\n      },\n    },\n  ],\n}\n\nexport default model\n```\n\n`name`、`desc`、`icon`、`homePage` 都是可选项。Dashboard 页头标题优先使用 `desc`，没有时回退到 `name`；`icon` 可以是图片地址、图片路径、data image 或普通文本。未配置 `homePage` 时会自动跳到第一个可用菜单；配置时必须命中菜单生成的真实路由，左侧布局通常是 `/_sidebar_/{menuKey}`，顶部布局通常是 `/{menuKey}`。\n\n`project/demo.ts` 定义项目覆盖：\n\n```ts\nexport default {\n  name: 'Demo 企业',\n  desc: 'Demo 企业商品后台',\n  homePage: '/_sidebar_/product?projk=demo',\n}\n```\n\n合并规则：\n\n- `project` 会继承同目录上层 `mode`。\n- 对象递归合并，`project` 覆盖 `mode`。\n- 数组按 `key` 合并：同 key 覆盖，不同 key 新增。\n- `models/index.ts` 或 `models/index.js` 会被 loader 跳过。\n\n### model 数组合并示例\n\n假设 `mode.ts` 定义了两个菜单项：\n\n```ts\n// models/product/mode.ts\nexport default {\n  name: '商品后台',\n  menu: [\n    {\n      key: 'product',\n      name: '商品列表',\n      menuType: 'module',\n      moduleType: 'schema',\n      schemaConfig: {\n        api: '/api/product',\n        // ... 省略 schema 配置\n      },\n    },\n    {\n      key: 'category',\n      name: '分类管理',\n      menuType: 'module',\n      moduleType: 'schema',\n      schemaConfig: {\n        api: '/api/category',\n        // ... 省略 schema 配置\n      },\n    },\n  ],\n}\n```\n\n`project/demo.ts` 可以：\n\n```ts\n// models/product/project/demo.ts\nexport default {\n  name: 'Demo 企业商品后台',\n  menu: [\n    // 1. 覆盖：修改 product 菜单的名称和配置\n    {\n      key: 'product',\n      name: 'Demo 商品',  // 覆盖 name\n      schemaConfig: {\n        api: '/api/demo/product',  // 覆盖 api\n      },\n    },\n    // 2. 新增：添加 brand 菜单\n    {\n      key: 'brand',\n      name: '品牌管理',\n      menuType: 'module',\n      moduleType: 'schema',\n      schemaConfig: {\n        api: '/api/brand',\n      },\n    },\n    // 3. 继承：category 菜单未在 project 中定义，会完整继承 mode 的配置\n  ],\n}\n```\n\n合并后的结果：\n\n```ts\n{\n  name: 'Demo 企业商品后台',  // project 覆盖\n  menu: [\n    {\n      key: 'product',\n      name: 'Demo 商品',  // project 覆盖\n      menuType: 'module',  // mode 继承\n      moduleType: 'schema',  // mode 继承\n      schemaConfig: {\n        api: '/api/demo/product',  // project 覆盖\n        // schema 配置会递归合并\n      },\n    },\n    {\n      key: 'category',  // mode 完整继承\n      name: '分类管理',\n      menuType: 'module',\n      moduleType: 'schema',\n      schemaConfig: {\n        api: '/api/category',\n      },\n    },\n    {\n      key: 'brand',  // project 新增\n      name: '品牌管理',\n      menuType: 'module',\n      moduleType: 'schema',\n      schemaConfig: {\n        api: '/api/brand',\n      },\n    },\n  ],\n}\n```\n\n**关键点**：\n- 数组合并依赖 `key` 字段，确保每个菜单项都有唯一的 `key`\n- 同 `key` 的项会递归合并，不是简单替换\n- `project` 中未定义的项会完整继承 `mode` 的配置\n\n## model 数据如何引用\n\n后端可以直接调用 loader：\n\n```ts\nimport { modelLoader, type KoaApp } from '@_tc/template-core'\n\nexport default (app: KoaApp) => {\n  const modelList = modelLoader(app)\n  return modelList\n}\n```\n\n前端默认不直接读文件，而是通过内置接口获取：\n\n```text\nGET /api/project/model_list\nGET /api/project/list?projk=demo\nGET /api/project/demo\n```\n\nDashboard 会根据 `projk` 请求 `/api/project/:key`，再按返回的 `menu` 渲染页面。\n\nSchema 页面的接口约定：\n\n```text\nGET    {api}/list   -> 表格列表\nGET    {api}        -> 编辑/详情拉取，参数由 fetchKey 决定\nPOST   {api}        -> 新增\nPUT    {api}        -> 编辑\nDELETE {api}        -> 删除\n```\n\n`$schema::字段名` 表示从当前表格行读取字段值，常用于删除按钮参数。\n\n### 服务端兜底路由守卫\n\n项目可以创建 `app/router-guard.ts` 或 `app/router-guard.js`。它只在所有正常 `app/router/*` 路由都没有命中时执行。\n\n```ts\nimport type { Ctx, KoaApp } from '@_tc/template-core'\n\nexport default (_app: KoaApp) => {\n  return (ctx: Ctx) => {\n    if (ctx.path.startsWith('/api/')) {\n      return {\n        status: 404,\n        body: { code: 404, message: `${ctx.path} not found` },\n      }\n    }\n\n    return '/dash'\n  }\n}\n```\n\n返回字符串会 `ctx.redirect()`；返回 `{ status, body }` 会直接设置响应；无返回则使用框架默认兜底：API 路径返回 HTTP 200 + `{ code: 404, message }`，非 API 路径返回 HTTP 404 + `notFound`。\n\n## 后端约定\n\n项目目录会按下面规则加载：\n\n```text\napp/controller/**/*.(js|ts)      -> app.controller\napp/service/**/*.(js|ts)         -> app.service\napp/middlewares/**/*.(js|ts)     -> app.middlewares\napp/middleware.(js|ts)           -> 全局中间件编排，按框架 -> 项目顺序执行\napp/router/**/*.(js|ts)          -> Koa router\napp/router-schema/**/*.(js|ts)   -> app.routerSchema\napp/extends/*.(js|ts)            -> app.extends\nconfig/config.default.(js|ts)    -> app.config\nconfig/config.{env}.(js|ts)      -> app.config\nmodels/**/*.(js|ts)               -> 内置 project service 按需读取的项目模型配置\n```\n\n### 后端约定文件的模块格式\n\nTemplateCore 包本身提供 ESM/CJS 入口，业务项目可以用 `import` 引入包。但上面这些后端约定文件是由 loader 扫描真实文件路径后同步加载的，当前按 `require()` 语义处理，并只扫描 `.js` / `.ts`。\n\n因此后端约定文件需要满足 CommonJS 加载语义：\n\n- 普通 CommonJS 项目可以使用 `.js` + `module.exports`。\n- TypeScript 项目可以使用 `.ts` + `export default`，loader 会把 `.ts` 按 CommonJS 方式转译后加载。\n- 如果业务项目声明了 `\"type\": \"module\"`，不要把 `.js` 后端约定文件写成原生 ESM 作为稳定用法，也不要在该作用域下使用 `.js` + `module.exports`。\n- `\"type\": \"module\"` 项目如需保留 `.js` 后端约定文件，请在 `app/`、`config/` 或 `models/` 下增加局部 `package.json`：`{ \"type\": \"commonjs\" }`。\n- `.mjs`、顶层 `await`、依赖原生 ESM 语义的后端约定文件当前不作为支持约定。\n\n推荐分层：启动脚本、构建脚本和前端代码可以使用 ESM；`config/`、`app/`、`models/` 里的后端约定文件保持 CommonJS 加载语义。\n\n内置扩展：\n\n- `app.extends.$fetch`：Node 侧基于 `fetch` 的 axios 风格请求实例，支持 `get/post/put/patch/delete` 和 `create(config)`。\n- `app.extends.crypto`：Node 侧加密辅助方法，支持 base64url 编解码、HMAC 签名、签名 payload 和常量时间比较。\n- `app.extends.db`：默认 SQLite 框架数据库，提供 `getDBData/setDBData` 等通用数据方法。\n\nAPI controller 可以通过 `ctx.reqData` 读取统一请求参数：\n\n```ts\nconst { query, body, headers, data } = ctx.reqData ?? {\n  query: {},\n  body: undefined,\n  headers: {},\n  data: {},\n}\n```\n\n- `query` 来自 `ctx.query`。\n- `body` 来自 `ctx.request.body`。\n- `headers` 来自 `ctx.headers`。\n- `data` 是便捷合并层，当前按 `query -> body` 顺序合并；字段冲突时 body 覆盖 query。\n\n`ctx.reqData` 只在 API 请求中由内置中间件注入，类型上是可选字段。router params 不在 `reqData` 里，仍然从 `ctx.params` 获取。\n\n### 数据库扩展\n\n默认 `app.extends.db` 使用 SQLite 保存数据，数据库文件位于项目根目录 `.template-core/template-core.sqlite`。可以在配置中调整路径：\n\n```ts\n// config/config.default.ts\nexport default {\n  db: {\n    path: 'data/app.sqlite',\n  },\n}\n```\n\nController 中使用：\n\n```ts\nimport { baseFn, type ControllerFN, type Ctx } from '@_tc/template-core'\n\nconst getSettingController = ((app) => {\n  const BaseController = baseFn.baseControllerFn(app)\n\n  return class SettingController extends BaseController {\n    detail = async (ctx: Ctx) => {\n      const data = app.extends.db.getDBData('site-setting', {\n        namespace: 'setting',\n      })\n\n      this.success(ctx, data ?? {})\n    }\n\n    save = async (ctx: Ctx) => {\n      app.extends.db.setDBData('site-setting', ctx.request.body, {\n        namespace: 'setting',\n      })\n\n      this.success(ctx, true)\n    }\n  }\n}) satisfies ControllerFN\n\nexport default getSettingController\n```\n\n常用方法：\n\n- `getDBData(key, options)`：读取 JSON 数据。\n- `setDBData(key, value, options)`：写入 JSON 数据。\n- `hasDBData(key, options)`：判断数据是否存在。\n- `deleteDBData(key, options)`：删除单条数据。\n- `listDBData(options)`：分页列出当前 namespace 下的数据。\n- `countDBData(options)` / `clearDBData(options)`：统计和清空当前 namespace。\n- `queryDB(sql, params)` / `runDB(sql, params)`：直接执行 SQLite SQL。\n- `transactionDB(handler)`：事务执行。\n- `closeDB()`：关闭连接。\n\nSQL 注入边界：\n\n- `getDBData`、`setDBData`、`deleteDBData`、`listDBData` 这类通用方法内部使用参数绑定，不需要手写 SQL。\n- `queryDB`、`runDB`、`getDBFirst` 是原始 SQL 入口，用户输入必须放到 `params`，不要拼接到 SQL 字符串里。\n- `execDB` 没有参数绑定能力，只建议用于固定 SQL，例如建表或迁移。\n\n### 加密扩展\n\n`app.extends.crypto` 默认使用 `app.config.signKey` 作为签名密钥，适合生成登录 token、接口签名和安全比较。\n\n常用方法：\n\n- `base64urlEncode(value)`：把字符串或二进制数据编码为 base64url。\n- `base64urlDecode(value)`：把 base64url 解码回 UTF-8 字符串。\n- `base64urlDecodeToBuffer(value)`：把 base64url 解码回 Buffer。\n- `hmacSign(payload, options)`：对文本做 HMAC 签名，默认算法 `sha256`。\n- `safeEqual(left, right)`：常量时间比较字符串。\n- `createSignedPayload(payload, options)`：生成 `payload.signature` 形式的签名串。\n- `verifySignedPayload(token, options)`：验证并解析签名串，失败返回 `null`。\n\n```ts\nconst token = app.extends.crypto.createSignedPayload({\n  account: 'admin',\n  exp: Date.now() + 1000 * 60 * 60 * 24 * 7,\n  iat: Date.now(),\n})\n\nconst payload = app.extends.crypto.verifySignedPayload<{\n  account: string\n  exp: number\n  iat: number\n}>(token)\n\nconst same = app.extends.crypto.safeEqual('abc', 'abc')\n```\n\n```ts\n// 推荐：参数绑定\nconst users = app.extends.db.queryDB(\n  'SELECT * FROM user WHERE name = ?',\n  [ctx.query.name as string]\n)\n\n// 不推荐：拼接用户输入，有 SQL 注入风险\nconst unsafeUsers = app.extends.db.queryDB(\n  `SELECT * FROM user WHERE name = '${ctx.query.name}'`\n)\n```\n\n项目可以用自己的 `app/extends/db.ts` 覆盖默认实现。建议保留同一组方法名，这样 controller/service 调用方不用调整。\n\n```ts\n// app/extends/db.ts\nimport type { DB, DBFactory } from '@_tc/template-core'\n\ninterface DataOptions {\n  namespace?: string\n}\n\nconst store = new Map<string, unknown>()\n\nconst getDB = ((_app) => {\n  const toKey = (key: string, namespace = 'framework') => `${namespace}:${key}`\n\n  const db = {\n    dbPath: 'memory',\n    getDBConnection: () => {\n      throw new Error('memory db 没有底层 SQLite connection')\n    },\n    execDB: () => undefined,\n    runDB: () => ({ changes: 0, lastInsertRowid: 0 }),\n    queryDB: <T extends object = Record<string, unknown>>() => [] as T[],\n    getDBFirst: <T extends object = Record<string, unknown>>() => undefined as T | undefined,\n    transactionDB: <T>(handler: (db: DB) => T) => handler(db),\n    getDBData: <T = unknown>(key: string, options?: DataOptions) => {\n      return store.get(toKey(key, options?.namespace)) as T | undefined\n    },\n    getDBDataRecord: <T = unknown>(key: string, options?: DataOptions) => {\n      const value = store.get(toKey(key, options?.namespace)) as T | undefined\n      if (value === undefined) return undefined\n\n      return {\n        key,\n        value,\n        namespace: options?.namespace ?? 'framework',\n        createdAt: '',\n        updatedAt: '',\n      }\n    },\n    setDBData: <T = unknown>(key: string, value: T, options?: DataOptions) => {\n      store.set(toKey(key, options?.namespace), value)\n      return { changes: 1, lastInsertRowid: 0 }\n    },\n    hasDBData: (key: string, options?: DataOptions) => {\n      return store.has(toKey(key, options?.namespace))\n    },\n    deleteDBData: (key: string, options?: DataOptions) => {\n      return store.delete(toKey(key, options?.namespace))\n    },\n    listDBData: <T = unknown>(options?: DataOptions) => {\n      const namespace = options?.namespace ?? 'framework'\n\n      return Array.from(store.entries())\n        .filter(([key]) => key.startsWith(`${namespace}:`))\n        .map(([key, value]) => ({\n          key: key.slice(namespace.length + 1),\n          value: value as T,\n          namespace,\n          createdAt: '',\n          updatedAt: '',\n        }))\n    },\n    countDBData: () => store.size,\n    clearDBData: () => {\n      const size = store.size\n      store.clear()\n      return size\n    },\n    closeDB: () => undefined,\n  } satisfies DB\n\n  return db\n}) satisfies DBFactory\n\nexport default getDB\n```\n\nController 示例：\n\n```ts\nimport { baseFn, type ControllerFN, type Ctx } from '@_tc/template-core'\n\nconst getProductController = ((app) => {\n  const BaseController = baseFn.baseControllerFn(app)\n\n  return class ProductController extends BaseController {\n    list = async (ctx: Ctx) => {\n      this.success(ctx, {\n        data: [],\n        page: 1,\n        pageSize: 10,\n        total: 0,\n      })\n    }\n  }\n}) satisfies ControllerFN\n\nexport default getProductController\n```\n\nRouter 示例：\n\n```ts\nimport type { KoaApp, Router } from '@_tc/template-core'\n\nexport default (app: KoaApp, router: Router) => {\n  router.get('/api/product/list', app.controller.product.list)\n}\n```\n\n路由挂载顺序：\n\n- 每个 `app/router/*.ts` 文件都会获得独立的 `koa-router` 实例。\n- 可以通过 `router.level = number` 控制挂载顺序，数值越小越早挂载。\n- 默认 `level` 是 `0`，框架兜底 router 是 `99`。\n- 通配、兜底、重定向类路由建议设置较大的 `level`，避免抢先匹配项目 API。\n\n```ts\nimport type { KoaApp, Router } from '@_tc/template-core'\n\nexport default (app: KoaApp, router: Router) => {\n  router.level = 10\n  router.get('/api/fallback/:id', app.controller.fallback.detail)\n}\n```\n\n## 前端公共能力\n\n项目侧需要 TemplateCore 前端能力时，优先从 `@_tc/template-core/fe` 导入，不要直接依赖 `frontend/src/common/...`、`frontend/src/defaultPages/...`、`frontend/src/stores/...` 这类内部路径。\n\n```ts\nimport {\n  api,\n  apiFreezerStore,\n  addLanguageResources,\n  AsyncSelect,\n  clearAuthToken,\n  eventsInfo,\n  getCurrentLanguage,\n  getFallbackLanguage,\n  FreezeState,\n  get,\n  getSupportedLanguages,\n  getAuthToken,\n  LanguageSwitch,\n  localKeyMap,\n  merge,\n  modeStore,\n  post,\n  renderImportComponent,\n  registerFrontendI18nResources,\n  request,\n  schemaEventBus,\n  schemaStore,\n  setFallbackLanguage,\n  setLanguage,\n  setResources,\n  setAuthToken,\n  ThemeSwitch,\n  t,\n  useApiFreezer,\n  useModeStore,\n  useSchemaStore,\n  useText,\n} from '@_tc/template-core/fe'\n\nimport type {\n  BaseResponse,\n  CallComComponentsMap,\n  CallComRenderer,\n  DashComponentsMap,\n  DashRouteGuard,\n  DashRoutesExtender,\n  FormFieldSchema,\n  ApiFreezerRequestMatcher,\n  PageParams,\n  PageResponse,\n  RequestConfig,\n  ResponseConfig,\n  SchemaTableRenderComponent,\n  SchemaTableRenderComponentsMap,\n  SchemaFormComponentsMap,\n  SchemaFormNamespace,\n  SelectProps,\n} from '@_tc/template-core/fe'\n```\n\n当前公共入口包含：\n\n| 类型 | 导出内容 |\n| --- | --- |\n| 应用启动 | `initApp` |\n| 内置前端组件 | `AsyncSelect`、`LanguageSwitch`、`ThemeSwitch` |\n| 组件加载辅助 | `renderImportComponent` |\n| Dash 扩展类型 | `DashRoutesExtender`、`DashRoutesContext`、`DashComponentsMap`、`DashHeaderUserAreaProps`、`DashRouteGuard` |\n| SchemaPage 类型 | `CallComComponentsMap`、`CallComRenderer`、`SchemaTableRenderComponent`、`SchemaTableRenderComponentsMap` |\n| SchemaForm 类型 | `FormFieldSchema`、`SchemaFormComponentsMap`、`SchemaFormNamespace`、`SelectProps` |\n| 请求方法 | `api`、`request`、`get`、`post`、`put`、`patch`、`del` |\n| 请求类型 | `BaseResponse`、`PageParams`、`PageResponse`、`RequestConfig`、`ResponseConfig`、`AxiosError` |\n| RAF 风格计时器 | `rafSetTimeout`、`rafSetInterval`、`rafClearTimeout`、`rafClearInterval`、`clearRafTimer`、`RafTimerId`、`RafTimerCallback` |\n| Token 工具 | `getAuthToken`、`setAuthToken`、`clearAuthToken`、`localKeyMap` |\n| 多语言工具 | `useText`、`getText`、`t`、`registerFrontendI18nResources`、`addLanguageResources`、`setLanguage`、`setFallbackLanguage`、`setResources`、`getCurrentLanguage`、`getFallbackLanguage`、`getSupportedLanguages` |\n| 请求冻结 | `apiFreezerStore`、`useApiFreezer`、`FreezeState`、`ApiFreezerRequestMatcher` |\n| 事件工具 | `eventsInfo`、`merge` |\n| 共享状态 | `modeStore`、`useModeStore`、`schemaStore`、`useSchemaStore`、`schemaEventBus` |\n\n`modeStore` 管项目模型和当前项目数据，`schemaStore` 管当前 Schema 页面的 schema/cache，`schemaEventBus` 用来在 Search、Table、CallCom 之间通信。\n\n`renderImportComponent` 封装了 `React.lazy` + `Suspense`，默认会用页面骨架屏作为 fallback。`getAuthToken()`、`setAuthToken()` 和 `clearAuthToken()` 用于读写或清理本地短 token，`localKeyMap` 暴露对应的本地存储 key 常量。\n\n只使用请求层时，也可以从 `@_tc/template-core/fe/common/request` 导入 `api`、请求方法和请求类型；这是发布包显式子路径，不要下钻到 `frontend/src/common/request`。\n\n### 前端多语言\n\nTemplateCore 前端通过 `@_tc/template-core/fe` 暴露 i18n 能力。框架内置中文、英文资源，但不会在普通自定义页面 import 前端入口时自动注册，避免非 Dashboard 页面把框架文案整包带入运行时资源。\n\n默认 Dashboard 入口会自动调用 `registerFrontendI18nResources()`，所以 Dashboard、Schema CRUD、内置页头、语言切换等框架页面可以直接使用框架内置文案。自定义入口如果也要复用这些框架文案，需要在渲染前手动注册：\n\n```ts\nimport { initApp, registerFrontendI18nResources } from '@_tc/template-core/fe'\n\ninitApp(App, {\n  beforeRender: async () => {\n    await registerFrontendI18nResources()\n  },\n})\n```\n\n项目可以继续追加自己的资源或新增语种。\n\n**追加自定义语言资源**：\n\n```ts\nimport { addLanguageResources } from '@_tc/template-core/fe'\n\naddLanguageResources('zh-CN', {\n  app: {\n    product: {\n      menu: '商品管理',\n      name: '商品名称',\n      create: '新增商品',\n      createTitle: '新增商品',\n    },\n  },\n})\n\naddLanguageResources('en-US', {\n  app: {\n    product: {\n      menu: 'Products',\n      name: 'Product name',\n      create: 'Create product',\n      createTitle: 'Create product',\n    },\n  },\n})\n```\n\n**新增语种并切换**：\n\n```ts\nimport { addLanguageResources, setLanguage } from '@_tc/template-core/fe'\n\naddLanguageResources('ja-JP', {\n  app: {\n    product: {\n      menu: '商品管理',\n    },\n  },\n})\n\nsetLanguage('ja-JP')\n```\n\n`addLanguageResources()` 用于追加或新增某个语种的文案，默认会深合并同语种资源；传 `{ merge: false }` 可以替换该语种资源。`setResources(resources, { merge: true })` 可批量合并多语种资源。`LanguageSwitch` 默认会把已注册语种加入选项；需要自定义展示文案时仍可传入 `options`。\n\n**覆盖组件内置文案**：\n\nUI 组件库内置文案也在同一份资源里，统一放在 `components` 命名空间下。项目侧可以覆盖已有文案，也可以给新增语种补齐组件文案：\n\n```ts\nimport { addLanguageResources } from '@_tc/template-core/fe'\n\naddLanguageResources('zh-CN', {\n  components: {\n    date: {\n      placeholder: '选择日期',\n      placeholderRange: '选择日期区间',\n      weekDays: ['日', '一', '二', '三', '四', '五', '六'],\n      monthFormat: 'yyyy年 M月',\n    },\n    tableSearch: {\n      search: '筛选',\n      reset: '清空',\n    },\n  },\n})\n```\n\nDate 组件除了文案，还依赖 `date-fns` locale 做月份格式化和周起止计算。新增非内置语种时同步注册：\n\n```ts\nimport { registerDateFnsLocale } from '@_tc/template-core/fe/rc/components/Date'\nimport { ja } from 'date-fns/locale'\n\nregisterDateFnsLocale('ja-JP', ja)\n```\n\nReact 组件 render 中使用 `useText()` 读取文案。它会订阅语言和资源变化，调用 `setLanguage()` 后组件会自动重渲染。\n\n`useText()` / `getText()` 遇到 `$i18n::` 前缀会先去掉前缀再查语言资源；没有前缀时会直接把传入字符串作为 key 查询，查不到才原样返回：\n\n```tsx\nimport { useText } from '@_tc/template-core/fe'\n\nfunction ProductTitle() {\n  const text = useText()\n\n  return (\n    <>\n      <h1>{text('$i18n::app.product.menu')}</h1>\n      <span>{text('Plain title')}</span>\n    </>\n  )\n}\n```\n\n`getText()` 是普通函数，适合请求错误、日志、校验工具或事件回调等非 React 场景；它不会主动触发 React 组件重渲染。\n\n资源注册时不写 `$i18n::` 前缀，配置中使用时才写：\n\n```ts\nconst title = '$i18n::app.product.createTitle'\n```\n\n**在 model / Schema 配置中使用**：\n\n```ts\n{\n  name: '$i18n::app.product.menu',\n  moduleType: 'schema',\n  schemaConfig: {\n    schema: {\n      type: 'object',\n      properties: {\n        name: {\n          type: 'string',\n          label: '$i18n::app.product.name',\n          minLength: 2,\n          createFormOption: {\n            comType: 'input',\n          },\n          tableOption: {},\n          searchOption: {},\n        },\n      },\n      required: ['name'],\n    },\n    tableConfig: {\n      headerButtons: [\n        {\n          label: '$i18n::app.product.create',\n          eventKey: 'callComponent',\n          eventOption: { comName: 'createForm' },\n        },\n      ],\n    },\n    componentConfig: {\n      createForm: {\n        title: '$i18n::app.product.createTitle',\n        saveBtnText: '$i18n::common.submit',\n      },\n    },\n  },\n}\n```\n\n已支持 `$i18n::...` 的常用位置：\n\n- 菜单名：`menu.name`\n- 项目标题：`projectInfo.desc` 或回退的 `projectInfo.name`\n- Schema 字段名：`schema.properties.*.label`\n- 表格按钮和行按钮：`headerButtons.*.label`、`rowButtons.*.label`\n- 弹窗、抽屉标题：`componentConfig.*.title`\n- 表单保存按钮：`componentConfig.*.saveBtnText`\n- 接口错误提示：`BaseResponse.message`\n\n**切换语言**：\n\n```ts\nimport { i18nStore } from '@_tc/template-core/fe'\n\ni18nStore.getState().setLanguage('en-US')\ni18nStore.getState().setLanguage('zh-CN')\n```\n\n默认会写入 localStorage，key 是 `tc_language`。刷新页面后会继续使用上次语言。\n\n项目页面可以直接使用语言选择组件：\n\n```tsx\nimport { LanguageSwitch } from '@_tc/template-core/fe'\n\nexport function Toolbar() {\n  return <LanguageSwitch />\n}\n```\n\n`LanguageSwitch` 默认提供 `zh-CN` 和 `en-US`，也支持传入 `options` 覆盖语言列表。组件当前是按钮 + 下拉菜单形态，`option.label` 支持 ReactNode，`buttonClassName` 可自定义触发按钮样式。组件内部会调用 `i18nStore.getState().setLanguage()`，因此会沿用 `tc_language` 的持久化行为。\n\n**AJV 校验文案**：\n\nSchema 表单校验会把 AJV keyword 映射到内置语言 key，覆盖 `required`、`type`、`format`、`minimum`、`maximum`、`minLength`、`maxLength`、`pattern`、`enum`、`oneOf`、`anyOf` 等常见规则。\n\n非必填字段为空时会跳过 AJV 校验，空值包括 `undefined`、`null`、空字符串、空数组和空对象。\n\n如果需要扩展更多 AJV 文案，需要在 TemplateCore 源码中补充后重新发布：\n\n1. `frontend/src/defaultPages/SchemaPage/utils/validator.ts` 的 `formatError()` 映射。\n2. `frontend/src/language/zh-CN.ts` 和 `frontend/src/language/en-US.ts` 文案。\n3. `frontend/src/language/index.ts` 的 `frontendLangKeys`。\n\n### 前端主题切换\n\n项目页面可以使用 `ThemeSwitch` 切换浅色和深色模式：\n\n```tsx\nimport { ThemeSwitch } from '@_tc/template-core/fe'\n\nexport function Toolbar() {\n  return <ThemeSwitch />\n}\n```\n\n`ThemeSwitch` 会切换 `document.documentElement` 上的 `dark` class，并同步 `color-scheme`。默认写入 localStorage，key 是 `tc_theme`。刷新页面后会优先读取本地主题；没有本地主题时，读取当前根节点是否已有 `dark` class。默认 Dashboard 会在渲染前调用 `initThemeMode()`，让已保存主题尽早生效。\n\n常用参数：\n\n| 参数 | 说明 |\n| --- | --- |\n| `value` / `onChange` | 受控模式，值为 `light` 或 `dark`。 |\n| `defaultValue` | 非受控初始主题。 |\n| `showLabel` | 是否展示当前主题文本。 |\n| `persist` | 是否写入 localStorage，默认 `true`。 |\n| `storageKey` | 自定义本地存储 key，默认 `tc_theme`。 |\n\n如需在自定义入口或组件外手动初始化/切换主题，可以从 `@_tc/template-core/fe` 导入主题工具：\n\n```ts\nimport { applyThemeMode, getCurrentThemeMode, initThemeMode, themeSwitchStorageKey } from '@_tc/template-core/fe'\n\ninitThemeMode()\napplyThemeMode('dark', true)\n```\n\nRAF 风格计时器通过 `@_tc/template-core/fe` 对外提供，浏览器优先使用 `requestAnimationFrame`，缺少 RAF 时自动降级到 `setTimeout`。\n\n`@_tc/template-core/fe/rc` 和 `@_tc/template-core/fe/rc/hooks` 也会随发布包提供对应 UI 与 hooks 入口；hooks 汇总入口包含 `useBreadcrumb`、`useExecuteOnce`、`useInit`、`useLanguage`、`usePagination`、`useRefState`、`useWatch`。\n\n`useRefState` 支持可选的 `delayTiming` 参数，传入大于 0 的值时会延迟 state 提交，并复用包内浏览器优先、Node/SSR 自动降级的计时器实现。\n\n### 前端请求封装详解\n\n框架内置的请求封装通过 `@_tc/template-core/fe` 和 `@_tc/template-core/fe/common/request` 对外提供，底层使用原生 `fetch` API，实现了类似 Axios 的接口和拦截器机制，提供了签名、鉴权、错误处理等能力。\n\n**基础配置**：\n- `BASE_URL`：固定为 `/api`\n- `timeout`：15000ms（15秒）\n- `credentials`：`'include'`，支持跨域携带 cookie\n- `window._signKey`：由服务端页面模板从 `app.config.signKey` 注入\n- 默认会先设置 `Content-Type: application/json`；如果是上传文件、`FormData` 或其他内容类型，请在请求配置里显式覆盖\n\n**请求拦截器**：\n\n每个请求会自动添加以下 headers：\n\n```ts\n{\n  's_t': '当前时间戳',\n  's_sign': 'md5(签名密钥_时间戳)',\n  'projk': '当前项目 key（从 localStorage 读取）',\n  'Authorization': 'Bearer token（如果已登录）'\n}\n```\n\n`Authorization` 默认对应服务端配置 `config.auth.ATKey`。前端本地 token 存在 `localStorage.auth_token`，项目 key 存在 `localStorage.p_J_k`；刷新 token header 名预留为 `config.auth.RTKey`，默认是 `RT`。\n\n**签名机制**：\n- 签名密钥：服务端从 `app.config.signKey` 读取，并在页面渲染时注入为 `window._signKey`\n- 签名算法：`md5(签名密钥_${时间戳})`\n- 服务端会在非 local 环境下校验签名和时间戳\n\n**响应拦截器**：\n\n- **401 处理**：自动清空 token 并跳转到 `/login`\n- **错误提取**：自动从响应中提取 `message`、`msg` 或 `errors` 字段\n- **超时处理**：请求超时会返回当前语言的超时提示\n- **网络错误**：网络异常会返回当前语言的网络错误提示\n\n**使用示例**：\n\n```ts\nimport { api, get, post, put, del } from '@_tc/template-core/fe'\nimport type { BaseResponse, RequestConfig, ResponseConfig } from '@_tc/template-core/fe'\n\n// GET 请求\nconst data = await get('/product/list', { page: 1, pageSize: 10 })\n\n// POST 请求\nconst result = await post('/product', { name: '商品名称', price: 100 })\n\n// PUT 请求\nawait put('/product', { id: 1, name: '新名称' })\n\n// DELETE 请求\nawait del('/product', { id: 1 })\n```\n\n如果希望把请求能力单独拆出来导入：\n\n```ts\nimport {\n  api,\n  get,\n  post,\n  request,\n} from '@_tc/template-core/fe/common/request'\nimport type {\n  BaseResponse,\n  RequestConfig,\n  ResponseConfig,\n} from '@_tc/template-core/fe/common/request'\n```\n\n**请求冻结器**：\n\n请求冻结器用于在某段流程中暂停普通 API 请求，典型场景是 RT 刷新 token：刷新期间冻结其它请求，刷新接口本身走白名单放行，刷新完成后再解冻并回放队列。\n\n冻结器只在 `Freeze` 状态拦截请求；`Hibernation` 和 `Thawing` 状态都会直接放行。解冻时会按最多 4 个并发回放已冻结的请求；相同序列化参数的请求只会实际发送一次，多个调用方共享同一份响应或错误。\n\n```ts\nimport { apiFreezerStore } from '@_tc/template-core/fe'\n\nconst { freezing, thawing, setRequestWhitelist } = apiFreezerStore.getState()\n\nsetRequestWhitelist([\n  '/auth/refresh',\n  /^\\/auth\\//,\n  (api) => api.includes('/refresh-token'),\n])\n\nfreezing()\n\ntry {\n  await refreshToken()\n} finally {\n  thawing()\n}\n```\n\n白名单支持三种 matcher：\n\n- `string`：精确匹配 API 路径\n- `RegExp`：正则匹配 API 路径\n- `(api, params) => boolean`：自定义判断，`params` 是请求函数收到的完整参数\n\n**注意事项**：\n- `get` 和 `del` 方法的参数会自动转为 query string\n- `post`、`put`、`patch` 方法的参数会作为 request body\n- 所有请求方法都会自动处理错误，无需手动 try-catch（除非需要自定义错误处理）\n- 底层使用原生 `fetch` API，但提供了类似 Axios 的拦截器和配置接口\n\n## 样式与 Tailwind V4\n\n使用内置前端或 UI 组件时，需要引入包内样式。默认 Dashboard 入口已经包含包内全局样式；如果项目侧自定义入口、只使用 `fe/rc` 组件，或希望样式入口更明确，建议显式引入：\n\n```ts\n// frontend/xxx/xxx.entry.tsx\nimport '@_tc/template-core/fe/tailwind_ui.css'\n```\n\n如果项目有自己的全局样式入口，也可以在 CSS 中引入：\n\n```css\n/* frontend/main.css */\n@import \"@_tc/template-core/fe/tailwind_ui.css\";\n\n/* 扫描项目源码 */\n@source \"./**/*.{js,ts,jsx,tsx}\";\n@source \"../models/**/*.{js,ts,jsx,tsx}\";\n```\n\nTailwind V4 默认会忽略 `node_modules` 和 `.gitignore` 中的文件。如果没有使用上面的 `tailwind_ui.css`，或者项目侧构建链路绕过了 TemplateCore 的样式入口，需要手动把包加入 Tailwind 扫描：\n\n```css\n/* frontend/main.css */\n@import \"tailwindcss\";\n\n@source \"./**/*.{js,ts,jsx,tsx}\";\n@source \"../models/**/*.{js,ts,jsx,tsx}\";\n@source \"../node_modules/@_tc/template-core\";\n```\n\nVS Code 建议安装官方 Tailwind CSS IntelliSense 插件，并在工作区 `.vscode/settings.json` 指向项目 CSS 入口：\n\n```json\n{\n  \"tailwindCSS.experimental.configFile\": \"frontend/main.css\",\n  \"files.associations\": {\n    \"*.css\": \"tailwindcss\"\n  },\n  \"css.lint.unknownAtRules\": \"ignore\"\n}\n```\n\n多入口项目可以写成对象：\n\n```json\n{\n  \"tailwindCSS.experimental.configFile\": {\n    \"frontend/main.css\": \"frontend/**/*.{ts,tsx,js,jsx}\",\n    \"frontend/admin/admin.css\": \"frontend/admin/**/*.{ts,tsx,js,jsx}\"\n  }\n}\n```\n\n## 内置 UI 组件\n\n框架通过 `@_tc/template-core/fe/rc` 提供了丰富的 React 组件库，可在项目中直接使用。\n\n### 基础组件\n\n| 组件 | 用途 | 导入路径 |\n| --- | --- | --- |\n| `Button` | 按钮组件，支持多种样式和尺寸 | `@_tc/template-core/fe/rc` |\n| `Input` | 输入框组件，支持清空、右侧附加内容和密码显隐 | `@_tc/template-core/fe/rc` |\n| `InputNumber` | 数字输入框组件 | `@_tc/template-core/fe/rc` |\n| `Textarea` | 多行文本输入框组件 | `@_tc/template-core/fe/rc` |\n| `Select` | 下拉选择组件，支持单选和多选 | `@_tc/template-core/fe/rc` |\n| `Search` | 搜索输入组件 | `@_tc/template-core/fe/rc` |\n| `TreeSelect` | 树形选择组件 | `@_tc/template-core/fe/rc` |\n| `Dropdown` | 下拉菜单组件 | `@_tc/template-core/fe/rc` |\n| `DatePicker` | 日期选择器 | `@_tc/template-core/fe/rc` |\n| `Upload` | 文件上传组件 | `@_tc/template-core/fe/rc` |\n| `FileUpload` | 通用文件上传组件 | `@_tc/template-core/fe/rc` |\n| `ImageUpload` | 图片上传组件 | `@_tc/template-core/fe/rc` |\n| `ImagePreview` | 图片预览组件 | `@_tc/template-core/fe/rc` |\n| `Checkbox` | 复选框组件 | `@_tc/template-core/fe/rc` |\n| `Radio` | 单选框组件 | `@_tc/template-core/fe/rc` |\n| `Switch` | 开关组件 | `@_tc/template-core/fe/rc` |\n\n### 表单组件\n\n| 组件 | 用途 | 导入路径 |\n| --- | --- | --- |\n| `Form` | 表单容器组件 | `@_tc/template-core/fe/rc` |\n| `SchemaForm` | 配置驱动的表单组件，根据 schema 自动生成表单 | `@_tc/template-core/fe/rc` |\n| `FormItem` | 表单项组件 | `@_tc/template-core/fe/rc` |\n\n### 数据展示组件\n\n| 组件 | 用途 | 导入路径 |\n| --- | --- | --- |\n| `DataTable` | 数据表格组件，支持分页、排序、筛选 | `@_tc/template-core/fe/rc` |\n| `Table` | 表格组件（含表头、列配置等子组件） | `@_tc/template-core/fe/rc` |\n| `TableSearch` | 表格搜索组件，配合 DataTable 使用 | `@_tc/template-core/fe/rc` |\n| `Pagination` | 分页组件 | `@_tc/template-core/fe/rc` |\n| `Breadcrumb` | 面包屑导航组件 | `@_tc/template-core/fe/rc` |\n| `Calendar` | 日历组件 | `@_tc/template-core/fe/rc` |\n| `TimePicker` | 时间选择器组件 | `@_tc/template-core/fe/rc` |\n| `Skeleton` | 骨架屏加载占位组件 | `@_tc/template-core/fe/rc` |\n\n### 反馈组件\n\n| 组件 | 用途 | 导入路径 |\n| --- | --- | --- |\n| `Modal` | 模态框组件 | `@_tc/template-core/fe/rc` |\n| `Drawer` | 抽屉组件 | `@_tc/template-core/fe/rc` |\n| `message` | 消息提示方法 | `@_tc/template-core/fe/rc` |\n| `Notification` | 通知组件 | `@_tc/template-core/fe/rc` |\n| `ConfirmDialog` | 确认对话框组件 | `@_tc/template-core/fe/rc` |\n| `Popup` | 弹出层组件 | `@_tc/template-core/fe/rc` |\n| `Tooltip` | 文字提示组件 | `@_tc/template-core/fe/rc` |\n| `Overlay` | 页面遮罩层组件 | `@_tc/template-core/fe/rc` |\n| `Loading` | 加载状态组件 | `@_tc/template-core/fe/rc` |\n\n### 布局组件\n\n| 组件 | 用途 | 导入路径 |\n| --- | --- | --- |\n| `Layout` | 页面布局组件 | `@_tc/template-core/fe/rc` |\n| `Card` | 卡片容器组件 | `@_tc/template-core/fe/rc` |\n| `Tabs` | 标签页组件 | `@_tc/template-core/fe/rc` |\n| `Menu` | 菜单组件（含 MenuItem 等子组件） | `@_tc/template-core/fe/rc` |\n| `Label` | 标签组件 | `@_tc/template-core/fe/rc` |\n\n### 按钮组件\n\n| 组件 | 用途 | 导入路径 |\n| --- | --- | --- |\n| `Button` | 通用按钮组件 | `@_tc/template-core/fe/rc` |\n| `AsynchronousButton` | 异步按钮组件，支持加载状态 | `@_tc/template-core/fe/rc` |\n| `SubmitButton` | 表单提交按钮组件 | `@_tc/template-core/fe/rc` |\n| `ActionBtn` | 操作按钮组件 | `@_tc/template-core/fe/rc` |\n\n### 使用示例\n\n```tsx\nimport { Button, Input, Select, Modal, DataTable } from '@_tc/template-core/fe/rc'\n\nfunction MyComponent() {\n  return (\n    <div>\n      <Button variant=\"primary\" onClick={() => console.log('clicked')}>\n        点击我\n      </Button>\n\n      <Input placeholder=\"请输入内容\" />\n      <Input type=\"password\" placeholder=\"请输入密码\" />\n\n      <Select\n        options={[\n          { label: '选项1', value: '1' },\n          { label: '选项2', value: '2' },\n        ]}\n      />\n    </div>\n  )\n}\n```\n\n**注意**：\n- 所有组件都支持 TypeScript 类型提示\n- 组件样式基于 Tailwind CSS V4\n- 详细的组件 API 和示例可以访问 `/ui-components` 页面查看\n\n## 扩展自定义前端页面\n\n新增应用入口：\n\n```text\nfrontend/admin/admin.entry.tsx\n```\n\n入口文件名必须包含 `.entry.`，构建器才会扫描。\n\n最小入口示例：\n\n```tsx\n// frontend/admin/admin.entry.tsx\nimport { initApp } from '@_tc/template-core/fe'\nimport type { ReactNode } from 'react'\n\nconst AdminApp = ({ children }: { children: ReactNode }) => (\n  <main>{children}</main>\n)\n\ninitApp(AdminApp, {\n  initModeData: false,\n})\n```\n\n如果需要给页面加额外 `meta`、预连接资源或启动脚本，可以在入口同目录放 `.html` 插槽文件。这个文件不是完整 HTML，只能包含 `tc-slot` 块：\n\n```html\n<!-- frontend/admin/admin.html -->\n<!-- tc-slot:head -->\n<meta name=\"description\" content=\"Admin Console\" />\n<link rel=\"preconnect\" href=\"https://example.com\" />\n<!-- /tc-slot:head -->\n\n<!-- tc-slot:body-before-root -->\n<div id=\"boot-mask\"></div>\n<!-- /tc-slot:body-before-root -->\n\n<!-- tc-slot:body-after-root -->\n<script>\n  window.__ADMIN_BOOT_TIME__ = Date.now()\n</script>\n<!-- /tc-slot:body-after-root -->\n```\n\n命名规则：\n\n```text\nfrontend/admin/admin.entry.tsx\nfrontend/admin/admin.html       yes\n\nfrontend/report/index.entry.tsx\nfrontend/report/index.html      yes\nfrontend/report/report.html     yes\n```\n\n不要在插槽文件里写 `<!DOCTYPE html>`、`<html>`、`<body>` 或 `<div id=\"root\"></div>`。页面外壳由 TemplateCore 的 `app/view/entry.tpl` 统一生成，`window._basePath`、`window._projKey`、`window._signKey`、`window._renderMode`、`window._isSSR`、`window.appOptions` 也由它注入。\n\n扩展 Dashboard 路由：\n\n```tsx\n// frontend/extended/dash/customRoutes.tsx\nimport type { DashRoutesExtender } from '@_tc/template-core/fe'\n\nconst extendDashRoutes: DashRoutesExtender = ({ topRoutes, sidebarRoutes }) => {\n  topRoutes.push({\n    path: 'custom-page',\n    component: <div>Custom Page</div>,\n  })\n\n  sidebarRoutes.push({\n    path: 'custom-sidebar-page',\n    component: <div>Custom Sidebar Page</div>,\n  })\n}\n\nexport default extendDashRoutes\n```\n\n**路径规则说明**：\n\n- **topRoutes**：追加到 Dashboard 顶层路由，路径相对于 `/dash`\n  - 示例：`path: 'custom-page'` → 访问路径为 `/dash/custom-page`\n  - 不要写成 `/custom-page`，使用相对路径即可\n\n- **sidebarRoutes**：追加到侧边栏容器的子路由，路径相对于 `/dash/_sidebar_`\n  - 示例：`path: 'custom-sidebar-page'` → 访问路径为 `/dash/_sidebar_/custom-sidebar-page`\n  - 适用于 `menuLayout: 'left'` 的项目\n\nmodel 中用 `custom` 菜单指向自定义路径：\n\n```ts\n{\n  key: 'custom',\n  name: '自定义页面',\n  menuType: 'module',\n  moduleType: 'custom',\n  customConfig: {\n    path: '/custom-page',  // 注意：这里使用完整路径，以 / 开头\n  },\n}\n```\n\n## 前端构建 buildFE\n\n开发构建：\n\n```ts\nimport { buildFE } from '@_tc/template-core/bundler'\n\nawait buildFE('dev')\n```\n\n生产构建：\n\n```ts\nawait buildFE('prod')\n```\n\n默认输出到当前导入格式对应的框架静态目录，例如 `esm/app/public/dist` 或 `cjs/app/public/dist`。如果要输出到项目：\n\n```ts\nawait buildFE('prod', {\n  output: 'run',\n})\n```\n\n也可以压缩最终模板输出：\n\n```ts\nawait buildFE('prod', {\n  minifyHtml: true,\n})\n```\n\n构建完成后会在输出目录写入 `FEBuildKey`，服务端渲染 HTML 时会用它判断本地 HTML ETag 缓存是否需要清空。\n\n## Node/backend 构建 buildBE\n\n消费方 Node/backend 侧构建使用 `buildBE()`。它复用发布包内的 `scripts/vite-build/buildEntries`，只是提供消费方默认配置。\n\n最小用法：\n\n```ts\nimport { buildBE } from '@_tc/template-core/bundler'\n\nawait buildBE()\n```\n\n消费方脚本示例：\n\n```js\n// scripts/build-be.mjs\nimport { buildBE } from '@_tc/template-core/bundler'\n\nawait buildBE({\n  rootDir: process.cwd(),\n  input: ['index.ts', 'index.js', 'app', 'config', 'models'],\n  outDir: 'dist',\n  format: 'cjs',\n  alias: {\n    '@app': './app',\n    '@model': './models',\n  },\n})\n```\n\n```json\n{\n  \"scripts\": {\n    \"build:be\": \"node scripts/build-be.mjs\"\n  }\n}\n```\n\n监听文件变化并重新构建：\n\n```js\n// scripts/watch-be.mjs\nimport chokidar from 'chokidar'\nimport { buildBE } from '@_tc/template-core/bundler'\n\nconst input = ['index.ts', 'index.js', 'app', 'config', 'models']\n\nlet building = false\nlet pending = false\n\nasync function runBuild() {\n  if (building) {\n    pending = true\n    return\n  }\n\n  building = true\n\n  try {\n    console.log('[buildBE] building...')\n    await buildBE({\n      rootDir: process.cwd(),\n      input,\n      outDir: 'dist',\n      format: 'cjs',\n      alias: {\n        '@app': './app',\n        '@model': './models',\n      },\n    })\n    console.log('[buildBE] done')\n  } catch (error) {\n    console.error('[buildBE] failed')\n    console.error(error)\n  } finally {\n    building = false\n\n    if (pending) {\n      pending = false\n      await runBuild()\n    }\n  }\n}\n\nawait runBuild()\n\nchokidar\n  .watch(input, {\n    ignored: ['dist/**', 'node_modules/**'],\n    ignoreInitial: true,\n  })\n  .on('all', async (_event, filePath) => {\n    console.log(`[buildBE] changed: ${filePath}`)\n    await runBuild()\n  })\n```\n\n```json\n{\n  \"scripts\": {\n    \"build:be\": \"node scripts/build-be.mjs\",\n    \"build:be:watch\": \"node scripts/watch-be.mjs\"\n  },\n  \"devDependencies\": {\n    \"chokidar\": \"^4.0.3\"\n  }\n}\n```\n\n默认会在当前工作目录构建这些入口：\n\n```ts\n['index.ts', 'index.js', 'app', 'config', 'models']\n```\n\n不存在的默认入口会自动跳过；如果没有任何匹配源码，构建仍会失败。输出到 `dist`，格式为 `cjs`。默认 `outputStructure: \"preserve\"` 按源路径输出，`bundleDependencies: false` 会 external Node 内置模块和 npm 包，不会把依赖打进产物。`buildBE` 会按同一组 input 扫描并复制内置白名单资源扩展，主要覆盖 `app`、`config`、`model` 目录。\n\n常见配置：\n\n```ts\nawait buildBE({\n  input: ['app', 'config', 'models'],\n  outDir: 'dist',\n  format: ['es', 'cjs'],\n  alias: {\n    '@app': './app',\n    '@model': './models',\n  },\n})\n```\n\n如果需要声明文件：\n\n```ts\nawait buildBE({\n  dts: {\n    outDir: 'types',\n    tsconfig: 'tsconfig.json',\n  },\n})\n```\n\n`buildEntries()` 底层默认生成 d.ts，但 `buildBE()` 默认关闭声明文件；需要时按上面这样显式传 `dts`。\n\n如果传入自定义 `input`，缺失路径默认会报错；需要跳过时显式打开：\n\n```ts\nawait buildBE({\n  input: ['app', 'config', 'models'],\n  allowMissingInput: true,\n})\n```\n\n## 如何扩展组件\n\n### 扩展 Dashboard 顶部用户区域\n\n项目可以创建 `frontend/extended/dash/components.tsx`，通过组件映射填充内置 Dashboard 页头右侧区域。\n\n```tsx\n// frontend/extended/dash/components.tsx\nimport type { DashComponentsMap } from '@_tc/template-core/fe'\n\nconst components = {\n  'HeaderView.userArea': ({ projectInfo }) => {\n    return <div>{projectInfo?.name}</div>\n  },\n} satisfies DashComponentsMap\n\nexport default components\n```\n\n当前支持的 Dashboard 组件扩展槽位：\n\n- `HeaderView.userArea`：Dashboard 顶部右侧区域。\n\n### 扩展 Dashboard 登录守卫\n\n项目可以创建 `frontend/extended/dash/routeGuard.ts`，用于在 Dashboard 内置 `homePage` / 首菜单重定向前做登录判断。\n\n```ts\n// frontend/extended/dash/routeGuard.ts\nimport type { DashRouteGuard } from '@_tc/template-core/fe'\n\nconst dashRouteGuard: DashRouteGuard = ({ isLoggedIn, isSSR }) => {\n  if (!isLoggedIn) return isSSR ? '/login?from=ssr' : '/login'\n}\n\nexport default dashRouteGuard\n```\n\n返回值规则：\n\n- 返回 `string`：框架使用 `window.location.href` 跳转，登录页不需要在 Dash 路由下。\n- 返回非 `string`：中断 Dashboard 内置重定向，使用方可自行跳转或处理提示。\n- 入参包含 `renderMode: 'csr' | 'ssr'` 和 `isSSR`，可区分 SSR hydration 后的守卫跳转和普通 CSR 跳转。\n- `DashRouteGuardResult` 是 `string | undefined`；`undefined`（包括已登录分支的隐式返回）也会打断 Dashboard 内置重定向。\n- 没有自定义 `routeGuard` 文件时，框架使用兜底空对象，不影响默认 Dashboard 重定向。\n\n### 扩展 SchemaForm 字段组件\n\n1. 声明字段类型。\n2. 注册运行时组件。\n3. 在 `model` 的 `createFormOption`、`editFormOption`、`searchOption` 中使用。\n\n类型声明：\n\n```ts\n// typing/template-core.d.ts\nimport '@_tc/template-core/fe/rc'\nimport type { SelectProps } from '@_tc/template-core/fe/rc'\n\ndeclare module '@_tc/template-core/fe/rc' {\n  export namespace SchemaFormNamespace {\n    interface FieldTypes {\n      businessSelect: true\n    }\n\n    interface PropsMap {\n      businessSelect: SelectProps & {\n        requestUrl?: string\n        valueField?: string\n        labelField?: string\n      }\n    }\n  }\n}\n```\n\n运行时注册：\n\n```ts\n// frontend/extended/SchemaForm/data.ts\nimport React from 'react'\nimport type { SchemaFormComponentsMap } from '@_tc/template-core/fe/rc'\n\nconst componentsMap = {\n  businessSelect: React.lazy(async () => ({\n    default: (await import('../../components/BusinessSelect')).BusinessSelect,\n  })),\n} satisfies SchemaFormComponentsMap\n\nexport default componentsMap\n```\n\nmodel 中使用：\n\n```ts\nstatus: {\n  type: 'string',\n  label: '状态',\n  searchOption: {\n    comType: 'businessSelect',\n    requestUrl: '/api/status/options',\n    valueField: 'value',\n    labelField: 'label',\n  },\n}\n```\n\n### 扩展 SchemaPage CallCom\n\nCallCom 是 SchemaPage 中的弹窗、抽屉、面板类组件。内置组件有：\n\n- `createForm`\n- `editForm`\n- `detailPanel`\n\n声明配置类型：\n\n```ts\n// typing/template-core.d.ts\nimport '@_tc/template-core/models'\n\ndeclare module '@_tc/template-core/models' {\n  export namespace CallComNamespace {\n    interface ConfigMap {\n      auditPanel: {\n        title: string\n        fetchKey: string\n        approveApi?: string\n      }\n    }\n\n    interface OptionMap {\n      auditPanel: {\n        visible?: boolean\n      }\n    }\n  }\n}\n```\n\n注册运行时组件：\n\n```ts\n// frontend/extended/SchemaPage/CallCom/data.ts\nimport { lazy } from 'react'\nimport type { CallComComponentsMap } from '@_tc/template-core/fe'\n\nconst componentsMap = {\n  auditPanel: lazy(() => import('../../components/AuditPanel')),\n} satisfies CallComComponentsMap\n\nexport default componentsMap\n```\n\n组件示例：\n\n```tsx\n// frontend/src/components/AuditPanel.tsx\nimport { eventsInfo, merge, schemaEventBus } from '@_tc/template-core/fe'\n\nexport default function AuditPanel(props: {\n  data: Record<string, unknown>\n  comName: 'auditPanel'\n}) {\n  const closeAndRefresh = () => {\n    schemaEventBus.getState().emitCom({\n      type: merge(eventsInfo.closeCom, eventsInfo.initTable),\n    })\n  }\n\n  return (\n    <div>\n      <div>审核对象：{String(props.data.id ?? '')}</div>\n      <button onClick={closeAndRefresh}>完成</button>\n    </div>\n  )\n}\n```\n\nmodel 中使用：\n\n```ts\ncomponentConfig: {\n  auditPanel: {\n    title: '审核',\n    fetchKey: 'id',\n    approveApi: '/api/audit/approve',\n  },\n},\ntableConfig: {\n  rowButtons: [\n    {\n      label: '审核',\n      eventKey: 'callComponent',\n      eventOption: {\n        comName: 'auditPanel',\n      },\n    },\n  ],\n},\n```\n\n字段级配置使用 `${组件名}Option`：\n\n```ts\nremark: {\n  type: 'string',\n  label: '备注',\n  auditPanelOption: {\n    visible: true,\n  },\n}\n```\n\n### 扩展 SchemaTable 单元格渲染组件\n\nSchemaPage 表格列支持通过 `tableOption.renderComponent` 使用内置或自定义注册的渲染组件。内置组件：\n\n- `PreviewImage`：把当前单元格值渲染成图片预览；值是数组时直接作为图片列表，值是单个字符串时自动转成单图数组。\n\n直接使用内置组件：\n\n```ts\ncover: {\n  type: 'string',\n  label: '封面',\n  tableOption: {\n    renderComponent: 'PreviewImage',\n    renderComponentProps: {\n      width: 48,\n      height: 48,\n    },\n  },\n}\n```\n\n自定义渲染组件时，先声明 props 类型：\n\n```ts\n// typing/template-core.d.ts\nimport '@_tc/template-core/models'\n\ndeclare module '@_tc/template-core/models' {\n  export namespace SchemaTableNamespace {\n    interface RenderComponentPropsMap {\n      PriceCell: {\n        value?: unknown\n        record?: Record<string, unknown>\n        rowIndex?: number\n        fieldKey?: string\n        currency?: string\n      }\n    }\n  }\n}\n```\n\n注册运行时组件：\n\n```ts\n// frontend/extended/SchemaPage/SchemaTable/data.ts\nimport { lazy } from 'react'\nimport type { SchemaTableRenderComponentsMap } from '@_tc/template-core/fe'\n\nconst componentsMap = {\n  PriceCell: lazy(() => import('../../components/PriceCell')),\n} satisfies SchemaTableRenderComponentsMap\n\nexport default componentsMap\n```\n\n组件会收到 `value`、`record`、`rowIndex`、`fieldKey`，以及 `renderComponentProps` 中的自定义参数：\n\n```tsx\n// frontend/components/PriceCell.tsx\nexport default function PriceCell(props: {\n  value?: unknown\n  currency?: string\n}) {\n  return <span>{props.currency ?? '¥'}{Number(props.value ?? 0).toFixed(2)}</span>\n}\n```\n\nmodel 中使用：\n\n```ts\nprice: {\n  type: 'number',\n  label: '价格',\n  tableOption: {\n    renderComponent: 'PriceCell',\n    renderComponentProps: {\n      currency: '¥',\n    },\n  },\n}\n```\n\n## 如何配置类型扩展\n\n### tsconfig\n\n如果项目分了后端、前端、model 多个 TS 上下文，确保它们都 include 同一份声明文件：\n\n```json\n{\n  \"include\": [\"app/**/*\", \"models/**/*\", \"frontend/**/*\", \"typing/**/*.d.ts\"]\n}\n```\n\n### SchemaForm 类型扩展\n\n扩展目标：\n\n```ts\ndeclare module '@_tc/template-core/fe/rc' {\n  export namespace SchemaFormNamespace {\n    interface FieldTypes {}\n    interface PropsMap {}\n  }\n}\n```\n\n- `FieldTypes` 用来增加字段类型名。\n- `PropsMap` 用来绑定该字段的 props 类型。\n- 类型声明只负责 TS 校验，运行时还必须在 `frontend/extended/SchemaForm/data.ts` 注册组件。\n\n### Model mode 类型扩展\n\n`mode` 和对应的数据结构一起扩展。内置 `MB` 对应管理后台菜单结构 `MBMenuType`。\n\n```ts\n// typing/template-core.d.ts\nimport '@_tc/template-core/models'\n\ndeclare module '@_tc/template-core/models' {\n  interface ModelModeMap {\n    portal: {\n      portalConfig: {\n        title: string\n        theme?: 'light' | 'dark'\n      }\n    }\n  }\n}\n```\n\n使用新 `mode`：\n\n```ts\nimport type { ModelDataType } from '@_tc/template-core/models'\n\nconst model: ModelDataType<'portal'> = {\n  mode: 'portal',\n  name: '门户',\n  desc: '门户配置',\n  homePage: '/',\n  portalConfig: {\n    title: 'Portal',\n    theme: 'light',\n  },\n}\n\nexport default model\n```\n\n继续使用内置管理后台时：\n\n```ts\nimport type { ModelDataType } from '@_tc/template-core/models'\n\nconst model: ModelDataType<'MB'> = {\n  mode: 'MB',\n  name: '商品后台',\n  desc: '商品管理',\n  homePage: '/_sidebar_/product?projk=demo',\n  menu: [],\n}\n```\n\n### CallCom 类型扩展\n\n扩展目标：\n\n```ts\ndeclare module '@_tc/template-core/models' {\n  export namespace CallComNamespace {\n    interface ConfigMap {}\n    interface OptionMap {}\n  }\n}\n```\n\n- `ConfigMap` 对应 `schemaConfig.componentConfig.xxx`。\n- `OptionMap` 对应字段上的 `xxxOption`。\n- 运行时组件注册在 `frontend/extended/SchemaPage/CallCom/data.ts`。\n\n### SchemaTable 渲染组件类型扩展\n\n扩展目标：\n\n```ts\ndeclare module '@_tc/template-core/models' {\n  export namespace SchemaTableNamespace {\n    interface RenderComponentPropsMap {}\n  }\n}\n```\n\n- `RenderComponentPropsMap` 的 key 对应 `tableOption.renderComponent`。\n- 运行时组件注册在 `frontend/extended/SchemaPage/SchemaTable/data.ts`。\n- 组件运行时会自动收到 `value`、`record`、`rowIndex`、`fieldKey`；`renderComponentProps` 只配置自定义参数。\n\n### KoaApp 类型扩展\n\n使用方推荐增强根包 `@_tc/template-core`：\n\n```ts\n// typing/template-core.d.ts\nimport '@_tc/template-core'\n\ndeclare module '@_tc/template-core' {\n  namespace FrameworkAugment {\n    interface IServiceAugmented {\n      product: {\n        list(): Promise<unknown[]>\n      }\n    }\n\n    interface IControllerAugmented {\n      product: {\n        list(ctx: import('@_tc/template-core').Ctx): Promise<void>\n      }\n    }\n\n    interface IExtendsAugmented {\n      redis: {\n        get(key: string): Promise<string | null>\n      }\n    }\n\n    interface IMiddlewaresAugmented {\n      auth: import('koa').Middleware\n    }\n\n    interface AppConfigAugmented {\n      authSecret: string\n    }\n  }\n}\n```\n\n使用：\n\n```ts\nimport type { KoaApp } from '@_tc/template-core'\n\nexport default (app: KoaApp) => {\n  app.config.authSecret\n  app.service.product.list()\n  app.extends.$fetch.get('https://example.com/api')\n  app.extends.redis.get('token')\n}\n```\n\n如果在 TemplateCore 仓库源码内部扩展，声明目标通常是内部别名 `@tc/core`；npm 使用方不要依赖 `@tc/*` 内部路径。\n\n## 可选：给项目 AI 助手的文档与 Skill\n\n如果你在项目中让 AI 助手协助开发，可以让它优先读取 npm 包内的 `AGENT_README.md`。安装后的路径通常是 `node_modules/@_tc/template-core/AGENT_README.md`。这份文档面向“协助使用 TemplateCore 的 AI 助手”，覆盖公开入口、最小启动、目录约定、model 配置、前端使用和构建方式。\n\n包内附带两份 Agent Skill，本质是可复用的 Agent 指令包，采用渐进式披露（SKILL.md + reference/）结构。\n\n| Skill | 用途 |\n| --- | --- |\n| `tc-generator` | 按 TemplateCore 约定生成项目、model 配置、Schema CRUD、controller 和 router。 |\n| `tc-component-usage-skills` | 指导 Agent 选用和正确使用内置 React 组件库（Button、Form、DataTable、Modal 等）。 |\n\n如果你的 Agent 支持本地 skills 目录，可以从已安装的 npm 包复制安装。以 Codex 为例：\n\n```bash\nmkdir -p \"${CODEX_HOME:-$HOME/.codex}/skills\"\ncp -R node_modules/@_tc/template-core/.skills/tc-generator \"${CODEX_HOME:-$HOME/.codex}/skills/tc-generator\"\ncp -R node_modules/@_tc/template-core/.skills/tc-component-usage-skills \"${CODEX_HOME:-$HOME/.codex}/skills/tc-component-usage-skills\"\n```\n\n安装后重启对应 Agent，让新 skill 生效。使用时可以直接说”用 tc-generator 生成一个商品管理模块”或”用 tc-component-usage-skills 帮我写一个带搜索的分页表格”。\n\n其他 Agent 如果不支持自动安装 skill，也可以直接读取 `.skills/tc-generator/SKILL.md` 或 `.skills/tc-component-usage-skills/SKILL.md`，再按需读取 `reference/` 下的参考文件。\n\n## 注意事项\n\n- 不要在项目代码里引用 `dist/fe/*`、`dist/models/*` 这类构建产物路径。\n- npm 使用方只使用公开入口：`@_tc/template-core/*`。\n- SchemaForm 和 CallCom 的类型扩展、运行时注册都要做，少一个就只会“类型通过但页面不显示”或“页面能配但类型报错”。\n- `model` 数组合并依赖稳定 `key`。\n- Dashboard 默认需要 URL 带 `?projk=项目key`。\n- Dashboard 登录守卫放在 `frontend/extended/dash/routeGuard.ts`；登录页通常不在 Dash 路由下，返回登录页 URL 即可。\n- 服务端兜底守卫放在项目根目录的 `app/router-guard.ts|js`。\n- 前端入口必须命名为 `.entry.tsx`、`.entry.ts`、`.entry.jsx` 或 `.entry.js`。\n- 入口同目录的 `.html` 只能作为插槽文件使用，不能写完整 HTML 文档；页面外壳始终由 `app/view/entry.tpl` 生成。\n","readmeFilename":"README.md"}