summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-08-06 21:56:56 -0400
committerGitHub <noreply@github.com>2023-08-06 21:56:56 -0400
commitb9b03869489213fa9b24d7416afe9e3e27c81ce7 (patch)
tree7727f2906b0864b1242c9d8030ca6416ee053409 /cli
parent7b5bc87f296d39e531051e1c0bb6cafa3808ab92 (diff)
feat(unstable): rename `deno_modules` to `vendor` (#20065)
Renames the unstable `deno_modules` directory and corresponding settings to `vendor` after feedback. Also causes the vendoring of the `node_modules` directory which can be disabled via `--node-modules-dir=false` or `"nodeModulesDir": false`.
Diffstat (limited to 'cli')
-rw-r--r--cli/args/config_file.rs18
-rw-r--r--cli/args/flags.rs42
-rw-r--r--cli/args/mod.rs35
-rw-r--r--cli/cache/http_cache/local.rs2
-rw-r--r--cli/factory.rs2
-rw-r--r--cli/lsp/config.rs14
-rw-r--r--cli/lsp/documents.rs6
-rw-r--r--cli/lsp/language_server.rs2
-rw-r--r--cli/schemas/config-file.v1.json6
-rw-r--r--cli/tests/integration/lsp_tests.rs14
-rw-r--r--cli/tests/integration/npm_tests.rs14
-rw-r--r--cli/tests/integration/run_tests.rs55
-rw-r--r--cli/tools/coverage/mod.rs2
-rw-r--r--cli/tools/fmt.rs2
-rw-r--r--cli/tools/lint.rs2
-rw-r--r--cli/util/fs.rs24
16 files changed, 126 insertions, 114 deletions
diff --git a/cli/args/config_file.rs b/cli/args/config_file.rs
index bbbc60e4d..6b3f96cd3 100644
--- a/cli/args/config_file.rs
+++ b/cli/args/config_file.rs
@@ -673,7 +673,7 @@ pub struct ConfigFileJson {
pub lock: Option<Value>,
pub exclude: Option<Value>,
pub node_modules_dir: Option<bool>,
- pub deno_modules_dir: Option<bool>,
+ pub vendor: Option<bool>,
}
#[derive(Clone, Debug)]
@@ -855,16 +855,16 @@ impl ConfigFile {
self.json.import_map.clone()
}
- pub fn node_modules_dir(&self) -> Option<bool> {
+ pub fn node_modules_dir_flag(&self) -> Option<bool> {
self.json.node_modules_dir
}
- pub fn deno_modules_dir(&self) -> Option<bool> {
- self.json.deno_modules_dir
+ pub fn vendor_dir_flag(&self) -> Option<bool> {
+ self.json.vendor
}
- pub fn deno_modules_dir_path(&self) -> Option<PathBuf> {
- if self.json.deno_modules_dir == Some(true) {
+ pub fn vendor_dir_path(&self) -> Option<PathBuf> {
+ if self.json.vendor == Some(true) {
Some(
self
.specifier
@@ -872,7 +872,7 @@ impl ConfigFile {
.unwrap()
.parent()
.unwrap()
- .join("deno_modules"),
+ .join("vendor"),
)
} else {
None
@@ -903,8 +903,8 @@ impl ConfigFile {
Vec::new()
};
- if self.deno_modules_dir() == Some(true) {
- exclude.push("deno_modules".to_string());
+ if self.vendor_dir_flag() == Some(true) {
+ exclude.push("vendor".to_string());
}
let raw_files_config = SerializedFilesConfig {
diff --git a/cli/args/flags.rs b/cli/args/flags.rs
index 790a9d83f..fdfb65f62 100644
--- a/cli/args/flags.rs
+++ b/cli/args/flags.rs
@@ -389,7 +389,7 @@ pub struct Flags {
pub type_check_mode: TypeCheckMode,
pub config_flag: ConfigFlag,
pub node_modules_dir: Option<bool>,
- pub deno_modules_dir: Option<bool>,
+ pub vendor: Option<bool>,
pub enable_testing_features: bool,
pub ext: Option<String>,
pub ignore: Vec<PathBuf>,
@@ -1560,7 +1560,7 @@ TypeScript compiler cache: Subdirectory containing TS compiler output.",
.arg(config_arg())
.arg(import_map_arg())
.arg(node_modules_dir_arg())
- .arg(deno_modules_dir_arg())
+ .arg(vendor_arg())
.arg(
Arg::new("json")
.long("json")
@@ -2107,7 +2107,7 @@ Remote modules and multiple modules may also be specified:
.arg(import_map_arg())
.arg(lock_arg())
.arg(node_modules_dir_arg())
- .arg(deno_modules_dir_arg())
+ .arg(vendor_arg())
.arg(reload_arg())
.arg(ca_file_arg()))
}
@@ -2122,7 +2122,7 @@ fn compile_args_without_check_args(app: Command) -> Command {
.arg(no_remote_arg())
.arg(no_npm_arg())
.arg(node_modules_dir_arg())
- .arg(deno_modules_dir_arg())
+ .arg(vendor_arg())
.arg(config_arg())
.arg(no_config_arg())
.arg(reload_arg())
@@ -2846,14 +2846,14 @@ fn node_modules_dir_arg() -> Arg {
.help("Enables or disables the use of a local node_modules folder for npm packages")
}
-fn deno_modules_dir_arg() -> Arg {
- Arg::new("deno-modules-dir")
- .long("deno-modules-dir")
+fn vendor_arg() -> Arg {
+ Arg::new("vendor")
+ .long("vendor")
.num_args(0..=1)
.value_parser(value_parser!(bool))
.default_missing_value("true")
.require_equals(true)
- .help("UNSTABLE: Enables or disables the use of a local deno_modules folder for remote modules")
+ .help("UNSTABLE: Enables or disables the use of a local vendor folder for remote modules and node_modules folder for npm packages")
}
fn unsafely_ignore_certificate_errors_arg() -> Arg {
@@ -3143,7 +3143,7 @@ fn info_parse(flags: &mut Flags, matches: &mut ArgMatches) {
import_map_arg_parse(flags, matches);
location_arg_parse(flags, matches);
ca_file_arg_parse(flags, matches);
- node_and_deno_modules_dir_arg_parse(flags, matches);
+ node_modules_and_vendor_dir_arg_parse(flags, matches);
lock_arg_parse(flags, matches);
no_lock_arg_parse(flags, matches);
no_remote_arg_parse(flags, matches);
@@ -3420,7 +3420,7 @@ fn vendor_parse(flags: &mut Flags, matches: &mut ArgMatches) {
config_args_parse(flags, matches);
import_map_arg_parse(flags, matches);
lock_arg_parse(flags, matches);
- node_and_deno_modules_dir_arg_parse(flags, matches);
+ node_modules_and_vendor_dir_arg_parse(flags, matches);
reload_arg_parse(flags, matches);
flags.subcommand = DenoSubcommand::Vendor(VendorFlags {
@@ -3446,7 +3446,7 @@ fn compile_args_without_check_parse(
import_map_arg_parse(flags, matches);
no_remote_arg_parse(flags, matches);
no_npm_arg_parse(flags, matches);
- node_and_deno_modules_dir_arg_parse(flags, matches);
+ node_modules_and_vendor_dir_arg_parse(flags, matches);
config_args_parse(flags, matches);
reload_arg_parse(flags, matches);
lock_args_parse(flags, matches);
@@ -3739,12 +3739,12 @@ fn no_npm_arg_parse(flags: &mut Flags, matches: &mut ArgMatches) {
}
}
-fn node_and_deno_modules_dir_arg_parse(
+fn node_modules_and_vendor_dir_arg_parse(
flags: &mut Flags,
matches: &mut ArgMatches,
) {
flags.node_modules_dir = matches.remove_one::<bool>("node-modules-dir");
- flags.deno_modules_dir = matches.remove_one::<bool>("deno-modules-dir");
+ flags.vendor = matches.remove_one::<bool>("vendor");
}
fn reload_arg_validate(urlstr: &str) -> Result<String, String> {
@@ -6315,9 +6315,8 @@ mod tests {
}
#[test]
- fn deno_modules_dir() {
- let r =
- flags_from_vec(svec!["deno", "run", "--deno-modules-dir", "script.ts"]);
+ fn vendor_flag() {
+ let r = flags_from_vec(svec!["deno", "run", "--vendor", "script.ts"]);
assert_eq!(
r.unwrap(),
Flags {
@@ -6325,17 +6324,12 @@ mod tests {
script: "script.ts".to_string(),
watch: Default::default(),
}),
- deno_modules_dir: Some(true),
+ vendor: Some(true),
..Flags::default()
}
);
- let r = flags_from_vec(svec![
- "deno",
- "run",
- "--deno-modules-dir=false",
- "script.ts"
- ]);
+ let r = flags_from_vec(svec!["deno", "run", "--vendor=false", "script.ts"]);
assert_eq!(
r.unwrap(),
Flags {
@@ -6343,7 +6337,7 @@ mod tests {
script: "script.ts".to_string(),
watch: Default::default(),
}),
- deno_modules_dir: Some(false),
+ vendor: Some(false),
..Flags::default()
}
);
diff --git a/cli/args/mod.rs b/cli/args/mod.rs
index 7b3b0aa83..31a09216f 100644
--- a/cli/args/mod.rs
+++ b/cli/args/mod.rs
@@ -541,7 +541,7 @@ pub struct CliOptions {
flags: Flags,
initial_cwd: PathBuf,
maybe_node_modules_folder: Option<PathBuf>,
- maybe_deno_modules_folder: Option<PathBuf>,
+ maybe_vendor_folder: Option<PathBuf>,
maybe_config_file: Option<ConfigFile>,
maybe_package_json: Option<PackageJson>,
maybe_lockfile: Option<Arc<Mutex<Lockfile>>>,
@@ -577,11 +577,8 @@ impl CliOptions {
maybe_package_json.as_ref(),
)
.with_context(|| "Resolving node_modules folder.")?;
- let maybe_deno_modules_folder = resolve_deno_modules_folder(
- &initial_cwd,
- &flags,
- maybe_config_file.as_ref(),
- );
+ let maybe_vendor_folder =
+ resolve_vendor_folder(&initial_cwd, &flags, maybe_config_file.as_ref());
Ok(Self {
flags,
@@ -590,7 +587,7 @@ impl CliOptions {
maybe_lockfile,
maybe_package_json,
maybe_node_modules_folder,
- maybe_deno_modules_folder,
+ maybe_vendor_folder,
overrides: Default::default(),
})
}
@@ -863,7 +860,7 @@ impl CliOptions {
self
.maybe_config_file
.as_ref()
- .and_then(|c| c.node_modules_dir())
+ .and_then(|c| c.node_modules_dir_flag())
})
}
@@ -874,8 +871,8 @@ impl CliOptions {
.map(|path| ModuleSpecifier::from_directory_path(path).unwrap())
}
- pub fn deno_modules_dir_path(&self) -> Option<&PathBuf> {
- self.maybe_deno_modules_folder.as_ref()
+ pub fn vendor_dir_path(&self) -> Option<&PathBuf> {
+ self.maybe_vendor_folder.as_ref()
}
pub fn resolve_root_cert_store_provider(
@@ -1188,7 +1185,9 @@ fn resolve_node_modules_folder(
) -> Result<Option<PathBuf>, AnyError> {
let use_node_modules_dir = flags
.node_modules_dir
- .or_else(|| maybe_config_file.and_then(|c| c.node_modules_dir()));
+ .or_else(|| maybe_config_file.and_then(|c| c.node_modules_dir_flag()))
+ .or(flags.vendor)
+ .or_else(|| maybe_config_file.and_then(|c| c.vendor_dir_flag()));
let path = if use_node_modules_dir == Some(false) {
return Ok(None);
} else if let Some(state) = &*NPM_PROCESS_STATE {
@@ -1209,28 +1208,28 @@ fn resolve_node_modules_folder(
Ok(Some(canonicalize_path_maybe_not_exists(&path)?))
}
-fn resolve_deno_modules_folder(
+fn resolve_vendor_folder(
cwd: &Path,
flags: &Flags,
maybe_config_file: Option<&ConfigFile>,
) -> Option<PathBuf> {
- let use_deno_modules_dir = flags
- .deno_modules_dir
- .or_else(|| maybe_config_file.and_then(|c| c.deno_modules_dir()))
+ let use_vendor_dir = flags
+ .vendor
+ .or_else(|| maybe_config_file.and_then(|c| c.vendor_dir_flag()))
.unwrap_or(false);
// Unlike the node_modules directory, there is no need to canonicalize
// this directory because it's just used as a cache and the resolved
// specifier is not based on the canonicalized path (unlike the modules
// in the node_modules folder).
- if !use_deno_modules_dir {
+ if !use_vendor_dir {
None
} else if let Some(config_path) = maybe_config_file
.as_ref()
.and_then(|c| c.specifier.to_file_path().ok())
{
- Some(config_path.parent().unwrap().join("deno_modules"))
+ Some(config_path.parent().unwrap().join("vendor"))
} else {
- Some(cwd.join("deno_modules"))
+ Some(cwd.join("vendor"))
}
}
diff --git a/cli/cache/http_cache/local.rs b/cli/cache/http_cache/local.rs
index e7077800c..04883b3ba 100644
--- a/cli/cache/http_cache/local.rs
+++ b/cli/cache/http_cache/local.rs
@@ -28,7 +28,7 @@ use super::CachedUrlMetadata;
use super::HttpCache;
use super::HttpCacheItemKey;
-/// A deno_modules http cache for the lsp that provides functionality
+/// A vendor/ folder http cache for the lsp that provides functionality
/// for doing a reverse mapping.
#[derive(Debug)]
pub struct LocalLspHttpCache {
diff --git a/cli/factory.rs b/cli/factory.rs
index f78611553..e9a50aada 100644
--- a/cli/factory.rs
+++ b/cli/factory.rs
@@ -248,7 +248,7 @@ impl CliFactory {
pub fn http_cache(&self) -> Result<&Arc<dyn HttpCache>, AnyError> {
self.services.http_cache.get_or_try_init(|| {
let global_cache = self.global_http_cache()?.clone();
- match self.options.deno_modules_dir_path() {
+ match self.options.vendor_dir_path() {
Some(local_path) => {
let local_cache =
LocalHttpCache::new(local_path.clone(), global_cache);
diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs
index b84f63edc..13bfdd75d 100644
--- a/cli/lsp/config.rs
+++ b/cli/lsp/config.rs
@@ -475,10 +475,8 @@ impl Config {
.and_then(|p| p.maybe_node_modules_dir.as_ref())
}
- pub fn maybe_deno_modules_dir_path(&self) -> Option<PathBuf> {
- self
- .maybe_config_file()
- .and_then(|c| c.deno_modules_dir_path())
+ pub fn maybe_vendor_dir_path(&self) -> Option<PathBuf> {
+ self.maybe_config_file().and_then(|c| c.vendor_dir_path())
}
pub fn maybe_config_file(&self) -> Option<&ConfigFile> {
@@ -816,7 +814,13 @@ fn resolve_node_modules_dir(config_file: &ConfigFile) -> Option<PathBuf> {
// `nodeModulesDir: true` setting in the deno.json file. This is to
// reduce the chance of modifying someone's node_modules directory
// without them having asked us to do so.
- if config_file.node_modules_dir() != Some(true) {
+ let explicitly_disabled = config_file.node_modules_dir_flag() == Some(false);
+ if explicitly_disabled {
+ return None;
+ }
+ let enabled = config_file.node_modules_dir_flag() == Some(true)
+ || config_file.vendor_dir_flag() == Some(true);
+ if !enabled {
return None;
}
if config_file.specifier.scheme() != "file" {
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs
index dbaecb95c..7fdce9923 100644
--- a/cli/lsp/documents.rs
+++ b/cli/lsp/documents.rs
@@ -1184,7 +1184,7 @@ impl Documents {
document_preload_limit: usize,
maybe_import_map: Option<&import_map::ImportMap>,
maybe_jsx_config: Option<&JsxImportSourceConfig>,
- maybe_deno_modules_dir: Option<bool>,
+ maybe_vendor_dir: Option<bool>,
maybe_package_json_deps: Option<&PackageJsonDeps>,
) -> u64 {
let mut hasher = FastInsecureHasher::default();
@@ -1199,7 +1199,7 @@ impl Documents {
hasher.write_str(&import_map.to_json());
hasher.write_str(import_map.base_url().as_str());
}
- hasher.write_hashable(maybe_deno_modules_dir);
+ hasher.write_hashable(maybe_vendor_dir);
hasher.write_hashable(maybe_jsx_config);
if let Some(package_json_deps) = &maybe_package_json_deps {
// We need to ensure the hashing is deterministic so explicitly type
@@ -1234,7 +1234,7 @@ impl Documents {
options.document_preload_limit,
options.maybe_import_map.as_deref(),
maybe_jsx_config.as_ref(),
- options.maybe_config_file.and_then(|c| c.deno_modules_dir()),
+ options.maybe_config_file.and_then(|c| c.vendor_dir_flag()),
maybe_package_json_deps.as_ref(),
);
let deps_provider =
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs
index 06fefcaeb..7a13e2396 100644
--- a/cli/lsp/language_server.rs
+++ b/cli/lsp/language_server.rs
@@ -906,7 +906,7 @@ impl Inner {
// update the cache path
let global_cache = Arc::new(GlobalHttpCache::new(dir.deps_folder_path()));
let maybe_local_cache =
- self.config.maybe_deno_modules_dir_path().map(|local_path| {
+ self.config.maybe_vendor_dir_path().map(|local_path| {
Arc::new(LocalLspHttpCache::new(local_path, global_cache.clone()))
});
let cache: Arc<dyn HttpCache> = maybe_local_cache
diff --git a/cli/schemas/config-file.v1.json b/cli/schemas/config-file.v1.json
index 97633d113..4b60482e3 100644
--- a/cli/schemas/config-file.v1.json
+++ b/cli/schemas/config-file.v1.json
@@ -429,11 +429,11 @@
}
},
"nodeModulesDir": {
- "description": "Enables or disables the use of a local node_modules folder for npm packages. Alternatively, use the `--node-modules-dir` or `--node-modules-dir=false` flag. Requires Deno 1.34 or later.",
+ "description": "Enables or disables the use of a local node_modules folder for npm packages. Alternatively, use the `--node-modules-dir` flag or override the config via `--node-modules-dir=false`. Requires Deno 1.34 or later.",
"type": "boolean"
},
- "denoModulesDir": {
- "description": "UNSTABLE: Enables or disables the use of a local deno_modules folder as a local cache for remote modules. Alternatively, use the `--deno-modules-dir` or `--deno-modules-dir=false` flag. Requires Deno 1.36 or later.",
+ "vendor": {
+ "description": "UNSTABLE: Enables or disables the use of a local vendor folder as a local cache for remote modules and node_modules folder for npm packages. Alternatively, use the `--vendor` flag or override the config via `--vendor=false`. Requires Deno 1.36.1 or later.",
"type": "boolean"
},
"tasks": {
diff --git a/cli/tests/integration/lsp_tests.rs b/cli/tests/integration/lsp_tests.rs
index 28591d631..d540c5f37 100644
--- a/cli/tests/integration/lsp_tests.rs
+++ b/cli/tests/integration/lsp_tests.rs
@@ -8768,7 +8768,7 @@ fn lsp_node_modules_dir() {
}
#[test]
-fn lsp_deno_modules_dir() {
+fn lsp_vendor_dir() {
let context = TestContextBuilder::new()
.use_http_server()
.use_temp_cwd()
@@ -8804,11 +8804,11 @@ fn lsp_deno_modules_dir() {
cache(&mut client);
- assert!(!temp_dir.path().join("deno_modules").exists());
+ assert!(!temp_dir.path().join("vendor").exists());
temp_dir.write(
temp_dir.path().join("deno.json"),
- "{ \"denoModulesDir\": true, \"lock\": false }\n",
+ "{ \"vendor\": true, \"lock\": false }\n",
);
let refresh_config = |client: &mut LspClient| {
client.write_notification(
@@ -8852,10 +8852,10 @@ fn lsp_deno_modules_dir() {
// no caching necessary because it was already cached. It should exist now
assert!(temp_dir
.path()
- .join("deno_modules/http_localhost_4545/subdir/mod1.ts")
+ .join("vendor/http_localhost_4545/subdir/mod1.ts")
.exists());
- // the declaration should be found in the deno_modules directory
+ // the declaration should be found in the vendor directory
let res = client.write_request(
"textDocument/references",
json!({
@@ -8869,7 +8869,7 @@ fn lsp_deno_modules_dir() {
}),
);
- // ensure that it's using the deno_modules directory
+ // ensure that it's using the vendor directory
let references = res.as_array().unwrap();
assert_eq!(references.len(), 2, "references: {:#?}", references);
let uri = references[1]
@@ -8881,7 +8881,7 @@ fn lsp_deno_modules_dir() {
.unwrap();
let file_path = temp_dir
.path()
- .join("deno_modules/http_localhost_4545/subdir/mod1.ts");
+ .join("vendor/http_localhost_4545/subdir/mod1.ts");
let remote_file_uri = file_path.uri_file();
assert_eq!(uri, remote_file_uri.as_str());
diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs
index 34b6add26..c44335efc 100644
--- a/cli/tests/integration/npm_tests.rs
+++ b/cli/tests/integration/npm_tests.rs
@@ -2023,8 +2023,14 @@ pub fn node_modules_dir_config_file() {
let deno_cache_cmd = test_context.new_command().args("cache --quiet main.ts");
deno_cache_cmd.run();
+ assert!(node_modules_dir.exists());
+ // now try adding a vendor flag, it should exist
+ rm_node_modules();
+ temp_dir.write("deno.json", r#"{ "vendor": true }"#);
+ deno_cache_cmd.run();
assert!(node_modules_dir.exists());
+
rm_node_modules();
temp_dir.write("deno.json", r#"{ "nodeModulesDir": false }"#);
@@ -2040,6 +2046,14 @@ pub fn node_modules_dir_config_file() {
.args("cache --quiet --node-modules-dir main.ts")
.run();
assert!(node_modules_dir.exists());
+
+ // should override the `--vendor` flag
+ rm_node_modules();
+ test_context
+ .new_command()
+ .args("cache --quiet --node-modules-dir=false --vendor main.ts")
+ .run();
+ assert!(!node_modules_dir.exists());
}
#[test]
diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs
index 25046253e..ce837a2a4 100644
--- a/cli/tests/integration/run_tests.rs
+++ b/cli/tests/integration/run_tests.rs
@@ -102,8 +102,9 @@ itest!(_017_import_redirect_check {
output: "run/017_import_redirect.ts.out",
});
-itest!(_017_import_redirect_deno_modules_dir {
- args: "run --quiet --reload --deno-modules-dir --check $TESTDATA/run/017_import_redirect.ts",
+itest!(_017_import_redirect_vendor_dir {
+ args:
+ "run --quiet --reload --vendor --check $TESTDATA/run/017_import_redirect.ts",
output: "run/017_import_redirect.ts.out",
temp_cwd: true,
});
@@ -163,9 +164,9 @@ itest!(_027_redirect_typescript {
http_server: true,
});
-itest!(_027_redirect_typescript_deno_modules_dir {
+itest!(_027_redirect_typescript_vendor_dir {
args:
- "run --quiet --reload --deno-modules-dir $TESTDATA/run/027_redirect_typescript.ts",
+ "run --quiet --reload --vendor $TESTDATA/run/027_redirect_typescript.ts",
output: "run/027_redirect_typescript.ts.out",
http_server: true,
temp_cwd: true,
@@ -201,9 +202,9 @@ itest!(_033_import_map_remote {
http_server: true,
});
-itest!(_033_import_map_deno_modules_dir_remote {
+itest!(_033_import_map_vendor_dir_remote {
args:
- "run --quiet --reload --import-map=http://127.0.0.1:4545/import_maps/import_map_remote.json --deno-modules-dir --unstable $TESTDATA/import_maps/test_remote.ts",
+ "run --quiet --reload --import-map=http://127.0.0.1:4545/import_maps/import_map_remote.json --vendor --unstable $TESTDATA/import_maps/test_remote.ts",
output: "run/033_import_map_remote.out",
http_server: true,
temp_cwd: true,
@@ -1706,8 +1707,8 @@ itest!(jsx_import_source_pragma_with_config_no_check {
http_server: true,
});
-itest!(jsx_import_source_pragma_with_config_deno_modules_dir {
- args: "run --reload --config jsx/deno-jsx.jsonc --no-lock --deno-modules-dir $TESTDATA/run/jsx_import_source_pragma.tsx",
+itest!(jsx_import_source_pragma_with_config_vendor_dir {
+ args: "run --reload --config jsx/deno-jsx.jsonc --no-lock --vendor $TESTDATA/run/jsx_import_source_pragma.tsx",
output: "run/jsx_import_source.out",
http_server: true,
temp_cwd: true,
@@ -1767,9 +1768,9 @@ itest!(reference_types_error {
exit_code: 1,
});
-itest!(reference_types_error_deno_modules_dir {
+itest!(reference_types_error_vendor_dir {
args:
- "run --config run/checkjs.tsconfig.json --check --deno-modules-dir $TESTDATA/run/reference_types_error.js",
+ "run --config run/checkjs.tsconfig.json --check --vendor $TESTDATA/run/reference_types_error.js",
output: "run/reference_types_error.js.out",
exit_code: 1,
});
@@ -4494,16 +4495,16 @@ itest!(extension_dynamic_import {
});
#[test]
-pub fn deno_modules_dir_config_file() {
+pub fn vendor_dir_config_file() {
let test_context = TestContextBuilder::new()
.use_http_server()
.use_temp_cwd()
.build();
let temp_dir = test_context.temp_dir();
- let deno_modules_dir = temp_dir.path().join("deno_modules");
- let rm_deno_modules = || std::fs::remove_dir_all(&deno_modules_dir).unwrap();
+ let vendor_dir = temp_dir.path().join("vendor");
+ let rm_vendor_dir = || std::fs::remove_dir_all(&vendor_dir).unwrap();
- temp_dir.write("deno.json", r#"{ "denoModulesDir": true }"#);
+ temp_dir.write("deno.json", r#"{ "vendor": true }"#);
temp_dir.write(
"main.ts",
r#"import { returnsHi } from 'http://localhost:4545/subdir/mod1.ts';
@@ -4513,25 +4514,25 @@ console.log(returnsHi());"#,
let deno_run_cmd = test_context.new_command().args("run --quiet main.ts");
deno_run_cmd.run().assert_matches_text("Hi\n");
- assert!(deno_modules_dir.exists());
- rm_deno_modules();
- temp_dir.write("deno.json", r#"{ "denoModulesDir": false }"#);
+ assert!(vendor_dir.exists());
+ rm_vendor_dir();
+ temp_dir.write("deno.json", r#"{ "vendor": false }"#);
deno_run_cmd.run().assert_matches_text("Hi\n");
- assert!(!deno_modules_dir.exists());
+ assert!(!vendor_dir.exists());
test_context
.new_command()
- .args("cache --quiet --deno-modules-dir main.ts")
+ .args("cache --quiet --vendor main.ts")
.run();
- assert!(deno_modules_dir.exists());
- rm_deno_modules();
+ assert!(vendor_dir.exists());
+ rm_vendor_dir();
- temp_dir.write("deno.json", r#"{ "denoModulesDir": true }"#);
+ temp_dir.write("deno.json", r#"{ "vendor": true }"#);
let cache_command = test_context.new_command().args("cache --quiet main.ts");
cache_command.run();
- assert!(deno_modules_dir.exists());
- let mod1_file = deno_modules_dir
+ assert!(vendor_dir.exists());
+ let mod1_file = vendor_dir
.join("http_localhost_4545")
.join("subdir")
.join("mod1.ts");
@@ -4563,20 +4564,20 @@ console.log(returnsHi());"#,
.run()
.skip_output_check();
assert_eq!(
- deno_modules_dir.join("manifest.json").read_json_value(),
+ vendor_dir.join("manifest.json").read_json_value(),
json!({
"folders": {
"http://localhost:4545/subdir/CAPITALS/": "http_localhost_4545/subdir/#capitals_c75d7"
}
})
);
- deno_modules_dir
+ vendor_dir
.join("http_localhost_4545/subdir/#capitals_c75d7/hello_there.ts")
.write("console.log('hello there');");
test_context
.new_command()
// todo(dsherret): seems wrong that we don't auto-discover the config file to get the vendor directory for this
- .args("run --deno-modules-dir http://localhost:4545/subdir/CAPITALS/hello_there.ts")
+ .args("run --vendor http://localhost:4545/subdir/CAPITALS/hello_there.ts")
.run()
.assert_matches_text("hello there\n");
}
diff --git a/cli/tools/coverage/mod.rs b/cli/tools/coverage/mod.rs
index 4e49053d2..c77f869b2 100644
--- a/cli/tools/coverage/mod.rs
+++ b/cli/tools/coverage/mod.rs
@@ -571,7 +571,7 @@ fn collect_coverages(
})
.ignore_git_folder()
.ignore_node_modules()
- .ignore_deno_modules()
+ .ignore_vendor_folder()
.add_ignore_paths(&files.ignore)
.collect_files(&files.include)?;
diff --git a/cli/tools/fmt.rs b/cli/tools/fmt.rs
index e7fdf24f7..fc1df3281 100644
--- a/cli/tools/fmt.rs
+++ b/cli/tools/fmt.rs
@@ -151,7 +151,7 @@ fn collect_fmt_files(files: &FilesConfig) -> Result<Vec<PathBuf>, AnyError> {
FileCollector::new(is_supported_ext_fmt)
.ignore_git_folder()
.ignore_node_modules()
- .ignore_deno_modules()
+ .ignore_vendor_folder()
.add_ignore_paths(&files.exclude)
.collect_files(&files.include)
}
diff --git a/cli/tools/lint.rs b/cli/tools/lint.rs
index a1aca2803..e1830fb92 100644
--- a/cli/tools/lint.rs
+++ b/cli/tools/lint.rs
@@ -198,7 +198,7 @@ fn collect_lint_files(files: &FilesConfig) -> Result<Vec<PathBuf>, AnyError> {
FileCollector::new(is_supported_ext)
.ignore_git_folder()
.ignore_node_modules()
- .ignore_deno_modules()
+ .ignore_vendor_folder()
.add_ignore_paths(&files.exclude)
.collect_files(&files.include)
}
diff --git a/cli/util/fs.rs b/cli/util/fs.rs
index 6c1f304d6..ff5ed8553 100644
--- a/cli/util/fs.rs
+++ b/cli/util/fs.rs
@@ -200,7 +200,7 @@ pub struct FileCollector<TFilter: Fn(&Path) -> bool> {
file_filter: TFilter,
ignore_git_folder: bool,
ignore_node_modules: bool,
- ignore_deno_modules: bool,
+ ignore_vendor_folder: bool,
}
impl<TFilter: Fn(&Path) -> bool> FileCollector<TFilter> {
@@ -210,7 +210,7 @@ impl<TFilter: Fn(&Path) -> bool> FileCollector<TFilter> {
file_filter,
ignore_git_folder: false,
ignore_node_modules: false,
- ignore_deno_modules: false,
+ ignore_vendor_folder: false,
}
}
@@ -227,8 +227,8 @@ impl<TFilter: Fn(&Path) -> bool> FileCollector<TFilter> {
self
}
- pub fn ignore_deno_modules(mut self) -> Self {
- self.ignore_deno_modules = true;
+ pub fn ignore_vendor_folder(mut self) -> Self {
+ self.ignore_vendor_folder = true;
self
}
@@ -272,7 +272,7 @@ impl<TFilter: Fn(&Path) -> bool> FileCollector<TFilter> {
let dir_name = dir_name.to_string_lossy().to_lowercase();
let is_ignored_file = match dir_name.as_str() {
"node_modules" => self.ignore_node_modules,
- "deno_modules" => self.ignore_deno_modules,
+ "vendor" => self.ignore_vendor_folder,
".git" => self.ignore_git_folder,
_ => false,
};
@@ -309,7 +309,7 @@ pub fn collect_specifiers(
.add_ignore_paths(&files.exclude)
.ignore_git_folder()
.ignore_node_modules()
- .ignore_deno_modules();
+ .ignore_vendor_folder();
let root_path = current_dir()?;
let include_files = if files.include.is_empty() {
@@ -728,12 +728,12 @@ mod tests {
// ├── a.ts
// ├── b.js
// ├── child
- // | ├── deno_modules
- // | | └── deno_modules.js
// | ├── git
// | | └── git.js
// | ├── node_modules
// | | └── node_modules.js
+ // | ├── vendor
+ // | | └── vendor.js
// │ ├── e.mjs
// │ ├── f.mjsx
// │ ├── .foo.TS
@@ -758,8 +758,8 @@ mod tests {
t.write("dir.ts/child/node_modules/node_modules.js", "");
t.create_dir_all("dir.ts/child/.git");
t.write("dir.ts/child/.git/git.js", "");
- t.create_dir_all("dir.ts/child/deno_modules");
- t.write("dir.ts/child/deno_modules/deno_modules.js", "");
+ t.create_dir_all("dir.ts/child/vendor");
+ t.write("dir.ts/child/vendor/vendor.js", "");
let ignore_dir_path = root_dir_path.join("ignore");
let ignore_dir_files = ["g.d.ts", ".gitignore"];
@@ -784,11 +784,11 @@ mod tests {
"b.js",
"c.tsx",
"d.jsx",
- "deno_modules.js",
"e.mjs",
"f.mjsx",
"git.js",
"node_modules.js",
+ "vendor.js",
];
let mut file_names = result
.into_iter()
@@ -801,7 +801,7 @@ mod tests {
let file_collector = file_collector
.ignore_git_folder()
.ignore_node_modules()
- .ignore_deno_modules();
+ .ignore_vendor_folder();
let result = file_collector
.collect_files(&[root_dir_path.to_path_buf()])
.unwrap();