Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
1
third-party/vendor/swc_ecma_loader/tests/basic_import/node_modules/jquery/index.js
generated
vendored
Normal file
1
third-party/vendor/swc_ecma_loader/tests/basic_import/node_modules/jquery/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log("hello world!");
|
||||
4
third-party/vendor/swc_ecma_loader/tests/basic_import/node_modules/jquery/package.json
generated
vendored
Normal file
4
third-party/vendor/swc_ecma_loader/tests/basic_import/node_modules/jquery/package.json
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"name": "jquery",
|
||||
"main": "index.js"
|
||||
}
|
||||
1
third-party/vendor/swc_ecma_loader/tests/browser_overwrite/node_modules/jquery/browser.js
generated
vendored
Normal file
1
third-party/vendor/swc_ecma_loader/tests/browser_overwrite/node_modules/jquery/browser.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log("hello world!");
|
||||
1
third-party/vendor/swc_ecma_loader/tests/browser_overwrite/node_modules/jquery/index.js
generated
vendored
Normal file
1
third-party/vendor/swc_ecma_loader/tests/browser_overwrite/node_modules/jquery/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log("hello world!");
|
||||
7
third-party/vendor/swc_ecma_loader/tests/browser_overwrite/node_modules/jquery/package.json
generated
vendored
Normal file
7
third-party/vendor/swc_ecma_loader/tests/browser_overwrite/node_modules/jquery/package.json
generated
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "jquery",
|
||||
"main": "./index.js",
|
||||
"browser": {
|
||||
"./index.js": "./browser.js"
|
||||
}
|
||||
}
|
||||
1
third-party/vendor/swc_ecma_loader/tests/hoisting/node_modules/jquery/index.js
generated
vendored
Normal file
1
third-party/vendor/swc_ecma_loader/tests/hoisting/node_modules/jquery/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log("hello world!");
|
||||
4
third-party/vendor/swc_ecma_loader/tests/hoisting/node_modules/jquery/package.json
generated
vendored
Normal file
4
third-party/vendor/swc_ecma_loader/tests/hoisting/node_modules/jquery/package.json
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"name": "jquery",
|
||||
"main": "index.js"
|
||||
}
|
||||
0
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/file.js
vendored
Normal file
0
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/file.js
vendored
Normal file
1
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/node_modules/example/index.js
generated
vendored
Normal file
1
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/node_modules/example/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log("hello world!");
|
||||
4
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/node_modules/example/package.json
generated
vendored
Normal file
4
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/node_modules/example/package.json
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"name": "example",
|
||||
"main": "index.js"
|
||||
}
|
||||
4
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/package.json
vendored
Normal file
4
third-party/vendor/swc_ecma_loader/tests/hoisting/packages/app/package.json
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"name": "app",
|
||||
"main": "file.js"
|
||||
}
|
||||
107
third-party/vendor/swc_ecma_loader/tests/node_resolver.rs
vendored
Normal file
107
third-party/vendor/swc_ecma_loader/tests/node_resolver.rs
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
#![deny(warnings)]
|
||||
#![cfg(feature = "node")]
|
||||
|
||||
use std::{
|
||||
env::{current_dir, set_current_dir},
|
||||
path::PathBuf,
|
||||
sync::{Arc, Mutex},
|
||||
};
|
||||
|
||||
use lazy_static::lazy_static;
|
||||
use swc_common::FileName;
|
||||
extern crate swc_ecma_loader;
|
||||
use swc_ecma_loader::{resolve::Resolve, resolvers::node::NodeModulesResolver, TargetEnv};
|
||||
|
||||
lazy_static! {
|
||||
static ref UPDATE_DIR_MUTEX: Arc<Mutex<()>> = Arc::new(Mutex::new(()));
|
||||
}
|
||||
|
||||
fn inside_directory(dir: &str, callback: fn()) {
|
||||
let arc = Arc::clone(&UPDATE_DIR_MUTEX);
|
||||
let _lock = arc.lock().expect("could not lock");
|
||||
|
||||
let initial_current_dir = current_dir().unwrap();
|
||||
let new_current_dir = format!("{}{}", initial_current_dir.display(), dir);
|
||||
|
||||
set_current_dir(new_current_dir).unwrap();
|
||||
callback();
|
||||
set_current_dir(initial_current_dir).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn basic_import() {
|
||||
inside_directory("/tests/basic_import", || {
|
||||
// Given
|
||||
let node_resolver = NodeModulesResolver::new(TargetEnv::Node, Default::default(), true);
|
||||
|
||||
// When
|
||||
let resolved = node_resolver
|
||||
.resolve(&FileName::Real(PathBuf::from("jquery")), "jquery")
|
||||
.expect("should resolve");
|
||||
|
||||
// Expect
|
||||
assert_eq!(
|
||||
resolved,
|
||||
FileName::Real(PathBuf::from("node_modules/jquery/index.js"))
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn hoisting() {
|
||||
inside_directory("/tests/hoisting/packages/app", || {
|
||||
// Given
|
||||
let node_resolver = NodeModulesResolver::new(TargetEnv::Node, Default::default(), true);
|
||||
|
||||
// When
|
||||
let resolved = node_resolver
|
||||
.resolve(&FileName::Real(PathBuf::from("jquery")), "jquery")
|
||||
.expect("should resolve");
|
||||
|
||||
// Expect
|
||||
assert_eq!(
|
||||
resolved,
|
||||
FileName::Real(PathBuf::from("../../node_modules/jquery/index.js"))
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn builtin_modules() {
|
||||
let node_resolver = NodeModulesResolver::new(TargetEnv::Node, Default::default(), true);
|
||||
|
||||
// When
|
||||
let resolved = node_resolver
|
||||
.resolve(&FileName::Real(PathBuf::from("index.js")), "path")
|
||||
.expect("should resolve");
|
||||
|
||||
// Expect
|
||||
assert_eq!(resolved, FileName::Custom("node:path".to_string()));
|
||||
|
||||
// When
|
||||
let resolved = node_resolver
|
||||
.resolve(&FileName::Real(PathBuf::from("index.js")), "node:path")
|
||||
.expect("should resolve");
|
||||
|
||||
// Expect
|
||||
assert_eq!(resolved, FileName::Custom("node:path".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn browser_overwrite() {
|
||||
inside_directory("/tests/browser_overwrite", || {
|
||||
// Given
|
||||
let node_resolver = NodeModulesResolver::new(TargetEnv::Browser, Default::default(), true);
|
||||
|
||||
// When
|
||||
let resolved = node_resolver
|
||||
.resolve(&FileName::Real(PathBuf::from("jquery")), "jquery")
|
||||
.expect("should resolve");
|
||||
|
||||
// Expect
|
||||
assert_eq!(
|
||||
resolved,
|
||||
FileName::Real(PathBuf::from("node_modules/jquery/browser.js"))
|
||||
);
|
||||
});
|
||||
}
|
||||
89
third-party/vendor/swc_ecma_loader/tests/tsc_resolver.rs
vendored
Normal file
89
third-party/vendor/swc_ecma_loader/tests/tsc_resolver.rs
vendored
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
#![cfg(feature = "tsc")]
|
||||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use anyhow::{anyhow, Error};
|
||||
use swc_common::{collections::AHashMap, FileName};
|
||||
use swc_ecma_loader::{resolve::Resolve, resolvers::tsc::TsConfigResolver};
|
||||
|
||||
#[test]
|
||||
fn base_dir_exact() {}
|
||||
|
||||
#[test]
|
||||
fn base_dir_wildcard() {}
|
||||
|
||||
#[test]
|
||||
fn exact() {
|
||||
let mut map = HashMap::default();
|
||||
map.insert("jquery".to_string(), "fail".to_string());
|
||||
map.insert(
|
||||
"./node_modules/jquery/dist/jquery".to_string(),
|
||||
"success".to_string(),
|
||||
);
|
||||
let r = TsConfigResolver::new(
|
||||
TestResolver(map),
|
||||
".".into(),
|
||||
vec![(
|
||||
"jquery".into(),
|
||||
vec!["node_modules/jquery/dist/jquery".into()],
|
||||
)],
|
||||
);
|
||||
|
||||
{
|
||||
let resolved = r
|
||||
.resolve(&FileName::Anon, "jquery")
|
||||
.expect("should resolve");
|
||||
|
||||
assert_eq!(resolved, FileName::Custom("success".into()));
|
||||
}
|
||||
|
||||
{
|
||||
r.resolve(&FileName::Anon, "unrelated")
|
||||
.expect_err("should not touch error");
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pattern_1() {
|
||||
let mut map = HashMap::default();
|
||||
map.insert("./folder1/file1".to_string(), "success-1".to_string());
|
||||
map.insert("./folder1/file2".to_string(), "success-2".to_string());
|
||||
map.insert(
|
||||
"./generated/folder2/file3".to_string(),
|
||||
"success-3".to_string(),
|
||||
);
|
||||
|
||||
let r = TsConfigResolver::new(
|
||||
TestResolver(map),
|
||||
".".into(),
|
||||
vec![("*".into(), vec!["*".into(), "generated/*".into()])],
|
||||
);
|
||||
|
||||
{
|
||||
let resolved = r
|
||||
.resolve(&FileName::Anon, "folder1/file2")
|
||||
.expect("should resolve");
|
||||
|
||||
assert_eq!(resolved, FileName::Custom("success-2".into()));
|
||||
}
|
||||
|
||||
{
|
||||
let resolved = r
|
||||
.resolve(&FileName::Anon, "folder2/file3")
|
||||
.expect("should resolve");
|
||||
|
||||
assert_eq!(resolved, FileName::Custom("success-3".into()));
|
||||
}
|
||||
}
|
||||
|
||||
struct TestResolver(AHashMap<String, String>);
|
||||
|
||||
impl Resolve for TestResolver {
|
||||
fn resolve(&self, _: &FileName, src: &str) -> Result<FileName, Error> {
|
||||
self.0
|
||||
.get(src)
|
||||
.cloned()
|
||||
.map(FileName::Custom)
|
||||
.ok_or_else(|| anyhow!("failed to resolve `{}`", src))
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue