Wakaruは、Modern FrontendのJavaScript Decompilerです。バンドルされた導入されたソースから元のコードを戻します。
詳細な例については、ライブデモを参照してください。
トランスピールコードを読み取り可能なフォームに変換し、ダウングレードされた構文を復元します。
次のトランスピラーをサポートします。
詳細については、ドキュメントをお読みください。
バンドルされたJavaScriptを分離したモジュールに変換します
次のバンドラーをサポートします。
ツールをテストし、遊び場で動作していることを確認してください。
デフォルトでは、CLIはインタラクティブモードで実行され、プロセスをガイドします。
また、オプションを渡して、インタラクティブモードでいくつかのステップをスキップすることもできます。
npx @wakaru/cli
# or
pnpm dlx @wakaru/clinpx @wakaru/cli --helpオプションの完全なリストを表示します。
| オプション | デフォルト | 説明 |
|---|---|---|
--output | "out" | 出力ディレクトリ |
--force | false | 出力ディレクトリを上書きします |
--concurrency | 1 | 同時タスクの数を特定 |
--perf | false | パフォーマンスメトリックを表示します |
--perf-output | パフォーマンスメトリック出力ディレクトリ |
--concurrencyを使用して、プロセスをスピードアップできます。ただし、入力ファイルが大きすぎる場合は、プロセスがOOMになる可能性があることに注意してください。
非対話モードでCLIを実行する場合は、最初の引数として機能名を渡すことで機能を指定できます。
unpackerとunminify 、対応する機能のみを実行します。
all unpacker両方を実行し、順番にunminify 。
npx @wakaru/cli all <files...> [options]
npx @wakaru/cli unpacker <files...> [options]
npx @wakaru/cli unminify <files...> [options]
これらのオプションは、 allモードでのみ使用できます。
| オプション | デフォルト | 説明 |
|---|---|---|
--unpacker-output | "out/unpack" | アンパッカー出力ディレクトリをオーバーライドします |
--unminify-output | "out/unminify" | 出力ディレクトリを無効にします |
単一の機能を実行する場合( unpackerまたはunminify )、CLIは、 --outputオプションで指定されたパスのみを使用します。これは、サブディレクトリ( out/unpack and out/unminify )が出力ディレクトリ内で自動的に作成されるallモードとは異なり、シングル機能モードで、出力ファイルは、追加のサブディレクトリなしで指定された--outputディレクトリに直接配置されることを意味します。
npm install @wakaru/unpacker @wakaru/unminify
# or
pnpm install @wakaru/unpacker @wakaru/unminify
# or
yarn add @wakaru/unpacker @wakaru/unminify@wakaru/unpacker import { unpack } from '@wakaru/unpacker' ;
const { modules , moduleIdMapping } = await unpack ( sourceCode ) ;
for ( const mod of modules ) {
const filename = moduleIdMapping [ mod . id ] ?? `module- ${ mod . id } .js` ;
fs . writeFileSync ( outputPath , mod . code , 'utf-8' ) ;
}@wakaru/unminify import { runDefaultTransformationRules , runTransformationRules } from '@wakaru/unminify' ;
const file = {
source : '...' , // source code
path : '...' , // path to the file, used for advanced usecases. Can be empty.
}
// This function will apply all rules that are enabled by default.
const { code } = await runDefaultTransformationRules ( file ) ;
// You can also specify the rules to apply. Order matters.
const rules = [
'un-esm' ,
...
]
const { code } = await runTransformationRules ( file , rules ) ;/unminify/src/transformations/index.tsですべてのルールを確認できます。
このプロジェクトはまだ早期に開発中であることに注意してください。 APIは将来変化する可能性があります。
そして、これらのパッケージのバンドルサイズは巨大です。将来的に減少する可能性があります。ブラウザには注意して使用します(はい、遊び場のように、ブラウザで実行できます)。
相互の同意なしにターゲットを攻撃するためのwakaruの使用は違法です。適用されるすべてのローカル、州、連邦の法律に従うことは、エンドユーザーの責任です。開発者は責任を負い、このプログラムによって引き起こされた誤用や損害について責任を負いません。
mit