Skip to content

Commit 45604fa

Browse files
committed
Remove dependency renaming to enable WASM (#625)
This PR supercedes #621 and tries to remove dependency renaming to enable WASM, as discussed in #106
1 parent 94eac1d commit 45604fa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+157
-155
lines changed

Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ edition = "2018"
1414
name = "swc"
1515

1616
[dependencies]
17-
atoms = { package = "swc_atoms", path ="./atoms" }
18-
common = { package = "swc_common", path ="./common" }
19-
ecmascript = { package = "swc_ecmascript", path ="./ecmascript" }
17+
swc_atoms = { path ="./atoms" }
18+
swc_common = { path ="./common" }
19+
swc_ecmascript = { path ="./ecmascript" }
2020
serde = { version = "1", features = ["derive"] }
2121
serde_json = "1"
2222
failure = "0.1"
@@ -37,4 +37,4 @@ name = "usage"
3737

3838
[profile.bench]
3939
codegen-units = 1
40-
#lto = true
40+
#lto = true

ecmascript/Cargo.toml

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ publish = false
1010
edition = "2018"
1111

1212
[dependencies]
13-
ast = { package = "swc_ecma_ast", path ="./ast" }
14-
codegen = { package = "swc_ecma_codegen", path ="./codegen" }
15-
parser = { package = "swc_ecma_parser", path ="./parser", features = ["verify"] }
16-
preset_env = { package = "swc_ecma_preset_env", path ="preset_env" }
17-
utils = { package = "swc_ecma_utils", path ="./utils" }
18-
transforms = { package = "swc_ecma_transforms", path ="./transforms" }
13+
swc_ecma_ast = { path ="./ast" }
14+
swc_ecma_codegen = { path ="./codegen" }
15+
swc_ecma_parser = { path ="./parser", features = ["verify"] }
16+
swc_ecma_preset_env = { path ="preset_env" }
17+
swc_ecma_utils = { path ="./utils" }
18+
swc_ecma_transforms = { path ="./transforms" }
1919

2020
[dev-dependencies]

ecmascript/parser/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ verify = ["fold"]
1919
swc_atoms = { version = "0.2", path ="../../atoms" }
2020
swc_common = { version = "0.5.0", path ="../../common" }
2121
swc_ecma_ast = { version = "0.16.0", path ="../ast" }
22-
swc_ecma_parser_macros = { package = "swc_ecma_parser_macros", version = "0.4", path ="./macros" }
22+
swc_ecma_parser_macros = { version = "0.4", path ="./macros" }
2323
enum_kind = { version = "0.2", path ="../../macros/enum_kind" }
2424
unicode-xid = "0.2"
2525
log = { version = "0.4", features = ["release_max_level_debug"] }
@@ -42,4 +42,4 @@ pretty_assertions = "0.6"
4242
name = "lexer"
4343

4444
[[example]]
45-
name = "typescript"
45+
name = "typescript"

ecmascript/src/lib.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
pub use ast;
2-
pub use codegen;
3-
pub use parser;
4-
pub use preset_env;
5-
pub use transforms;
1+
pub use swc_ecma_ast as ast;
2+
pub use swc_ecma_codegen as codegen;
3+
pub use swc_ecma_parser as parser;
4+
pub use swc_ecma_preset_env as preset_env;
5+
pub use swc_ecma_transforms as transforms;

ecmascript/transforms/Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ edition = "2018"
1111
[dependencies]
1212
swc_atoms = { version = "0.2.0", path ="../../atoms" }
1313
swc_common = { version = "0.5.0", path ="../../common" }
14-
ast = { package = "swc_ecma_ast", version = "0.16.0", path ="../ast" }
15-
utils = { package = "swc_ecma_utils", version = "0.3.0", path ="../utils" }
14+
swc_ecma_ast = { version = "0.16.0", path ="../ast" }
15+
swc_ecma_utils = { version = "0.3.0", path ="../utils" }
1616
swc_ecma_parser = { version = "0.18", path ="../parser", features = ["verify"] }
1717
dashmap = "3.2.2"
1818
either = "1.5"
@@ -36,4 +36,4 @@ testing = { version = "0.5", path ="../../testing" }
3636
swc_ecma_codegen = { version = "0.15.0", path ="../codegen" }
3737
tempfile = "3"
3838
pretty_assertions = "0.6"
39-
sourcemap = "4.1.1"
39+
sourcemap = "4.1.1"

ecmascript/transforms/benches/base.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
extern crate test;
66

7-
use ast::*;
87
use swc_common::{FileName, Fold, FoldWith, Visit, VisitWith, DUMMY_SP};
8+
use swc_ecma_ast::*;
99
use swc_ecma_parser::{lexer::Lexer, Parser, Session, SourceFileInput, Syntax};
1010
use swc_ecma_transforms::util::ExprFactory;
1111
use test::Bencher;

ecmascript/transforms/src/compat/es2015.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ pub use self::{
77
template_literal::TemplateLiteral, typeof_symbol::TypeOfSymbol,
88
};
99
use crate::pass::Pass;
10-
use ast::Expr;
1110
use serde::Deserialize;
1211
use swc_common::chain;
12+
use swc_ecma_ast::Expr;
1313

1414
mod arrow;
1515
mod block_scoped_fn;

ecmascript/transforms/src/compat/es2015/arrow.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ use crate::{
22
pass::Pass,
33
util::{contains_this_expr, ExprFactory},
44
};
5-
use ast::*;
65
use swc_common::{Fold, FoldWith, Spanned, Visit, VisitWith, DUMMY_SP};
7-
use utils::quote_ident;
6+
use swc_ecma_ast::*;
7+
use swc_ecma_utils::quote_ident;
88

99
/// Compile ES2015 arrow functions to ES5
1010
///

ecmascript/transforms/src/compat/es2015/block_scoped_fn.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::util::UsageFinder;
2-
use ast::*;
32
use swc_common::{Fold, FoldWith, Spanned, DUMMY_SP};
3+
use swc_ecma_ast::*;
44

55
#[derive(Clone, Copy)]
66
pub struct BlockScopedFns;

ecmascript/transforms/src/compat/es2015/block_scoping.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
use crate::{pass::Pass, util::undefined};
2-
use ast::*;
32
use smallvec::SmallVec;
43
use std::mem::replace;
54
use swc_common::{util::map::Map, Fold, FoldWith, Spanned, Visit, VisitWith, DUMMY_SP};
6-
use utils::{find_ids, ident::IdentLike, prepend, var::VarCollector, ExprFactory, Id, StmtLike};
5+
use swc_ecma_ast::*;
6+
use swc_ecma_utils::{
7+
find_ids, ident::IdentLike, prepend, var::VarCollector, ExprFactory, Id, StmtLike,
8+
};
79

810
///
911
///

ecmascript/transforms/src/compat/es2015/classes.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ use crate::util::{
1111
alias_if_required, default_constructor, prepend, prop_name_to_expr, ExprFactory, IsDirective,
1212
ModuleItemLike, StmtLike,
1313
};
14-
use ast::*;
1514
use fxhash::FxBuildHasher;
1615
use std::iter;
1716
use swc_common::{Fold, FoldWith, Mark, Spanned, Visit, VisitWith, DUMMY_SP};
17+
use swc_ecma_ast::*;
1818

1919
#[macro_use]
2020
mod macros;

ecmascript/transforms/src/compat/es2015/classes/constructor.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use super::get_prototype_of;
22
use crate::util::ExprFactory;
3-
use ast::*;
43
use std::iter;
54
use swc_atoms::JsWord;
65
use swc_common::{Fold, FoldWith, Mark, Visit, VisitWith, DUMMY_SP};
7-
use utils::quote_ident;
6+
use swc_ecma_ast::*;
7+
use swc_ecma_utils::quote_ident;
88

99
pub(super) struct SuperCallFinder {
1010
mode: Option<SuperFoldingMode>,

ecmascript/transforms/src/compat/es2015/classes/prop_name.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use ast::*;
21
use ordered_float::OrderedFloat;
32
use swc_atoms::JsWord;
43
use swc_common::{Span, Spanned};
4+
use swc_ecma_ast::*;
55

66
#[derive(Debug, PartialEq, Eq, Hash)]
77
pub enum HashKey {

ecmascript/transforms/src/compat/es2015/classes/super_field.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use super::get_prototype_of;
22
use crate::util::{alias_ident_for, is_rest_arguments, ExprFactory};
3-
use ast::*;
43
use std::iter;
54
use swc_atoms::js_word;
65
use swc_common::{Fold, FoldWith, Mark, Span, Spanned, DUMMY_SP};
7-
use utils::quote_ident;
6+
use swc_ecma_ast::*;
7+
use swc_ecma_utils::quote_ident;
88

99
/// Process function body.
1010
///

ecmascript/transforms/src/compat/es2015/computed_props.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ use crate::{
22
pass::Pass,
33
util::{ExprFactory, StmtLike},
44
};
5-
use ast::*;
65
use swc_common::{Fold, FoldWith, Mark, Spanned, Visit, VisitWith, DUMMY_SP};
6+
use swc_ecma_ast::*;
77

88
/// `@babel/plugin-transform-computed-properties`
99
///

ecmascript/transforms/src/compat/es2015/destructuring.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ use crate::{
55
ExprFactory, StmtLike,
66
},
77
};
8-
use ast::*;
98
use serde::Deserialize;
109
use std::iter;
1110
use swc_common::{Fold, FoldWith, Spanned, SyntaxContext, Visit, VisitWith, DUMMY_SP};
11+
use swc_ecma_ast::*;
1212

1313
/// `@babel/plugin-transform-destructuring`
1414
///

ecmascript/transforms/src/compat/es2015/duplicate_keys.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::pass::Pass;
2-
use ast::*;
32
use hashbrown::HashSet;
43
use swc_atoms::JsWord;
54
use swc_common::{Fold, FoldWith, Spanned};
5+
use swc_ecma_ast::*;
66

77
pub fn duplicate_keys() -> impl Pass {
88
DuplicateKeys

ecmascript/transforms/src/compat/es2015/for_of.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ use crate::{
22
pass::Pass,
33
util::{alias_if_required, prepend, ExprFactory, StmtLike},
44
};
5-
use ast::*;
65
use serde::Deserialize;
76
use swc_atoms::js_word;
87
use swc_common::{Fold, FoldWith, Mark, Spanned, Visit, VisitWith, DUMMY_SP};
8+
use swc_ecma_ast::*;
99

1010
/// `@babel/plugin-transform-for-of`
1111
///

ecmascript/transforms/src/compat/es2015/function_name.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{pass::Pass, util::UsageFinder};
2-
use ast::*;
32
use swc_common::{Fold, FoldWith};
3+
use swc_ecma_ast::*;
44

55
/// `@babel/plugin-transform-function-name`
66
///

ecmascript/transforms/src/compat/es2015/instanceof.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::util::ExprFactory;
2-
use ast::*;
32
use swc_common::{Fold, FoldWith, Visit, VisitWith};
3+
use swc_ecma_ast::*;
44

55
/// `@babel/plugin-transform-instanceof`
66
///

ecmascript/transforms/src/compat/es2015/parameters.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::util::{prepend_stmts, ExprFactory};
22
use arrayvec::ArrayVec;
3-
use ast::*;
43
use swc_common::{Fold, FoldWith, Mark, Spanned, DUMMY_SP};
4+
use swc_ecma_ast::*;
55

66
pub fn parameters() -> Params {
77
Params

ecmascript/transforms/src/compat/es2015/regenerator/case.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ use crate::{
33
compat::es2015::regenerator::leap::{CatchEntry, FinallyEntry, TryEntry},
44
util::{ident::IdentLike, undefined, ExprFactory},
55
};
6-
use ast::*;
76
use smallvec::SmallVec;
87
use std::mem::replace;
98
use swc_atoms::JsWord;
109
use swc_common::{
1110
util::{map::Map, move_map::MoveMap},
1211
BytePos, Fold, FoldWith, Span, Spanned, SyntaxContext, Visit, VisitWith, DUMMY_SP,
1312
};
13+
use swc_ecma_ast::*;
1414

1515
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1616
pub(super) struct Loc {

ecmascript/transforms/src/compat/es2015/regenerator/hoist.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::util::find_ids;
2-
use ast::*;
32
use smallvec::SmallVec;
43
use swc_atoms::js_word;
54
use swc_common::{Fold, FoldWith, DUMMY_SP};
5+
use swc_ecma_ast::*;
66

77
pub(super) type Vars = SmallVec<[Ident; 32]>;
88

ecmascript/transforms/src/compat/es2015/regenerator/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ use crate::{
33
pass::Pass,
44
util::{contains_this_expr, prepend, ExprFactory, StmtLike},
55
};
6-
use ast::*;
76
use std::mem::replace;
87
use swc_atoms::js_word;
98
use swc_common::{Fold, FoldWith, Spanned, Visit, VisitWith, DUMMY_SP};
9+
use swc_ecma_ast::*;
1010

1111
mod case;
1212
mod hoist;

ecmascript/transforms/src/compat/es2015/shorthand_property.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use ast::*;
21
use swc_common::{Fold, FoldWith};
2+
use swc_ecma_ast::*;
33

44
/// Compile ES2015 shorthand properties to ES5
55
///

ecmascript/transforms/src/compat/es2015/spread.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ use crate::{
22
pass::Pass,
33
util::{alias_ident_for, is_literal, prepend, undefined, ExprFactory, StmtLike},
44
};
5-
use ast::*;
65
use serde::Deserialize;
76
use std::mem;
87
use swc_atoms::js_word;
98
use swc_common::{util::move_map::MoveMap, Fold, FoldWith, Span, Spanned, DUMMY_SP};
9+
use swc_ecma_ast::*;
1010

1111
pub fn spread(c: Config) -> impl Pass {
1212
Spread { c }

ecmascript/transforms/src/compat/es2015/sticky_regex.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::util::ExprFactory;
2-
use ast::*;
32
use swc_atoms::JsWord;
43
use swc_common::{Fold, FoldWith, DUMMY_SP};
4+
use swc_ecma_ast::*;
55

66
/// Compile ES2015 sticky regex to an ES5 RegExp constructor
77
///

ecmascript/transforms/src/compat/es2015/template_literal.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::util::{is_literal, prepend_stmts, ExprFactory, StmtLike};
2-
use ast::*;
32
use std::{iter, mem};
43
use swc_atoms::js_word;
54
use swc_common::{BytePos, Fold, FoldWith, Spanned, DUMMY_SP};
5+
use swc_ecma_ast::*;
66

77
#[derive(Default, Clone)]
88
pub struct TemplateLiteral {

ecmascript/transforms/src/compat/es2015/typeof_symbol.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::util::ExprFactory;
2-
use ast::*;
32
use swc_atoms::js_word;
43
use swc_common::{Fold, FoldWith, Visit, VisitWith};
4+
use swc_ecma_ast::*;
55

66
/// `@babel/plugin-transform-typeof-symbol`
77
///

ecmascript/transforms/src/compat/es2016/exponentation.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ use crate::{
22
pass::Pass,
33
util::{ExprFactory, StmtLike},
44
};
5-
use ast::*;
65
use swc_common::{Fold, FoldWith, Span, Spanned, Visit, VisitWith, DUMMY_SP};
6+
use swc_ecma_ast::*;
77

88
/// `@babel/plugin-transform-exponentiation-operator`
99
///

ecmascript/transforms/src/compat/es2017/async_to_generator.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ use crate::{
33
pass::Pass,
44
util::{contains_ident_ref, contains_this_expr, ExprFactory, StmtLike},
55
};
6-
use ast::*;
76
use std::iter;
87
use swc_common::{Fold, FoldWith, Mark, Spanned, Visit, VisitWith, DUMMY_SP};
8+
use swc_ecma_ast::*;
99

1010
/// `@babel/plugin-transform-async-to-generator`
1111
///

ecmascript/transforms/src/compat/es2018/object_rest_spread.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ use crate::{
44
alias_ident_for, alias_if_required, is_literal, var::VarCollector, ExprFactory, StmtLike,
55
},
66
};
7-
use ast::*;
87
use std::{iter, mem};
98
use swc_common::{
109
chain, util::move_map::MoveMap, Fold, FoldWith, Mark, Spanned, Visit, VisitWith, DUMMY_SP,
1110
};
11+
use swc_ecma_ast::*;
1212

1313
/// `@babel/plugin-proposal-object-rest-spread`
1414
pub fn object_rest_spread() -> impl Pass {

ecmascript/transforms/src/compat/es2018/optional_catch_binding.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::pass::Pass;
2-
use ast::*;
32
use swc_common::Fold;
3+
use swc_ecma_ast::*;
44

55
struct OptionalCatchBinding;
66

ecmascript/transforms/src/compat/es3.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ pub use self::{
22
member_expr_lits::MemberExprLit, prop_lits::PropertyLiteral, reserved_word::ReservedWord,
33
};
44
use crate::pass::Pass;
5-
use ast::Expr;
5+
use swc_ecma_ast::Expr;
66

77
mod member_expr_lits;
88
mod prop_lits;

ecmascript/transforms/src/compat/es3/member_expr_lits.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::util::is_valid_ident;
2-
use ast::*;
32
use swc_common::{Fold, FoldWith};
3+
use swc_ecma_ast::*;
44

55
/// babel: `transform-member-expression-literals`
66
///

0 commit comments

Comments
 (0)