見出し画像

⚙uni-minify 軽量化(JS/CSS/HTML...)・難読化アプリ

サイズを小さくして高速化したい方、読まれないように難読化したい方は、このアプリはとても役立ちます。

以前、プレビュー版を公開しました。

その頃からの変更点として .ts .tsx .tsx に対応や画面を見やすくするなど細かい調整が含まれています。今後は以下を実装予定です。

  • ❌ WPFアプリ化 (優先度:低)

  • ⭕️ .jsx .ts .tsx 対応

  • ❌ .png⁠ ⁠.jpg⁠ ⁠.jpeg⁠ ⁠.gif⁠ ⁠.webp⁠ ⁠.ico などのバイナリ対応

  • ❌ .svg (xml) 対応

  • ❌ .json 対応

⚙uni-minify

▼ダウンロード(2026/07/21)

ブラウザだけで完結する、プロジェクト丸ごと軽量化・難読化ツールです。
サーバーへのアップロードは一切行わず、選択したフォルダの中身はすべてローカル(あなたのブラウザ内)で処理されます。

`minify.html` を開くだけで使用できます。インストール・ビルド・サーバーの用意は不要です。

左がわのアウトプット画面です。
結果です。
右がわのプレビュー画面です。

主な機能

  • フォルダ丸ごと処理:プロジェクトのルートフォルダを選択(またはドラッグ&ドロップ)するだけで、中の `.html` / `.js` / `.jsx` / `.ts` / `.tsx` / `.css` / その他アセットファイルをまとめて処理します。

  • 5つの処理モード

    • As-is(そのまま):ファイル構成の確認・変換のみ行い、コード自体は変更しません。

    • Minify(軽量化):空白・コメントを除去して軽量化します(変数名は変更しません)。

    • Shrink(簡略変換):軽量化に加え、識別子(変数名など)を短く置き換えます。

    • Obfuscate(難読化):コード構造・文字列・識別子を解析困難な形式に変換します。

    • Prettify(整形):読みやすい形にインデント・改行を整えます。

  • TypeScript / JSX / TSX 対応:Babel(`@babel/standalone`)により、`.ts` / `.jsx` / `.tsx` ファイルを自動的に Pure JavaScript へ変換してから処理します。

  • オプション機能

    • ファイルをパッケージング:HTML から参照している `.js` を1本化して HTML 内に埋め込みます。

    • パッケージを Deflate 圧縮(実験的):埋め込み時にコードを圧縮してさらに軽量化します。

    • 最適化 Dot➔Bracket(実験的):頻出するドット記法のプロパティアクセスをブラケット記法+定数に置き換えて容量を削減します。

  • ZIPで一括ダウンロード:処理後のファイル一式を ZIP にまとめて保存できます。

  • 処理前後のファイルプレビュー:ビルドログ内のファイル名をクリックすると、変換後のソースコードをその場で確認できます。

  • 日本語 / English 切り替え:画面右上のボタンで表示言語を切り替えられます。

使い方

  1. `minify.html` をブラウザで開きます。

  2. 先に処理モードと必要なオプションを選びます。

  3. 「📁 フォルダを選択」ボタン、またはプロジェクトフォルダ(や ZIP ファイル)のドラッグ&ドロップで処理対象を指定します。

    • ⚠️ フォルダを選択・ドロップした瞬間にその時点の設定でビルドが開始されます。モードやオプションを後から選ぶことはできないため、必ず手順2を先に済ませてください。

    • 設定を変更したい場合は、モード/オプションを選び直してから、再度フォルダを選択(またはドロップ)してビルドをやり直してください。

  4. ビルドログが表示され、処理が完了すると「💾 保存」ボタンが有効になります。

  5. ボタンを押すと、処理後のファイル一式が ZIP としてダウンロードされます。

対応環境

  • モダンブラウザ(Chrome / Edge 推奨)。

  • フォルダ選択には File System Access API(`showDirectoryPicker`)を優先的に使用し、非対応ブラウザ(Firefox / Safari など)では従来の `<input type="file" webkitdirectory>` 方式に自動的にフォールバックします。

  • 「パッケージを Deflate 圧縮」オプションはブラウザ標準の `CompressionStream` / `DecompressionStream` に対応したブラウザでのみ動作します。

注意事項・免責事項

  • 本ツールは 現状有姿(AS IS) で提供されます。処理結果の正確性・完全性・特定目的への適合性についていかなる保証も行いません。

  • 難読化(Obfuscate)は解析コストを引き上げるものであり、完全な秘匿・改ざん防止を保証するものではありません。機密情報(APIキーや秘密鍵など)をクライアントサイドのコードに含めないでください。

  • 処理後のファイルは、本番環境へ反映する前に必ず動作確認を行ってください。ビルドログには構文チェックの自己診断結果が表示されますが、実行時の全ての挙動を保証するものではありません。

  • 処理前のオリジナルファイルは自動的にバックアップされません。必要に応じて事前にご自身でバックアップを取ってください。

  • 本ツールの使用によって生じたいかなる損害についても、作者は責任を負いません(詳細は LICENSE.txt を参照してください)。

開発者向けの情報(内部構成・アーキテクチャなど)は DEVELOPMENT.md を参照してください。

ライセンス

本ソフトウェアは MIT License の下で公開されています。

同梱している以下のサードパーティ製ライブラリについても、それぞれのライセンス条文を LICENSE.txt に記載しています。

| ライブラリ | ファイル | ライセンス |
| --- | --- | --- |
| javascript-obfuscator | `obfuscator.js` | BSD 2-Clause "Simplified" License |
| JSZip | `jszip.min.js` | MIT License |
| Babel (`@babel/standalone`) | `babel.min.js` | MIT License |

いいなと思ったら応援しよう!

遊月 悉く書を信ずれば則ち書無きに如かず