{"_id":"chanjs","_rev":"137-4fee04aba4492d49b4546e110b49398e","name":"chanjs","dist-tags":{"latest":"2.8.7"},"versions":{"0.0.1":{"name":"chanjs","version":"0.0.1","author":{"name":"明空"},"license":"ISC","_id":"chanjs@0.0.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"666954893630db27b31b8b42513eef344d96183f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-0.0.1.tgz","fileCount":9,"integrity":"sha512-c1dlh6JirAR/9TFs1rjqMqUUg5n5KCvYEj6Z5ArFq1iDjiKmb5aoUKS7PBBbGOEjrRMZcokTdIeD1DipTBuGtA==","signatures":[{"sig":"MEUCIBB2TT+8QiXezmYJTSNySH1hcnIhMNNu+0oWc66PMDOsAiEAwYVVbJDJZZrkm//A6STXQ3sgXPvlsx8wPdv87mh/FuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13643},"main":"chan.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chan.js 基于express 纯js研发的轻量级mvc框架。基于函数式编程思想，性能优越，代码清晰，流程易读，可持续维护高。","directories":{"lib":"lib"},"_nodeVersion":"18.14.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_0.0.1_1705765633156_0.7534322223766996","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"chanjs","version":"1.0.0","keywords":["\"mvc\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"540ca3ed09333658a74c81a93cb06023d00e4013","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.0.tgz","fileCount":24,"integrity":"sha512-D1eRqHGdygnNmPGQjln+yTJnR0OarF56HHpUYGyQLIys2jD+mOHFKZOzgzt6l+8mmeb9IAq20p94kmhRRGbAww==","signatures":[{"sig":"MEQCIGGTT9qfjeG0kfSDXDjjCQxEwWRjAIVTHDDNv70evPeMAiA3ZailFn36756rCd82qpDLj7HI8LlJ8HI1i31+wYcasw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36287},"main":"core/chan.js","gitHead":"fbdd7c20bab852dc09cc888c654f7d791aeeadef","scripts":{"dev":"nodemon app.js","prd":"pm2 start pm2.json","clear":"node timer.js"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"\"chanjs\"","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.0_1707220744433_0.12814399566030454","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"chanjs","version":"1.0.1","keywords":["\"mvc\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"935aa5a7dc026729a985e2f42e19cf05d51b91d2","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.1.tgz","fileCount":24,"integrity":"sha512-HfTM+2JSoVT02YJ+hJ9NFHz2qoJ7D6j8lqrpm6dLYPs16zZSIqLQxugMv4Ot/Lqhibd2xMsa56Brj715MRNyRw==","signatures":[{"sig":"MEQCIBj/NG3kqE51KUePQcVcxpL0P/OMtILh8LqK0OK5i+DxAiBauJawcbfaKjP8W/yNDHxEfe8LK7lwS4ISkGUCxqNmnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36472},"main":"core/chan.js","gitHead":"fbdd7c20bab852dc09cc888c654f7d791aeeadef","scripts":{"dev":"nodemon app.js","prd":"pm2 start pm2.json","clear":"node timer.js"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"\"chanjs\"","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.1_1707221085103_0.5704790055225666","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"chanjs","version":"1.0.2","keywords":["\"mvc\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"041224ff05c5da488122f763b38e1f482b9dc850","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.2.tgz","fileCount":24,"integrity":"sha512-rHL2XpuP9NYyIh2q0ZV3bpsxPPd5++rkM0gSPbl076Dz98amqQqxDfTd5xBhVi0eQftJv/M/ZTp21zbzgVCXFw==","signatures":[{"sig":"MEYCIQC7T3owLK7DBs6yzhg9+jFAUP5do8mhdwZ9gyZdwasYiAIhAOndz32YeuuGK0kfnKA8GaUmmVpievocZeS7r22tO7Kz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36538},"main":"core/chan.js","gitHead":"31683d1e7e49b80fd52d6bd05c2106b24669a556","scripts":{"dev":"nodemon app.js","prd":"pm2 start pm2.json","clear":"node timer.js"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.2_1707312965583_0.8806719822907878","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"chanjs","version":"1.0.3","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"aa2875c8460af461d1c32d834b939a39da28841f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.3.tgz","fileCount":15,"integrity":"sha512-JaR3N3Pt4iKyQqNk/O6x9fgTquvv3P4nJn5SLl15QkrPrbcm2QHQhIFVjdOMg3sfET3Ao1SlYKM2GgixBVCuVw==","signatures":[{"sig":"MEUCIQCz+Gsj25zXjbeyE2gYKCazP2NW7l/M+Nc5N6krxLCo2AIgLZWK/J9hbU2pb8xBrSxQx6YpR/JVkIewhRkJSSDkH6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33140},"main":"core/chan.js","type":"module","module":"core/chan.js","gitHead":"48a351fa9166cc4189be0bab0848cc6b7a05a128","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.3_1707313736987_0.6687723133611707","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"chanjs","version":"1.0.4","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"9a53a0bff9be82f77b4222685881d6a83a46efc3","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.4.tgz","fileCount":15,"integrity":"sha512-ClW5TJ00kUwqHbLqOHpDzFaZ6XWCRQbqv52K5d40cMAdLTmfMMQrElc3yOu9wW8bRN/MKiM55sj00osS7fzXfQ==","signatures":[{"sig":"MEYCIQDSHBGGkkYq+96UEmJ8ps64+r0jEJcOJTdhX7kIfjbjUgIhAKXYdwfwCv2Ik+UvbUOFX1TRsuVHB2bAmqPl9rOTp2NW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33048},"main":"core/chan.js","type":"module","module":"core/chan.js","gitHead":"ae3bbc2f3884e332ab13e17f199f32f107955d3c","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.4_1707484231835_0.8311493290730343","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"chanjs","version":"1.0.5","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"ef5d5f3d0f5c1eda21ced94b7c43377de0e3872d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.5.tgz","fileCount":13,"integrity":"sha512-ZsU0r2ZJ2F86uKFc6ddnvXvYk097+YBiEAw9oMZxZyI/7pE3+TWBzDsCGhNXlAWx7Pc0cANug5am3mVS5jzCAQ==","signatures":[{"sig":"MEUCIHzoPWNg+Qo92pcePK09iNaA01uIoecvJK31reXlLsD2AiEA59REeud07R1fj9UIcROdwm0hMvjiCN1HWwsqCg0BDwk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31434},"main":"core/chan.js","type":"module","module":"core/chan.js","gitHead":"67e4675fcf9e3c6b8762d3cedaec48621bec56a3","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.5_1709904088683_0.053903770105688364","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"chanjs","version":"1.0.6","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"fce15b83ccd3c47f5d5d83a21bd03afbd090c5ff","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.6.tgz","fileCount":13,"integrity":"sha512-m4JLr6uCa0MnibJTtqDBeoS7HGw2fQ/I9mUi04xXd5F1Ue92fxh0hsOB4H0CYS+PvcUtlkeiB4tZDHKr5FpHOA==","signatures":[{"sig":"MEQCICF9mPJo1483jkiCN91PpizMI8+FNda64f9nOADpwx5rAiA4rYHoOApw9MMvL/RRrf9bSpWWO28bBYSqs4gHKRHCAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31414},"main":"core/chan.js","module":"core/chan.js","gitHead":"05083c3732dbf1e5c864241ea914ff4e7bc568fa","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.6_1710854026765_0.1755814621326064","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"chanjs","version":"1.0.7","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.7","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"1d036d9be6577600b9acfd64c0ac4cf80ed0b456","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.7.tgz","fileCount":13,"integrity":"sha512-W1l+vsxt0AqkCNRVhj+CzJ2vo7JCWW3EfrN/BDj0D6i/iI2enKLGc0nNRNoI9q29rlSOQR3+JUziLxX0p+W+MQ==","signatures":[{"sig":"MEYCIQC/mf+LbV8+GRZQtuHCutZP5DeOvrD9ZR1v9D4QH/TwUgIhAOqTYuENV6fncjlk7yXRjX0l3uX6MClKyNM/pNXc2l78","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31413},"main":"core/chan.js","module":"core/chan.js","gitHead":"05083c3732dbf1e5c864241ea914ff4e7bc568fa","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.7_1712152890202_0.6736932122073178","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"chanjs","version":"1.0.9","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.9","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"b77925ac78b4a824b74c2f8bf40f84a87b19baba","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.9.tgz","fileCount":13,"integrity":"sha512-q81aiTTFBb1ap+Yo/599YXmG4xsdJGw/7tJl35PPsWx1eMYSyc+OQVf2MOMe+rWz17R3hUNcIV/ZvyAXKIDr9Q==","signatures":[{"sig":"MEUCIACIbozcqDl9kewjrQxPWW57XHZyq+kP3g5fOD/d+OtPAiEAirHmfxgGntuJxSGl8BfHBHZrmk6aiFhwYEDoLD/PayM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31413},"main":"core/chan.js","module":"core/chan.js","gitHead":"d45707b507b413242d95c454a674c7484905753d","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.9_1713706389629_0.16867237670608848","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"chanjs","version":"1.0.10","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.10","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"07b5209d388f16f2722c8a62b609376ae8ad15ba","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.10.tgz","fileCount":13,"integrity":"sha512-U6t05q+tJOQ7J1a8HRhydiGo257NbGutsB+2OxMRhJajzS3+BdRmmgBUpJ1X1fCcNY8lMmx5FJ9ZsyXMgYbeGg==","signatures":[{"sig":"MEUCIA2QErbjX/Ka6I4tfkyh0ZhRdFvu6+CpZRWNkFuZN0JBAiEA7+Zkuq8PuTTCl3ynUP0FFhbA/Ja316Kb4jfXP80jcMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31460},"main":"core/chan.js","module":"core/chan.js","gitHead":"d45707b507b413242d95c454a674c7484905753d","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.10_1718721039236_0.7089935849382163","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"chanjs","version":"1.0.11","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.11","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"51510823ced0914a708e33ee0dee40f0c3333c7f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.11.tgz","fileCount":13,"integrity":"sha512-GGLg1e+yTxYW3Vtt29Rxd2xKSSrZu8iyDZ+i754TQAucC+yl8iRyUrM/Dn0wSsppO3JMr+FwFkJf3kN31DnMrQ==","signatures":[{"sig":"MEYCIQD0Rgv6PvkFXTA8q9nZ/wI9WTNzdUrZ5/StbBXojYBGawIhAJhttzYTYYLDZ29B6BcudyyI/m+fERRHICBJV/Rnfmhx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31498},"main":"core/chan.js","module":"core/chan.js","gitHead":"0c671f5ee9005c1e9b0f974c99b4c19c30f7387e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.11_1718722546377_0.4722286298991447","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"chanjs","version":"1.0.12","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.12","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"3ec5c30adda2eeb0050eff99df2642ba08fbf451","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.12.tgz","fileCount":13,"integrity":"sha512-xRjATAW5XHaU1UBFmOeEhfcOWw71w0dUCmgH7YLCC0L5Uf3K7RwjEjEhdUENqLCxpMi+8THClCyNsVJdSoogcw==","signatures":[{"sig":"MEYCIQDgSph0OOjYoW+GEWSY5FUi/wbelV7CJ+8QfiB8kzywkwIhAKb7+sGWkgt72m/ASRjoHn8Mjn773meXZa8EX3xlnf3j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31926},"main":"core/chan.js","module":"core/chan.js","gitHead":"603cf5f24fc0d5e3c6fe67016eef483ef500e3fb","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"9.5.0","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"18.14.2","dependencies":{"knex":"^3.0.1","morgan":"^1.10.0","mysql2":"^3.6.2","express":"^4.18.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.12_1722703613789_0.9328233059492639","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"chanjs","version":"1.0.13","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.13","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"0f6a0fc1619fc10b67bd322eadd0509ae6bfa89d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.13.tgz","fileCount":13,"integrity":"sha512-DF78SCWfZi508yyYOCMszKlJPXWYczB8xecORfcslSP2Kcrgo5b7kYgjJW2OQn2ckFFF1TRZ6cyPtZOqQAsf8g==","signatures":[{"sig":"MEUCIQCltMY+4HE9Z4WPOeAusGiybRtO8d1BtWDVA2BFGh2u6QIgbzojxzwSKbo7YOIBrM63wBBFh9WbsK5Msxtl7TMgcZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31862},"main":"core/chan.js","module":"core/chan.js","gitHead":"603cf5f24fc0d5e3c6fe67016eef483ef500e3fb","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"20.16.0","dependencies":{"knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.13_1722745399853_0.7471600140118133","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"chanjs","version":"1.0.14","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.14","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"7dc85ea289918cbe376193133fd34d525890e0dd","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.14.tgz","fileCount":13,"integrity":"sha512-V183rVNzVOltfc9FpNn8TFEq+AqLLesjA8icAO6gKRe4qjg/+IUauBAjYR5EphqJa2OCMY2I8mnjjuQgrfuADA==","signatures":[{"sig":"MEQCIDuBN/kHDuujJQJeifHh0U/WH6aH3B7TdmO2QWHQjPTqAiAsnIahLa1qqq8l+ydZhu9uuQpm17NqYt/9QyDldoiy7Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32094},"main":"core/chan.js","module":"core/chan.js","gitHead":"05ae4198236ca5a40b169fdfb345e82d8e544488","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.14_1723990705564_0.7876562211352938","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"chanjs","version":"1.0.15","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.15","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"54959de6b7628852ae4c41e8cba0781457fb7137","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.15.tgz","fileCount":13,"integrity":"sha512-7IPPqR/7S4TOOHV9DBVps6Y21amPu4d61Bh/UBmk99XBCm8NDc3JmqwMe6+UZXmCkQk0KJBidHmXa5f2CIELyA==","signatures":[{"sig":"MEYCIQCR1z8UaX/act/hVCyr3O+VeKoUmEcFoPaHisjETwW6pwIhAPXagNOTO2zXu2NBLopy59IjhKXdBT3bBI1q8+kWhs6S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32091},"main":"core/chan.js","module":"core/chan.js","gitHead":"ce2b0d8ffbf9a43bed7d73fe038e3a589a2289e7","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chanjs develops a lightweight MVC framework based on express pure JavaScript","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.15_1723991141157_0.752884165519923","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"chanjs","version":"1.0.16","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.16","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"3c9c0ad0d9e8baf143759a72f1d3e64d7225003f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.16.tgz","fileCount":13,"integrity":"sha512-/O74exO/blaLD7bMFG7sOoENGd5tdhrMQuvLa9FE4WCRaEExYY1c8iRSUZQGN1MfnqXOC56eJBhyMZCiE645DA==","signatures":[{"sig":"MEQCIHtOPjzpeXszS2nqq7baf9MiOqhVudV8WHzJvPqQtN0FAiAdltK9wcf8y1oY0DYUk0YJMvhe9E86f5b4kYrBTqpanQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32071},"main":"core/chan.js","module":"core/chan.js","gitHead":"e47abc1dbf2188ba4e92237a1197346d69361386","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.16_1723991689306_0.9775224500842434","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"chanjs","version":"1.0.17","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.17","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"0157dd45784d937f595a8be166961a865c23a2bc","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.17.tgz","fileCount":13,"integrity":"sha512-InOCE4J2OUTok8b4Hdwxwzxo7ShqzNYXVu8gNANtPJEeKinD+Ty3Sz5DnJviamWYoyt4G0zcZmLGRXybqFMfaQ==","signatures":[{"sig":"MEUCIExKtk57H+y+aBsUFFcvcqr1u8mOIDTJ5cYA6xek/XUsAiEA64KvGvuyZeLUANCPjK2y5+/HWtqESoYux8pGLBq0LHk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32245},"main":"core/chan.js","module":"core/chan.js","gitHead":"e47abc1dbf2188ba4e92237a1197346d69361386","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.17_1724077794964_0.23479611472361528","host":"s3://npm-registry-packages"}},"1.0.18":{"name":"chanjs","version":"1.0.18","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.18","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"f260a6877049664ab5bbf80bfb93cdb8d7f9228a","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.18.tgz","fileCount":13,"integrity":"sha512-S2Ed/e4NufdY95pDgSlWo4iqSvJD1iwf1p7tXa+gYdgJG+kbwAXK9PpQd5cIrT57Ny5jDY4T8DtbdQ6U+8Ezsw==","signatures":[{"sig":"MEUCIF/t7Zfh6JMS+IPnxsDKRU+qAIw+m7l56/RSKDO1YG08AiEAzOkA++crXVjCwRyO+zMB6n+0EKc/Zi4LgaKtLx0HZk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32240},"main":"core/chan.js","module":"core/chan.js","gitHead":"6ff6dfc9987b558e78c5ad0991b00e2c4fd31f2e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.18_1724078418297_0.3067553948822126","host":"s3://npm-registry-packages"}},"1.0.20":{"name":"chanjs","version":"1.0.20","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.20","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"24b9e556e8495ce48b76a27e0e1e7bb21ec386e2","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.20.tgz","fileCount":13,"integrity":"sha512-jbUhX/ZzV7XwbDe3xkhw2AZuHjv6G0B2y/jTVxFImfiE7TS2QiW31dv2Qegs0SNOV84xyCpCAA0uKun+tmVTEw==","signatures":[{"sig":"MEQCIGFvFeVvk8Ln9ls+s2eDTqZKhLI+YDuysm7ogbD2Fd8zAiAs/OC9mrYwt5oAHMdCdTeYmc0g4L02x4g+k9U8rfXSHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32240},"main":"core/chan.js","module":"core/chan.js","gitHead":"7cfba13846afa2ee29eeca1dac0bb1cc8e7dd036","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.20_1724078937214_0.9644955997748885","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"chanjs","version":"1.0.21","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.21","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"04b6050cc53ba2b2d8c27f44b4e4355551efeb90","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.21.tgz","fileCount":14,"integrity":"sha512-Wnz25JVxePnuK7/MV00zYhH69uvgyvsnQS84BzMbMVfoZLU8Jx0Mz6iJG0KPWbSoAx0ZGcMsDfXtZcXLM+IbmQ==","signatures":[{"sig":"MEQCIGGNd9IGCSjk64JeDV/77dMOvBtha5TF2h5jQCQsa/wjAiBH+5FQNq9wBzomSIGAT1OKOEeoKnqR/sr7OhIn0Ic1lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33018},"main":"core/chan.js","module":"core/chan.js","gitHead":"62166ad3d14935668b410d36a3107f068d51fac7","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.21_1724765684000_0.44088346045068927","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"chanjs","version":"1.0.22","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.22","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"b997dea863066790cc566e8e9436f06a98c898c0","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.22.tgz","fileCount":14,"integrity":"sha512-ye+IQZkYIcGmq+AJBQpMg/iaNe0bjxX78d+6IZn1dXP2ck673RgVcM0xfqz12cq8AJMuEbuHEJAluHQCPYnIkQ==","signatures":[{"sig":"MEQCIDgHiwarGP5Iya/W2yMV7SzdCVBuDhQhqRsZU+i5KmzWAiBwES8iZab786tHHwmQBJV4Rgauo3EoXmnrf+WjN3GTqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31478},"main":"core/chan.js","module":"core/chan.js","gitHead":"8c4f7c6e5eaec61810f4bbd81c1a95a384a2f5c5","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.22_1724769500556_0.14381085138319527","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"chanjs","version":"1.0.23","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.23","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"d9e4218cc427a060aac87115e89cb97c76281a38","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.23.tgz","fileCount":12,"integrity":"sha512-+Xk0xXSmwGAg4Chi8jb9Wd/X0PeT/qQMtytbSYWilnVQVl+JFADZrfqStoPOuJhF82MEcZhWEZe/lxbKo3e18w==","signatures":[{"sig":"MEUCIC6sKBdpkuvVF9iOPAG3YIE2kmklWKSpYN1c/Rh0zSdUAiEA7UoW8vSC9g3qfnwgIDYDw+4zokpbM9gEcTwH4zI2s8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35002},"main":"core/chan.js","module":"core/chan.js","gitHead":"8c4f7c6e5eaec61810f4bbd81c1a95a384a2f5c5","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.1","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.16.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.23_1724845209235_0.5938140848105096","host":"s3://npm-registry-packages"}},"1.0.24":{"name":"chanjs","version":"1.0.24","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.24","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"739234561289bfe8a2eba92e4ba28dc464adc635","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.24.tgz","fileCount":12,"integrity":"sha512-xUKo38Ld/G/I+VGs1kujk/KWZZUJGRAJPVK7GxhL2DNe4gRbGPx2FkvsbgiSLJ8tHNWfboG+EJcPa8xaJs187w==","signatures":[{"sig":"MEYCIQDSw6etbQQZkLvEn5Ru6M455Tbjy4v7AtIeqGC390RBRwIhAL+RJFzLz4MR8MV+WtfCMmjPX0325uhlNNVqmorUUwwi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34993},"main":"core/chan.js","module":"core/chan.js","gitHead":"9fb04d53feef335ab97a8fa65a8736c65ce46f27","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.24_1726150786011_0.9867011959160206","host":"s3://npm-registry-packages"}},"1.0.25":{"name":"chanjs","version":"1.0.25","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.25","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"99d5df4121ed728cb23e70a0a6d018b655993ede","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.25.tgz","fileCount":12,"integrity":"sha512-pHj5o8m8UxgjTvDttJDPJ7e4ppJX/xtWJLIeq9mxRXr5dElzl77zBbDlSG/J7R4r+SRVsknhAKNKS9DFg9H9yg==","signatures":[{"sig":"MEYCIQCqOnQ+EPCONL2j/fuqeOxw+vFZt+hkIlCnQI3BX6M19QIhALw4mAi941QbXnBZYPvBRYTzQP1g7w8b0ABZk5uNo8K8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35268},"main":"core/chan.js","module":"core/chan.js","gitHead":"b1313be96448e6d1bd678bc9b1e41902880838fd","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"Chan.js基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.25_1730473220966_0.3978907424367275","host":"s3://npm-registry-packages"}},"1.0.26":{"name":"chanjs","version":"1.0.26","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.26","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"941c42b4a8ad0bd0baadbdd6f9c1d1246485260d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.26.tgz","fileCount":12,"integrity":"sha512-N5m8zUlFSPWQ3LJnbB+MJwubwjh2PC9fpV4LrjSQGS+zuDTuW9pTUsi64rvfYRPzQs3TgtWoejArnq8aGv1k2A==","signatures":[{"sig":"MEYCIQDHm2gW4kDH/E7xq4jftYfFMr2HmhMoOMyxh5X3djdP3AIhAPqdEH4liLt8bgWo9bLMjBPfDVLRML8m9+u3HmbqflcO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35257},"main":"core/chan.js","module":"core/chan.js","gitHead":"fea22997e1371287f2ac682a34703f083d7db01c","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.26_1730477290627_0.006929829734487525","host":"s3://npm-registry-packages"}},"1.0.27":{"name":"chanjs","version":"1.0.27","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.27","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"cff5ff330db3fd77079eec7f4adefa105376fb3d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.27.tgz","fileCount":12,"integrity":"sha512-P63DKIuR6zxt3JVlTqidmJEZb7JTwV6a8U9pMagSU/jxawMDZElqqc4fYtRTojTUQ538wUpwTdU+NthxPm7t9g==","signatures":[{"sig":"MEUCIB0vpc88YCLTS+XiDYJRuzYmtL4oj7hEMZiHxKZPc6UEAiEAk9Uo5lL64NaE+HM7GbM4YAqXpZpVZdEgglyKPUrEkks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35254},"main":"core/chan.js","module":"core/chan.js","gitHead":"f343deab503147456176bce8f4e89851664873c5","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.27_1730650217320_0.5155604456265688","host":"s3://npm-registry-packages"}},"1.0.28":{"name":"chanjs","version":"1.0.28","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.28","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4ce60245ef7a8f8b817e38ba095353a3565b3f26","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.28.tgz","fileCount":10,"integrity":"sha512-BxwGMliJMjm3JNwVFfObNeJjng3kF9QEHxYKCQ+Qd1iPXDIcOeAN20UvPg74YIrilSrQpOznwRncgy3NqZuM7A==","signatures":[{"sig":"MEUCIGMv4H+0Me7jiXaJsB3t88oZdHiabBjgKWZ4Y5h33Tf6AiEAp5JehVVdvAc32SgfnXY+EP1f8uvu7PHGmXDfTgmA5pc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30961},"main":"core/chan.js","module":"core/chan.js","gitHead":"bbae40a6806a47cf75ca291afdf0abadfe145bdf","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.28_1730725118266_0.403854831525599","host":"s3://npm-registry-packages"}},"1.0.29":{"name":"chanjs","version":"1.0.29","keywords":["\"chanjs\"","\"express mvc\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.29","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"ad9b2af7d1232487c84075c2c86b65d6b15f626f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.29.tgz","fileCount":11,"integrity":"sha512-hWe+11kDvEgqQFGfsIAaIX+YO1u9+TsBhYhPGss7pYZEq1l7Xl+eCsYDCooWRzNcFFPAKl9uCsIRqvs2ZQoTGg==","signatures":[{"sig":"MEYCIQDuf1hQ6FtPFBFUD+pSmHDcCXkfXkPi3TmKFYcYjtt1CAIhAOS6PgqgAQJZ91PJTt4EF+JCVqm/1S6jC2mUP4YGO907","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31102},"main":"core/chan.js","module":"core/chan.js","gitHead":"48ce3062119de9a2ff74b5b44501b451569e268c","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.29_1731766216516_0.24358498243390092","host":"s3://npm-registry-packages"}},"1.0.30":{"name":"chanjs","version":"1.0.30","keywords":["\"chanjs\"","\"express mvc\"","\"express mysql\"","\"express knex\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.30","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"d4cefe9bdb3178df91c699002f3086b3a0a72eee","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.30.tgz","fileCount":12,"integrity":"sha512-CH95rlzEpBGd3PykJqQs6jN813qP/r3v6ylaIT4CdD0clhF9os+hPapLv9X/es0gZiifZk+UpZANufy+0InIjQ==","signatures":[{"sig":"MEYCIQDbqFYhHoVITjVigwWpitufapOA8QkVABjU+OPZOaQHDQIhAPHW0cUgSyWhK3ubWlght0CCxNb73CmdQXl887N8j7me","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33868},"main":"core/chan.js","module":"core/chan.js","gitHead":"48ce3062119de9a2ff74b5b44501b451569e268c","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.30_1732458017211_0.8875798402742174","host":"s3://npm-registry-packages"}},"1.0.31":{"name":"chanjs","version":"1.0.31","keywords":["\"chanjs\"","\"express mvc\"","\"express mysql\"","\"express knex\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.31","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"homepage":"https://www.npmjs.com/package/chanjs","dist":{"shasum":"efe5714613fb350943aee82570af6c5978240507","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.31.tgz","fileCount":4,"integrity":"sha512-dBNqa3cSgB1xqwbuJtUjaWnt1RQhRkyECDFLT/FAkenQ1Of7YJu8S9G9tvxFzdqzRobMIeiGUmV1ft/YdCDldg==","signatures":[{"sig":"MEYCIQD1+9cKDWmk1Pvb5Cjxw7e+TIH0K5CVV6L6tcjdMTQ2lQIhAMCoGw6qxzlU65GqOSbi9ikcDkd/JsposrBbb+BqRDl1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20933},"main":"core/chan.js","module":"core/chan.js","gitHead":"4459d91da8f4b6be33943662e121527e7225d6c3","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"Chanjs is a lightweight MVC framework developed based on express MySQL and pure JavaScript.","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.31_1733063132384_0.8129972299786707","host":"s3://npm-registry-packages"}},"1.0.33":{"name":"chanjs","version":"1.0.33","keywords":["\"chanjs\"","\"express mvc\"","\"express mysql\"","\"express knex\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.33","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"homepage":"https://www.npmjs.com/package/chanjs","dist":{"shasum":"f4b5253517b2fec28972bce65530d442ffdfb9d5","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.33.tgz","fileCount":4,"integrity":"sha512-MiDKjxNDJgusBaUzRZ0ApPQnyH8AVERsuQI+aRg+RwiYU3b9mEwY+2nrnmuQqVEOVY1YqFYGnpvnE+0MZjucdQ==","signatures":[{"sig":"MEQCIB25isboCdHGFB8/+/qPLyG4YnzhAGfmxDkeCX6XbL8CAiB8xlkJ1tZTMlclQpDt2vxv6Gfoy7h7eQGrC8vtvdlXfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20933},"main":"core/chan.js","module":"core/chan.js","gitHead":"4459d91da8f4b6be33943662e121527e7225d6c3","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"Chanjs is a lightweight MVC framework developed based on express MySQL and pure JavaScript.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.33_1733063949776_0.3067583335955524","host":"s3://npm-registry-packages"}},"1.0.35":{"name":"chanjs","version":"1.0.35","keywords":["\"chanjs\"","\"express mvc\"","\"express mysql\"","\"express knex\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.35","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"24c67479ee18222097dfc8440d0a1db7f75efcdf","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.35.tgz","fileCount":11,"integrity":"sha512-IUB0mS+S/9c9qS0Kw2AqMKI63OgR916/BvgI4OtG1KqDQ972kuuwaAun0CXL5Tpg5hwQL+/bZeVHziDJNNPApw==","signatures":[{"sig":"MEQCIHgTfmOhUlRIquDEdWd6TZtvJCEqIgjMVtIG9Bmtwl+gAiBz9SDXPmBwd/aVYcR0sxvjjgshf2zsUqnuUS+QMnZX7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31394},"main":"core/chan.js","module":"core/chan.js","gitHead":"e66cc7dd188f8eadfacbe64ad867e79b089daac1","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.35_1733064451221_0.4216254596762994","host":"s3://npm-registry-packages"}},"1.0.36":{"name":"chanjs","version":"1.0.36","keywords":["\"chanjs\"","\"express mvc\"","\"express mysql\"","\"express knex\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.36","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"43bc9f9cdf5187895a400c641498fdbe8c3988ef","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.36.tgz","fileCount":11,"integrity":"sha512-1RHgTgN+nwOerV5PtRIFaWBC/8H8/cj4Tg7YFN+m0lIEa41Pe7Vl8UvQU9MWCxUhC7wfLtIMyofKU55GOFJZXw==","signatures":[{"sig":"MEQCIBsaeso/3HdG3gtVz/5aphtGcltDp4RP+kiBYtfFQSkTAiB06gKQ8X9dme3mx6RjRqW/WSJBS3QG77VFrAjmhvnDzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31284},"main":"core/chan.js","module":"core/chan.js","gitHead":"b7341ded07cf6e681d70fe46a8af8c83ad446fb4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.36_1733495826383_0.6453747113947155","host":"s3://npm-registry-packages"}},"1.0.37":{"name":"chanjs","version":"1.0.37","keywords":["\"chanjs\"","\"express mvc\"","\"express mysql\"","\"express knex\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.37","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"d4e72838eb1693c02ee6ab793bca3eee72afc60d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.37.tgz","fileCount":12,"integrity":"sha512-48AXmC9bIYAZ9kdbfI/xPOKhrltlytQZIIaGDBrDsuSHLqTNy3vFZAYA03F0Pi4zjvu5jIBs/OPkf1c+n76AeQ==","signatures":[{"sig":"MEUCIQCTq4/V4H5aMqrw6u/Q0y48qQgajlTAbLGnleZMTBprLgIgXRE2xDQ9f2LOxopdLcM8gp+ZiWq9chtuud8eODZpzac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34191},"main":"core/chan.js","module":"core/chan.js","gitHead":"c416beb4a3d994d66a60a18ac4e48b5d95a88256","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.37_1738594116008_0.4322875124989354","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"chanjs","version":"1.0.38","keywords":["\"chanjs\"","\"express mvc\"","\"express mysql\"","\"express knex\"","\"chancms\"","\"nodejs\""],"author":{"name":"\"明空\""},"license":"ISC","_id":"chanjs@1.0.38","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"7f21aca084c4b3bc1a47b824c6a18a39ef79d7fb","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.38.tgz","fileCount":12,"integrity":"sha512-CxB2DHmuiqgNK21LI1Y/Q+/7rQeZHqDEJbPGxmIh1OxD8HbwI0LJuNqc5LU59EUqkIf6Mus7uy7uLXKHKx11hg==","signatures":[{"sig":"MEYCIQD86NGTTCcGl2ZaPl5gRiCEs01skukZqVBpvNQPkQ0QlwIhAIBLSukHt7WLb7XhhrL6LD+qcN6qO08h2xSjZlICaS+D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33992},"main":"core/chan.js","module":"core/chan.js","gitHead":"5162ecb1702552dc197634dac421993ab8d56391","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.12","morgan":"^1.10.0","mysql2":"^3.11.0","express":"^4.19.2","body-parser":"^1.20.2","art-template":"^4.13.2","cookie-parser":"^1.4.6","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.38_1738594960518_0.5258907512393773","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"chanjs","version":"1.0.39","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.39","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6175ce5157622e7625fc729c2434fd3ebd9acd13","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.39.tgz","fileCount":12,"integrity":"sha512-ANkUmxfFO5Kt8uaQR54aQuEP1ibRyEoIvYmBabi6v1tyNDikqYD5myXW2fzzmvtPj4p91l0Xx3ihR/WpTI3SJw==","signatures":[{"sig":"MEQCIF9NUKMt1B9aqAVWf/b2g1emAFwqzlDgGAwoBWQaBdiiAiAwotbCCoPxiyPSq9Fwl/CQTE9W2RCRAI3u9flgjcmPhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34706},"main":"core/chan.js","module":"core/chan.js","gitHead":"37dae0e549853492326f4a214233fb8486b93fb4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.39_1738602371829_0.4282249625185073","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"chanjs","version":"1.0.40","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.40","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"9155a7d729d5d6131d47d3389bdf702b40c33230","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.40.tgz","fileCount":12,"integrity":"sha512-F2Qqy2kf8Vwtt9TWhuCTNEe7WX4RAeEff16IWYxhTTjJXIBCj+MDuZ/ZSo0kn+p6XXWeLt+SVdDh13wYqP5O3Q==","signatures":[{"sig":"MEUCIQDZZJkrXoyXoVl6Ss97b22tXMRONzFUl0cXumvalPegNQIgI0X4Pn49MIQRBQxTyCS/Hu9dMSLZ2WeOME3h9xtNFQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34698},"main":"index.js","module":"index.js","gitHead":"4e5d37e00f3b725c904ce4a647e6816082dc1332","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.40_1738679131684_0.7791132878019089","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"chanjs","version":"1.0.41","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.41","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"f4c2016c660e0f3943ca7292d351c009555d2a88","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.41.tgz","fileCount":12,"integrity":"sha512-BmRnITolC3OAgUqLj311sdy59MsDXqq0dTA8N6pEsPahQJG+3lKUlh+KUQq6LmGR6gLlDVfs9H/vq8t+iA3NhA==","signatures":[{"sig":"MEYCIQC/gt9P/OIrmsYU2YhtdNhQ9C7aE9rt4EDSSIS3vehTLQIhALrttDsV8ShfYGqpVAEOxRnnPesBeb4WK4yFWZbCrdaw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34732},"main":"index.js","module":"index.js","gitHead":"e660e98c68962e955d320149161e71893b3df08e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.41_1738764114173_0.8717270973166362","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"chanjs","version":"1.0.42","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.42","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"92f039c7d440f5187815d2459941a4ee4bdca9d2","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.42.tgz","fileCount":13,"integrity":"sha512-c1KXQXm287oM6AH6LAWkay7zwnZQjMaen4O3B7yWSNA2GFJB9IDPqsi9rBZh7vNfuqysU2WtXcQc0QW5r85d+Q==","signatures":[{"sig":"MEYCIQCCW9RjVbqkFaqazbSlBkqHNGzdZIbqMfkdenFA7D6pSgIhAP9hEPR2evbm6iOxFcHMTUu5RGb1Y76MPuGoQGvWnu5H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34941},"main":"index.js","module":"index.js","gitHead":"034a921cd43203d1b30a782760ad70df17c6baa5","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.42_1739286373450_0.7450236769546721","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"chanjs","version":"1.0.43","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.43","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"3a7678c35f49089620d7377513acc8b6dffad87e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.43.tgz","fileCount":13,"integrity":"sha512-/sAXznRxqo4NDn7Ws+8bv9FwouvnCz8uqYydy5tp4W4j1h6LKJADBko7pODzFEVMinBQnCwzVJUyWZhlX7zKMg==","signatures":[{"sig":"MEQCIBVCUQhVvkWj00XmID8uHyqHKtbC3TD22x3S1EAz20ieAiA6/VvtLr+SppeurFmipLlCvn8qXwqcjWpAo7gwTy16LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35095},"main":"index.js","module":"index.js","gitHead":"0e61319dd6cca360ea7f7898d08ab067bcb16070","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.43_1739368758788_0.946953995225223","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"chanjs","version":"1.0.44","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.44","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4510f071de9c8aadccd4d48b1c57eff149f67b00","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.44.tgz","fileCount":13,"integrity":"sha512-svmkCDHMtRvh4qQ/ic4ZHJ4KDcK3pxuVEAdT8go6bhjVeaAUx2rolqXZue7lvKswr9kq00FYPVZWObhnm5m+jA==","signatures":[{"sig":"MEQCIBcSFkE+O1QjRvZiR92spaZlyYECpHiNTXnLVdt3QRYNAiBNegFCd5oQyvDOQigNqqNrfZFbse1ypY/CHoKSOlnPLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35010},"main":"index.js","module":"index.js","gitHead":"64cf36ba0e3dc64281155722e0a8a48cec21bede","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.44_1739797199104_0.752185368015585","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"chanjs","version":"1.0.45","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.45","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"c6ab2726214938eabf289a2d7ba3364270dcad7b","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.45.tgz","fileCount":13,"integrity":"sha512-NaYQZih5lYGeT4WkGOEOCKWNmbW2ZJFOHwfXpyrnSzobvKV0scO+syR32zt3rzFXcgrM8GQgARcdb6igREd6Ew==","signatures":[{"sig":"MEUCIQCclx8lktTY/KT8fGE47PfBoIgKD/iwi5n2PhsOmS5UMwIgf3o7Dwtiio8Y5Dbl8xL/fHjRGGQbRZOJ4hEPYMYqFZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35575},"main":"index.js","module":"index.js","gitHead":"4af54348a8c8018f4211bf9e5f29cda970bd5696","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.45_1740585686313_0.7338045878020492","host":"s3://npm-registry-packages-npm-production"}},"1.0.46":{"name":"chanjs","version":"1.0.46","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.0.46","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"2ff4a6f95a246110dcb094c261831193894ce78a","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.0.46.tgz","fileCount":13,"integrity":"sha512-THiajUjBjFhzQTZEtGMgE5eoZu682I8irrX4yHsl+nhiffIcWKexpexHYVUjvkthxh/hlDeKb5epqqq1N/wiog==","signatures":[{"sig":"MEYCIQCEAOxoGIGCU0ZPGpflB8TIqxpIahDsNxQfbDVbcR6GYwIhAIlxjhfoYuzuUpkrLXt9eYI5QnShXwIFfbLg1BamHy4U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36778},"main":"index.js","module":"index.js","gitHead":"4af54348a8c8018f4211bf9e5f29cda970bd5696","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.0.46_1741345137749_0.3461087050865419","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"chanjs","version":"1.1.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"99c35676b268881a42c43f799d962987a2524155","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.0.tgz","fileCount":13,"integrity":"sha512-CNz5RJOOnCIw5vqVR4xXq61zC5ydULobTxKJy8zyQtcu4IZiHOCBFHchpIIE6tdUZFImAMgxK+v4VCB2peEirQ==","signatures":[{"sig":"MEQCIATUVRawTBbZ6CAOI0NM6qfqA5ScbF4OpscVJzYykYn+AiBoB6ltRTOJxxHLMYcW+R8huj6/5JknyGZ5w3YbPf5wnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37787},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"f1c2dcc6d2c094d000961c27bf513484d63a00c4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.12","morgan":"1.10.0","mysql2":"3.11.0","express":"4.19.2","body-parser":"1.20.2","art-template":"4.13.2","cookie-parser":"1.4.6","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.0_1743684239161_0.29332073733490827","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"chanjs","version":"1.1.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"417255a93d8289a1a4961ca4b30c8037a26ba9d3","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.1.tgz","fileCount":13,"integrity":"sha512-RsBNcEB69ZzMf8o/pJbeeglfIlsgjZj3zGRg0k7xU1wu7Wlr0ETaC+AGw+dbHFngMaQKFwaMkJpxeyjwdPjJnA==","signatures":[{"sig":"MEQCIGxPRehkfwB9r5NNODlv6HbwinQNXaGtRxYzPhubQ3IsAiByfj/SjcBHmIUfVJrEvhPcl5Y9gUNMDo0CM2FSSErZlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37855},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"b9bd6a9490ad9cceabaa5bae13c9ef73bffcafc8","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.13","morgan":"1.10.0","mysql2":"3.14.0","express":"5.1.0","body-parser":"2.2.0","art-template":"4.13.4","cookie-parser":"1.4.7","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.1_1743685415263_0.5808207669967331","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"chanjs","version":"1.1.2","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"503073eff9d0562410f1df8ba5259cedc710888f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.2.tgz","fileCount":13,"integrity":"sha512-xeL/REHbdJz0BxIs87oAG0Lx8Q++jB8RVVhIqEK5yRfFqgmbvBdSNZu5d5Z46paEwtE/DUi0cuud1tJIGDk4KQ==","signatures":[{"sig":"MEYCIQC3oCmC6PMvrVUGNx7fDAliC415vsoy++9g9IChkQf8lAIhAIfMxP7DMXBhBGq/Fk4D0rn3OgdeYsn8CH8Os4W71W+O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37775},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"8a08666d46c66894953102cd96561c1658c10c44","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"2.8.5","knex":"3.1.0","dayjs":"1.11.13","morgan":"1.10.0","mysql2":"3.14.0","express":"5.1.0","body-parser":"2.2.0","art-template":"4.13.4","cookie-parser":"1.4.7","express-art-template":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.2_1744117534636_0.02942880727957342","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"chanjs","version":"1.1.3","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"1a6078f348100e17b940fc321894353621bb11d5","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.3.tgz","fileCount":13,"integrity":"sha512-k7yFOHYiQ79a+JvineVkL/9/+ZkyJMlHA8apFiBSWWmTbOyrCBrjJZhWmHttaQehgD7rHVnNxPxlJ040Gx2lTQ==","signatures":[{"sig":"MEQCIFPuxxe/WZVr51dGdg1i/nD0IM4I/FKJOJIGqblMVqodAiA4tPP2TFKlonDuiuABo03cxoX5cFj5Cd8P+UImsU/Kmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37719},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"8a08666d46c66894953102cd96561c1658c10c44","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.3_1746970144948_0.11612339944903094","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"chanjs","version":"1.1.4","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"ea629cc071159b061661d3debe3dc1bb83a169c6","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.4.tgz","fileCount":12,"integrity":"sha512-AitZ8Sl+gO75f/VbYqD6IEwUyDYL8Eoz3ySMisX3BdaFfmm5ZcpPPLlSnGscN5x1VBSy/7wR2yAUrEJYIvNvZw==","signatures":[{"sig":"MEYCIQDV3ZnKdc7t25XKtPV8QHXAUS6BqyGNIngKjdNAB6ariwIhAIyQnug2DyH2yj1o7P7nYdJqflu2CILH/pu1Mx1uTuzQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36327},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"e7e28cf454905b33b8b28de178f751e694b7d865","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.4_1748271066869_0.8437595332999723","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"chanjs","version":"1.1.5","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"d82b65ec9106c06ecba2de34ca0bfc1211bbd86f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.5.tgz","fileCount":11,"integrity":"sha512-P+Yr4wDXEWtKQOSfkBvV91ysQ84yM2KFXVHG2rEQ7x1sjSizuwGbL6igrtc3daG8e08VwQ2Yu7vQnExAKr9EEw==","signatures":[{"sig":"MEQCIDpdLq2LjEO6sIlrEAX6P9oQqe+fXGrH7cyF10kjkSBZAiBXlZ0GNqsizwzPMMFZSF40UaKQS0Q8GfXSFccCuSp6HQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36028},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"34c0717cc90cc400c2ef6d1de08722797621d8ec","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.5_1748446603393_0.39050208186376145","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"chanjs","version":"1.1.6","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"e448eb621e3837adeb3648c40f785154d4bd33d2","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.6.tgz","fileCount":11,"integrity":"sha512-7TV9KJX+LJvvSxvXaPsjMY06Uamk6DPZ9zyFRfHkPpFjboTnyffr9Uy5KcT0257J05IscZo12MQu1cr/CG8r0A==","signatures":[{"sig":"MEUCICQIjeehFJKy5xpqokamsARiC+OGUl5pZ0fgMFj+tKpXAiEAjFe0+i8uhjXJRk+8yLB0AdPzuPjoZj2VxqFba+Pg1eA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36244},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"34c0717cc90cc400c2ef6d1de08722797621d8ec","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.6_1748527039355_0.040988632357186194","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"chanjs","version":"1.1.7","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.7","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"f301f912139978812dc9e4096a994f1916ed9448","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.7.tgz","fileCount":12,"integrity":"sha512-hR/vNE9vHmny5bB29ac7xzpPohJEef6tElEtsw0QuavoCtOrmM9Shg/73kjHv9AUAS8LTjC4WxELRPQ6xpFh0w==","signatures":[{"sig":"MEUCIAG+piHSwgJbey6sCj/BseuzVPUcEmESlRQi/PUWOFyHAiEAnNydwdXOd5VDKVF9KNVeetUq/ciFA3rxU4jypf5wM4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41305},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"b6b891ba5828c6328a242322ab4816ef75ad950b","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.7_1748530226905_0.03306291164057251","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"chanjs","version":"1.1.8","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.8","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"07c70e4b8121818e9b03c9321cfa7d8508a652b0","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.8.tgz","fileCount":12,"integrity":"sha512-u3eZ5aPJTUHs8wzKoAwNtD+/2sNuqVbQiwg+ARouCNTg3QD8jeEMVH0cezhquU06TeWKnQprpeUj31LJ+CqKxA==","signatures":[{"sig":"MEUCIQDyd3L51Sm2mtC8xaMfH+T5e5gz51cuGw4fuSSl0IlwXQIgeYQyEhrzC9qurDGvb7B2h+xz/s4rLgyaSNUomeFUueU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41573},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"97327aa8a7b8104cfb5dc4d75d7220a14f3cec71","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.10.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.8_1748793459384_0.19397395664183747","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"chanjs","version":"1.1.9","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.1.9","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"106800dc6ca1731b85afbb1ceffe2805806aa145","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.1.9.tgz","fileCount":12,"integrity":"sha512-f4yX4aSqfIFIjvjQEnTHgHB+zSHn1xnQ4PKh+zClq8UMUDtsYfPSlhSzv8/PAx0zTHJ9bbBNrecNzO3QTRv17Q==","signatures":[{"sig":"MEUCIGeY7aOwnBZmjT3IXQiXbaW0kTX3nhptXzYK6t6n4xf1AiEAzBjOuoNdnu4+WZyFWrkmzRh2aSwVMumeydgtJpRNB5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41566},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"97327aa8a7b8104cfb5dc4d75d7220a14f3cec71","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.10.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.1.9_1748794808787_0.6704502377560462","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"chanjs","version":"1.2.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.2.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"c42557ed147ad86d40a33a8a85d48450436b8afd","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.2.0.tgz","fileCount":12,"integrity":"sha512-puPL9FsjqdHaE5BAQdZnKXJ1ZG/DS5NCgtrUbOZlUw4ASFZRRF7yb9dO+NA8MrEH543qBTMZznElgC6byCeQpw==","signatures":[{"sig":"MEUCIB9evh+pbYI1zVtDasBRy1nmS73j+Xy7elt6gv4Mn9djAiEAqt3tqu+cynTGn8l/X+Ojgx7Or1DvJMbXOuOryGqhKGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41750},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"e41d8696f34b16fe46429a18b5170f16782a18fb","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.10.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.2.0_1748829247130_0.36353932922626786","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"chanjs","version":"1.2.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.2.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"a4367e94fe81ee3fedd2a4fd9f41fabc55503e77","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.2.1.tgz","fileCount":12,"integrity":"sha512-Q3V2OE5k9DSFZArfhB2w1PQRLtKsjQn0WVF1LmejaDo32iMdYy24PqhcDvM/xXUM1KZjnrPsk2m5pRz0gDug9w==","signatures":[{"sig":"MEQCIHxFbV9yi/37yLTFafaaJdmSx2IxK/tNczeR5VcBR9hTAiAtEN3D0aFC8CrWHEE2uqAfAPjEkxmTysb8n9q4rnBpxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41783},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"e41d8696f34b16fe46429a18b5170f16782a18fb","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.10.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.2.1_1748846311778_0.9520952577000124","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"chanjs","version":"1.2.2","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.2.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"8a8789ad305615d4d24ee46cb4d8c2e446658f5a","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.2.2.tgz","fileCount":12,"integrity":"sha512-cOWLlU0YvRTbcYSkKJMX4lYIV9ZEQYRpkZnwqx3oOpZQgDP4PqmUkhfUszX4Ttngp0Bmq0UF8S1iGSintw0jrQ==","signatures":[{"sig":"MEQCIF5wN4W1AJxUdyTnZrrEqObbC3snKQMLWua4JurqhtfEAiBR8eqKsLZx+vQ2jz6TdzI+oOr/fEw9ew16X/0enN77iA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41790},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"46b5dbd67a038a4efcef0225a70d4b8a4f9aacf2","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.10.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.2.2_1748847292324_0.03973942233008443","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"chanjs","version":"1.2.3","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.2.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"9b906d7c63035edf5e47e4800aca9f65ca48bf64","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.2.3.tgz","fileCount":13,"integrity":"sha512-n+B9cG4uMrFl972+KdICbjC+ChAr/jXGn7bUO3JMBqdT3KhtFgsp0wIoBot2ZHmBi60I48a1ZiCavsic2aDk9Q==","signatures":[{"sig":"MEYCIQCwoeNXK9tXEcYvwEcRcp7mLtIUI/29idqcwQr6egmPpQIhAOVZWUTIVrpxM7L9gziKnoMWeEvzvNN3t6Ykn9CawyJ7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42566},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"3bcdaa0763e7fdc690f23e0243be4b412c80d259","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.2.3_1749047541283_0.6477827101553604","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"chanjs","version":"1.2.4","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.2.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"9ca8247916bedb099bc28b7d412ae2c8ef237e03","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.2.4.tgz","fileCount":13,"integrity":"sha512-hKZlFAXEPAlf7BolS0Y8N6A21IN7D73Far2gswksW1jPQm4G01GJGQ+L64Hr92v0C+4QtlFdBVMjrtz3e/foZg==","signatures":[{"sig":"MEUCICslohfUu70zfb6fhzVp5s8X1R0WYzVMRrfnl/SBy5lPAiEAjCmeAftWug+QXzNoVRm3xDOV9xKRIQDi7m9vOm64HFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42719},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"34e785a9ea465d9b6b47c814ee53ff5948d8d59a","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","deepmerge":"^4.3.1","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.2.4_1749133172229_0.394747524498974","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"chanjs","version":"1.2.5","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.2.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4a3b37a35df9b4b9033c91c8686e1b6f5b441957","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.2.5.tgz","fileCount":13,"integrity":"sha512-IOmNW5lx4j+8VUAg+Z+V9tatVl4jBx7e/O0DhOohlm9exPh827WQF1YcX9wFHMveSuXQcHaZ3Znbizit+Mio/w==","signatures":[{"sig":"MEUCIQC65HabEfsiDo/B/PbvHDa8EXttquoozUmlpviYadOu9wIgAcy9e3HH1z2P9J0+lPUOWt3HRmSj510nPVHamT2Vfbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45344},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"748293845a4aee23f6469faa9372554d14639be1","_npmUser":{"name":"yanyutao","actor":{"name":"yanyutao","type":"user","email":"867528315@qq.com"},"email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","deepmerge":"^4.3.1","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.2.5_1751206718509_0.4025422472832101","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"chanjs","version":"1.2.6","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@1.2.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"c911ad26a4791b91a695bd7c99cd1f3948623ea7","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-1.2.6.tgz","fileCount":13,"integrity":"sha512-j5tj7HTIfGDfpqz7zW7zMsKfoBP4xoQ4JirLc7zfaDxh6rt+8/nuN1Pb+8UWTAVtMGDak8Ut0lsX1o4TmlWvrA==","signatures":[{"sig":"MEUCIQDArtlyPLRsZlcBTmEAUACvI3GIBNbQkwX2PD9Ct/nZBAIgYC0TRTufdoYb0CeQjg/e6+k3P8uI5tPxylsOrjdxoSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45408},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"748293845a4aee23f6469faa9372554d14639be1","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","deepmerge":"^4.3.1","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_1.2.6_1752242259002_0.8394005786711938","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"chanjs","version":"2.0.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"967cef8a65a7ef04d691773e651f09901e336048","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.0.tgz","fileCount":26,"integrity":"sha512-++JfVM8zROzZpqBTeeg4q6W+c7U4ghlx0J+H6QVHhWTriMcEqngS/L+qFOndukf39MvZCUdRmpqC0HEIpyqrOg==","signatures":[{"sig":"MEQCIDnkyNaSB3Z+EOHKYBMBlpsZ1/69N7Gbu9U30DPB0ARlAiATFHA08RvXnyuFNgPIKfS2RXPhHoWDoDX/GZS2ZV7KEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38419},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=20.0.0"},"gitHead":"e6e488ef20469feac112581e75f0a20e53b5e02f","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.17.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.0_1754055594278_0.24311739259977738","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"chanjs","version":"2.0.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"8a247e5e6af4a78794d4c41afd9f3e0e4140e90c","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.1.tgz","fileCount":26,"integrity":"sha512-m24xJlYz4G4sbOl0jPGyhd8mE7OpRveEfiBhyNoATT6YYfCuJ7W6aMYQjhUNh8OUZHodF+tZ5jzeb0csIEk0xA==","signatures":[{"sig":"MEUCIFEjNnWr+hQTl+4ol/yMSKBbPjKl4DENco3NENVPVKmzAiEAkbqDS+orS5e0NOVWcV0Zvj8L9iwb6YlLl81M39giHKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38457},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"69942c0d484a6432e1f348f133067dc34958c197","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.1_1754752886706_0.24826353265194578","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"chanjs","version":"2.0.2","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"1ca1d46cd2f219e6f47f1b80ff9df507e8b32374","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.2.tgz","fileCount":26,"integrity":"sha512-0bzW/rMv/RG1eXsF/pCG26mEQbMc74xNars5e56p5nxNAHNxxq8OWwBCxdJgblaOLKbBOpZtqX2JKZvxwk0clw==","signatures":[{"sig":"MEUCIHTMETVDg+RVAucC5HwZI0kZpRbamaYmanmiuknB5IxfAiEAj8mdyDMOieCFBIaTpEq8aXMv5BjRHnMtXKDObxWZaEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38663},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3c6cee2b54217863daff385192337804e4336b66","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.2_1754920015485_0.17510355378799147","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"chanjs","version":"2.0.3","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"93a2aead93a12522715d07a58fc941a782e6b948","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.3.tgz","fileCount":26,"integrity":"sha512-3uBZWnu+sewZ6bvs+bvGY26BMSgMdok6gvgcqUhgrkF7zma22ceQW7LOpmoUMt1hEVr5FE3GNdW+q7Z3cqtSJQ==","signatures":[{"sig":"MEYCIQCIrbIqJ64FSPs/fik8wQJmEFSItge9gWo3Qibm7QF6gQIhALf9qIsp9qlIib1bddAJY+TdqhdzmCSaV+bNz6v0E6M/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38824},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"393c7a2f419a5770057d4d3807d0afbcef4974bf","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.5.0","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"18.20.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.3_1755871804807_0.5527547536512514","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"chanjs","version":"2.0.4","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"b6d424c3c5b14e7a3aaa510b3b2ea306e08964e9","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.4.tgz","fileCount":26,"integrity":"sha512-7pKZG/g0rUz6DW5/lTHEiaQzppK2WwOgmfHI/rzpjC7W2t4gY5+Gihek7CDDWyOdPAi7DCOxe3ngW4Sq4pR2sw==","signatures":[{"sig":"MEUCIHRQXKqNOTlfEzeAvBKqP+G3RoJ8BT5kUovLMt+ocdM5AiEA5W+tW6JKQ6X+zcmypLTD3HFDzGvZzLJT+aV0Cs1XCh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38814},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"904721d96fed1ed1f5bce9dd7ff1a4b76f8527d8","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.4_1756126260760_0.7172241820098224","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"chanjs","version":"2.0.5","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"2302ce041e5af8020730d3eee9020372bf4a9b1e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.5.tgz","fileCount":53,"integrity":"sha512-MgkxhF/PY22HVaKrNBZ1dquTjhI6iJa1SPSnd8Co782Zis4QdUCZuWn6583u6S3DKFtsw0sScyqEFduQT2EtSg==","signatures":[{"sig":"MEQCIG2jCq/uwikbDdvpiVPiEad8wKsIAPWcvPx/OwDRpkQvAiB30OSkT9L+uxtnEr8NgX5AFBRG+DGrmFX32oKL2eyUkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91979},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"4478a826db907c3c93ef2182b83b49d6f0ce7816","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.5_1756313447848_0.6813061831740661","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"chanjs","version":"2.0.6","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6669b7b13c7946a737a8765b1aa9c4040cc9fefe","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.6.tgz","fileCount":34,"integrity":"sha512-iljEMwbyGW1z14lE9W2wEa4EdaQ6gxpFQftJOnTiTBku29ahvjPtEvGqXkDyjJ7MKeKjOo/R1ET+vvph9bRgSQ==","signatures":[{"sig":"MEQCIEUSgmPtgadKkdhgWaYdqyEDYNnFU1Fho9jPmszijgaZAiA0o5K45DoDeBLbv7vnADOkBu1ni1sdA6kpCib+2cBR1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56036},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"335ed0393fe564d2f331dd0cfdb0f93477851a97","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.6_1757165419653_0.2789543354930972","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"chanjs","version":"2.0.7","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.7","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"48779c8ee23df8ad54471be7a4419badf9d0ae87","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.7.tgz","fileCount":34,"integrity":"sha512-Y/b5MpVz9i5hpqKhkBomOk0eaQrVAe+tLZDcPHgJ4dP1ADoAZYFg6eUDS22XSi30noPoQ8UDSgOPAFt9enQDuA==","signatures":[{"sig":"MEUCIGWgpMquI9ZNFm2oNfanEjQpzLl0P4j81MH8IeLkJQIrAiEAvzeZYaN+bHIcXV0crPeC21DrKBIf+Q/LGmcNvGGshcs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56034},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"e898461df167a52f54219cfb22399ab8b9986f67","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.7_1757176427529_0.15335048844969257","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"chanjs","version":"2.0.8","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.8","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"add4b951f419bc40f1f152fe084f04ce70db5537","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.8.tgz","fileCount":37,"integrity":"sha512-UGR0SuD3fZZuQ21Vwxs5SEhyaFVv2OCiNLLxe+BXfScN0MtUH/OS4kPYec4V9ho9VxJjkvTDEv4mdXX94txVVg==","signatures":[{"sig":"MEQCIGbIBquxm1WeEsxsBHDK2sevgeCXDjCwQdwarZlg0XhbAiBrE1EITe1i3pR6Kl6UivhrFExBAp2DJjnjxnKfOel/Iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64482},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"e898461df167a52f54219cfb22399ab8b9986f67","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^4.0.5","cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.8_1758206285441_0.7109213874435514","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"chanjs","version":"2.0.9","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.9","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"f6320842f77b1de6c4192c79d805a95ff671edc3","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.9.tgz","fileCount":36,"integrity":"sha512-5wIas2FxkWME+/LyvCdIHl1jZYxcgrj70gcycTQN412eUsQPIgp3haanK1xVTkZSQmFG3zttqqkSmsJbWgQcng==","signatures":[{"sig":"MEUCIAngSQAi64hKeC10pgMXbK1xpqp4P6Sx8Y9g6HlZVY0ZAiEAv2wlrllVArMp7Oh8iT6XiNJ4XJE1A69smWJEmx2i4cY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59822},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"0967af03ba9099df4e7a6d2baca048b708d43ad9","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.9_1758892202062_0.2400207928022231","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"chanjs","version":"2.0.10","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.10","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"cc02b2ada91c576ddb9e320846af16ec5f02e8ca","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.10.tgz","fileCount":36,"integrity":"sha512-pdiM6TDW2VMFscdERnpt2YZ2fp4q8HuFZ6mX5cDzGKgMAKWlBoJ3h1J5Sf+R6b4ZZRubH5Rm5rgHQp4AiELAJw==","signatures":[{"sig":"MEUCIGpuD4xrrV+fZRiPbiFAVZpAsgswyASXjlgfGr7XCESSAiEAlJ4XzAwXD8cEZWmv2SdaxFi/MMhxt/VjIZRJEFX5VUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59883},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"0967af03ba9099df4e7a6d2baca048b708d43ad9","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.10_1758895668343_0.3309516831122321","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"chanjs","version":"2.0.11","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.11","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"d62294f46f7b1e7a53c96df098fb1be8413cfe1e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.11.tgz","fileCount":36,"integrity":"sha512-/7Y+KkH+ij/nnyIdd5Tb0/Pu+eMRZhtE6bAbNMVgivtdS/mdJehL1ZaPWoqMhpn36zqCJNyc8eqjbO4yGw5i6A==","signatures":[{"sig":"MEUCIHGh0SVHlAer2/XSxFxxL7xk514HVM/cilDCV8cql5s7AiEA9pt+Vd3cIOXkDmCAWmg2ghqzunclOorsPF5Izi2dBgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59915},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"bd1b7022c33786525b0f3ceb27cf65be8e561edf","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.11_1759067242675_0.3794507760421828","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"chanjs","version":"2.0.12","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.12","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"ffe141e1d071661a402d520cd30502903a1cd305","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.12.tgz","fileCount":36,"integrity":"sha512-/elXjvWn+ovxtRzqA5iQrKViKtOhdxNi5oqH5Baw3gDhT9j2/NrmJeAXXp40xUB79R4ZpOhyNXpdyWGhHnhzTQ==","signatures":[{"sig":"MEYCIQCVxIkM7wcFhN6kiIMJLKY4pRpLDw8Pp2+t2D8j4vf+GwIhAJhFgX+zpbdQC2EHexMktFq3HZIsH0Eh9eRJemudwsiF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60003},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"0b56dc9441615b24048e9dfd5b1c43f05ce62ba4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.12_1759238391497_0.024389892958581072","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"chanjs","version":"2.0.13","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.13","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"585c047dca5c2d393c4ae96e37de2f29a3a322d9","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.13.tgz","fileCount":37,"integrity":"sha512-VkfxmZsCtnR0BQnKghVYO2kJU1z2vncS8rWaH/F3rG91AHy+4rO0kgBE9Q19FlpqMcKxjJdcgW2QeK5UVs9Teg==","signatures":[{"sig":"MEYCIQDKAFlV2QP4zBBns8vWFUbHW7Cb7aPgIwim03s9OL6qtAIhALheUSTAO8fuIx4OGTlmDrucE4Y9Nj2AeOD3Iux3rBV/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64820},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"a330b9a65b4a0132d49de7b1c09f661ec1b5fe97","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.13_1760717773100_0.584226381768268","host":"s3://npm-registry-packages-npm-production"}},"2.0.14":{"name":"chanjs","version":"2.0.14","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.14","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"55a447c42bca668667d665054c060baefbfead70","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.14.tgz","fileCount":37,"integrity":"sha512-xMhMAfg84wpeUQOMmFTobch3+SUmt1tyyzJb+Uk1mfvoZlW0vbCFIcKUSgWCXaXCbCxi78gnRmgpD8EsUsgBHw==","signatures":[{"sig":"MEYCIQDxNYH++BZDutTd04gpV+zrop+3younAY4kP5nuesuRwgIhAK+G4L3Au+mAP3GPZOMkp9UE9EQZqt56LLXV8Rn26Nm3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64948},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"caa6c84e645479b09c391c14d8bb7bef66ec9c99","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.14_1761224803712_0.3206213697056739","host":"s3://npm-registry-packages-npm-production"}},"2.0.15":{"name":"chanjs","version":"2.0.15","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.15","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6fa77430e0f7f9426f799cd1b7451577e30cdecd","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.15.tgz","fileCount":37,"integrity":"sha512-GqWs8UpJakal6EgGVnlvkjl1aWDogHwD8RSlC/7RyyDukmrooYF6vGJT1hvb5wHtHjP0r5aFYnPxBFKZy/8hQw==","signatures":[{"sig":"MEYCIQDX/ckhydwf0JD+TRdR8Qq2IqUBOfFBnaWtLza51t6kNAIhANNLyA3HkqmP8Fr7IFyH5oawH6IHy8iYYUw67MQjUY/l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65361},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"5bbb34a8c92d3ae8e6a45a60ff3fe33657139449","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.15_1761750860169_0.9765217615226993","host":"s3://npm-registry-packages-npm-production"}},"2.0.16":{"name":"chanjs","version":"2.0.16","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.16","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4c105cbcf22514e409776eb481b7c5a9c63fd130","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.16.tgz","fileCount":37,"integrity":"sha512-sa7YNQhthj5gWKJe3BTiAZJIwq266ddnwxiuVqPVci8M43CVzEfHToNWqdfKjKXD5PQs00sW/4x7twLd3Hhpfw==","signatures":[{"sig":"MEUCIQDyuBdFZbiO5qHlR7jlm/doAzFJ1cdDKMBFVcSeMT05fAIgOPYZGhmz2HCJsiF+I8jTYnT+LG5xrkNcpr9riJxX/iQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65562},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"9e29ea21b1768a1f9c99da6097a0513eee20d2e7","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.16_1761917445299_0.46612251988747366","host":"s3://npm-registry-packages-npm-production"}},"2.0.17":{"name":"chanjs","version":"2.0.17","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.17","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"2b8b8c88c38ad1cd35029bf697a064ba5fb31b81","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.17.tgz","fileCount":37,"integrity":"sha512-i+9OAjZU0W/wKbT5pca227XsshN+YrbWOSuGMElel/RfitLAhZLlqOpV5V+2jmzY7P/0fThd94hFNKCdeXGxrQ==","signatures":[{"sig":"MEUCIDHytE8DCwi9fSUTDVsJLgitzK8cQFHpIrgtqA6/I7kPAiEAjgc7u7RplcbiIyEjnOBcg7bRRZJvsD9TNgrJUuckR2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65670},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"9e29ea21b1768a1f9c99da6097a0513eee20d2e7","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.17_1761918656758_0.45366849161028844","host":"s3://npm-registry-packages-npm-production"}},"2.0.18":{"name":"chanjs","version":"2.0.18","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.18","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6488c17a9ba668f0791f5e8c34e47238afe6a62c","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.18.tgz","fileCount":37,"integrity":"sha512-7+WwSNLPBeQ+xS09mKfDY9n3ZC0DPNp3xJXwvBB1ZQ/yBRV7pLz2X+62RwN9rrP+vDac+uU03/mOMG/yT72+3Q==","signatures":[{"sig":"MEUCICno/Cm03wfi2Db+eetJxUEb1+/k2FOpnlURjZSFS/ZAAiEAouUf7uXs7v99O973Fhv4mE2JRslQqjIY7nbTWs5wb7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66565},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"ebcc6af289429d4b403d11347ee9c8b19baf4703","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.18_1763728228380_0.5159055274379927","host":"s3://npm-registry-packages-npm-production"}},"2.0.19":{"name":"chanjs","version":"2.0.19","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.19","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"b749668f3b4ceedcf64ad04866c83285297fcd5f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.19.tgz","fileCount":37,"integrity":"sha512-dv/gg+chNjhX9Ryy0nM5r2TK4LTRioX/SNFiM4FSy9gwR0UFhdp/Sha0/FmurJEGxcnK7RMRxge6UL0HeCMo7Q==","signatures":[{"sig":"MEQCIGrkdF/4etPeI5QAMD0zgszqVSOVks8Anxd0deSBU31hAiAYbplHPT+jp58WcR/hEBupNcqVboY6w6u6WzN5wAp1Lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70254},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"544f7665352a8786e6866c32d67027cc25b30157","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.19_1764076212202_0.5759336552804193","host":"s3://npm-registry-packages-npm-production"}},"2.0.20":{"name":"chanjs","version":"2.0.20","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.0.20","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"7182f5d6b238e5ca0a2e536a67b2466a126a2379","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.0.20.tgz","fileCount":37,"integrity":"sha512-RkM7JI4SYTgHvhIRgU9UPgkcA2lG9GE/TmD8MCYgYBzhxPFQGwb7325Wv0CbdS19mivM7yk/yrUKqZPJ9RbdEA==","signatures":[{"sig":"MEYCIQDaanG1ZvwwZbdpv1TWejPh4P0wfLLFrKijX9OFkgE7cQIhAMqelaq1ed93NdSdYKSzdXpmMUejvAYVZS4UYTPFufYN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70772},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3be9bcbeaf2257a6e5aa901af55370460f589415","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.0.20_1764490387777_0.3142092656341935","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"chanjs","version":"2.1.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.1.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"1fb55e36e2fb235ea2f348c708628a2cb384d34d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.1.0.tgz","fileCount":37,"integrity":"sha512-0RNi7WhAJPBAtihvTkIeAvpLa+IVLir64wYXOjtEiFZch179o3p1X4bZp+tRZHo6TmhA6qRBYsY51ktVEUk4+g==","signatures":[{"sig":"MEQCIG4QiuUk2J0MKDJfufFShNfhiwANBG6NserLqBHix1MfAiBa3RQ07GaiTbWxzQSLlzreoG7tIlnxTtjkFlCD9SosDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70648},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"d9e321f9b6f82a67ce73c797ebe6f6504a570f84","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.1.0_1766158111869_0.519637715883353","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"chanjs","version":"2.1.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.1.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"96b7c03c1800c4f7c86d6e7132589751e3279550","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.1.1.tgz","fileCount":37,"integrity":"sha512-jIZI6EE3yKB84j6FtkFoesL3h6SKLovfIEvxpuz+oLh5Fw3AzKAvSdrbO+AlUgTPzUeK0mDQC0BzyncTdUGNqA==","signatures":[{"sig":"MEUCIQCxowE5+t6vOWOWvwjpWv3CHF0Fb6NnyirR24GpQC36uAIgIsQCjUcvsLcozA/GCRCj4ndMNRrXwLnxR8XTMUItkkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71132},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"de178332117e76278a586f84abe737a40d2ddc9f","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.1.1_1766531684268_0.03176213900891378","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"chanjs","version":"2.3.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.3.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"87748d1c185d1cb32843bb76d74d3321c96a33c7","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.3.0.tgz","fileCount":60,"integrity":"sha512-dzd1l1HZ0ocaBIkMqmWrPj0ACZaAtIwFcYXjoOZY2g/BRgYvuw8tmzIaYpQtySiMaEUrxF0Qikf51Wq0ySdA7w==","signatures":[{"sig":"MEUCIQDr639hzjEKPw6oNsEAU0ckI1pbrkWfe5LfIX70RYp++gIgMuJ9qigLUGkzLu+J9mm4gUe5r2uIA4YDtwWTclm7b1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147437},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"60c563abb88b4f44d31f2cd3149fcf6246749395","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.3.0_1772117131671_0.28565587086299593","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"chanjs","version":"2.3.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.3.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"712e429953c71bc7b11cdce3e9fb6ffae795bd89","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.3.1.tgz","fileCount":60,"integrity":"sha512-hMC/0ZjjzxqVFDPbXvNYFKCyaWyQ5OoLJ+rzHfODYSjDEd4b7cmfLMoNsY9PBv7jU/cO6GGQFYntH64DYSEYrg==","signatures":[{"sig":"MEUCIQCTZZ+H3OuFGjnrW2gHx5LBkaFzkmUHPq8gc2hD8H2ZFwIgDAK1BK4Uyvc74Z8BkAg2Z5r/vu1FEAnBugOwabZbKs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147185},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"60c563abb88b4f44d31f2cd3149fcf6246749395","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.3.1_1772122154265_0.16656366997109973","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"chanjs","version":"2.5.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"d8f0285c2a2f467f0a91b0ef567c9d15b74e71b2","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.0.tgz","fileCount":54,"integrity":"sha512-66287d6gabBhtA7GRW8lObQ3fapbr4Dkte3rm50pUjFmWUzYw6X6UvV1QAT2xegwlGtG43H8OoGVW6HeVRt+eg==","signatures":[{"sig":"MEUCIEVJUGzrh8f24lywbw1bMqRr0bn9xOqz3mown6TSl6FpAiEAtXn2VetvUjo8Ml640aRQdNye+n816+2BcREbWqEiZ7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128947},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"e1726ce4d88b5fdf9c33b37ee1c22b2c4ee5f086","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.9.3","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"22.18.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.0_1772383557765_0.9335731609719846","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"chanjs","version":"2.5.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"88582ae4bce4475f91df380b1c1fe7847dd43760","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.1.tgz","fileCount":54,"integrity":"sha512-BwPPcra1sP7nT6spMuwy86X9KtNWOlSuJO0eJx8zyhlx/UG4/Cd7ZgYTDmqp656cWmxe2PdllUpEF864e+Uuow==","signatures":[{"sig":"MEYCIQD9pTetDPo/4jYoTjNsI4j80Y7wGiAE2pILQ/7A2dtBeQIhAKIRw5i2K4zbxZGZUyfchGP1DlzRO/type+pm9mN1toN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128947},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"e1726ce4d88b5fdf9c33b37ee1c22b2c4ee5f086","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.1_1772386444932_0.025698457555956233","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"chanjs","version":"2.5.2","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"ab9decb069da07df3e52cbf5b7d17c355792ca95","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.2.tgz","fileCount":59,"integrity":"sha512-ucjtjEsHA0k3Cnu774qT8v8Oyi/YqIsgIiCnk0ML9SsEsAcShFMUxXD8OVt1vIP4mMDWvHa3iqM5gF64lDI7pA==","signatures":[{"sig":"MEUCIQDcA6omJoe70aQX+q1PYTz2xFf5L6v6HKxUDhC8BXyYQAIgV3iMScRFHS46Td1cOs4zVc2cGrKUBa4J9sTwfEUpamc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144063},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"e1726ce4d88b5fdf9c33b37ee1c22b2c4ee5f086","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.2_1772425459470_0.05950189671084427","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"chanjs","version":"2.5.3","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"e218d6b83c1cd4419993a1645baf150622b0b1d9","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.3.tgz","fileCount":59,"integrity":"sha512-R04bdsXhD1dg4Ynh7Af8ZY76EVx+jsw+i326AXtOwiYq4AUxlCj9az/bopoQFjYNK1M7LKipV9sbwEarAOFDnQ==","signatures":[{"sig":"MEUCIDRsH6vjS8HQx3LnYCbrtT3sqmJGN/bfGd9OrDAsSvsSAiEAwWGR7RARuwyAWo4KdhSIAzUARN6p1b0YEkOgHcTEryg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144206},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"b1b80a3e7e397faf10ad01c607aa0eedadf1cc4e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.3_1772470711615_0.781602976274753","host":"s3://npm-registry-packages-npm-production"}},"2.5.4":{"name":"chanjs","version":"2.5.4","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"79ee92c07ed5759ad29bcaff747454f201a0e19a","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.4.tgz","fileCount":60,"integrity":"sha512-U0HB/K0vcdX+oQg+3fhAtPHKXPk8bJKYuDLoV8VtEFw39lMMWAG5iKzWG/bSg136sTpcqwsGvLSccZuO/DPPcA==","signatures":[{"sig":"MEUCIFWt4h+xyuRA8xEnFQFXX7n9iXE8kzIw1cqBSmNQxWG0AiEA+k1cP9oZqJ6qxzAup/bnoh7yTKkC3ha4uaIokXEteic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146679},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"b1b80a3e7e397faf10ad01c607aa0eedadf1cc4e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.4_1772710634850_0.2001170965035346","host":"s3://npm-registry-packages-npm-production"}},"2.5.5":{"name":"chanjs","version":"2.5.5","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"70f3145a143a83d1adb04dc31811b33febb7956d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.5.tgz","fileCount":60,"integrity":"sha512-iDYFxVlGP8IWdaKKXfkyFuUCkMia+pYj+dKcZeOHJMiyhJAmRpvJitIfnliKRyeEfoRUbF6P/Ur3tIKIfg/wvQ==","signatures":[{"sig":"MEYCIQC0LunJGsHOybsWpgH/cP7Ct1tVrfa52UETWYu0VKKSQQIhALQ2I/ZiP3CZIKb/Rd3DI/QwmaxvReDu/yQ3qAmvu4RD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146679},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"b1b80a3e7e397faf10ad01c607aa0eedadf1cc4e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.5_1772711064311_0.12403942213811314","host":"s3://npm-registry-packages-npm-production"}},"2.5.6":{"name":"chanjs","version":"2.5.6","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6621c401ae1c387ae207110b7c87bb8d3241cf85","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.6.tgz","fileCount":61,"integrity":"sha512-jqFn3Ut1pzawCJ/6eh3qMbm6lY9N/6VVcgZGpCeY0Kl0tYSTNg6usuo3xSlp1ntWVYk5CO5tPozIS3RDgCN1sA==","signatures":[{"sig":"MEUCIHfZi7RIm7bFJesvoKIakJiaOjWEu9lR6dIxNLsdf+bJAiEA6Mh4Qs15l01hOYDvnh3Y9xFS78BBYL9or0bNANCFK0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235258},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"4e02389f9bc489158a106489a1139ca213b53517","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.6_1772713235715_0.5462842891132966","host":"s3://npm-registry-packages-npm-production"}},"2.5.7":{"name":"chanjs","version":"2.5.7","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.7","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"a403504989c87874a71abbe9aa84c7b4d22f9c06","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.7.tgz","fileCount":61,"integrity":"sha512-+ckNbcsZEAiDeWudDMWGnrEjf++rYcmFz22dj72Cg0cxWO5uF5iiPkZIzrax7/Z+OHUeWzvYnLXWvHWljQ1vaA==","signatures":[{"sig":"MEUCIASOnBJ8FceSVSKN1DfUBYXnDXGceGd5diOvwuCTY/uPAiEAjc1UUJN/O3dbapkyKRpmn/H5r5SdszFc2E3/3t5gWHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235196},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"b365177b1c89d11f15de58fcbfd3311beea4ebf4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.7_1772804872478_0.6764085665377337","host":"s3://npm-registry-packages-npm-production"}},"2.5.8":{"name":"chanjs","version":"2.5.8","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.8","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"7a40fabb0c49c3d7cd7f3a8166e9ba3416b651b8","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.8.tgz","fileCount":60,"integrity":"sha512-mlk4NHYFHipqHMD6b0lPxALao770G62tZi2tAgY0qG5B8aY6k1C/+oE4jslJ14PxY03vNuNTvmHJMjr3VW/7EA==","signatures":[{"sig":"MEUCIQDD+Zr+AJYzUgg7FrVIgf8ri5PRNniDcPuwuU9fo93OggIgRIZQzrj7GwPIV2mPm5Adf+7qnQZt2shi++xzkQzp0eo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148226},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"1999f186f61284c231ddb13fe3de7121351a33f4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.8_1773022121652_0.7143929360565597","host":"s3://npm-registry-packages-npm-production"}},"2.5.9":{"name":"chanjs","version":"2.5.9","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.5.9","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"cd1b7c02d600599bfd525ae41af1d3a9b6d8cbcc","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.5.9.tgz","fileCount":60,"integrity":"sha512-pbw/QUBQVtKY2U+ScVujqAgQuKW0nWl5Z6OjqFbkwDENKckb/Zd3io0+OEbC2KfWZwSb6vcx33bsC6uCEBsYfg==","signatures":[{"sig":"MEUCIGmxQ4+AEnWyZ+odyXkJ9uTEYyDt/WtuLyvdroW9zgpmAiEAy16teBLa6O1+0nLwSZ46WEjuQMIshlSQYDQuukjRx/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148314},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"1999f186f61284c231ddb13fe3de7121351a33f4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.5.9_1773321022077_0.186612997964821","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"chanjs","version":"2.6.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"00f78e6c88376744e0ddfe2fd5b6993eac60477b","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.0.tgz","fileCount":64,"integrity":"sha512-myOygsHoxFIsBEzs+Tpdvz+nvWR5ipglgn50E+DT9ilu/tiGteJ8G2ebCcv4E5Rp7D1ZCqOPMwz/pcroHtv+pw==","signatures":[{"sig":"MEQCIHMR9MQfIn3LVyPOKiF+DL57BDEhF0Eix2ZbVbrCaMlcAiADvgrm2xyg6tY7AtCn9TY8pOgPgF96L6SzSS6HievZ0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163863},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"767e68a81960cfe86679a46aac82b88947f18d4f","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.0_1773992840474_0.6475807518899941","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"chanjs","version":"2.6.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"0978c12a5b85171eb8bd0acb880f8c9db7fc33f6","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.1.tgz","fileCount":64,"integrity":"sha512-+G9Y+5xQGNrskKcpc40854kmgDJuKZfZgt5Gen0SCQCJdX8GCsA3UUoDMXtrLiaiqmGrpkx/iBDC16FftI4s5Q==","signatures":[{"sig":"MEUCIQDI85ldoP8lAfrz74rf032hbV8H+schs8WPHVLidRZrtgIgRs5jCdCMOWQ7aEkzXzXeEnqBnptE/4abTykceF81io8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169421},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"767e68a81960cfe86679a46aac82b88947f18d4f","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.1_1773999975381_0.5000191468299773","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"name":"chanjs","version":"2.6.2","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6fa16448a78e82ad61aced9ccf20eedab0552e9e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.2.tgz","fileCount":64,"integrity":"sha512-M4fZ5aug9OKgvEFiYyDeXbg3hfycm0s7gLOuDxTT8lQbHxYzjHAcjEdejee/d9IdL6389wEiL8ykdzgLbHbutA==","signatures":[{"sig":"MEUCIQD/4WGbrwY8BXL5q2C0A2MSwjtVxAzeVxh1ggsFr4Ax3AIgTqbxkPsUBoR1oOWVltd+CuteIoviYqtdjoCDRkQSlCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170018},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"33e163b8fe7654f61514c90d7d10b18a705ea627","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.2_1774173673013_0.9678602493067452","host":"s3://npm-registry-packages-npm-production"}},"2.6.3":{"name":"chanjs","version":"2.6.3","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"b61516491fc5c09f3a53b3aa94242d362c2d717a","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.3.tgz","fileCount":64,"integrity":"sha512-63a50NVYPvq6Yf7Dn1MqLB4WWeglGHOyUn7NfQeCV9f3AuorCe6YXDsenauPaGUZTz3SDqBJ3ockNmzEHusn0A==","signatures":[{"sig":"MEQCIHkk+gvrnq88TYoFfD/eFmC2WZF2xzww2OSD/4k6ru4UAiAMzExAwY6L1PbCdEcWJiHQINQ4DXeYKc3cTitDsIvVXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170051},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"33e163b8fe7654f61514c90d7d10b18a705ea627","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.3_1774177295035_0.394678143946082","host":"s3://npm-registry-packages-npm-production"}},"2.6.4":{"name":"chanjs","version":"2.6.4","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6eeca5e6cc94bb375f9af9472498fb99073edde1","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.4.tgz","fileCount":64,"integrity":"sha512-yj86RCmfoWrmBq5mJVh+Iv2VJG4G45I2SfG4cSppF4HGsWfoQnJd+6+1g6TXmgWLltmeV7YWC17MwqnjDGbP1g==","signatures":[{"sig":"MEUCIQCB9iBhQR7ya6YM30X74LWgm2PN/qvsTIzq0YnDs0BiKAIgY+uC6ZlkJkQD0kyNYJzBMSHemDHiCjzWw4lrVsOsRG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170051},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"33e163b8fe7654f61514c90d7d10b18a705ea627","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.4_1774180603712_0.8043773677065491","host":"s3://npm-registry-packages-npm-production"}},"2.6.5":{"name":"chanjs","version":"2.6.5","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"0c6f755f5c2d488f18d1f274ebec7e6c71b0147e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.5.tgz","fileCount":72,"integrity":"sha512-x2/aLgKSXwWLSDwK5qnIch4TGTZWyQ/vGkQKQuH7qeuUWcRBdh9fph8OwVj2/VRNltktOJFpm1RScVfRTkmHBQ==","signatures":[{"sig":"MEUCIQDf9Ip4OMoDvWXgNe/nDIdnW+AkjAKjljmiKdHY3JiJkQIgE/mYiCJD34PwYWKV+T8oTWSo/eLrGPoDTXlmESQGweU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350407},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"69133904f71a00c6932e90a06cbc6b5b0489657e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.5_1774267121257_0.3473667675070029","host":"s3://npm-registry-packages-npm-production"}},"2.6.6":{"name":"chanjs","version":"2.6.6","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"a7828ee0cd2377d18b480712ba79b664aa53ecf6","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.6.tgz","fileCount":72,"integrity":"sha512-TLKdzNgZtPtSJEKW3kVuxbkpEbUlo1JCeE0pU/ac4y6TeCzAB4ps2zgbo66x7Yk3RcXIoJKcIojlPKGCAK90/g==","signatures":[{"sig":"MEUCIQCOv5eJU9BcZzx7TVKhUmo3iM2v8sztK4URQcOpbk1QZgIgV6Vh3cwOJYtrafVY2PoH6l32U9mCMTLJB3gsD4YKZTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350407},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"69133904f71a00c6932e90a06cbc6b5b0489657e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","schedule":"^0.5.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.6_1774349377831_0.22556709584941093","host":"s3://npm-registry-packages-npm-production"}},"2.6.7":{"name":"chanjs","version":"2.6.7","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.7","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"c53ebb7edc0bfef36b335a2a59a4507453d0057c","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.7.tgz","fileCount":65,"integrity":"sha512-Thc5IiWVQyLHGZfZ7+AGxLGaX1mXLk+9F/CqkbGWiM4P0UmVPt905RF49j0PashStV/0XcAT6eOYytsqdazS0Q==","signatures":[{"sig":"MEQCIBrhQs8UHshyqUnjVlYY6pnvw9/bsxZeTS+xxvlvJBCqAiArnoZwWlrKeysvtyekTV6gJLi40R4ka415eOHk79emPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230908},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"69133904f71a00c6932e90a06cbc6b5b0489657e","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","ip2region":"^2.3.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.7_1774440316031_0.9205508271091203","host":"s3://npm-registry-packages-npm-production"}},"2.6.8":{"name":"chanjs","version":"2.6.8","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.8","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"8ccbf5b4febdd220c8c5d396bddd557bf71ed4f8","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.8.tgz","fileCount":65,"integrity":"sha512-LzAnhWI8XSpZyLp+Kt8QMFV5B3t9qQnA3tM8CUVjUE5XkM915i8FSi2Ghtf3IZqE5nGJ4B9z2EYAar61XH6ZSQ==","signatures":[{"sig":"MEUCIQD8OrODDM5UHmsBaOr67ggUQ71m7NP8jORQ0uB1UvNo8AIgBOK0YiHjZ00526li4Quu3qtTM6YM8hO1eGMFdXSXc/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230916},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","ip2region":"^2.3.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.8_1774621006037_0.8244380740232329","host":"s3://npm-registry-packages-npm-production"}},"2.6.10":{"name":"chanjs","version":"2.6.10","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.10","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"2b6f2cd35e79e46e2bf43b986f561635d10c4a34","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.10.tgz","fileCount":65,"integrity":"sha512-hx9mYL1KwnH3kJ2WP7XNHSSZeCTa1HkcugYv56J/HECH4ukpg+B2kXPicihfqYLMqTRBZlqnb++VLNLKuF+cSg==","signatures":[{"sig":"MEQCIDigRyS4eVRryfO5p0FoEjuwRiskXTxl0DpI+6WTw+UoAiAT8kwuv8vkThtiOEDAn2fDCvjBpq7ibrtaDWbhQVx4/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245662},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"dc3cb51345d30dca0ab173bfa7e7e0fe58a8d59d","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","ip2region":"^2.3.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.10_1775092066813_0.06824278329663636","host":"s3://npm-registry-packages-npm-production"}},"2.6.11":{"name":"chanjs","version":"2.6.11","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.11","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4777226269b362b39cc79586f9ab352c740c7b62","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.11.tgz","fileCount":65,"integrity":"sha512-GmbeI56NBPEjTbiMlElbANNlW7KKwDvACGTzLbzST91DtIi4aN9AbDQJSloZ82/i7vM0SdWg8YI7SxrLHDR7+Q==","signatures":[{"sig":"MEUCIGex96MU6M3201Xh8oejsoMvmcV/z3cenmAvjYIgWgVYAiEA7vObpPtBU26Gj8Oc0e0XfUD7nG6AsYOS3u37dfzy9JI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232384},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"dc3cb51345d30dca0ab173bfa7e7e0fe58a8d59d","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","ip2region":"^2.3.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.11_1775220483407_0.2455226734728262","host":"s3://npm-registry-packages-npm-production"}},"2.6.12":{"name":"chanjs","version":"2.6.12","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.12","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"f28d7876c57b99fe29db16bb54c936151a44781c","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.12.tgz","fileCount":65,"integrity":"sha512-FXQTal8iAfI6Uc3Ub0sUZrcNq7nTHovYUDJMeOKGD9AGBX2OWBNn+8MxyhxML8o32+1SA5nytt/ZrJ0wwhVlOg==","signatures":[{"sig":"MEUCIQC07D+30QjWssq6uW5pXKDnfphIoJZbl4MEtPp0HcAXSgIgZUsUX4pze02oLJUPsbjYQmXMuZGd0lBZfkWElQhfci8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232409},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"7a51c2136d23ebce40c69cc158c307f0df0d948a","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","knex":"^3.1.0","dayjs":"^1.11.13","dotenv":"^17.2.1","marked":"^17.0.3","morgan":"^1.10.0","mysql2":"^3.14.1","express":"^5.1.0","sqlite3":"^4.1.0","ip2region":"^2.3.0","body-parser":"^2.2.0","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.12_1776059860175_0.40306088808331375","host":"s3://npm-registry-packages-npm-production"}},"2.6.13":{"name":"chanjs","version":"2.6.13","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.13","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"224d95f898b90a9eb1de331ded644a679fdc20d0","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.13.tgz","fileCount":66,"integrity":"sha512-NFmcF7NhUlRAQCgoNY2DW8jOytJ5uaM9a23Dzs5L0qh2RlBN8Gb44i6VcN8xc9qng1Zb3z1Z66QaoQfNqFh+5Q==","signatures":[{"sig":"MEYCIQD0w19CQMgYPOxYxWUSN6d6e4FV1wBHBGsf2Bz0aA8lIQIhANnAZdvvrKJJtD/8DZd6Y3EckPoi2y5TRcuxGQpL6QqT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232471},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"7a51c2136d23ebce40c69cc158c307f0df0d948a","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","sqlite3":"^6.0.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.13_1778289322325_0.4435694029566215","host":"s3://npm-registry-packages-npm-production"}},"2.6.14":{"name":"chanjs","version":"2.6.14","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.14","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"cb3e261785f606400dec0ad176f6731c4c725f7f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.14.tgz","fileCount":66,"integrity":"sha512-8MzyAvYhJXbSn+s7bwSrJQoNFbVgFVPl59eNw74yfBgFPdam2QaDBdO1QPqfapwcyzV0JuFwUjaIWe/ISg72Ig==","signatures":[{"sig":"MEUCIE8WLutmyO51XNvEHWnwPp/sbSO4fC/ylYLqBzz5oazhAiEAzA+s+uOo+RAOVRyubCgEH12PUODdzJ093Nfh8jr0O2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233004},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"7a51c2136d23ebce40c69cc158c307f0df0d948a","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","sqlite3":"^6.0.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.14_1778289732300_0.5641259322941876","host":"s3://npm-registry-packages-npm-production"}},"2.6.15":{"name":"chanjs","version":"2.6.15","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.15","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4775bd06aabf88e6b0aa688da7abf107542ae882","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.15.tgz","fileCount":66,"integrity":"sha512-Kja+5rKJwHbX4RR9NHbZvaVNxsZZ/8LU+qwi75gfQjmy4QP61R8anszdzIwfK/3qFxsEN9asTVJeOtU+vETNag==","signatures":[{"sig":"MEYCIQC4OduzC4k68nL3gVPXccKKmxhGDAFzqyOgv2W8lCVUZwIhAM3XPWkN599NSUH1IDgjZvIyIW2msnWmyFA6cdQCTAWY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233581},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"44be52f81785aa5744eccda952cf2a61fe5a14c4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.21","dotenv":"^17.4.2","marked":"^18.0.4","morgan":"^1.10.1","mysql2":"^3.22.4","express":"^5.2.1","sqlite3":"^6.0.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","cookie-parser":"^1.4.7","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.15_1780125050610_0.5328416756513983","host":"s3://npm-registry-packages-npm-production"}},"2.6.16":{"name":"chanjs","version":"2.6.16","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.16","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"89a16b362d98f4eecee31e979ca2b96db2101d46","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.16.tgz","fileCount":66,"integrity":"sha512-i1uHZslA5dVKGw+b9+QUq4uJ3jwfeM3ISoIchc2e12HeP5iu147zkdkjxjnqUutdKKBW0h4W7mvOMqPQ2TjlvQ==","signatures":[{"sig":"MEYCIQDmzkkR9dHh2qkulmSHSX0ww5TbmXQ4DZF9bzyKnECWwgIhALQrHp2lh6rlnDGfX48/QD2a/IOaxySOHeKgg6VS24PF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234712},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"44be52f81785aa5744eccda952cf2a61fe5a14c4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","sqlite3":"^6.0.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.16_1782660670066_0.7089037948443588","host":"s3://npm-registry-packages-npm-production"}},"2.6.17":{"name":"chanjs","version":"2.6.17","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.17","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"e63d2e16436afbac428884abdaa4cf9a3ea633f1","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.17.tgz","fileCount":66,"integrity":"sha512-n72ZBuEsmPIoOj/7SPFI78uQyr/aFkD82Cn9zy0QTAYqVs76KXFc62ePVf5yQbHbS+xavix8lOeDAdNLjnuiuw==","signatures":[{"sig":"MEQCIGSxlkcBfSFc6vOXTp5PryszoVnLqaBc78/7G+6ai13cAiAO7HDFEd75gcoY8YjRvq6LrLPbKJtwM29bd0q1eJdb7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234687},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"44be52f81785aa5744eccda952cf2a61fe5a14c4","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.17_1782662236166_0.6796357523825851","host":"s3://npm-registry-packages-npm-production"}},"2.6.19":{"name":"chanjs","version":"2.6.19","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.6.19","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"01b45db1037d3192b5eb8a16e7ee64babf4dfba8","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.6.19.tgz","fileCount":66,"integrity":"sha512-UaM8Go286xKa/R+JJgayZ6b2r1IcTlP6FYDVC24FSjf4ZUEG0DuOgU1JZ8rYFnU+Hup3TnaACHywZygz0yWJXA==","signatures":[{"sig":"MEYCIQCmLQDaEzjvgbtGpr4SbOCY4mp/66uXtDP1LR0JHmVpIQIhAP+xAyEDhRRrxEI1+na/kX3l5RZvyPeYGI5VKYzGbNem","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235092},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.6.19_1783864391174_0.6987768938715155","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"chanjs","version":"2.7.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"fdb6336efb2477710e4fb39f44d7725e72b9482f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.1.tgz","fileCount":66,"integrity":"sha512-JU6RdxlzOAmj7usmZqtPZ3RZi1SM1cBrOuH/xyIAUxb+hcm7oxs0V7TRjVe4JeTnpXRDTeMENngyIcKPP1v77w==","signatures":[{"sig":"MEYCIQDLUOHpmlctm02mib33+dxFzrK697F1Huzi6uQXe1t2GwIhAOSUoTauLVd+Eh7dRJ6IgihpGw9zg7Qs51530mz0OMVE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234700},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.1_1784104197952_0.8031741638186496","host":"s3://npm-registry-packages-npm-production"}},"2.7.2":{"name":"chanjs","version":"2.7.2","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4d7cf13b317d90441a5541eaf6c82e384f6fd431","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.2.tgz","fileCount":66,"integrity":"sha512-0zn24HHw9EnAcj7/x4V42xexNxsMVTD64WspapJn5mwgAlpybBEoHkaJFhM4TlxQRuFp24Isy7CpgrMlQsrQgw==","signatures":[{"sig":"MEQCID9ZzhhS84EK5Ymh4ol/kshsIqWwwcj8g6rvIh12IHzAAiBi6Mvpsei32MGsRnJmlPTyxENqOujew9aQ6XkkO+pyjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234662},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ip2region":"^2.3.0","body-parser":"^2.2.2","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.2_1784106206331_0.46758196671984","host":"s3://npm-registry-packages-npm-production"}},"2.7.3":{"name":"chanjs","version":"2.7.3","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"b8a2bc8999d35ff56f60503830b4e02c121d2047","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.3.tgz","fileCount":74,"integrity":"sha512-evN21ag+cGIDHI6zGNSvP9MyTA3cel5HS5YP7hl5mja//f+l5aLmih3yAXHWqNHKbvrGJF7qu7IM78wpkRWKbA==","signatures":[{"sig":"MEYCIQCkvo1rHzZZb+HnEtLkROWaExR7AjWaxiS6H3Z82zYIzQIhAOn88G1sxCwy5JMr9ZgP+3CZRuWcEVGWCDv1eesJF3+H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356698},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.18.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.3_1784540029564_0.40761789399006876","host":"s3://npm-registry-packages-npm-production"}},"2.7.4":{"name":"chanjs","version":"2.7.4","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"4c00b908cc0f201a68fb2cebaea8d439d25165bf","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.4.tgz","fileCount":74,"integrity":"sha512-FCzjvMyEl7DsQ0s5hJGbuuLzb360g6r6X6SEMJrB2AETVUdh+uJE6m6QII3yL9FiQz3uY/RpoV1JyaqDs/jaaQ==","signatures":[{"sig":"MEUCIQCWcYdOf+qCrh4s2xQfwc+xnrix7WqOb9/UkGPAfLtEIAIgUAR/PGsKpgWyfJsnyPhCj/ipUOZUGC8ZJkUhVTUxGrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356723},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.18.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ioredis":"^5.4.6","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.4_1784540225297_0.34239724386607806","host":"s3://npm-registry-packages-npm-production"}},"2.7.5":{"name":"chanjs","version":"2.7.5","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"6265040e8c104b459a94b5a477972b0e6390f429","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.5.tgz","fileCount":66,"integrity":"sha512-LYe8KdxJgnJugiRKWKNO8Vp6SGDM2rNOSuosOs9HNIW8MHzUsLoBQd28uB1v0mU64mhEnrqACsEIP8resN6WZw==","signatures":[{"sig":"MEQCIHv7Ec6dQgFVB+nrtl3N9Eaq/19UkdEkqbtNJTm+JVNCAiB8YL0CvqBtC6mBWQwlPE+qrhnCiELRZdrJE90DHJiEjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227230},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ioredis":"^5.4.6","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.5_1785527514204_0.33412539408370945","host":"s3://npm-registry-packages-npm-production"}},"2.7.6":{"name":"chanjs","version":"2.7.6","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"2e90ce4c2925f1f75b14a28c1d78e9acc5c98e19","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.6.tgz","fileCount":67,"integrity":"sha512-Ow2AbOwFKIhQehf1rs5s6ZHPuGW1S4YsSk4cd5Tz6cfCTU85+yzN6Isy/Cq6vUbtHKpQWecFVrB5m46OF38MPA==","signatures":[{"sig":"MEYCIQDFrBOCn1ZQ1gkOkYHMTGE/QxbZalFBZ4s4WIj/QoMliwIhALBBAlPI2FKWK+fAddC+KV3+YxCP5qtjHuwG5qxw85MG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229266},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ioredis":"^5.4.6","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.6_1785563564652_0.9958864440466098","host":"s3://npm-registry-packages-npm-production"}},"2.7.7":{"name":"chanjs","version":"2.7.7","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.7","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"2b9e5cfb18cc072fa9d97089f7d447b6aeb03101","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.7.tgz","fileCount":67,"integrity":"sha512-9k0fS8mhwgVwwTDT6HzmriKE7+OPZiVtcCHux5tiziKYDZUQOSYCxudnZ9XijADj5fvmukSD26e6MUtJVaAUhQ==","signatures":[{"sig":"MEUCIQDUXjsC0vUEd/r5YSlojy/K8UwgUZFExtLGa9vemg3KEAIgSDiFY6KssdS6M3kwinV71S1ngsW9MQMck+ETEKe8hFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230958},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3e8f222812d70958ad5233635ae653afd6e131bc","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ioredis":"^5.4.6","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.7_1785596550115_0.45073086225848","host":"s3://npm-registry-packages-npm-production"}},"2.7.8":{"name":"chanjs","version":"2.7.8","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.8","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"dfa0b25f82dd65bd505a9266bb7d4359b96c481f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.8.tgz","fileCount":67,"integrity":"sha512-p7ghIXCHYiMeTAdVWzMeGnx6zVpLlc0Q3PPSlSEWfRe2mQmufvP7434GuTeC0W4+tOCb+y4BDS8BBSmPr3zKqw==","signatures":[{"sig":"MEQCIB7ej4FmLJrQFjbsNy2IytnDoKIhJpV+7HfqsC5zxFeyAiBOE5H22jVPFz4yMoLb8YimOhpHIYMBqD7Nowosp5aSSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230971},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3e8f222812d70958ad5233635ae653afd6e131bc","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","morgan":"^1.10.1","mysql2":"^3.22.3","express":"^5.2.1","ioredis":"^5.4.6","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.8_1785599970938_0.8973805987024708","host":"s3://npm-registry-packages-npm-production"}},"2.7.10":{"name":"chanjs","version":"2.7.10","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.10","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"f5446d8d2c92ebe8c9a2ec6d02df2385d2298c71","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.10.tgz","fileCount":70,"integrity":"sha512-dF0n0xZ84Mp/z2EFgGL2GvWj7m+t21qI++zGugjjl4LTL4Njuu8HTYgDpOezjKEahHM5rqOl50IpO85ETtB2iw==","signatures":[{"sig":"MEUCIEr2xvDrHfp0dOy7XUlZg74EiLS28Q5DkadV17Wrn96vAiEAqEn33oQl6rIdd/aJ40jUgXm19nXNC7nr0cBaQ6rpUf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275902},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3e8f222812d70958ad5233635ae653afd6e131bc","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.10_1786636725514_0.809452531976238","host":"s3://npm-registry-packages-npm-production"}},"2.7.11":{"name":"chanjs","version":"2.7.11","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.11","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"bb1a262bf9cef62d6ed9092316f71aa6c441637d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.11.tgz","fileCount":70,"integrity":"sha512-ZIb570yFk9IaAi08TB4GLFV1+qHI4Di1YzHxqz0hY49MpBDO2k/hgPkMrBSAhSx7W+CKAKWRNgtvrupVuXrBMg==","signatures":[{"sig":"MEQCIDvjLMcn4dLmZAh+ttYeG3X+VVEAasYbn5LZ3J/wRP+ZAiBW4ZsZOm/DThqdTw8nHyiBsoakcCJhGv1AP4W/mnv9vQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273347},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3e8f222812d70958ad5233635ae653afd6e131bc","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.11_1787129320800_0.6986900008472112","host":"s3://npm-registry-packages-npm-production"}},"2.7.12":{"name":"chanjs","version":"2.7.12","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.12","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"d39557f677a2f35440d1b31c7afa0907b72d353e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.12.tgz","fileCount":70,"integrity":"sha512-WFX7EN5aDQLyAuPFFlDyVf36FzDbS5ydDeck99WnWlxd1l/Lkl1/ZPqfAjFpmjRRyWI2Ip/Jz0CONcf3wg19UQ==","signatures":[{"sig":"MEUCIQDvPXfWdgV7sREyLX3l2x/FRPwCcRS/gfa8mkalwHyImwIgftbZHdtA0JA6NaFbzNaP0Mn0JEyFGVqTYRsa/UhTXIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273915},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3e8f222812d70958ad5233635ae653afd6e131bc","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于express5 纯js研发的轻量级mvc框架。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.12_1787291308929_0.13111118155080947","host":"s3://npm-registry-packages-npm-production"}},"2.7.13":{"name":"chanjs","version":"2.7.13","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.13","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"a2d6e686cb0630231c960e4ba6902810485e1e9e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.13.tgz","fileCount":70,"integrity":"sha512-xGzO4rKqg9QJamqz9dWXdkKiKZW4w/okJujXWHAxexPoRCiBsVZ7spUHCyQSw/S+Ml1hckPE6nyBTCUk7ZG2xQ==","signatures":[{"sig":"MEQCIA7rMINSIafkt9GO+SmFqzkH9oi+g+BqPbB9iRMIoF7lAiAknW9Pnnocj/55/zWfooLaxzoDz4Kbolc7JYrhNEGYtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279463},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3e8f222812d70958ad5233635ae653afd6e131bc","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.13_1787468039190_0.03456027890940261","host":"s3://npm-registry-packages-npm-production"}},"2.7.15":{"name":"chanjs","version":"2.7.15","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.15","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"1ce71fdb68057c704181405af9e1211c1f4e722e","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.15.tgz","fileCount":71,"integrity":"sha512-bPEE2fYmDKG2NiNT/CeixhNfUcoQzDtZlY5C1J3L9K/5GdHPGTMXj7IIg47KTDvj0X/FQEmKEgsbjpRauI7HKw==","signatures":[{"sig":"MEUCIGJU+vs96HmfPSxRmaoWUyYIisbSZgeLnS+RqoLrgwo3AiEAiR6DJrXWswNBHgj26Gk1nZo9gJU5qAz488WAxUBCnC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288773},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"a49eb0ab81345642e5f3a72c4656f4c716b15af0","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.15_1787554951807_0.5629480977781853","host":"s3://npm-registry-packages-npm-production"}},"2.7.16":{"name":"chanjs","version":"2.7.16","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.16","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"aed935bd757a3290bb4fb26b1c7fb49afd457ca9","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.16.tgz","fileCount":71,"integrity":"sha512-n5S3AiJQ91NoOYsNUiPUMfUH/TBqal7HD4/7n1V91yGzGN/Au+1OovsCEfX4Ep1obfJLUJwU0W1hAutNrBP5BA==","signatures":[{"sig":"MEUCICJmdgHbmTGAnCjugohR3MMuPLXUwFoSYBDnMoKGs8czAiEA9MLRENFwkbftSGXQNRx2dmcEuSax3zmLnz6YwV5EAe8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289324},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"a49eb0ab81345642e5f3a72c4656f4c716b15af0","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.16_1787669252785_0.48233681476012835","host":"s3://npm-registry-packages-npm-production"}},"2.7.17":{"name":"chanjs","version":"2.7.17","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.7.17","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"427f6a4da6aa614827200ff0546d8506c72e2af0","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.7.17.tgz","fileCount":72,"integrity":"sha512-52h/2J0NRRcnTLxYewAvysE0r51Y9A9WmngIc4lmRXx6NMNP6YZfkmmjfoU1cnulpjfo4cO6KUSDk85u+4r21g==","signatures":[{"sig":"MEQCIFRzbkGm1AAIMhS+pKLbbCiNW61D8N8tGV52CbKUufeAAiA+WHH6oha39aImE9auFdAIiicsX/37CANpejTTT3CPdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293989},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"a49eb0ab81345642e5f3a72c4656f4c716b15af0","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.7.17_1787819902434_0.34436465672303807","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"chanjs","version":"2.8.0","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.8.0","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"63d6b12ae7f1f6cca6fca32fa140b0e5644baade","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.0.tgz","fileCount":72,"integrity":"sha512-WRrNGxw1CMssePrGSBK9YN4OvtfJfa9QixVntX0RIIG2uDNtEqY4aUUJuPrggGJU58dVya6CAPAPp19sm1r5oA==","signatures":[{"sig":"MEUCIEz22tXjbfYPN3Ow+dLDgDkjDnH+lRH4M+RbWKDo5PkpAiEA32yPca4cKasNM8Cc811FMD5OSVO70U61nmG3VtmRNWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294776},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"a49eb0ab81345642e5f3a72c4656f4c716b15af0","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.8.0_1788166387209_0.7957882500808564","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"chanjs","version":"2.8.1","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.8.1","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"016e96a7ef9d22f40677f8bea44028d54bb3f1cf","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.1.tgz","fileCount":72,"integrity":"sha512-BKPjn4W+xKcJJ41Os9YhJ2md+cY7sGd6tuI3kA5fIXCFA+ZfhIXYIwOnB9ERx7kETUwnyifZ5Qg+ACBAp0JG2g==","signatures":[{"sig":"MEYCIQC98+yzlg0Eg+Z3nyNbMM0QCg1/hToF3d82d4CI8XoQ2gIhAIKiEKuSCWsDh3KY2aHWoxy3l2JZiF6IbKVh9OHogqLa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295762},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"a49eb0ab81345642e5f3a72c4656f4c716b15af0","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.8.1_1788540300417_0.3143265746781181","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"chanjs","version":"2.8.2","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.8.2","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"57efa46d68599d215aaa1a7a0e05db21e77dd1f7","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.2.tgz","fileCount":72,"integrity":"sha512-diLlrksbzUZqU3ov5XS4akPg+Nc9F9vHxjzr8fo7/yIqbxeQohgTjpcFBgLZk2U55Lbzdrku6l5qVnY0uofIgg==","signatures":[{"sig":"MEUCICQ2rcWfCzBIXVYsElB7OtynIB59JAYa7ChP97eHoCOIAiEAm1roxmSSGG+fa9/6xWx0imS2aqGICM3UxC91PU065q4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296116},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"004e2e1a93c6f6f3c4784f82e62be048c0cbfcf1","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.8.2_1788846883106_0.6824269258121016","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"chanjs","version":"2.8.3","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.8.3","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"06d876c7cb1954d03114834c40521d0910edc79f","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.3.tgz","fileCount":72,"integrity":"sha512-/vYJOkfx++UzL+e0T9f1ufncxHb1eVS/QCMCtMKg6cOYKC2ILSI4RV3GPZLhP1ILnaqToaeEzGw0wxvZ2MCNlQ==","signatures":[{"sig":"MEUCIQDAPauUL/dipoUsN3baPZjelQKUq+gVK1vzwUgyFBOE6gIgF6HJjrOuEhqkMVNWhZOCIohSsBlVu8sXT+Aeu1dtSNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300267},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"3fcd496cb7763c8dfdb2a2c8af4dd41ecc81e6da","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.8.3_1789354121419_0.3679800224866272","host":"s3://npm-registry-packages-npm-production"}},"2.8.4":{"name":"chanjs","version":"2.8.4","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.8.4","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"8366c58e78d56d593392e0cd3e59d2f5947673ff","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.4.tgz","fileCount":72,"integrity":"sha512-fcRWzPyEr/gDcqK9QDvmdnSRiThjr2siZ1xT91iF6/ptv5ibivftWDSTKLTsm70K9/jCgerJ/Uin1IQnh/t1sw==","signatures":[{"sig":"MEYCIQDtJRwHjmSdDpNPybStcWSTBW5kftsuoSv8HSkLPACc1QIhAKc5bNl2gTuJrMWC71nloBiYv+hQjvZy/3EmMaoAaXuV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302072},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"41f71e33cdbe9ab1937a130c42a14b21b6e4e97b","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.8.4_1789388037437_0.10350497986853391","host":"s3://npm-registry-packages-npm-production"}},"2.8.5":{"name":"chanjs","version":"2.8.5","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.8.5","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"f41c40ea2b91d9c07bdc1b09166bd434fd425a5d","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.5.tgz","fileCount":72,"integrity":"sha512-u5BAyS/yHaC3jRxDGBuK/nCb4V45piFJLz5uZj7k9YxDVCa6+CZQWRGX0LvnSHI+wiye7SP3HLp7TcG9shlruw==","signatures":[{"sig":"MEQCIFMnu1ZW9pp78LFdPLc/aErthVCdy0eGbeoAtJjxYUzfAiBdhhBhj/+kIZ/Nqmu6NqqVRoFS0As000jkDsOIoFm3xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD1aUcoxjTliA+P8G5oiZ8Ynf2aflZdGbwbXDPuIQwLJwIgDNh9E8wLpQEGY3MUCp8tYQMfGjR720jsLsya+jPO1Nk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305722},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"30513664f6cf542e054d16986fad088e62c7b398","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","pino-pretty":"^11.3.0"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.8.5_1789573038582_0.4074578572316556","host":"s3://npm-registry-packages-npm-production"}},"2.8.6":{"name":"chanjs","version":"2.8.6","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"author":{"name":"明空"},"license":"ISC","_id":"chanjs@2.8.6","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"dist":{"shasum":"16668afb66acca71d0897ea26c7be0d4152b5d68","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.6.tgz","fileCount":72,"integrity":"sha512-is58ol13QWIOqsO9FCcKUgPNIZPJfkevfmLysx68KFcOAcLfkMBmSWFqwM+yiqCJbVUBXR7uKXdNrpV0Y9+APQ==","signatures":[{"sig":"MEYCIQCotA46dsq224KeeV3ftF2pZsNie2rTCFX3NNgvs8eLHAIhAJoj6THOpAiIJS27/JNF8bwNjBFinPthyX01x5Oui6ly","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBRx9DYhTWQ1EuQ4LnbBBR+ImnuoZ0oSUvSlrX6SsEYXAiBHL/ZeLp+ZrKYKFdIbOCi/3eTd3T5Xgugr/U/17nuaZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305722},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"21a2714c60c2ad9187dfa244b6181fc6d744469f","scripts":{"test":"node --test"},"_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","pino-pretty":"^13.1.3","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chanjs_2.8.6_1789576987291_0.7007056597004508","host":"s3://npm-registry-packages-npm-production"}},"2.8.7":{"_id":"chanjs@2.8.7","dist":{"shasum":"50ff22f7d61debff5360ad962dbcc86a1f40d515","tarball":"https://registry.npmjs.org/chanjs/-/chanjs-2.8.7.tgz","fileCount":72,"integrity":"sha512-8Sgrs16X94qqX3G5VmbSXnamV7CH1yJo++iRz/AUMiZCb7rJw78ohMDB/Wjf3+ZC+awOdSuSzvc3Bh4zUCINuQ==","signatures":[{"sig":"MEYCIQDREw0wZMZWytgTwriYSWy14R0VOCqYB+T2jBdt51MZzAIhAOCGU5bVut7/h10gX/+f5M8C9BbVwTDwIz0I1sH1d9W1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAGU8dpJOb/Dr+gou9SLQPSSiTL7G8DyzRKtPfBFgJ5JAiAc8mxVBXYjYu0Y4mkbDOuZtAEBagKgCgcsS0A5khPj/g=="}],"unpackedSize":304818},"main":"index.js","name":"chanjs","type":"module","author":{"name":"明空"},"module":"index.js","engines":{"node":">=22.18.0"},"gitHead":"0c3a1cecee6e45ba59c9d61498fd98a09a7ce3ff","license":"ISC","scripts":{"test":"node --test"},"version":"2.8.7","_npmUser":{"name":"yanyutao","email":"867528315@qq.com"},"keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"_npmVersion":"10.8.2","description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","directories":{},"maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.23.0","xss":"^1.0.15","cors":"^2.8.6","knex":"^3.2.10","pino":"^9.5.0","dayjs":"^1.11.20","dotenv":"^17.4.2","marked":"^18.0.3","mysql2":"^3.22.3","express":"^5.2.1","i18next":"^24.2.0","ioredis":"^5.4.6","node-cron":"^3.0.3","pino-http":"^10.3.0","pino-pretty":"^13.1.3","art-template":"^4.13.4","jsonwebtoken":"^9.0.3","cookie-parser":"^1.4.7","serve-favicon":"^2.5.1","express-art-template":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3"},"peerDependencies":{"zod":"^4.4.3"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chanjs_2.8.7_1790043938469_0.9266212425605089"}}},"time":{"created":"2024-01-20T15:47:13.155Z","modified":"2026-09-22T02:25:38.700Z","0.0.1":"2024-01-20T15:47:13.317Z","1.0.0":"2024-02-06T11:59:04.596Z","1.0.1":"2024-02-06T12:04:45.236Z","1.0.2":"2024-02-07T13:36:05.827Z","1.0.3":"2024-02-07T13:48:57.131Z","1.0.4":"2024-02-09T13:10:32.037Z","1.0.5":"2024-03-08T13:21:28.880Z","1.0.6":"2024-03-19T13:13:46.921Z","1.0.7":"2024-04-03T14:01:30.376Z","1.0.9":"2024-04-21T13:33:09.823Z","1.0.10":"2024-06-18T14:30:39.377Z","1.0.11":"2024-06-18T14:55:46.552Z","1.0.12":"2024-08-03T16:46:53.956Z","1.0.13":"2024-08-04T04:23:20.026Z","1.0.14":"2024-08-18T14:18:25.787Z","1.0.15":"2024-08-18T14:25:41.334Z","1.0.16":"2024-08-18T14:34:49.479Z","1.0.17":"2024-08-19T14:29:55.128Z","1.0.18":"2024-08-19T14:40:18.481Z","1.0.20":"2024-08-19T14:48:57.541Z","1.0.21":"2024-08-27T13:34:44.145Z","1.0.22":"2024-08-27T14:38:20.824Z","1.0.23":"2024-08-28T11:40:09.349Z","1.0.24":"2024-09-12T14:19:46.196Z","1.0.25":"2024-11-01T15:00:21.178Z","1.0.26":"2024-11-01T16:08:10.907Z","1.0.27":"2024-11-03T16:10:17.585Z","1.0.28":"2024-11-04T12:58:38.496Z","1.0.29":"2024-11-16T14:10:16.695Z","1.0.30":"2024-11-24T14:20:17.401Z","1.0.31":"2024-12-01T14:25:32.589Z","1.0.33":"2024-12-01T14:39:09.951Z","1.0.35":"2024-12-01T14:47:31.439Z","1.0.36":"2024-12-06T14:37:06.569Z","1.0.37":"2025-02-03T14:48:36.275Z","1.0.38":"2025-02-03T15:02:40.746Z","1.0.39":"2025-02-03T17:06:12.092Z","1.0.40":"2025-02-04T14:25:31.887Z","1.0.41":"2025-02-05T14:01:54.394Z","1.0.42":"2025-02-11T15:06:13.648Z","1.0.43":"2025-02-12T13:59:18.995Z","1.0.44":"2025-02-17T12:59:59.312Z","1.0.45":"2025-02-26T16:01:26.509Z","1.0.46":"2025-03-07T10:58:57.914Z","1.1.0":"2025-04-03T12:43:59.399Z","1.1.1":"2025-04-03T13:03:35.583Z","1.1.2":"2025-04-08T13:05:34.826Z","1.1.3":"2025-05-11T13:29:05.183Z","1.1.4":"2025-05-26T14:51:07.034Z","1.1.5":"2025-05-28T15:36:43.587Z","1.1.6":"2025-05-29T13:57:19.529Z","1.1.7":"2025-05-29T14:50:27.108Z","1.1.8":"2025-06-01T15:57:39.589Z","1.1.9":"2025-06-01T16:20:08.976Z","1.2.0":"2025-06-02T01:54:07.330Z","1.2.1":"2025-06-02T06:38:32.011Z","1.2.2":"2025-06-02T06:54:52.504Z","1.2.3":"2025-06-04T14:32:21.467Z","1.2.4":"2025-06-05T14:19:32.408Z","1.2.5":"2025-06-29T14:18:38.712Z","1.2.6":"2025-07-11T13:57:39.167Z","2.0.0":"2025-08-01T13:39:54.523Z","2.0.1":"2025-08-09T15:21:26.917Z","2.0.2":"2025-08-11T13:46:55.657Z","2.0.3":"2025-08-22T14:10:05.013Z","2.0.4":"2025-08-25T12:51:00.944Z","2.0.5":"2025-08-27T16:50:48.030Z","2.0.6":"2025-09-06T13:30:19.854Z","2.0.7":"2025-09-06T16:33:47.703Z","2.0.8":"2025-09-18T14:38:05.636Z","2.0.9":"2025-09-26T13:10:02.273Z","2.0.10":"2025-09-26T14:07:48.526Z","2.0.11":"2025-09-28T13:47:22.885Z","2.0.12":"2025-09-30T13:19:51.683Z","2.0.13":"2025-10-17T16:16:13.296Z","2.0.14":"2025-10-23T13:06:43.897Z","2.0.15":"2025-10-29T15:14:20.337Z","2.0.16":"2025-10-31T13:30:45.507Z","2.0.17":"2025-10-31T13:50:56.953Z","2.0.18":"2025-11-21T12:30:28.576Z","2.0.19":"2025-11-25T13:10:12.390Z","2.0.20":"2025-11-30T08:13:07.952Z","2.1.0":"2025-12-19T15:28:32.021Z","2.1.1":"2025-12-23T23:14:44.402Z","2.3.0":"2026-02-26T14:45:31.817Z","2.3.1":"2026-02-26T16:09:14.430Z","2.5.0":"2026-03-01T16:45:57.914Z","2.5.1":"2026-03-01T17:34:05.078Z","2.5.2":"2026-03-02T04:24:19.621Z","2.5.3":"2026-03-02T16:58:31.805Z","2.5.4":"2026-03-05T11:37:14.993Z","2.5.5":"2026-03-05T11:44:24.455Z","2.5.6":"2026-03-05T12:20:35.856Z","2.5.7":"2026-03-06T13:47:52.623Z","2.5.8":"2026-03-09T02:08:41.800Z","2.5.9":"2026-03-12T13:10:22.224Z","2.6.0":"2026-03-20T07:47:20.619Z","2.6.1":"2026-03-20T09:46:15.560Z","2.6.2":"2026-03-22T10:01:13.164Z","2.6.3":"2026-03-22T11:01:35.187Z","2.6.4":"2026-03-22T11:56:43.916Z","2.6.5":"2026-03-23T11:58:41.442Z","2.6.6":"2026-03-24T10:49:37.969Z","2.6.7":"2026-03-25T12:05:16.179Z","2.6.8":"2026-03-27T14:16:46.185Z","2.6.10":"2026-04-02T01:07:47.031Z","2.6.11":"2026-04-03T12:48:03.613Z","2.6.12":"2026-04-13T05:57:40.338Z","2.6.13":"2026-05-09T01:15:22.472Z","2.6.14":"2026-05-09T01:22:12.461Z","2.6.15":"2026-05-30T07:10:50.749Z","2.6.16":"2026-06-28T15:31:10.210Z","2.6.17":"2026-06-28T15:57:16.326Z","2.6.19":"2026-07-12T13:53:11.317Z","2.7.1":"2026-07-15T08:29:58.098Z","2.7.2":"2026-07-15T09:03:26.484Z","2.7.3":"2026-07-20T09:33:49.712Z","2.7.4":"2026-07-20T09:37:05.459Z","2.7.5":"2026-07-31T19:51:54.362Z","2.7.6":"2026-08-01T05:52:44.805Z","2.7.7":"2026-08-01T15:02:30.250Z","2.7.8":"2026-08-01T15:59:31.099Z","2.7.10":"2026-08-13T15:58:45.677Z","2.7.11":"2026-08-19T08:48:40.943Z","2.7.12":"2026-08-21T05:48:29.083Z","2.7.13":"2026-08-23T06:53:59.360Z","2.7.15":"2026-08-24T07:02:31.950Z","2.7.16":"2026-08-25T14:47:32.912Z","2.7.17":"2026-08-27T08:38:22.593Z","2.8.0":"2026-08-31T08:53:07.339Z","2.8.1":"2026-09-04T16:45:00.598Z","2.8.2":"2026-09-08T05:54:43.252Z","2.8.3":"2026-09-14T02:48:41.555Z","2.8.4":"2026-09-14T12:13:57.609Z","2.8.5":"2026-09-16T15:37:18.677Z","2.8.6":"2026-09-16T16:43:07.403Z","2.8.7":"2026-09-22T02:25:38.550Z"},"author":{"name":"明空"},"license":"ISC","keywords":["chanjs","express mvc","express mysql","express knex","chancms","nodejs mvc"],"description":"chanjs基于 Node.js + Express 5 的标准 HMVC 框架（NHMVC），纯 JavaScript（ESM）开发。","maintainers":[{"name":"yanyutao","email":"867528315@qq.com"}],"readme":"# ChanJS\n\n基于 Node.js + Express 5 构建的**标准 HMVC（NHMVC）后端框架**，原生 ESM 纯 JavaScript 开发。\n以**模块自治 + 双通道跨模块协作**为核心，约定优于配置，开箱即用，拒绝冗余复杂。\n\n## 设计哲学\n\n> \n> **大道至简。**\n> 优秀的开发工具，应当化繁为简。ChanJS 摒弃过度设计与沉重抽象，回归纯粹 JavaScript，用最少的心智负担交付稳定高效的业务能力。\n\n## 核心亮点\n\n- 🛡️ **安全可控**：内置多层防护能力，降低业务安全开发成本\n- ⚡ **高性能**：高性能日志、按需组件加载、慢查询监控\n- 🪶 **轻量精简**：无多余抽象、低侵入、上手门槛低\n- ✅ **务实好用**：聚焦后端业务高频场景，配套完整基础设施\n\n## 特性\n\n### 核心架构\n\n- 原生基于 Express 5+ mysql/pgsql/sqlite 三款数据库支持\n- 最低运行环境 Node.js 22.18+\n- 全量 ES Modules（import / export）\n- **标准 HMVC 架构：模块自治 + 双通道跨模块协作**\n- 约定优于配置，减少样板配置代码\n\n### 基础设施\n\n- **高性能日志**：Pino 结构化日志输出\n- **全链路请求追踪**：自动注入唯一 `requestId`（`X-Request-Id` 响应头 + `req.id` + `req.log`）\n- **访问日志按人归因**：一行纯文本，身份列 `ip + (uid|fp|sid)`，可追踪单个用户/访客的完整访问路径\n- **国际化多语言**：i18next，内存高速语言查找\n- **全局事件总线**：轻量封装 Node.js EventEmitter，解耦业务事件\n- **定时任务调度**：node‑cron，自带异常捕获、停机安全回收\n- **数据库层**：Knex 查询构建器，内置慢查询监控告警\n- **按需组件容器**：Controller/Service 动态懒加载，成功实例永久缓存；缺失模块不缓存，修改文件即时生效\n- **优雅停机**：统一信号监听，资源有序释放，超时强制退出\n\n### 内置安全能力\n\n- WAF 基础防火墙\n- XSS 请求防护\n- 敏感关键词过滤\n- 接口请求限流\n- 路由访问白名单\n- Cookie 安全加固\n\n### 开箱即用中间件生态\n\n- CORS 跨域处理\n- Body / Cookie 请求解析\n- 静态资源托管\n- favicon 快捷支持\n- 自定义响应头注入\n- Art‑template 模板引擎渲染\n\n### 优秀开发体验\n\n- 多环境配置隔离（`.env.dev` / `.env.prd`）\n- 标准化统一返回体（success / fail）\n- Zod 参数校验中间件\n- 全局异常捕获兜底\n- 内置通用工具函数库\n\n## 目录结构\n\n```\n|- app/\n|   |- common/            # 公共业务路由\n|   |- helper/            # 全局辅助工具函数\n|   |- middleware/        # 应用级中间件\n|   |- modules/           # 业务模块根目录\n|   |   |- <module>/      # 单个业务模块\n|   |       |- controller/\n|   |       |- service/\n|   |       |- middleware/\n|   |       |- router.js\n|   |- router.js          # 根路由聚合\n|- config/                # 框架配置、环境变量加载\n|- data/                  # 运行时持久化数据目录\n|- doc/                   # 项目文档\n|- lang/                  # i18n 语言资源(zh‑CN/en‑US/...)\n|- public/                # 前端静态资源\n|- view/                  # 视图模板文件\n|- app.js                 # 项目业务入口\n|- .env.dev / .env.prd    # 环境配置文件\n|- pm2.json               # PM2 进程部署配置\n```\n\n## 快速开始\n\n```\nimport Chan from \"chanjs\";\n\nconst chan = new Chan();\n\n// 注册启动前置钩子（事件、定时任务等初始化）\nchan.beforeStart(() => {\n});\n\nawait chan.start();        // 加载配置、i18n、数据库、中间件、路由\nchan.run((port) => {       // 启动 HTTP 服务\n  console.log(`ChanJS running on ${port}`);\n});\n```\n\n## 核心能力详解\n\n### 1. 日志系统（Pino）\n\npino 单实例 + pino-pretty（以 stream 方式跑主进程），**唯一开关 `LOG_LEVEL`**（默认 `info`），不读 `NODE_ENV`。输出格式固定：\n\n```\n2026-09-04 23:01:16.811 [Chan] HTTP服务启动，监听端口：3000\n2026-09-04 23:01:16.811 ip=127.0.0.1 uid=2 GET /base/menu/list 200 6ms\n```\n\n时间是本地时区 `yyyy-MM-dd HH:mm:ss.SSS`，后面直接接正文——没有 `level/pid/hostname/module` 固定头，也没有 pino-pretty 默认的方括号和冒号。输出一律 stdout：本地开发直接看控制台，线上由 pm2 收集（框架不写日志文件、不接自定义管道）。\n\n```\nimport { logger } from \"chanjs\";\n\n// 全局日志实例（logger 是具名导出，默认导出是 Chan 主类）\nlogger.info(\"启动完成\");\nlogger.error(\"查询失败\", err);   // 自动识别 Error 对象\n\n// 携带上下文用 pino 原生 child（如请求链路 req.log）\nconst reqLog = logger.child({ userId: 1 });\nreqLog.warn(\"慢查询\");\n```\n\n访问日志由 **pino-http** 官方中间件接管（`middleware/log.js` 内 `app.use(pinoHttp({ logger: root }))`），自动记录 `req/res/status/duration`，并挂载 `req.log` 供业务打点：\n\n```js\nimport pinoHttp from \"pino-http\";\nimport { root } from \"../utils/logger.js\";\n\napp.use(pinoHttp({ logger: root }));\n```\n\n`middleware/log.js` 只额外补两件 pino-http 不管的事：① 匿名访客自动种 `_sid`（30 天 httpOnly cookie，按浏览器归人）；② 用 `customSuccessMessage` 把访问行拼成 morgan 一行，身份列 = 来源IP + 用户标识（登录打 `uid`，未登录有设备指纹打 `fp`，再否则打 `sid`），用于按人追踪访问路径：\n\n```\n# 游客首访（自动种 _sid）\n2026-09-04 22:59:36.768 ip=127.0.0.1 sid=2aad120e7b1c85b9 GET /news/index.html 200 23ms\n# 同一浏览器后续请求 → 同一 sid，可串出完整访问序列\n2026-09-04 22:59:36.868 ip=127.0.0.1 sid=2aad120e7b1c85b9 GET /news/hydraulic/index.html 200 23ms\n# 未登录但有设备指纹 → fp\n2026-09-04 22:59:36.903 ip=127.0.0.1 fp=fp_dev_hash_9x GET /news/hydraulic/article-58.html 200 23ms\n# 登录用户 → uid 优先\n2026-09-04 22:59:37.161 ip=127.0.0.1 uid=2 GET /base/menu/list 200 7ms\n```\n\n四列身份的取值优先级（`middleware/log.js` 内 `who()`）：\n\n| 列 | 来源 | 说明 |\n|---|---|---|\n| `ip` | `getIp(req)`（取 `X-Forwarded-For` / `X-Real-IP`） | 常驻，每行必有 |\n| `uid` | `req.user.uid` | 登录用户（后台 auth、前台会员 `optionalAuth`），优先级最高 |\n| `fp` | cookie `_f` | 设备指纹，未登录但有指纹时打 |\n| `sid` | cookie `_sid` | 匿名访客，首访由服务端生成并种 30 天 httpOnly cookie |\n\n每个请求注入唯一 `requestId`（响应头 `X-Request-Id` + `req.id` + `req.log`），Controller 内可直接携带链路日志：\n\n```\n// 在 Controller 中\nasync getUser(req, res) {\n  req.log.info(\"查询用户详情\");  // 日志自动附带 requestId\n}\n```\n\n### 2. 事件总线（EventBus）\n\n基于 Node.js 原生 EventEmitter 封装的全局单例事件中心，用于业务解耦。\n\n```\nimport { event, EventBus } from \"chanjs\";\n\n// 使用全局事件实例\nconst off = event.on(\"user.login\", (uid) => {\n  logger.info(`用户 ${uid} 登录`);\n});\nevent.emit(\"user.login\", 1001);\noff();  // 解绑监听\n\n// 创建独立隔离的事件实例\nconst localBus = new EventBus();\n```\n\n> \n> 详细文档：[doc/07‑事件系统EventBus.md](./doc/07%E2%80%91%E4%BA%8B%E4%BB%B6%E7%B3%BB%E7%BB%9FEventBus.md)\n\n### 3. 定时任务（Task）\n\n基于 node‑cron 封装，内置 cron 表达式校验、任务异常捕获、优雅停机回收。\n\n```\nimport Chan from \"chanjs\";\n\nconst chan = new Chan();\n\nchan.beforeStart(() => {\n  // 注册定时任务，框架启动后自动运行\n  chan.task.add(\"clear-log\", \"0 3 * * *\", async () => {\n    await chan.db.raw(\"DELETE FROM logs WHERE created_at < NOW() - INTERVAL 7 DAY\");\n  });\n});\n\nawait chan.start();\nchan.run();\n```\n\n### 4. 国际化（i18next）\n\n服务启动时一次性扫描加载 `lang/` 全部语言资源至内存，运行时 O(1) 快速读取翻译文本。\n\n```\nlang/\n  zh-CN/\n    common.json    # { \"user.welcome\": \"欢迎，{{name}}\" }\n  en-US/\n    common.json    # { \"user.welcome\": \"Welcome, {{name}}\" }\n```\n\n```\nimport { initLang } from \"chanjs\";\n\nconst i18n = await initLang(\"zh-CN\");\ni18n.t(\"user.welcome\", { name: \"张三\" });  // → \"欢迎，张三\"\n```\n\n### 5. 数据库（Knex + 慢查询监控）\n\n支持多数据库连接管理，自动开启慢查询与 SQL 异常监控。\n\n```\n// 框架启动自动读取 config.db 注册数据库连接\n// 业务代码内可通过 this.db / getApp().db 获取默认连接\n\n// 运行时动态调整慢查询告警阈值（毫秒）\nchan.dbManager.setSlowThreshold(500);\n```\n\n### 6. 组件容器 · 双通道跨模块调用\n\nController / Service 继承容器基类，内置 `this.get()` 方法，通过「模块名 + 组件名」动态加载跨模块业务组件。\n\n> \n> 加载成功后实例永久缓存；组件文件缺失不缓存，新增文件无需重启即可识别。\n\n```\n// 同模块调用 Service\nconst cat = await this.get(\"book\", \"BookCategory\");\n\n// 跨模块调用 Service（推荐，HMVC 双通道‑服务通道）\nconst book = await this.get(\"book\", \"Book\", \"service\");\nconst special = await this.get(\"cms\", \"Special\", \"service\");\n```\n\n- 返回实例或 null，异步调用必须 await\n- 内置名称校验、路径越界安全防护\n- 跨模块业务复用优先使用容器调用，摒弃超长相对路径 import\n\n#### HMVC 标准实现说明\n\n传统教程常将「控制器嵌套发起子 HTTP 请求」当作 HMVC 的标准，该方式混淆了**实现手段**和架构本质。\n\n> \n> HMVC 的核心 = 分层解耦 + 模块自治 + 跨模块业务复用。\n\nChanJS 提供双通道协作模式，回归 HMVC 本质：\n\n1. 控制器通道：`await this.get(\"模块\", \"Controller\")`\n2. 服务通道（推荐）：`await this.get(\"模块\", \"Service\", \"service\")`\n\n### 7. 优雅停机\n\n统一监听 `SIGTERM / SIGINT / SIGQUIT` 退出信号，按顺序逐级释放资源：\n\n```\nHTTP 服务 → 定时任务 → 缓存存储 → 数据库连接 → 事件总线\n```\n\n单个资源关闭失败不会阻断其余回收流程，超时后进程强制退出。\n\n## 环境变量配置\n\n| 变量 | 说明 | 默认值 |\n| --- | --- | --- |\n| `NODE_ENV` | 运行环境标识(dev/prd) | dev |\n| `PORT` | HTTP 监听端口 | 3000 |\n| `LOCALE` | 默认语言 | zh‑CN |\n| `LOG_LEVEL` | 日志输出级别（trace/debug/info/warn/error/fatal） | info |\n| `TRUSTED_PROXIES` | 信任反向代理网段 | loopback |\n| `SHUTDOWN_TIMEOUT` | 优雅停机超时时间(ms) | 5000 |\n| `REDIS_ENABLED` | 是否开启 Redis | false |\n\n## 项目依赖清单\n\n### 运行依赖\n\n- express ^5.2.1\n- knex ^3.2.10\n- pino ^9.5.0\n- pino‑http ^10.3.0\n- i18next ^24.2.0\n- node‑cron ^3.0.3\n- art‑template ^4.13.4\n- mysql2 ^3.22.3\n- ioredis ^5.4.6\n\n### 开发依赖\n\n- pino‑pretty ^11.3.0\n\n### 可选 Peer 依赖\n\n- zod ^4.4.3（接口参数校验）\n\n## Hono 高性能版本\n\n[chanjs‑hono](https://www.npmjs.com/package/chanjs%E2%80%91hono) 为 ChanJS 衍生高性能分支，基于 Hono，API 保持一致，性能更强。\n\n```\nnpm install chanjs-hono\n```\n\n## 文档 & 生态资源\n\n- ChanJS官网文档：[ChanJS](https://chancms.top/)\n- ChanJS-Hono官网文档：[ChanJS-Hono](https://chancms.top/)\n- ChanJS-cli官方脚手架：[ChanJS-cli](https://chancms.top/)\n- ChanCMS官方开源 CMS：[ChanCMS](https://chancms.top/)\n\n## 开源协议\n\nISC\n","readmeFilename":"README.md"}