TypeScriptは実行可能ではないファイルを変換するように見えます。TypeScripts transpileファイル(実行不可能)
私はファイルを実行可能にするために蒸散後にchmod u+x <file>
を実行しなければなりません。
これは、彼らがhashbang持っている場合でも、ケースです:
#!/usr/bin/env node
私は実行可能なファイルを作成するために、活字体/ TSCを伝えることができますどのように?
TypeScriptは実行可能ではないファイルを変換するように見えます。TypeScripts transpileファイル(実行不可能)
私はファイルを実行可能にするために蒸散後にchmod u+x <file>
を実行しなければなりません。
これは、彼らがhashbang持っている場合でも、ケースです:
#!/usr/bin/env node
私は実行可能なファイルを作成するために、活字体/ TSCを伝えることができますどのように?
ファイルのアクセス権を変更するのはタイスクリプトの責任ではありません。
解決方法1. package.jsonのビルドプロセスで別の手順を使用します。たとえば:
{
"name": "temp",
"version": "1.0.0",
"scripts": {
"build": "tsc && chmod +x build/index.js"
},
"dependencies": {
"typescript": "^2.3.4"
}
}
ソリューション2.
はTypeScript Language Service Pluginを書きます。私は、あなたの場合、これは大胆であると思います。
huh? tscは文字通りファイルを.ts-> .js + .d.tsに書き出します。ファイルの書き込みに使用する権限を選択できます。このビルドステップは不要です。 –
@AlexanderMillsがビルド中にパーミッションを変更するのは、デフォルトで安全にしようとすると無責任なものになります。デフォルトでは今やっていることをやり遂げることができると主張することもできますが、そのコードにバグがある可能性に対処する必要があります。 typescriptが非常に特定の問題に焦点を当てている場合、特にチームが他の機能要求を無視してしまうと、コンパイラが通常責任を負う可能性があります。 – Catalyst
ええと、実行可能だが書き込みはできない.jsファイルを作成するにはTSが本当に必要です。私はなぜTSがこれを設定することを許可しないのか分かりません。 –
また、生成された.jsファイルをデフォルトで書き込み不可能にするようにtypescriptを設定したいと考えています。 –
こんにちは、@Alexander Mills。あなたは変更の権利のためにあなたのモチベーションを使用してtypescriptコンパイラを提供できますか? – galkin