--allow-scripts
#Deno #npm #セキュリティ
Denoでnpmパッケージのライフサイクルスクリプトを実行するための機能です (Deno v1.45で導入)
Denoはデフォルトでnpmパッケージのライフサイクルスクリプトを実行しません
ライフサイクルスクリプトを含むnpmパッケージをダウンロードすると、以下のような警告が表示されます
code:shell
$ deno cache npm:duckdb@1.0.0
warning: Packages contained npm lifecycle scripts (preinstall/install/postinstall) that were not executed.
This may cause the packages to not work correctly. To run them, use the --allow-scripts flag with deno cache
(e.g. deno cache --allow-scripts=pkg1,pkg2 <entrypoint>):
npm:duckdb@1.0.0
--allow-scriptsにnpmパッケージを指定することで、そのパッケージにのみ限定してライフサイクルスクリプトの実行を許可することができます
code:shell
$ deno cache --allow-scripts=npm:duckdb@1.0.0 npm:duckdb@1.0.0
関連ページ
trustedDependencies - Bunにおける類似の仕組み
Denoのnpmパッケージサポート
Denoのパーミッションシステム