{"_id":"mmd-parser","_rev":"14-9e195417d3a49755f4537b7a2e473455","name":"mmd-parser","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"mmd-parser","version":"1.0.0","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.0.0","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"ec0732b6790891f6ecb17d2a9576a290871336f8","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.0.tgz","integrity":"sha512-TWWfcBZlCdV5Fov/r4oj7wdqRanClKS/nU0uTTLqUoA+fgiUMJC4Wy1iQ9r8xTuJHPcjCBaiDxj04GPx9w4Jng==","signatures":[{"sig":"MEQCIBIkVNop+SDSlmAXhaZHY7do1YeVXzHqlYrwNWaM0oB/AiAZo/GFf0DZVm9VwO2jkegY9soaojh6zRmpcJFuCU3g2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"build/mmdparser.js.js","_from":".","_shasum":"ec0732b6790891f6ecb17d2a9576a290871336f8","gitHead":"7f89512a3c041b2224a6c61669ddcb2a880fff17","scripts":{"all":"npm run build && npm run build-uglify && npm run test","dev":"rollup -c -w","test":"node test/index.js","build":"rollup -c","build-uglify":"rollup -c && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"2.15.9","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"4.6.0","devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","charset-encoder-js":"^1.0.0","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser-1.0.0.tgz_1479016833011_0.561763844685629","host":"packages-12-west.internal.npmjs.com"}},"1.0.1":{"name":"mmd-parser","version":"1.0.1","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.0.1","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"9fee5de803a546498a1779ffb844c9701f5bd54c","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.1.tgz","integrity":"sha512-6H0ZkDDKvXmBW79QK5paAKlhlN3XHNygkgXLKUH79LS8IWq6F8ePSANxV7zOWP43wOPhVkbjjE5bPNYjLuTkiA==","signatures":[{"sig":"MEUCIFLnTJnzs4DUsGxoSeX5ezVMjXfXzk0AVdB1G/tzp2OjAiEAv5rrzDiZ0W6v6/gxUakfEqFXSgrav7TGEuIInuf96PI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"build/mmdparser.js.js","_from":".","_shasum":"9fee5de803a546498a1779ffb844c9701f5bd54c","gitHead":"e32476f66497e5132a6988f47b48f8c38dc18092","scripts":{"all":"npm run build && npm run build-uglify && npm run test","dev":"rollup -c -w","test":"node test/index.js","build":"rollup -c","build-uglify":"rollup -c && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"2.15.9","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"4.6.0","devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","charset-encoder-js":"^1.0.0","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser-1.0.1.tgz_1479017130043_0.6393142275046557","host":"packages-12-west.internal.npmjs.com"}},"1.0.2":{"name":"mmd-parser","version":"1.0.2","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.0.2","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"97411f2e4397822f39f8f59be9e45a7618e02976","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.2.tgz","integrity":"sha512-euAxq8N7lV/BCPjrecB+LMe5bakipvyrQD6hg00mbLoq0KLLk56U6fN4PIcFjXnW1QAo0sTw53gbso9KIOoLUQ==","signatures":[{"sig":"MEQCIFdl5w/vXfbNsmws+Lsfyin1N1S04Xv6Y97EufXMgSodAiAk3EmpsUg/u1w9AjP33ElGZWeVnNYDsx1QFNRhZ57fyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"build/mmdparser.js","_from":".","_shasum":"97411f2e4397822f39f8f59be9e45a7618e02976","gitHead":"9da188458456e1dbba0a77a340f93cdacad482d8","scripts":{"all":"npm run build && npm run build-uglify && npm run test","dev":"rollup -c -w","test":"node test/index.js","build":"rollup -c","build-uglify":"rollup -c && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"2.15.9","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"4.6.0","devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","charset-encoder-js":"^1.0.0","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser-1.0.2.tgz_1479033958556_0.013871958246454597","host":"packages-18-east.internal.npmjs.com"}},"1.0.3":{"name":"mmd-parser","version":"1.0.3","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.0.3","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"7e4e475d076729e592c3e6bbe9298d7b841ed3ed","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.3.tgz","integrity":"sha512-EkJaXICuZUvLk4Mf/Ga7mq12xSVwWVKCmr5apeL+C60KJN9fmOQa+QA3CjbjTKIwI/oTn9NjwGMjGTH2hxNVLw==","signatures":[{"sig":"MEYCIQDkiqJZTEX1Rw2FK4U4O0IjFHWDMmSxIPsq72eDdScY2gIhAPNcFYU9xNzWhcVoUl2d9EUI+53JsHOsxZOoFXPx2pxE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"build/mmdparser.js","_from":".","_shasum":"7e4e475d076729e592c3e6bbe9298d7b841ed3ed","gitHead":"62dc90b2255eb3a9a83fbfb665ee037deed54056","scripts":{"all":"npm run build && npm run build-uglify && npm run test","dev":"rollup -c -w","test":"node test/index.js","build":"rollup -c","build-uglify":"rollup -c && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"2.15.9","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"4.6.0","devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","charset-encoder-js":"^1.0.0","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser-1.0.3.tgz_1479189308635_0.5796950240619481","host":"packages-12-west.internal.npmjs.com"}},"1.0.4":{"name":"mmd-parser","version":"1.0.4","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.0.4","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"87cc05782cb5974ca854f0303fc5147bc9d690e7","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.4.tgz","fileCount":14,"integrity":"sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg==","signatures":[{"sig":"MEYCIQCDA/SekCSgdRnjsh8ELU9JX8QFEWXSrdIYrUiF6Ozr6QIhAOVJeUBgIa7zqifGfLNVCPgGkmpfB+4N7HujO9OAS9sy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP01wCRA9TVsSAnZWagAAlv4QAJ0n409ELJGwYinRxdwa\nQqpso87TzZOjG/oDU5R/F6El50OSGCZ9uyO8VNtCK+kQweLRneTPH+EV3maW\nsWJK9sSK+zL01yh1XhjZMvo4XSvBkLo8uo+X1GUxUPKIkSjo7SwOSm/ussud\n5dTSI4rihaj2IWnP423sBJeezjQeDpohzATtuW3aCeQtnoiMJperYFG2+/rh\nMC+H6gL32l+ZilO0MIUzNpnH8NZZ9kWbXvDdgY4r0+j5C+RAxxZFygawYOan\nDjRJN3SHSpR9l83NTz2KD0GgikOeXK38aQD0ygwUQS2rm1iPYHzAfr5vuwj5\nkgVbrBOESIhq4on2t77QkUBz4E4KRaH4dvTYQknKR2aoiFgEK6Ke3/TTioFJ\ndvJR+AnAlDcg0uBpJBweplRYgVhRf/LmUsOX+6GOmJmwsrNFAVlpDSZHWGlK\nDU6Stwyb2oaLwbGbl4kWqsFMTPM/QH/ldbE3VcImL/79L+YcQ+8IIHaGSqYz\nLieSfwvwqPhZ78HF4TpwwjXy1OSF3AcBZ01xGiXQrGtGkX7gZl/ssovsQcFt\na9R4cDOIJxrYKsECU3BftDXAEkUee1GkTo28EQNs51PE7C1HG5tbYSXjTRwL\n1Cp+2/wzrBe74fRoFqFdlCKadpUr8DGev+Tf4CxHp87OCZd3G7/5OiuCArBd\nJM6i\r\n=n0ba\r\n-----END PGP SIGNATURE-----\r\n"},"main":"build/mmdparser.js","gitHead":"c304766146dbbef944460e72a01b625d1aacf673","scripts":{"all":"npm run build && npm run build-uglify && npm run test","dev":"rollup -c -w","test":"node test/index.js","build":"rollup -c","build-uglify":"rollup -c && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"6.14.4","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"12.16.3","_hasShrinkwrap":false,"devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","charset-encoder-js":"^1.0.1","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser_1.0.4_1614761328068_0.6634966972718808","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"mmd-parser","version":"1.1.0","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.1.0","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"3ce16e73d4a084f2e27f073eef0a884551e1b3d2","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.1.0.tgz","fileCount":13,"integrity":"sha512-iDgqPdW+qTBJskaS9dggmHmT/qf2VoGvt20PN8yApmFqHSnT8sngPTFhdZz9/kCsey42RWLrMJfrYuKMh8nqWQ==","signatures":[{"sig":"MEUCIB8VcCs0maP+3T+bEHSiwNDSJpLg6d1xUDSTaMWdF3YVAiEAjdSHNWhxMCH53qsHzc6s18sXW3wQ/rslXNR/7Danaxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCtImxcsf268V3kx7/UmNrTj4uexUgaJ6+2TBk8r5Bj0AIgcyhcDlUk7vF2An4ir/xlXk2KrwZevZXV821bV/bdy2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":476674},"main":"build/mmdparser.js","types":"build/types/index.d.ts","gitHead":"6ccf360aa0be23f394d5796872eaf149e51fe366","scripts":{"all":"npm run build-uglify && npm run typecheck && npm run test:offline && npm test","dev":"node scripts/dev.js","test":"node test/index.js","build":"tsc && rollup -c && node scripts/copy-types.js","typecheck":"tsc --noEmit && tsc -p test/tsconfig.json","build-uglify":"npm run build && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js","test:offline":"node test/offline.js","test:package":"node scripts/test-package.js"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"11.6.2","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","typescript":"~5.9.3","charset-encoder-js":"^1.0.1","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser_1.1.0_1791207771788_0.3739445399458867","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"mmd-parser","version":"1.1.1","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.1.1","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"c4314ad416627ae21e0a2ba683884d8799b4d35e","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.1.1.tgz","fileCount":15,"integrity":"sha512-x1Y1iYYi26es0WfdHlSWmp6K5DR7aQrvRZv4nUz7hiDniRx3RCVzDZRQQpVimXI+A+J9YqLdUifiSHEUkLKVfg==","signatures":[{"sig":"MEUCIC/N9h2aOujYGwyLoT+PKMvDZwTEGaeRwFhlRuNRxCsRAiEA8ebt2Bfr8sFNTQKhcNVw+PYxPvJlzFnSJgVE8hIMksc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCQz9eTm5vWFplpKYvoQWET06m7fIeYqgBkR2Rn+wVtrgIgVOCRxIGTm/pJkOteyZOsrw6wwJ6RFTM8p1bstw2nCs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638627},"main":"build/mmdparser.js","types":"build/types/index.d.ts","exports":{".":{"import":{"types":"./build/types/index.d.mts","default":"./build/mmdparser.module.mjs"},"default":"./build/mmdparser.js","require":{"types":"./build/types/index.d.ts","default":"./build/mmdparser.js"}},"./package.json":"./package.json","./build/mmdparser.js":"./build/mmdparser.js","./build/mmdparser.min.js":"./build/mmdparser.min.js","./build/mmdparser.module.js":"./build/mmdparser.module.js","./build/mmdparser.module.mjs":"./build/mmdparser.module.mjs"},"gitHead":"16a66f8708f33bcaa01b28be9d93a579325b7443","scripts":{"all":"npm run build-uglify && npm run typecheck && npm run test:offline && npm test","dev":"node scripts/dev.js","test":"node test/index.js","build":"tsc && rollup -c && node scripts/copy-types.js","typecheck":"tsc --noEmit && tsc -p test/tsconfig.json","build-uglify":"npm run build && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js","test:offline":"node test/offline.js","test:package":"node scripts/test-package.js"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"11.6.2","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","typescript":"~5.9.3","charset-encoder-js":"^1.0.1","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser_1.1.1_1791247188930_0.435667612727209","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"mmd-parser","version":"1.1.2","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.1.2","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"412f7c3e7f722ce5f9774289081ea09a01fc9a07","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.1.2.tgz","fileCount":15,"integrity":"sha512-A1b2pViFBNWiA7ZCLPrMSUFB7FyJ17n3UsTMrSdMPuV+LYatwM00n2XpIJuCZbRVFnmbgEfTN4/VPOfpbl5t0A==","signatures":[{"sig":"MEUCIF5abiSTGNULTOCMdWXTwb5qnz8YVtyolRmRsTze+XDUAiEAv7pjTbQQhET9kykInanTjV8rM9IG6byRYfG6XF580Zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHYCBGtn0ddptUpGsPZjGAt9dqJtmNTh3zvasZn60yDkAiBDiVzd7cao3fiBCAU0DbJ8DbLUqiVEhsxswRO3lpQi8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641350},"main":"build/mmdparser.js","types":"build/types/index.d.ts","exports":{".":{"import":{"types":"./build/types/index.d.mts","default":"./build/mmdparser.module.mjs"},"default":"./build/mmdparser.js","require":{"types":"./build/types/index.d.ts","default":"./build/mmdparser.js"}},"./package.json":"./package.json","./build/mmdparser.js":"./build/mmdparser.js","./build/mmdparser.min.js":"./build/mmdparser.min.js","./build/mmdparser.module.js":"./build/mmdparser.module.js","./build/mmdparser.module.mjs":"./build/mmdparser.module.mjs"},"gitHead":"a2f6078cf4e488f21d4f59ab267ad52cfdbe0065","scripts":{"all":"npm run build-uglify && npm run typecheck && npm run test:offline && npm test","dev":"node scripts/dev.js","test":"node test/index.js","build":"tsc && rollup -c && node scripts/copy-types.js","prepack":"npm run build-uglify","typecheck":"tsc --noEmit && tsc -p test/tsconfig.json","build-uglify":"npm run build && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js","test:offline":"node test/offline.js","test:package":"node scripts/test-package.js","prepublishOnly":"npm run build-uglify && npm run typecheck && npm run test:offline && npm run test:package"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"11.6.2","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","typescript":"~5.9.3","charset-encoder-js":"^1.0.1","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser_1.1.2_1791345507980_0.7951859009809421","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"mmd-parser","version":"1.1.3","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","_id":"mmd-parser@1.1.3","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"homepage":"https://github.com/takahirox/mmd-parser#readme","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"bd7f1a5eb91efde4d5e73ef8659b22bba822c289","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.1.3.tgz","fileCount":15,"integrity":"sha512-l8mGfEVktofagTkiPmgDUJgzHA97s73fk90COrTwb+1zvGsQKjozh50eO2Y3ZWhhkCipvvpgycqNqYfp4IozWw==","signatures":[{"sig":"MEUCIEjoGO6vJ31fxar89mJ04x/Na4ukvavn95UJmc3lBLmkAiEAiIHilJe+LQPUIm3NKRd4k5K467l2foAOaVXLmKJHOzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC8PgFmXzGK8d3EoakbGh3nP5I/5HG1TOXNhUmwNWgClAiADzyy01IL29CuOrPQ0WglxjiZKj+A2ys3wJbcthzd6UQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642541},"main":"build/mmdparser.js","types":"build/types/index.d.ts","exports":{".":{"import":{"types":"./build/types/index.d.mts","default":"./build/mmdparser.module.mjs"},"default":"./build/mmdparser.js","require":{"types":"./build/types/index.d.ts","default":"./build/mmdparser.js"}},"./package.json":"./package.json","./build/mmdparser.js":"./build/mmdparser.js","./build/mmdparser.min.js":"./build/mmdparser.min.js","./build/mmdparser.module.js":"./build/mmdparser.module.js","./build/mmdparser.module.mjs":"./build/mmdparser.module.mjs"},"gitHead":"9fd5ad76be0f2bba418aac9ce61d896bd6e5d57b","scripts":{"all":"npm run build-uglify && npm run typecheck && npm run test:offline && npm test","dev":"node scripts/dev.js","test":"node test/index.js","build":"tsc && rollup -c && node scripts/copy-types.js","prepack":"npm run build-uglify","typecheck":"tsc --noEmit && tsc -p test/tsconfig.json","build-uglify":"npm run build && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js","test:offline":"node test/offline.js","test:package":"node scripts/test-package.js","prepublishOnly":"npm run build-uglify && npm run typecheck && npm run test:offline && npm run test:package"},"_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"11.6.2","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","typescript":"~5.9.3","charset-encoder-js":"^1.0.1","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mmd-parser_1.1.3_1791431282648_0.6573185667414259","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"_id":"mmd-parser@1.1.4","bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"dist":{"shasum":"9c8431410785464a5a167c09144177b54fcb3a4e","tarball":"https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.1.4.tgz","fileCount":15,"integrity":"sha512-9RzWvlEYJSsUMH8KJ7eIvxIdaiYLprH7+UkDXoO1NuINRuzz7sVqzH7+Mr2cFTf8YPOiCW+9ncD1CT882CTC1A==","signatures":[{"sig":"MEQCIBItyfbiGHpxaZpMgVDkGWhbgVKg9BEk6mmyC2Eoq84uAiB6u9bJUiyJhLKVX6N9H+MWH0VvlkIN6OAtKM9ZDPMGgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBAxpkgcJ2ko+j0YycU7sGsX7f9M5ErKtFXTyl5UprZ1AiBH9gJNZ7xYV+TDW8q0ZGTp2KHSXzsny9mCbjFWd5h1fg=="}],"unpackedSize":643870},"main":"build/mmdparser.js","name":"mmd-parser","types":"build/types/index.d.ts","author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"exports":{".":{"import":{"types":"./build/types/index.d.mts","default":"./build/mmdparser.module.mjs"},"default":"./build/mmdparser.js","require":{"types":"./build/types/index.d.ts","default":"./build/mmdparser.js"}},"./package.json":"./package.json","./build/mmdparser.js":"./build/mmdparser.js","./build/mmdparser.min.js":"./build/mmdparser.min.js","./build/mmdparser.module.js":"./build/mmdparser.module.js","./build/mmdparser.module.mjs":"./build/mmdparser.module.mjs"},"gitHead":"4813063474de3c63bcc209593ecb4720b12e217a","license":"MIT","scripts":{"all":"npm run build-uglify && npm run typecheck && npm run test:offline && npm test","dev":"node scripts/dev.js","test":"node test/index.js","build":"tsc && rollup -c && node scripts/copy-types.js","prepack":"npm run build-uglify","typecheck":"tsc --noEmit && tsc -p test/tsconfig.json","build-uglify":"npm run build && uglifyjs build/mmdparser.js -cm --preamble \"// https://github.com/takahirox/mmd-parser#readme\" > build/mmdparser.min.js","test:offline":"node test/offline.js","test:package":"node scripts/test-package.js","prepublishOnly":"npm run build-uglify && npm run typecheck && npm run test:offline && npm run test:package"},"version":"1.1.4","_npmUser":{"name":"takahirox","email":"hogehoge@gachapin.jp"},"homepage":"https://github.com/takahirox/mmd-parser#readme","repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"_npmVersion":"11.6.2","description":"MMD parser","directories":{},"jsnext:main":"build/mmdparser.module.js","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"xhr2":"^0.1.3","rollup":"^0.36.3","uglify-js":"^2.7.4","typescript":"~5.9.3","charset-encoder-js":"^1.0.1","rollup-plugin-commonjs":"^5.0.5","rollup-plugin-node-resolve":"^2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mmd-parser_1.1.4_1791444217107_0.3292194381933289"}}},"time":{"created":"2016-11-13T06:00:33.237Z","modified":"2026-10-08T07:23:37.377Z","1.0.0":"2016-11-13T06:00:33.237Z","1.0.1":"2016-11-13T06:05:30.260Z","1.0.2":"2016-11-13T10:46:00.886Z","1.0.3":"2016-11-15T05:55:08.863Z","1.0.4":"2021-03-03T08:48:48.281Z","1.1.0":"2026-10-05T13:42:51.898Z","1.1.1":"2026-10-06T00:39:49.029Z","1.1.2":"2026-10-07T03:58:28.062Z","1.1.3":"2026-10-08T03:48:02.748Z","1.1.4":"2026-10-08T07:23:37.203Z"},"bugs":{"url":"https://github.com/takahirox/mmd-parser/issues"},"author":{"url":"https://github.com/takahirox","name":"Takahiro","email":"hogehoge@gachapin.jp"},"license":"MIT","homepage":"https://github.com/takahirox/mmd-parser#readme","repository":{"url":"git+https://github.com/takahirox/mmd-parser.git","type":"git"},"description":"MMD parser","maintainers":[{"name":"takahirox","email":"hogehoge@gachapin.jp"}],"readme":"# MMD Parser\n\nmmd-parser parses MMD ArrayBuffer/Strings and generates Object.\n\n## Contributing\n\nSee the [development flow](docs/development-flow.md) for Issue authoring, build and\ntest commands, and PR preparation, and the [review guidelines](docs/review-guidelines.md)\nfor review, merge, and Issue closure guidance for contributors and AI agents.\nSee the [release procedure](docs/releases.md) for preparing a release, then running\n`npm publish` from a clean, updated `master` checkout. npm builds and validates the\npackage automatically; authentication and post-publication Git tagging remain\nseparate maintainer actions.\n\n\n## Browser\n\n### How to use\n```\n<script src=\"./build/mmdparser.js\"></script>\n<script>\n  var parser = new MMDParser.Parser();\n\n  function load (url, responseType, mimeType, onLoad, onProgress, onError) {\n    var request = new XMLHttpRequest();\n    request.open('GET', url, true);\n    request.addEventListener('load', function (event) {\n      var response = event.target.response;\n      if (this.status === 200) {\n        onLoad(response);\n      } else if (this.status === 0) {\n        console.warn('HTTP Status 0 received.');\n        onLoad(response);\n      } else {\n        console.warn('HTTP Status ' + this.status + ' received.');\n        onError(event);\n      }\n    }, false);\n    if (onProgress !== undefined) request.addEventListener('progress', onProgress, false);\n    if (onError !== undefined) request.addEventListener('error', onError, false);\n    request.responseType = responseType;\n    if (mimeType !== undefined) request.overrideMimeType(mimeType)\n    request.send(null);\n    console.log('downloading: ' + url);\n  }\n\n  function testPmd () {\n    console.log('PMD parse test');\n    load(\n      'https://raw.githubusercontent.com/mrdoob/three.js/2898f5b1ba10b1e94174c0a62d072f5f7b80442c/examples/models/mmd/miku/miku_v2.pmd',\n      'arraybuffer',\n      undefined,\n      function (buffer) {\n        var pmd = parser.parsePmd(buffer);\n        console.log(pmd);\n      }\n    );\n  }\n\n  testPmd();\n</script>\n```\n\n### methods\n* MMDParser.Parser\n  * parsePmd(buffer, leftToRight)\n  * parsePmx(buffer, leftToRight)\n  * parseVmd(buffer, leftToRight)\n  * parseVpd(text, leftToRight)\n  * mergeVmds(vmds)\n  * leftToRightModel(model)\n  * leftToRightVmd(vmd)\n  * leftToRightVpd(vpd)\n\n\n## NPM\n\n### How to install\n```\n$ npm install mmd-parser\n```\n\n### How to build\n```\n$ npm install\n$ npm run build-uglify\n$ npm run typecheck\n$ npm run test:offline\n```\n\nThe maintained source is `index.ts` and `src/*.ts`. TypeScript runs with\n`strict` and `noUncheckedIndexedAccess`; `npm run typecheck` checks the source\nand compile-only public type contracts. `npm run build` compiles to an ignored\n`.typescript-tmp/compiled/` directory, bundles the UMD, browser ES module, and\nnative Node ESM outputs, and writes declarations to `build/types/`.\n`build-uglify` also regenerates the minified browser bundle. `npm run dev` watches\nTypeScript and rebuilds the bundles and declarations after each successful\ncompilation.\n\nThe offline tests use small synthetic PMD, PMX, VMD, and VPD fixtures with\nassertions against all four rebuilt bundles and a browser global smoke check.\nThey cover the parser's currently supported sections; they do not establish\nsupport for additional PMX features. `npm test` retains the original sample\nsmoke script, which downloads real PMD, VMD, and VPD samples from\n`raw.githubusercontent.com`, pinned to Three.js r171 commit\n`2898f5b1ba10b1e94174c0a62d072f5f7b80442c`, as in\n[three-mmd-loader](https://github.com/takahirox/three-mmd-loader/blob/main/examples/README.md#assets-and-credits).\nIt requires network access and does not exercise PMX. `npm run all` runs the\nbuild, type checks, offline tests, and this sample script in sequence.\n\nAfter building, `npm run test:package` packs and inspects the npm artifact, installs\nit in a temporary consumer outside the repository, and checks CommonJS and native\nNode ESM runtime exports and strict TypeScript imports from `mmd-parser` with\n`node`, `node16`, `nodenext`, and `bundler` resolution. Only runtime bundles,\ndeclarations, package metadata, the README, and the license are distributed.\nThe validator packs the completed build with lifecycle scripts disabled, so it\ncan also run safely inside `prepublishOnly`. `npm publish` runs the build, type\nchecks, offline tests, and package consumer checks before publication; `prepack`\nbuilds all bundles and declarations for both publication and standalone `npm pack`.\n\n### How to load\n\nES modules (including native Node ESM):\n\n```js\nimport { MMDParser, Parser, CharsetEncoder } from 'mmd-parser';\n\nconst parser = new Parser(); // also new MMDParser.Parser()\n```\n\nCommonJS:\n\n```js\nconst { MMDParser, Parser, CharsetEncoder } = require('mmd-parser');\n\nconst parser = new Parser();\n```\n\nThe package's conditional `exports` select the native `.mjs` bundle for imports\nand the UMD/CommonJS bundle for `require()`. Package-root imports do not require\nan internal `build/` path or the legacy `jsnext:main` field. The existing `main`\nand `jsnext:main` entries remain for older tools.\n\nFor direct browser loading, `build/mmdparser.js` and `build/mmdparser.min.js`\nremain UMD script bundles, and `build/mmdparser.module.js` remains an ES module\nbundle for `<script type=\"module\">`. These bundle subpaths remain exported for\ntools that resolve them through the package.\n\n\n### TypeScript\n\nThe existing exports and runtime methods are unchanged. Declarations are resolved\nthrough conditional `types` exports for ESM and CommonJS, with the top-level\n`types` entry retained for older TypeScript resolution. Parser results and nested\nrecords can be imported as types:\n\n```ts\nimport { MMDParser, Parser, CharsetEncoder } from 'mmd-parser';\nimport type { Pmd, Pmx, Vmd, Vpd, Vector3 } from 'mmd-parser';\n\nconst parser = new Parser(); // also new MMDParser.Parser()\nconst model: Pmd = parser.parsePmd(buffer, true); // buffer is an ArrayBuffer\nconst position: Vector3 | undefined = model.vertices[0]?.position;\n```\n\nThe types describe existing runtime behavior: English PMD fields are optional,\nmerged VMD metadata omits `magic`, and coordinate state is `left` or `right`.\nPMX skinning and supported morphs use variant records and fixed tuples. Skinning\ntypes are BDEF1 (`0`), BDEF2 (`1`), BDEF4 (`2`), and SDEF (`3`). SDEF exposes two\nbone indices, two weights, and the three-component `skinC`, `skinR0`, and `skinR1`\nvectors. This corrects the earlier SDEF type `1` fallback; consumers should use\n`vertex.type === 3` to access SDEF data. These vectors retain their original parsed\nvalues, without shader-specific corrections. `parsePmx(buffer, true)` and\n`leftToRightModel` negate their Z components along with vertex positions and\nnormals; converting an already right-handed model has no effect. PMX bone morphs\n(`type === 2`) retain `{ index, position, rotation }` elements. Right-handed\nconversion negates translation Z and quaternion X/Y, preserving quaternion Z/W,\nas for VMD bone motions and VPD poses. Parsing with conversion omitted or `false`\npreserves the original values. Group references and UV/material morph payloads\nremain unchanged. Unsupported morph types retain empty element arrays. Existing\nPMX text decoding and version checks are preserved.\n\n\n## Copyright\n\nThe sample assets have separate terms and are not covered by this package's MIT\nlicense. Consult the pinned Three.js\n[asset license summary](https://github.com/mrdoob/three.js/blob/2898f5b1ba10b1e94174c0a62d072f5f7b80442c/examples/models/mmd/Readme.txt)\nand each author's original archive and notices before using them. Downloading\nthese samples does not grant redistribution or commercial-use rights.\n\n- Miku v2 model: bundled MikuMikuDance model (MMD / Yu Higuchi), modeled by\n  Animasa; character © Crypton Future Media.\n  [Model notice](https://github.com/mrdoob/three.js/blob/2898f5b1ba10b1e94174c0a62d072f5f7b80442c/examples/models/mmd/miku/readme_miku_v2.txt).\n- WAVEFILE dance: hino.\n  [Motion notice](https://github.com/mrdoob/three.js/blob/2898f5b1ba10b1e94174c0a62d072f5f7b80442c/examples/models/mmd/vmds/readme_wavefile.txt).\n- Shooting poses: KEITEL.\n  [Pose notice](https://github.com/mrdoob/three.js/blob/2898f5b1ba10b1e94174c0a62d072f5f7b80442c/examples/models/mmd/vpds/readme.txt).\n\nYou are allowed to use Crypton's Vocaloid(Hatsune Miku, Kagamine Rin, and so on)\nstuffs (MMD models, songs, and so on) only if you follow the guideline set by\nCrypton Future Media, INC. for the usage of its characters.\n\nFor detail, see http://piapro.net/en_for_creators.html\n","readmeFilename":"Readme.md"}