免責事項:私はJsonixおよびJsonix Schema Compilerの作成者であり、Jsonix Schema Compilerを NPM に統合する標準的な方法を理解しようとしていpackage.json
ます。
NPM パッケージは、コード生成用のjsonix-schema-compiler
Java ベースのツールを提供します。が依存関係としてインストールされている場合は、jsonix-schema-compiler
XML<->JS マッピングの生成に使用できます。呼び出しは次のようなものです。
java -jar node_modules/jsonix-schema-compiler/lib/jsonix-schema-compiler-full.jar
schema.xsd
Mappings.js
これにより、基本的にモジュールのコードの一部であるような JavaScript ファイルが生成されます。
理想的には、jsonix-schema-compiler
上記の呼び出し (java -jar ...
など) は、モジュールのビルド中に実行する必要があります。ただし、モジュールの依存関係がインストールされた後に実行する必要があります(そうしないnode_modules/jsonix-schema-compiler
と、失われます)。
私の質問は、NPM パッケージのどこでコード生成を標準的に構成する必要があるかということです。
今、私は次のpostinstall
ようなスクリプトでそれをやっています:
{
...
"dependencies": {
"jsonix": "x.x.x",
"jsonix-schema-compiler": "x.x.x"
},
"devDependencies" : {
"nodeunit" : "~0.8.6"
},
"scripts": {
"postinstall" : "java -jar node_modules/jsonix-schema-compiler/lib/jsonix-schema-compiler-full.jar schema.xsd",
"test": "nodeunit src/test/javascript/tests.js"
}
}
しかし、これを読んだ:
tl;dr インストールを使用しないでください。コンパイルには .gyp ファイルを使用し、それ以外には事前公開します。
preinstall または install スクリプトを明示的に設定する必要はほとんどありません。これを行っている場合は、別のオプションがあるかどうかを検討してください。
postinstall
もOKなのか今迷っています。
私がやりたいのは、依存関係がインストールされた後、他のこと (テストや公開など) の前に、特定のコマンドライン コマンドを実行できるようにすることだけです。正規にどのようにすればよいですか?