{"_id":"@fullstackfamily/manseryeok","_rev":"9-9708bb183db3478971ee8270e1158929","name":"@fullstackfamily/manseryeok","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"@fullstackfamily/manseryeok","version":"1.0.0","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.0","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"1afc6994f56d7e31b9b1601040e7b61b500dd47c","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.0.tgz","fileCount":29,"integrity":"sha512-rTCYT6C4TgJHvSSkPfiYSCQVJdhDN3BWvNMwyaP2adI+E54fY6MszCrTRwNGDSHxKXrP10LAdKQMwY9JisdIVg==","signatures":[{"sig":"MEQCIA8OuaHVfUwsIqDtpsrq27BZlY55bZy1yAVi0iNHz+BjAiA5XDP/mOovx5r6m1UEfBRi5YRIyRMfLjJ+eU6t5LJmHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94714660},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"d14fb843b19e83c3fedbd0b10fb9c09118ae13d9","scripts":{"test":"jest","build":"rollup -c","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.0_1769027141338_0.767927171264629","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@fullstackfamily/manseryeok","version":"1.0.1","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.1","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"1dac4e142be0c68e212f9641fd52554cc2f42aef","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.1.tgz","fileCount":43,"integrity":"sha512-3w+8Dh3dUSrCxG5WMciKUveA2aTjidrtwiVYhgz+w6MwJk4ol0/Vmk/57D+8CwMZ0VHXRUMAlPifY3q1qYIMfg==","signatures":[{"sig":"MEQCICRUwME7SeaxCRh6d4c2pcnOCAJwB2zL6RghiDWYFfYsAiAjsiJAj8tNderPRbI6x22f16p+qrLcUk4Ju5cjxxJjSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94764435},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"1e910128fc7becf3c9b552d77906c09a4087e51e","scripts":{"test":"jest","build":"rollup -c","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.1_1769028862055_0.8047708103798743","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@fullstackfamily/manseryeok","version":"1.0.2","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.2","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"d4d8bb40fbffc21564060fea573e228a77f80c98","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.2.tgz","fileCount":45,"integrity":"sha512-+UGdjY1bZpYUGxEYIqaMrgMfX6npgXPrTCWMViY+7Rsf1MfDMl+zZhQqjNdTuU1t0RmNXxgmuhdasDHgUMAAxQ==","signatures":[{"sig":"MEQCIEHA6xZLS49pnP/jZ4XazJ1JxThpM6oqsydsOmH7Zjf6AiA/xwbW7ZgQZq2m0d1CCObeL1xV+QZL0oUETiwcutjz4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1416555},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"62313b9789b0af67aafef3c8e54cf38156333f79","scripts":{"test":"jest","build":"rollup -c","prebuild":"npm run compress-data","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","compress-data":"tsx scripts/compress-date-index.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.2_1769100177544_0.510079609539108","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@fullstackfamily/manseryeok","version":"1.0.3","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.3","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"363a896079f33c11dba9ba9d3cf8119cfc60b677","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.3.tgz","fileCount":45,"integrity":"sha512-M72O1XSqY2EsXkgke3D3g+R9YAW+sMFoH0ORcwjfEnvait1MDfFtPJPvGXYL8Kw7166xCTqVjFbUnwL/ABKY3w==","signatures":[{"sig":"MEUCIF00U38eSxUD/XFhN4fgRzBM6eY7XEQextilWuWql14XAiEA9q2yISwsBSHcZlx4ZqFFk9U5IUbog3MMWOS2XPaW9lI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1449568},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"20c84fed38f1b047c695eff2ba485895f3d51013","scripts":{"test":"jest","build":"rollup -c","prebuild":"npm run compress-data","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","compress-data":"tsx scripts/compress-date-index.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.3_1769160462274_0.27734824180359996","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@fullstackfamily/manseryeok","version":"1.0.4","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.4","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"7bbacfb80ce135674414296c4d8d61c1e567838a","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.4.tgz","fileCount":45,"integrity":"sha512-HjMm5ZZrViNBHGNVly77lvQtbFyntXczef/DEPjP2MaOv4d5Oo9Tq/YX99mjyQY4h0QzH/HJS/tlpmNriE/K4w==","signatures":[{"sig":"MEUCIH2hoaSWjV+XZ6Y5ylo8Yf/loJL9Eh14E+9XuWk3McB5AiEAgyD1HVcKuHtIld1rY3R75jwHOhQqK0bAOmMWwtMR6eA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1450122},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"6bbaa3104676c76fc3e249d0af2183f689bcff22","scripts":{"test":"jest","build":"rollup -c","prebuild":"npm run compress-data","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","compress-data":"tsx scripts/compress-date-index.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.4_1770014024643_0.35104076179697175","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@fullstackfamily/manseryeok","version":"1.0.5","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.5","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"18c19e3aed55c49b72a24bed3784dedd97251575","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.5.tgz","fileCount":47,"integrity":"sha512-uF5foWZdAVlDWCwEjtAlhXxYk42Imb1fWwQ595FecnYfnunmLB/TL+vrhAG2ZzdPs2+XvpXieTkh99NWE6ZhwQ==","signatures":[{"sig":"MEUCIQDbe7fORd4YvVEra/00zdY+SF/JdwkEWk6rmNAmli6DbgIgEi4nDRQNfX0SyqfQahIA84Y0jFGomWdQ81FPOVNE2gQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1450314},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"20586b90ccea69c42e52ed21df89306e8466c774","scripts":{"test":"jest","build":"rollup -c","prebuild":"npm run compress-data","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","compress-data":"tsx scripts/compress-date-index.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.5_1770816217118_0.3288735165187624","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@fullstackfamily/manseryeok","version":"1.0.6","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.6","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"dc85c05c95836cbbca7f6bc156d22e46051c296f","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.6.tgz","fileCount":47,"integrity":"sha512-Tscf5j8CEsgbkf7XqsLBKbpLl5JSjuwdgFUBcQARijSjsxGS2dgd+G0qSpjI9/iRKkQYHlpIZQGP3ybdtdr9Zg==","signatures":[{"sig":"MEYCIQDUCFpurkq2cDIobH7WNOaUpE1Bl3gUF2w7X5n44RzCuAIhALDYWY84fYOWKaaeSSeWvBciGQAI6DTZtFPfhmHIZxFs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1451678},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"5680657af6277f0a40b99fa5545f90b8a3afe2bb","scripts":{"test":"jest","build":"rollup -c","prebuild":"npm run compress-data","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","compress-data":"tsx scripts/compress-date-index.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.6_1771566617894_0.957717841344516","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@fullstackfamily/manseryeok","version":"1.0.7","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","_id":"@fullstackfamily/manseryeok@1.0.7","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"homepage":"https://github.com/urstory/manseryeok-js#readme","bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"dist":{"shasum":"31f4b4e0e0d93801b2fea5489fbe74fa944664aa","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.7.tgz","fileCount":47,"integrity":"sha512-YnrphKxMp4oCObDhQXiGOJvj694tAR20BQj5r/2jYBP4l5ssfOS8CKPn8DwR59uMMc5cq53/DrqeOOKRN/svxA==","signatures":[{"sig":"MEUCICTBiX0gmsU4V3gTWHMBksPQYYT0ucj24bqTYvVyFzWlAiEAtwC9WDH3dc0FWBViheZULtnSIwvvdvBW1G/pZT8CZew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1452749},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"}},"gitHead":"20f295990b602f7b4e54931f971520559c8d1575","scripts":{"test":"jest","build":"rollup -c","prebuild":"npm run compress-data","dump-data":"ts-node scripts/dump-mysql-data.ts","typecheck":"tsc --noEmit","test:watch":"jest --watch","convert-data":"ts-node scripts/convert-to-js-data.ts","compress-data":"tsx scripts/compress-date-index.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"repository":{"url":"git+https://github.com/urstory/manseryeok-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.5.0","tslib":"^2.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@rollup/plugin-alias":"^5.1.0","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manseryeok_1.0.7_1771940718843_0.437273659250883","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@fullstackfamily/manseryeok","version":"1.0.8","description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"compress-data":"tsx scripts/compress-date-index.ts","prebuild":"npm run compress-data","build":"rollup -c","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test","dump-data":"ts-node scripts/dump-mysql-data.ts","convert-data":"ts-node scripts/convert-to-js-data.ts"},"keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"author":{"name":"fullstackfamily"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/urstory/manseryeok-js.git"},"bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"homepage":"https://github.com/urstory/manseryeok-js#readme","devDependencies":{"@rollup/plugin-alias":"^5.1.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-typescript":"^11.1.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","jest":"^29.5.0","rollup":"^3.20.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","tslib":"^2.5.0","tsx":"^4.21.0","typescript":"^5.0.0"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js","types":"./dist/index.d.ts"}},"engines":{"node":">=16.0.0"},"gitHead":"b37b6b4e47d1710df48396799e51102eefa7f0c1","_id":"@fullstackfamily/manseryeok@1.0.8","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-gzbnwpLwZpu2GNngykrjpXSCdDomjQCLomW3tF+PxIBSzd4fvQ2zv6En4WjmVED44hLnu0EIWRDd86Z/VuPN/A==","shasum":"1c5b14794992fe298acc35cf217e6401ea425fde","tarball":"https://registry.npmjs.org/@fullstackfamily/manseryeok/-/manseryeok-1.0.8.tgz","fileCount":47,"unpackedSize":1453184,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBIr25XhcgPXhdJTEZYD+cexOj9adQ5uSjLzfElxF8BqAiEAndLiRWp/UgDQg39LqiQshGeg6y4s/MRd/5cY+n9dBcA="}]},"_npmUser":{"name":"urstory","email":"urstory@gmail.com"},"directories":{},"maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/manseryeok_1.0.8_1774692587666_0.7244795959318708"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-21T20:25:41.148Z","modified":"2026-03-28T10:09:47.952Z","1.0.0":"2026-01-21T20:25:41.638Z","1.0.1":"2026-01-21T20:54:22.308Z","1.0.2":"2026-01-22T16:42:57.780Z","1.0.3":"2026-01-23T09:27:42.490Z","1.0.4":"2026-02-02T06:33:44.839Z","1.0.5":"2026-02-11T13:23:37.335Z","1.0.6":"2026-02-20T05:50:18.123Z","1.0.7":"2026-02-24T13:45:19.042Z","1.0.8":"2026-03-28T10:09:47.819Z"},"bugs":{"url":"https://github.com/urstory/manseryeok-js/issues"},"author":{"name":"fullstackfamily"},"license":"MIT","homepage":"https://github.com/urstory/manseryeok-js#readme","keywords":["korean","lunar","calendar","만세력","음력","saju","사주","fortune","운세"],"repository":{"type":"git","url":"git+https://github.com/urstory/manseryeok-js.git"},"description":"Korean Lunar Calendar (만세력) JavaScript Library - 1900~2050년 지원, DB 없는 순수 JavaScript 구현","maintainers":[{"name":"urstory","email":"urstory@gmail.com"}],"readme":"# @fullstackfamily/manseryeok\n\nKorean Lunar Calendar (만세력) JavaScript Library\n\n한국 음력(만세력) 데이터를 제공하는 순수 JavaScript/TypeScript 라이브러리입니다.\n\n## 왜 이 라이브러리인가?\n\n이 라이브러리는 **한국천문연구원(KASI)** 의 [음양력변환계산](https://astro.kasi.re.kr/life/pageView/8) 데이터를 기반으로 구축된 데이터베이스를 사용합니다.\n\n기존에 중국에서 개발된 음력 라이브러리들을 사용할 수 있지만, **한국 음력과 중국 음력은 차이가 있습니다**:\n\n- **윤달(閏月) 위치가 다릅니다**: 한국과 중국은 같은 음력 체계를 사용하지만, 윤달이 들어가는 위치가 서로 다른 경우가 많습니다.\n- **시간대 차이**: 한국 표준시(KST)를 기준으로 계산합니다.\n- **절기 계산 방식**: 한국천문연구원의 정확한 천문 계산법을 사용합니다.\n\n따라서 정확한 한국 사주팔자/운세 계산을 위해서는 한국 음력 데이터를 사용하는 것이 필수적입니다.\n\n이 라이브러리는 데이터베이스에 의존하지 않고 모든 데이터를 JavaScript 코드에 내장하여 **빠른 성능**과 **간편한 사용**을 제공합니다.\n\n## 특징\n\n- ✅ **1900년 ~ 2050년 지원** - 150년 이상의 한국 음력 데이터\n- ✅ **DB 없는 순수 JavaScript** - 별도의 데이터베이스 설치 불필요\n- ✅ **TypeScript 완전 지원** - 타입 안전성과 자동완성\n- ✅ **빠른 조회 성능** - 월별 인덱싱으로 최적화된 조회\n- ✅ **트리 쉐이킹 지원** - 필요한 기능만 가져가기 가능\n- ✅ **KASI 데이터 기반** - 한국천문연구원 정확한 데이터\n- ✅ **정확한 12지지 띠 정보** - 올바른 동물 매핑 (v1.0.4)\n- ✅ **정확한 24절기 사주월 매핑** - 한로~대한 오류 수정 (v1.0.5)\n- ✅ **정확한 60갑자 지지 오행** - 진·오·술 오행 오류 수정 (v1.0.6)\n- ✅ **정확한 월주 절기 기준 계산** - 월주를 절기(節氣) 기준으로 재계산 (v1.0.7)\n\n## 설치\n\n```bash\nnpm install @fullstackfamily/manseryeok\n```\n\n## 예제 실행\n\n`examples/` 폴더에 다양한 사용 예제가 포함되어 있습니다.\n\n```bash\n# 예제 실행 (빌드 후)\nnode examples/01-solar-to-lunar.mjs\nnode examples/06-saju-calculation.mjs\n```\n\n### 예제 목록\n\n| 파일 | 설명 |\n|------|------|\n| `01-solar-to-lunar.mjs` | 양력 → 음력 변환 |\n| `02-birthday-info.mjs` | 생일 정보 조회 |\n| `03-lunar-to-solar.mjs` | 음력 → 양력 변환 |\n| `04-leap-month.mjs` | 윤달 처리 |\n| `05-gapja-calculation.mjs` | 60갑자 계산 |\n| `06-saju-calculation.mjs` | 사주팔자 계산 (시간 보정 포함) |\n| `07-calendar-print.mjs` | 달력 출력 |\n| `08-batch-conversion.mjs` | 대량 날짜 변환 |\n| `09-date-validation.mjs` | 날짜 유효성 검사 |\n| `10-sixty-pillars.mjs` | 60갑자 데이터 조회 |\n| `11-solar-terms-info.mjs` | 24절기 정보 조회 |\n| `12-solar-terms-datetime.mjs` | 절기 시각 조회 |\n\n## 사용법\n\n### 양력 → 음력 변환 (2026년 설날 예시)\n\n```ts\nimport { solarToLunar } from '@fullstackfamily/manseryeok';\n\nconst result = solarToLunar(2026, 2, 17);\nconsole.log('양력:', result.solar.year, '년', result.solar.month, '월', result.solar.day, '일');\nconsole.log('음력:', result.lunar.year, '년', result.lunar.month, '월', result.lunar.day, '일');\nconsole.log('윤달:', result.lunar.isLeapMonth ? '예' : '아니오');\nconsole.log('갑자:', result.gapja.yearPillar, '년', result.gapja.monthPillar, '월', result.gapja.dayPillar, '일');\n\n// 출력:\n// 양력: 2026 년 2 월 17 일\n// 음력: 2026 년 1 월 1 일\n// 윤달: 아니오\n// 갑자: 병오 년 경인 월 임술 일\n```\n\n### 생일날 음력과 갑자 알아보기\n\n```ts\nimport { solarToLunar } from '@fullstackfamily/manseryeok';\n\nfunction formatBirthday(solarYear: number, solarMonth: number, solarDay: number) {\n  const result = solarToLunar(solarYear, solarMonth, solarDay);\n\n  console.log('=== 생일 정보 ===');\n  console.log(`양력: ${result.solar.year}년 ${result.solar.month}월 ${result.solar.day}일`);\n  console.log(`음력: ${result.lunar.year}년 ${result.lunar.month}월 ${result.lunar.day}일${result.lunar.isLeapMonth ? ' (윤달)' : ''}`);\n  console.log(`갑자: ${result.gapja.yearPillarHanja}년 ${result.gapja.monthPillarHanja}월 ${result.gapja.dayPillarHanja}일`);\n  console.log(`오행: 년=${result.gapja.yearPillar}, 월=${result.gapja.monthPillar}, 일=${result.gapja.dayPillar}`);\n  return result;\n}\n\n// 예시: 1990년 5월 15일생\nformatBirthday(1990, 5, 15);\n// === 생일 정보 ===\n// 양력: 1990년 5월 15일\n// 음력: 1990년 4월 21일\n// 갑자: 庚午년 辛巳월 庚辰日\n\n```\n\n### 음력 → 양력 변환 (음력 생일을 양력으로 찾기)\n\n```ts\nimport { lunarToSolar } from '@fullstackfamily/manseryeok';\n\nconst result = lunarToSolar(2024, 1, 1, false); // 2024년 정월 초하루\nconsole.log('음력 2024년 1월 1일 = 양력', result.solar.year, '년', result.solar.month, '월', result.solar.day, '일');\n// 음력 2024년 1월 1일 = 양력 2024 년 2 월 10 일\n```\n\n### 윤달 날짜 변환\n\n```ts\nimport { lunarToSolar } from '@fullstackfamily/manseryeok';\n\n// 윤달 4월 1일 (예: 1985년)\nconst leapMonthResult = lunarToSolar(1985, 4, 1, true); // isLeapMonth: true\nconsole.log('윤4월 1일 → 양력:', leapMonthResult.solar.year, '년', leapMonthResult.solar.month, '월', leapMonthResult.solar.day, '일');\n\n// 평달 4월 1일과 비교\nconst normalMonthResult = lunarToSolar(1985, 4, 1, false); // isLeapMonth: false\nconsole.log('평4월 1일 → 양력:', normalMonthResult.solar.year, '년', normalMonthResult.solar.month, '월', normalMonthResult.solar.day, '일');\n```\n\n### 갑자(60갑자) 계산\n\n```ts\nimport { getGapja } from '@fullstackfamily/manseryeok';\n\n// 1984년 갑자년 (입춘 이후)\nconst gapja1 = getGapja(1984, 2, 4);\nconsole.log('1984년 2월 4일 (입춘):', gapja1.yearPillar, '년');\n// 1984년 2월 4일 (입춘): 갑자 년\n\n// 1984년 입춘 전 (아직 계해년)\nconst gapja2 = getGapja(1984, 2, 2);\nconsole.log('1984년 2월 2일 (입춘 전):', gapja2.yearPillar, '년');\n// 1984년 2월 2일 (입춘 전): 계해 년\n\n// 참고: 한국 사주에서 년주는 입춘(2월 3-4일 경)에 변경됩니다\n```\n\n### 사주팔자 계산 (시주 포함)\n\n```ts\nimport { calculateSaju } from '@fullstackfamily/manseryeok';\n\n// 사주팔자 계산 (시간 보정 자동 적용)\nconst saju = calculateSaju(1990, 5, 15, 14, 30); // 1990년 5월 15일 14시 30분생\n\nconsole.log('=== 사주팔자 ===');\nconsole.log(`년주: ${saju.yearPillar} (${saju.yearPillarHanja})`);\nconsole.log(`월주: ${saju.monthPillar} (${saju.monthPillarHanja})`);\nconsole.log(`일주: ${saju.dayPillar} (${saju.dayPillarHanja})`);\nconsole.log(`시주: ${saju.hourPillar} (${saju.hourPillarHanja})`);\n\n// 시간 보정 정보\nif (saju.isTimeCorrected) {\n  console.log(`시간 보정: ${saju.correctedTime!.hour}시 ${saju.correctedTime!.minute}분 (진태양시)`);\n}\n\n// 출력:\n// === 사주팔자 ===\n// 년주: 경오 (庚午)\n// 월주: 신사 (辛巳)\n// 일주: 경진 (庚辰)\n// 시주: 계미 (癸未)\n// 시간 보정: 13시 58분 (진태양시)\n```\n\n### 시간 보정 없이 간단 계산\n\n```ts\nimport { calculateSajuSimple } from '@fullstackfamily/manseryeok';\n\n// 시간 보정 없이 계산\nconst saju = calculateSajuSimple(1984, 2, 2, 2);\n\nconsole.log(`사주: ${saju.yearPillar}년 ${saju.monthPillar}월 ${saju.dayPillar}일 ${saju.hourPillar}시`);\n// 사주: 계해년 병인월 병인일 기축시\n```\n\n### 시간 보정 및 경도 설정\n\n```ts\nimport { calculateSaju } from '@fullstackfamily/manseryeok';\n\n// 부산 (경도 129도)에서 태어난 경우\nconst saju = calculateSaju(1990, 5, 15, 14, 0, {\n  longitude: 129, // 부산 경도\n  applyTimeCorrection: true,\n});\n\n// 시간 보정 자동 계산:\n// - 표준 자오선: 135도 (UTC+9)\n// - 부산 경도: 129도\n// - 경도 차이: 6도 = 24분 보정\n// - 14시 0분 → 13시 36분 (진태양시)\n```\n\n**시간 보정이 필요한 이유:**\n사주의 시주(時柱)를 정확히 계산하기 위해서는 **진태양시(True Solar Time)**를 사용해야 합니다. 한국은 표준자오선(135도)을 기준으로 시간을 정하지만, 실제 태양의 위치는 지역의 경도에 따라 다릅니다.\n\n- **서울 (127°)**: -32분 보정\n- **부산 (129°)**: -24분 보정\n- **강릉 (128°)**: -28분 보정\n\n시간 보정을 하지 않으면 시주가 1시간 차이로 바뀔 수 있습니다.\n\n### 양력/음력 달력 만들기\n\n```ts\nimport { solarToLunar } from '@fullstackfamily/manseryeok';\n\nfunction printCalendar(year: number, month: number) {\n  console.log(`\\n=== ${year}년 ${month}월 ===`);\n  console.log('양력\\t음력\\t\\t갑자');\n  console.log(''.padEnd(40, '-'));\n\n  const daysInMonth = new Date(year, month, 0).getDate();\n\n  for (let day = 1; day <= daysInMonth; day++) {\n    const result = solarToLunar(year, month, day);\n    const lunarStr = `${result.lunar.month}/${result.lunar.day}${result.lunar.isLeapMonth ? ' 윤' : ''}`;\n    const gapjaStr = `${result.gapja.yearPillar} ${result.gapja.dayPillar}`;\n    console.log(`${month}/${day}\\t${lunarStr}\\t\\t${gapjaStr}`);\n  }\n}\n\n// 2024년 2월 달력\nprintCalendar(2024, 2);\n```\n\n### 대량 날짜 변환 (파일 처리 등)\n\n```ts\nimport { solarToLunar } from '@fullstackfamily/manseryeok';\n\nfunction batchConvert(dates: Array<{ year: number; month: number; day: number }>) {\n  return dates.map(date => {\n    const result = solarToLunar(date.year, date.month, date.day);\n    return {\n      solar: `${result.solar.year}-${String(result.solar.month).padStart(2, '0')}-${String(result.solar.day).padStart(2, '0')}`,\n      lunar: `${result.lunar.year}-${String(result.lunar.month).padStart(2, '0')}-${String(result.lunar.day).padStart(2, '0')}${result.lunar.isLeapMonth ? '*' : ''}`,\n      gapja: result.gapja.yearPillar,\n    };\n  });\n}\n\nconst dates = [\n  { year: 2024, month: 2, day: 10 },\n  { year: 2024, month: 9, day: 17 },\n  { year: 1984, month: 2, day: 2 },\n];\n\nconst results = batchConvert(dates);\nconsole.table(results);\n```\n\n### 날짜 유효성 검사\n\n```ts\nimport { solarToLunar, OutOfRangeError, InvalidDateError } from '@fullstackfamily/manseryeok';\n\nfunction isValidDate(year: number, month: number, day: number): boolean {\n  try {\n    solarToLunar(year, month, day);\n    return true;\n  } catch (error) {\n    if (error instanceof OutOfRangeError) {\n      console.log('지원 범위 밖 연도:', error.message);\n    } else if (error instanceof InvalidDateError) {\n      console.log('유효하지 않은 날짜:', error.message);\n    }\n    return false;\n  }\n}\n\nconsole.log(isValidDate(2024, 2, 29));  // true (2024년은 윤년, 2월 29일 유효)\nconsole.log(isValidDate(2023, 2, 29));  // false (2023년은 평년)\nconsole.log(isValidDate(1800, 1, 1));   // false (지원 범위 밖)\nconsole.log(isValidDate(2024, 2, 10));  // true\n```\n\n### 60갑자 데이터 직접 조회\n\n```ts\nimport { SIXTY_PILLARS, getPillarById, getPillarByHangul } from '@fullstackfamily/manseryeok';\n\n// 전체 60갑자 목록\nconsole.log('총 60갑자 개수:', SIXTY_PILLARS.length);\n\n// ID로 조회 (0~59)\nconst pillar = getPillarById(0);\nconsole.log('0번 갑자:', pillar.combined.hangul, '/', pillar.combined.hanja);\n// 0번 갑자: 갑자 / 甲子\n\n// 한글 이름으로 조회\nconst found = getPillarByHangul('갑자');\nconsole.log('갑자의 ID:', found?.id); // 0\nconsole.log('갑자의 오행:', found?.element); // 목\nconsole.log('갑자의 음양:', found?.yinYang); // 양\n\n// 로마자 표기 (romanization) 조회\nconsole.log('천간 로마자:', pillar.tiangan.romanization); // Gap\nconsole.log('지지 로마자:', pillar.dizhi.romanization); // Ja\nconsole.log('합친 로마자:', pillar.combined.romanization); // Gapja\n```\n\n### 24절기 정보 조회\n\n```ts\nimport { getAllSolarTerms, getSolarTermByName, getSolarTermsBySajuMonth } from '@fullstackfamily/manseryeok';\n\n// 전체 24절기 목록\nconst allTerms = getAllSolarTerms();\nconsole.log('24절기 개수:', allTerms.length);\n// 24절기 개수: 24\n\n// 절기 이름으로 조회\nconst ipchun = getSolarTermByName('입춘');\nconsole.log('입춘:', ipchun?.nameHanja, '황경', ipchun?.longitude, '°');\n// 입춘: 立春 황경 315 °\n\n// 사주 월에 해당하는 절기 목록\nconst februaryTerms = getSolarTermsBySajuMonth(2);\nconsole.log('2월(인월) 절기:', februaryTerms.map(t => t.name).join(', '));\n// 2월(인월) 절기: 입춘, 우수\n```\n\n### 사주 월 계산 (절기 기준)\n\n```ts\nimport { getSajuMonth } from '@fullstackfamily/manseryeok';\n\n// 양력 날짜를 사주 월로 변환\n// 사주에서 월은 절기를 기준으로 변경됩니다\n\nconsole.log('2월 1일:', getSajuMonth(2, 1));  // 1 (소우, 아직 1월)\nconsole.log('2월 5일:', getSajuMonth(2, 5));  // 1 (입춘 전)\nconsole.log('2월 6일:', getSajuMonth(2, 6));  // 2 (입추 후, 2월 시작!)\n// 입춘(2월 4일경) 이후부터 2월로 계산\n\nconsole.log('3월 5일:', getSajuMonth(3, 5));  // 2 (경칩 전)\nconsole.log('3월 7일:', getSajuMonth(3, 7));  // 3 (경칩 후, 3월 시작!)\n```\n\n### 24절기 한눈에 보기\n\n```ts\nimport { getAllSolarTerms } from '@fullstackfamily/manseryeok';\n\nfunction printSolarTerms() {\n  const terms = getAllSolarTerms();\n\n  console.log('\\n=== 한국 24절기 ===');\n  console.log('계절\\t절기\\t\\t한자\\t\\t황경\\t사주월');\n  console.log(''.padEnd(60, '-'));\n\n  const seasons = ['봄', '봄', '봄', '봄', '봄', '봄',\n                   '여름', '여름', '여름', '여름', '여름', '여름',\n                   '가을', '가을', '가을', '가을', '가을', '가을',\n                   '겨울', '겨울', '겨울', '겨울', '겨울', '겨울'];\n\n  terms.forEach((term, i) => {\n    const season = seasons[i];\n    const typeStr = term.type === 'jeolgi' ? '절기' : '중기';\n    console.log(`${season}\\t${term.name}\\t\\t${term.hanja}\\t\\t${term.longitude}°\\t${term.sajuMonth}월`);\n  });\n}\n\nprintSolarTerms();\n```\n\n### 특정 연도의 절기 시각 조회\n\n```ts\nimport { getSolarTermsByYear, getSolarTermForDate } from '@fullstackfamily/manseryeok';\n\n// 2024년 모든 절기 시각 조회\nconst terms2024 = getSolarTermsByYear(2024);\nterms2024.forEach(term => {\n  console.log(`${term.name} (${term.nameHanja}): ${term.month}월 ${term.day}일 ${term.hour}시 ${term.minute}분`);\n});\n// 입춘 (立春): 2월 4일 5시 2분\n// 우수 (雨水): 2월 19일 0시 51분\n// ...\n\n// 특정 날짜의 절기 확인\nconst term = getSolarTermForDate(2024, 2, 4);\nif (term) {\n  console.log('2024년 2월 4일은', term.name, '입니다');\n  console.log('절기 시각:', term.month, '월', term.day, '일', term.hour, '시', term.minute, '분');\n}\n// 2024년 2월 4일은 입춘 입니다\n// 절기 시각: 2 월 4 일 5 시 2 분\n```\n\n### 특정 월의 절기 목록\n\n```ts\nimport { getSolarTermsByMonth } from '@fullstackfamily/manseryeok';\n\n// 2024년 2월의 절기\nconst februaryTerms = getSolarTermsByMonth(2024, 2);\nfebruaryTerms.forEach(term => {\n  console.log(`${term.month}/${term.day} ${term.hour}:${String(term.minute).padStart(2, '0')} - ${term.name} (${term.nameHanja})`);\n});\n// 2/4 5:02 - 입춘 (立春)\n// 2/19 1:23 - 우수 (雨水)\n```\n\n### 지원되는 절기 연도 확인\n\n```ts\nimport { getSupportedSolarTermYears } from '@fullstackfamily/manseryeok';\n\nconst supportedYears = getSupportedSolarTermYears();\nconsole.log('절기 데이터 지원 연도:', supportedYears.join(', '));\n// 절기 데이터 지원 연도: 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030\n\n// 참고: 향후 1900~2050년 전체 데이터로 확장 예정\n```\n\n## API 문서\n\n### `solarToLunar(solarYear, solarMonth, solarDay)`\n\n양력을 음력으로 변환합니다.\n\n**매개변수:**\n- `solarYear`: 양력 년 (1900~2050)\n- `solarMonth`: 양력 월 (1~12)\n- `solarDay`: 양력 일 (1~31)\n\n**반환값:** `SolarToLunarResult`\n\n**예외:**\n- `OutOfRangeError`: 지원 범위 밖 연도\n- `InvalidDateError`: 유효하지 않은 날짜\n\n### `lunarToSolar(lunarYear, lunarMonth, lunarDay, isLeapMonth?)`\n\n음력을 양력으로 변환합니다.\n\n**매개변수:**\n- `lunarYear`: 음력 년 (1900~2050)\n- `lunarMonth`: 음력 월 (1~12)\n- `lunarDay`: 음력 일 (1~30)\n- `isLeapMonth`: 윤달 여부 (기본값: false)\n\n**반환값:** `LunarToSolarResult`\n\n### `getGapja(solarYear, solarMonth, solarDay)`\n\n특정 날짜의 60갑자를 계산합니다.\n\n**매개변수:**\n- `solarYear`: 양력 년\n- `solarMonth`: 양력 월\n- `solarDay`: 양력 일\n\n**반환값:** `GapjaResult`\n\n### `calculateSaju(solarYear, solarMonth, solarDay, solarHour?, solarMinute?, options?)`\n\n사주팔자(년주, 월주, 일주, 시주)를 계산합니다. 시간 보정을 자동으로 적용합니다.\n\n**매개변수:**\n- `solarYear`: 양력 년\n- `solarMonth`: 양력 월 (1~12)\n- `solarDay`: 양력 일 (1~31)\n- `solarHour`: 양력 시 (0~23, 선택사항)\n- `solarMinute`: 양력 분 (0~59, 기본값: 0)\n- `options`: 사주 계산 옵션\n  - `longitude`: 경도 (기본값: 127 - 서울)\n  - `applyTimeCorrection`: 시간 보정 적용 여부 (기본값: true)\n\n**반환값:** `SajuResult`\n\n**예시:**\n```ts\nconst saju = calculateSaju(1990, 5, 15, 14, 30);\nconsole.log(saju.yearPillar); // '경오'\nconsole.log(saju.hourPillar); // '계미'\nconsole.log(saju.isTimeCorrected); // true\nconsole.log(saju.correctedTime); // { hour: 13, minute: 58 }\n```\n\n### `calculateSajuSimple(solarYear, solarMonth, solarDay, solarHour?)`\n\n시간 보정 없이 사주팔자를 계산합니다.\n\n**매개변수:**\n- `solarYear`: 양력 년\n- `solarMonth`: 양력 월 (1~12)\n- `solarDay`: 양력 일 (1~31)\n- `solarHour`: 양력 시 (0~23, 선택사항)\n\n**반환값:** `SajuResult`\n\n### `getAllSolarTerms()`\n\n전체 24절기 정보를 조회합니다.\n\n**반환값:** 24절기 정보 배열\n\n### `getSolarTermByName(name)`\n\n절기 이름으로 절기 정보를 조회합니다.\n\n**매개변수:**\n- `name`: 절기 이름 (예: '입춘', '경칩', '동지')\n\n**반환값:** 절기 정보 또는 undefined\n\n### `getSolarTermByIndex(index)`\n\n절기 인덱스로 절기 정보를 조회합니다.\n\n**매개변수:**\n- `index`: 절기 인덱스 (0~23)\n\n**반환값:** 절기 정보\n\n**예외:**\n- `RangeError`: 유효하지 않은 인덱스\n\n### `getSolarTermsBySajuMonth(sajuMonth)`\n\n사주 월에 해당하는 절기 목록을 조회합니다.\n\n**매개변수:**\n- `sajuMonth`: 사주 월 (1~12)\n\n**반환값:** 해당 월의 절기 배열\n\n### `getSajuMonth(month, day)`\n\n양력 날짜를 사주 월로 변환합니다.\n\n사주에서 월주는 절기(節氣)를 기준으로 계산합니다.\n입춘(立春, 2월 4일경)부터 2월, 경칩(驚蟄, 3월 6일경)부터 3월, ...\n\n**매개변수:**\n- `month`: 양력 월 (1~12)\n- `day`: 양력 일 (1~31)\n\n**반환값:** `number` (1~12)\n\n## 지원 범위\n\n| 항목 | 범위 |\n|------|------|\n| 연도 | 1900년 ~ 2050년 |\n| 양력 | 1900-01-01 ~ 2050-12-31 |\n| 음력 | 1900-01-01 ~ 2050-12-31 (윤달 포함) |\n\n## 번들 크기\n\n비트 패킹 압축으로 1900년~2050년 전체 데이터를 경량화했습니다:\n\n| 포맷 | 크기 |\n|------|------|\n| ESM | ~290 KB |\n| CJS | ~290 KB |\n| Gzip | ~95 KB |\n\n데이터 압축 최적화로 원본 11.4MB → 225KB (98% 감소)를 달성했습니다.\n\n## 성능\n\n| 작업 | 시간 |\n|------|------|\n| 양력→음력 변환 | < 0.1ms |\n| 음력→양력 변환 | < 0.1ms |\n| 갑자 계산 | < 0.1ms |\n| 절기 조회 (연도) | < 1ms |\n\n## 변경 이력\n\n### v1.0.8 (2026-03-28)\n\n- **버그 수정**: `\"type\": \"module\"` 제거로 CJS 호환성 수정 (PR [#6](https://github.com/urstory/manseryeok-js/pull/6) by [@Magiof](https://github.com/Magiof))\n  - `\"type\": \"module\"`이 설정되어 있어 CJS 출력(`dist/index.js`)을 Node.js가 ESM으로 해석하려는 문제 수정\n  - ESM 출력 파일을 `.mjs` 확장자로 변경하여 명시적 모듈 포맷 구분\n  - `rollup.config.js` → `rollup.config.mjs` 변경\n\n### v1.0.7 (2026-02-24)\n\n- **버그 수정**: 월주(monthPillarId)가 음력 월초 기준으로 계산되던 문제를 절기(節氣) 기준으로 수정 ([#5](https://github.com/urstory/manseryeok-js/issues/5))\n  - 사주에서 월주는 절기를 기준으로 변경되어야 하나, 원본 데이터가 음력 월초 기준으로 되어 있어 전체 날짜의 약 18%가 잘못된 월주를 반환\n  - 年上起月法(오호둔법)으로 월주를 재계산하여 압축 데이터 재생성\n  - `getSajuMonth()` 기본값 버그 수정: 1월 소한 이전 구간이 축월(12) 대신 자월(11)을 반환하도록 수정\n- **테스트 추가**: 월주 절기 기준 검증 테스트 (26개)\n  - 1996년 전체 월 순환 (11개), 절기 경계 전후 (6개), 오호둔법 연간별 (5개), 경계 연도 1900/2050 (4개)\n\n### v1.0.6 (2026-02-20)\n\n- **버그 수정**: 60갑자 데이터의 지지(地支) 오행 매핑 오류 수정 (PR [#4](https://github.com/urstory/manseryeok-js/pull/4) by [@9ine-won](https://github.com/9ine-won))\n  - 진(辰, 용): 화 → 토 (5곳)\n  - 오(午, 말): 토 → 화 (5곳)\n  - 술(戌, 개): 금 → 토 (5곳)\n  - 올바른 12지지 오행: 子수, 丑토, 寅목, 卯목, 辰토, 巳화, 午화, 未토, 申금, 酉금, 戌토, 亥수\n\n### v1.0.5 (2026-02-11)\n\n- **버그 수정**: 24절기 sajuMonth 매핑 오류 수정 (PR [#2](https://github.com/urstory/manseryeok-js/pull/2) by [@Youshin](https://github.com/Youshin))\n  - 한로~대한(7개 절기)의 sajuMonth가 1씩 밀려있던 off-by-one 오류 수정\n  - 수정 전: sajuMonth=9에 절기 3개, sajuMonth=1에 절기 0개 (비정상)\n  - 수정 후: 모든 sajuMonth(1~12)에 절기 2개(절기+중기)씩 정상 매핑\n- **테스트 추가**: 24절기 sajuMonth 매핑 및 사주월 계산 회귀 테스트 (33개)\n- **문서 수정**: README 예시 결과값을 실제 라이브러리 출력과 일치하도록 수정\n  - 사주 계산 결과 오류, 윤년 판별 오류, 지원 범위 표기, 오타 등\n\n### v1.0.4 (2026-02-02)\n\n- **버그 수정**: 12지지(地支) 동물(띠) 매핑 오류 수정\n  - 인(寅): `호끼` → `호랑이` (오타 수정)\n  - 유(酉): `원숭이` → `닭` (잘못된 매핑 수정)\n  - 술(戌): `닭` → `개` (잘못된 매핑 수정)\n- 60갑자 데이터의 모든 동물 매핑이 올바르게 수정되었습니다\n\n### v1.0.3 (2025-01-15)\n\n- 초기 안정 버전\n- 1900~2050년 음력/양력 변환 지원\n- 사주팔자 계산 (시간 보정 포함)\n- 24절기 정보 조회\n\n## 라이선스\n\nMIT © [urstory](https://github.com/urstory)\n\n## 관련 프로젝트\n\n- [즐거운 사주](https://www.enjoysaju.com) - 한국 사주/운세 서비스\n\n## 기여\n\n이 프로젝트에 기여하고 싶으시다면 [CONTRIBUTING.md](CONTRIBUTING.md)를 참고해 주세요.\n","readmeFilename":"README.md"}