mirror of
https://github.com/denoland/deno.git
synced 2024-11-28 16:20:57 -05:00
ce7dc2be92
Adds support for running npm package lifecycle scripts, opted into via a new `--allow-scripts` flag. With this PR, when running `deno cache` (or `DENO_FUTURE=1 deno install`) you can specify the `--allow-scripts=pkg1,pkg2` flag to run lifecycle scripts attached to the given packages. Note at the moment this only works when `nodeModulesDir` is true (using the local resolver). When a package with un-run lifecycle scripts is encountered, we emit a warning suggesting things may not work and to try running lifecycle scripts. Additionally, if a package script implicitly requires `node-gyp` and it's not found on the system, we emit a warning. Extra things in this PR: - Extracted out bits of `task.rs` into a separate module for reuse - Added a couple fields to `process.config` in order to support `node-gyp` (it relies on a few variables being there) - Drive by fix to downloading new npm packages to test registry --- TODO: - [x] validation for allow-scripts args (make sure it looks like an npm package) - [x] make allow-scripts matching smarter - [ ] figure out what issues this closes --- Review notes: - This adds a bunch of deps to our test registry due to using `node-gyp`, so it's pretty noisy |
||
---|---|---|
.. | ||
bench_tests.rs | ||
bundle_tests.rs | ||
cache_tests.rs | ||
check_tests.rs | ||
compile_tests.rs | ||
coverage_tests.rs | ||
doc_tests.rs | ||
eval_tests.rs | ||
flags_tests.rs | ||
fmt_tests.rs | ||
info_tests.rs | ||
init_tests.rs | ||
inspector_tests.rs | ||
install_tests.rs | ||
js_unit_tests.rs | ||
jsr_tests.rs | ||
jupyter_tests.rs | ||
lint_tests.rs | ||
lsp_tests.rs | ||
mod.rs | ||
node_compat_tests.rs | ||
node_unit_tests.rs | ||
npm_tests.rs | ||
pm_tests.rs | ||
publish_tests.rs | ||
repl_tests.rs | ||
run_tests.rs | ||
serve_tests.rs | ||
shared_library_tests.rs | ||
task_tests.rs | ||
test_tests.rs | ||
upgrade_tests.rs | ||
vendor_tests.rs | ||
watcher_tests.rs | ||
worker_tests.rs |