npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mojix

v1.0.1

Published

Moji / Kanji / Unicode analysis and encoding utilities

Readme

Mojix

ESDoc coverage badge MIT License

Mojix is the successor of MojiJS.
This project was renamed to avoid confusion with other libraries named "moji" or "moji.js".

What

  • 日本語・Unicode 文字データを解析および変換するライブラリです。
  • MojiJS の後継ライブラリとして開発されています。
  • API や機能は基本的に MojiJS を引き継いでいます。
    • Mojix では ECMAScript 3 をサポートしていません。JScript 実行環境が必要な場合は、MojiJS をご利用ください。

主な機能

  • エンコード (UTF-8 / UTF-16 / UTF-32 / Shift_JIS / Shift_JIS-2004 / EUC-JP / EUC-JIS-2004)
  • 日本語の変換 (ひらがな / カタカナ / 半角 / 全角 / ローマ字 など)
  • 漢字の判定 (常用漢字 / 人名用漢字 / 面区点 / 漢字水準 など)
  • 自然順ソート

Install

npm install mojix

ESM

  • sample.js
import Mojix from "mojix";
console.log(Mojix);

CommonJS

  • sample.cjs
const Mojix = require("mojix");
console.log(Mojix);

Browser(umd)

  • sample.html

After loading the script, Mojix will be available on globalThis.

<script src=".../umd/mojix.min.js" charset="utf-8"></script>
<script>
/** @typedef {typeof import('.../types/mojix').default} MojixClass */
/** @type {MojixClass} */
const Mojix = /** @type {any} */ (globalThis).Mojix;
console.log(Mojix);
</script>

Sample

エンコード

console.log(Mojix.encode("圡①靁謹𪘂麵", "shift_jis-2004"));
// -> [ 136, 98, 135, 64, 251, 154, 238, 174, 252, 238, 239, 238 ]

console.log(Mojix.decode([0x61, 0xE3, 0x81, 0x82], "utf-8"));
// -> aあ

日本語の変換

console.log(Mojix.toHiragana("カキクケコ"));
// -> かきくけこ

面区点

const data1 = Mojix.getMojiData(Mojix.codePointAt("髙"));
console.log("区点:" + data1.encode.kuten.text + ", 漢字水準:" + data1.type.kanji_suijun);
// -> 区点:118-94, 漢字水準:0
// ※髙は JIS X 0208 に登録されていないので、漢字水準は表示不可

const data2 = Mojix.getMojiData(Mojix.codePointAt("圡"));
console.log("面区点:" + data2.encode.menkuten.text + ", 漢字水準:" + data2.type.kanji_suijun);
// -> 面区点:1-15-35, 漢字水準:3

const data3 = Mojix.getMojiData(Mojix.codePointAt("唁"));
console.log("面区点:" + data3.encode.menkuten.text + ", 漢字水準:" + data3.type.kanji_suijun);
// -> 面区点:2-3-93, 漢字水準:4

自然順ソート

console.log(["3", "02", "あ", "イ", "う", "1"].sort(Mojix.compareToForNatural));
// -> [ '1', '02', '3', 'あ', 'イ', 'う' ]

Author