summaryrefslogtreecommitdiff
path: root/cli/tools/installer.rs
AgeCommit message (Collapse)Author
2023-04-14refactor: break up `ProcState` (#18707)David Sherret
1. Breaks up functionality within `ProcState` into several other structs to break out the responsibilities (`ProcState` is only a data struct now). 2. Moves towards being able to inject dependencies more easily and have functionality only require what it needs. 3. Exposes `Arc<T>` around the "service structs" instead of it being embedded within them. The idea behind embedding them was to reduce the verbosity of needing to pass around `Arc<...>`, but I don't think it was exactly working and as we move more of these structs to be more injectable I don't think the extra verbosity will be a big deal.
2023-04-13refactor(cli,ext,ops): cleanup `regex` with `lazy-regex` (#17296)Yiyu Lin
- bump deps: the newest `lazy-regex` need newer `oncecell` and `regex` - reduce `unwrap` - remove dep `lazy_static` - make more regex cached --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-04-12refactor: `ProcState::build` -> `ProcState::from_flags` (#18672)David Sherret
2023-04-06refactor(npm): use deno_npm and deno_semver (#18602)David Sherret
2023-03-14refactor(core): resolve_url_or_path and resolve_url_or_path_deprecated (#18170)Bartek Iwańczuk
This commit changes current "deno_core::resolve_url_or_path" API to "resolve_url_or_path_deprecated" and adds new "resolve_url_or_path" API that requires to explicitly pass the directory from which paths should be resolved to. Some of the call sites were updated to use the new API, the reminder of them will be updated in a follow up PR. Towards landing https://github.com/denoland/deno/pull/15454
2023-02-21fix(npm): improve peer dependency resolution (#17835)David Sherret
This PR fixes peer dependency resolution to only resolve peers based on the current graph traversal path. Previously, it would resolve a peers by looking at a graph node's ancestors, which is not correct because graph nodes are shared by different resolutions. It also stores more information about peer dependency resolution in the lockfile.
2023-02-15refactor: use deno_graph's semver and npm structs (#17791)David Sherret
2023-02-10feat(install): follow redirects for urls with no path (#17449)Kamil Ogórek
This change makes absolute urls, that contain no path like `deno install https://my-cli.io` to follow redirects and extract the name from it. It allows modifies `test_util` server listener on port `4550` (`REDIRECT_ABSOLUTE_PORT`) to allow for specifying `redirect_to` query param, that fill use that value for it's next redirect. Fixes https://github.com/denoland/deno/issues/17409
2023-01-28fix(install): tsconfig.json -> deno.json for config file suffix (#17573)David Sherret
Closes #17571
2023-01-27chore: upgrade to Rust 1.67 (#17548)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-18refactor(cli): Integrate standalone mode cert handling into `Flags` (#17419)Andreu Botella
The way the standalone mode handles the `--cert` flag is different to all other modes. This is because `--cert` takes a path to the certificate file, which is directly added to the root cert store; except for compile mode, where its byte contents are stored in the standalone metadata, and they are added to the root cert store after the `ProcState` is created. This change instead changes `Flags::ca_file` (an `Option<String>`) into `Flags::ca_data`, which can represent a `String` file path or a `Vec<u8>` with the certificate contents. That way, standalone mode can create a `ProcState` whose root cert store alreay contains the certificate. This change also adds a tests for certificates in standalone mode, since there weren't any before. This refactor will help with implementing web workers in standalone mode in the future.
2023-01-08fix(install): should always include `--no-config` in shim unless `--config` ↵David Sherret
is specified (#17300) Closes #17294
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-17chore: update to Rust 1.66.0 (#17078)linbingquan
2022-12-16fix(install): use a hidden file for the lockfile and config (#17084)David Sherret
Closes #17083
2022-12-09fix: respect the `--quiet` flag in more cases (#16998)David Sherret
2022-12-09refactor: cleanup main.rs (#16996)David Sherret
1. Extracts out some code from main.rs 2. Inlines all the `x_command` functions in main.rs
2022-12-08fix(compile): ensure import map is used when specified in deno config file ↵David Sherret
(#16990) Closes #14246
2022-11-28refactor: create util folder, move nap_sym to napi/sym, move http_cache to ↵David Sherret
cache folder (#16857)
2022-11-21fix(install): `deno install -f` should overwrite lockfile from previous ↵David Sherret
installation (#16744)
2022-11-14fix(install): support npm specifiers (#16634)David Sherret
Supports npm specifiers for `deno install`. This will by default always use a lockfile (which is generated on first run) unless `--no-lock` is specified.
2022-10-12fix(cli): skip removing the latter part if `@` appears at the beginning (#16244)Yusuke Tanaka
This commit prevents panics that `deno compile` command ran into under certain conditions from occurring. Such conditions are as follows. - the target file name begins with `@`, OR - the stem part of the target file name is equal to one of ["main", "index", "mod", "index"] && the parent directory name starts with `@` Fixes #16243
2022-09-07feat: add --no-npm flag to disable npm: imports (#15673)Bartek Iwańczuk
This commit adds "--no-npm" flag, it's similar to "--no-remote" flag. This flag makes Deno error out if "npm:" specifier is encountered.
2022-09-03BREAKING(unstable): remove --compat mode (#15678)Bartek Iwańczuk
This commit removes "compat" mode. We shipped support for "npm:" specifier support in v1.25 and that is preferred way to interact with Node code that we will iterate and improve upon.
2022-06-27refactor: create `args` folder (#14982)David Sherret
2022-06-13feat: no type-check by default (#14691)Bartek Iwańczuk
This commit changes default default behavior of type checking for several subcommands. Instead of type checking and reporting type errors only for local files, the type checking is skipped entirely. Type checking can still be enabled using the "--check" flag. Following subcomands are affected: - deno cache - deno install - deno eval - deno run
2022-05-17feat: subcommands type-check only local files by default (#14623)Bartek Iwańczuk
This commit changes default mode of type-checking to "local" and adds "--check" flag to following subcommands: - deno bench - deno bundle - deno cache - deno compile - deno eval - deno install - deno test
2022-05-13feat: add --no-config flag (#14555)Bartek Iwańczuk
This flag disables loading of configuration file, ie. it will not be automatically discovered and loaded. Of course this flag conflicts with "--config" flag and they cannot be used together.
2022-04-11feat: Add "deno check" subcommand for type checking (#14072)Bartek Iwańczuk
This commit adds new "deno check" subcommand. Currently it is an alias for "deno cache" with the difference that remote modules don't emit TS diagnostics by default. Prints warning for "deno run" subcommand if "--check" flag is not present and there's no "--no-check" flag. Adds "DENO_FUTURE_CHECK" env variable that allows to opt into new behavior now.
2022-04-06fix(cli/install): preserve compat flag (#14223)Valentin Anger
2022-04-01chore(tests): use custom temp dir creation for the tests (#14153)David Sherret
2022-03-29refactor(flags): rename CheckFlag to TypecheckMode (#14111)Bartek Iwańczuk
2022-03-22fix(tests): do not use global env vars in install tests (#14078)David Sherret
2022-02-24chore: upgrade to Rust 1.59 (#13767)David Sherret
2022-02-12feat: permission prompt by default (#13650)Ryan Dahl
2022-01-15chore: upgrade to rust 1.58 (#13377)David Sherret
2022-01-14refactor(installer): refactor installer code to be more testable (#13374)David Sherret
2022-01-14fix(cli): fix `deno install --prompt` (#13349)Tomofumi Chiba
2022-01-10fix: install shim with `--allow-all` should not output each permission ↵David Sherret
individually (#13325)
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2021-12-21refactor: cleanup cli/main.rs (#13160)Bartek Iwańczuk
2021-12-18refactor: use `once_cell` instead of `lazy_static` (#13135)Divy Srivastava
2021-12-04chore: upgrade to Rust 1.57.0 (#12968)Bartek Iwańczuk
2021-11-30feat: add `--no-check=remote` flag (#12766)Kitson Kelly
Closes #11970
2021-09-30feat(cli/uninstall): add uninstall command (#12209)Sylvain Cau
2021-08-11chore: move test files to testdata directory (#11601)David Sherret
2021-07-06chore: use parking_lot for synchronization primitives to align with tokio ↵David Sherret
(#11289) parking_lot is already transitively used in tokio via the "full" cargo feature
2021-06-23ci: run Linux release builds in sysroot with Ubuntu 18.04 and LLVM (#10920)Bert Belder
2021-05-19fix(deno install): support `file:` scheme URLs (#10562)Satya Rohith
2021-05-10fix(cli/installer): allow remote import maps (#10499)Satya Rohith