Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] .d.ts generator #889

Closed
wants to merge 558 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
558 commits
Select commit Hold shift + click to select a range
142d189
Upgrade tsc
kdy1 Sep 21, 2020
040b184
Some tests passes, but it's regressed
kdy1 Sep 21, 2020
72b8099
Let's work on one at a time
kdy1 Sep 21, 2020
e435bec
Ignore tests to ease dev
kdy1 Sep 21, 2020
b0ba71a
Use ts_resolver
kdy1 Sep 21, 2020
1a6d1ab
Need debugging of builtin types
kdy1 Sep 21, 2020
d571134
Validate interface with child scope
kdy1 Sep 21, 2020
80b6757
Param is declaration
kdy1 Sep 21, 2020
7739802
Make error verbose
kdy1 Sep 21, 2020
7156065
Forward more
kdy1 Sep 21, 2020
7ebf691
Update dts test refs: /custom
kdy1 Sep 21, 2020
5b80d5e
Update test ref: /enums
kdy1 Sep 21, 2020
2ec67e4
Update test ref: /literals
kdy1 Sep 21, 2020
0bb0792
Update test ref: /desturcturing
kdy1 Sep 21, 2020
cb7529e
lint
kdy1 Sep 21, 2020
3de2344
Move
kdy1 Sep 21, 2020
d611b3d
No ts_resolver
kdy1 Sep 21, 2020
8ee5778
Tests: never type
kdy1 Sep 21, 2020
586ec8b
Fold interface methods with child scope
kdy1 Sep 21, 2020
95ece6f
More forwarding
kdy1 Sep 21, 2020
56f6968
Computed property name
kdy1 Sep 21, 2020
eddfc70
Forward class method
kdy1 Sep 21, 2020
cd9462f
Remove dead code
kdy1 Sep 21, 2020
b41aa99
Ignore correctly
kdy1 Sep 21, 2020
60168ab
Add more successing tests
kdy1 Sep 21, 2020
7cc4819
Move
kdy1 Sep 21, 2020
34feb73
forward more
kdy1 Sep 21, 2020
cbf9500
TsInterfaceDecl
kdy1 Sep 21, 2020
fdfa82e
Fix access_property of arrays
kdy1 Sep 21, 2020
9a21803
Move more
kdy1 Sep 21, 2020
f908181
forward
kdy1 Sep 21, 2020
565edec
Add some logging to track creation of Type::Ref
kdy1 Sep 21, 2020
2a52774
builtin: Use high-level items
kdy1 Sep 21, 2020
6923a5e
More logging
kdy1 Sep 21, 2020
b16a466
More generic inference rule
kdy1 Sep 21, 2020
24560a4
Update test ref
kdy1 Sep 21, 2020
b9fbed9
generic: param=Ref, arg=Param
kdy1 Sep 21, 2020
f3b17bb
Fix param / ref inference
kdy1 Sep 21, 2020
33ee10f
Update test refs
kdy1 Sep 21, 2020
1fcb930
Update test ref
kdy1 Sep 21, 2020
8c5b607
Update test refs
kdy1 Sep 21, 2020
5639ec1
Update test refs
kdy1 Sep 21, 2020
d9fc8cd
Move
kdy1 Sep 21, 2020
df122f4
Remove type parameter hoisting
kdy1 Sep 21, 2020
682c9a8
Remove wrong assertion
kdy1 Sep 22, 2020
b26842f
Fix order of type-parameter folding
kdy1 Sep 22, 2020
4027729
Update ref
kdy1 Sep 22, 2020
9e45320
Update test refs
kdy1 Sep 22, 2020
f5adf61
Update refs
kdy1 Sep 22, 2020
ec45fd6
Unignore some tests
kdy1 Sep 22, 2020
512d94b
Unignore some more tests
kdy1 Sep 22, 2020
348921d
Unignore
kdy1 Sep 22, 2020
d1aa08e
Remove some dbg! calls
kdy1 Sep 22, 2020
6c80d80
#![allow(unused_variables)]
kdy1 Sep 22, 2020
e7df820
Rename an utility method
kdy1 Sep 22, 2020
6a15062
Splitting a test...
kdy1 Sep 22, 2020
a90173d
Split more, and it works. Don't ask why.
kdy1 Sep 22, 2020
243d68a
Split a test
kdy1 Sep 22, 2020
075137a
Defaulting should be error
kdy1 Sep 22, 2020
cf62f0f
generic: infer: arg = IndexAccessType, param = TypeLit
kdy1 Sep 22, 2020
68a897c
lint
kdy1 Sep 22, 2020
8b16ee4
Remove dbg!
kdy1 Sep 22, 2020
557768c
param=Mapped, arg=TypeLit
kdy1 Sep 22, 2020
e396863
param=Mapped, arg=Ref
kdy1 Sep 22, 2020
9a03ee0
Unignore some tests
kdy1 Sep 22, 2020
5e40aa6
Fix TypeEq for TsKeywordType / TsThisType
kdy1 Sep 22, 2020
c18db84
Update test refs
kdy1 Sep 22, 2020
6475d93
Update test refs
kdy1 Sep 22, 2020
ed470be
Unignore more
kdy1 Sep 22, 2020
382c1f2
Improve TypeEqHelper
kdy1 Sep 22, 2020
118b246
Better assertion
kdy1 Sep 22, 2020
eecd4aa
Handle optional in Mapped with keyof P.
kdy1 Sep 22, 2020
7093a47
Unignore more tests
kdy1 Sep 22, 2020
f93bc6f
Unignore more
kdy1 Sep 22, 2020
8ad6094
Unignore more
kdy1 Sep 22, 2020
5951892
Split tests
kdy1 Sep 22, 2020
cf05e79
Change TODO
kdy1 Sep 22, 2020
8fc93e9
Unignore more
kdy1 Sep 22, 2020
efaaeba
Unignore
kdy1 Sep 22, 2020
97b7eec
Move some tests
kdy1 Sep 22, 2020
78d233f
More forward
kdy1 Sep 22, 2020
e11ee6b
Disable hoisting for a while
kdy1 Sep 22, 2020
ca6f665
Move class.rs to class/mod.rs
kdy1 Sep 22, 2020
e3cd4aa
More forward
kdy1 Sep 22, 2020
556df86
Regerssion
kdy1 Sep 22, 2020
ff5a898
lint
kdy1 Sep 23, 2020
fa2c91b
WIP: Order of class members
kdy1 Sep 23, 2020
25008e4
Add a test about class members
kdy1 Sep 23, 2020
4de3def
Add some comments about our strategy for handling class
kdy1 Sep 23, 2020
91eab6c
Remove #[validator]
kdy1 Sep 23, 2020
f5d94eb
fixup
kdy1 Sep 23, 2020
b7fa625
Optional
kdy1 Sep 23, 2020
13dfd7f
More documentation
kdy1 Sep 23, 2020
fca9154
vscode settings
kdy1 Sep 23, 2020
f791265
Temporarily fold all methods from top to down
kdy1 Sep 23, 2020
1c2b9e6
Handle this.foo in a class method
kdy1 Sep 23, 2020
a63b394
Simpler test
kdy1 Sep 23, 2020
7f7332e
Fix detection logic for this in class
kdy1 Sep 23, 2020
01d2fc5
ScopeKind::Method
kdy1 Sep 23, 2020
df28b9c
Finally class properties are accessible
kdy1 Sep 23, 2020
1655bda
Unignore tests
kdy1 Sep 23, 2020
6e9f356
Handle varargs
kdy1 Sep 23, 2020
2cda079
Harder test
kdy1 Sep 23, 2020
6c4be01
Harder tests
kdy1 Sep 23, 2020
dcdfb35
Let's recheck tests
kdy1 Sep 23, 2020
edad0f6
Better test suite
kdy1 Sep 23, 2020
f8d3584
Harder test
kdy1 Sep 23, 2020
3d9ddea
vscode
kdy1 Sep 23, 2020
ffc93d4
Unignore
kdy1 Sep 23, 2020
6a5eb71
Split tests
kdy1 Sep 23, 2020
0feeb6f
Unignore
kdy1 Sep 23, 2020
0c85931
Harder test
kdy1 Sep 23, 2020
756ab04
Split & harden test
kdy1 Sep 23, 2020
32c06b0
Unignore
kdy1 Sep 23, 2020
a6e4e57
Better way to handle generic inference conflict
kdy1 Sep 23, 2020
564272b
Add print_backtrace (Type inference seems broken)
kdy1 Sep 23, 2020
326581f
log level
kdy1 Sep 23, 2020
8646db1
ide
kdy1 Sep 23, 2020
2e0e6ab
More forward
kdy1 Sep 23, 2020
b9bf0a3
Improve infer_type: If user give information, we try to infer in oppo…
kdy1 Sep 23, 2020
cbe92a2
Unignore
kdy1 Sep 23, 2020
c909357
print backtrace on error
kdy1 Sep 23, 2020
49a5b6b
Handle deep member expressions correctly
kdy1 Sep 23, 2020
bb0f5c2
Unignore
kdy1 Sep 23, 2020
3bbc31b
Unignore
kdy1 Sep 23, 2020
24752cd
Unignore
kdy1 Sep 23, 2020
59d8dd7
print backtrace on unresolved reference
kdy1 Sep 23, 2020
63774de
expand_fully: Allow Ref
kdy1 Sep 23, 2020
d5cc4fe
Expand fully before accessing property
kdy1 Sep 23, 2020
9c91e47
access_property: panic if object is `Ref` and it's not computed
kdy1 Sep 23, 2020
6c109db
Regression
kdy1 Sep 23, 2020
c194e75
Split a test
kdy1 Sep 23, 2020
8427e01
Unignore
kdy1 Sep 23, 2020
6738dd4
Simpler test
kdy1 Sep 23, 2020
66f9acd
Correct logging
kdy1 Sep 23, 2020
ce47898
Make expand_fully recursive
kdy1 Sep 23, 2020
0e6fe72
expander: Handle special IndexedAccessType
kdy1 Sep 23, 2020
0b0b707
isolatedModules
kdy1 Sep 23, 2020
46eb748
handle_type_elements
kdy1 Sep 23, 2020
277ea09
Fix type_of_member_expr
kdy1 Sep 23, 2020
4b303dc
Unignore
kdy1 Sep 23, 2020
ffe9236
Simplify
kdy1 Sep 23, 2020
977df67
Add an assertion
kdy1 Sep 23, 2020
abc0cf5
expand_fully: Handle return type of a function type
kdy1 Sep 23, 2020
621cec6
Add an optional to ignore expansion prevention
kdy1 Sep 23, 2020
af9be46
Unignore
kdy1 Sep 23, 2020
e2b4dfb
Unignore
kdy1 Sep 23, 2020
c1f447b
Split
kdy1 Sep 23, 2020
5338f02
Unignore
kdy1 Sep 23, 2020
3927df5
Unignore
kdy1 Sep 23, 2020
77bfdd6
Unignore
kdy1 Sep 23, 2020
929c355
Unignore more
kdy1 Sep 23, 2020
57c9829
Unignore
kdy1 Sep 23, 2020
b2f47ba
Unignore even more
kdy1 Sep 23, 2020
798e629
Split
kdy1 Sep 24, 2020
0852a1e
Splt & Simplify
kdy1 Sep 24, 2020
212be26
Split
kdy1 Sep 24, 2020
5e5723b
Split
kdy1 Sep 24, 2020
1417fd7
expand_fully: Change order of expansion
kdy1 Sep 24, 2020
e0f3d0d
Unignore
kdy1 Sep 24, 2020
06029a2
Unignore more
kdy1 Sep 24, 2020
74f42c9
Unignore
kdy1 Sep 24, 2020
22e5eac
Split tests
kdy1 Sep 24, 2020
06fb989
More split
kdy1 Sep 24, 2020
86e3840
Split
kdy1 Sep 24, 2020
01bac23
Split...
kdy1 Sep 24, 2020
faa60eb
Split
kdy1 Sep 24, 2020
6790be9
Unignore
kdy1 Sep 24, 2020
2f19240
Unignore
kdy1 Sep 24, 2020
1bf3427
Split
kdy1 Sep 24, 2020
b1f564e
Split more
kdy1 Sep 24, 2020
d8a3302
Split
kdy1 Sep 24, 2020
007e462
Simplify test
kdy1 Sep 24, 2020
da0944f
Fix test suite
kdy1 Sep 24, 2020
361ef4f
Print backtrace on NoSuchProperty
kdy1 Sep 24, 2020
cb532be
Unignore
kdy1 Sep 24, 2020
18f5eb1
Handle declare class properly
kdy1 Sep 24, 2020
7ccba8e
Unignore
kdy1 Sep 24, 2020
025671b
Unignore
kdy1 Sep 24, 2020
77acf60
Split
kdy1 Sep 24, 2020
99750a7
Split
kdy1 Sep 24, 2020
16a286b
Make tests harder to pass
kdy1 Sep 24, 2020
d3a0be1
Unignore
kdy1 Sep 24, 2020
2c7c7e2
Call expression with computed callee
kdy1 Sep 24, 2020
5f9a13c
Unignore
kdy1 Sep 24, 2020
2b19fe4
Unignore
kdy1 Sep 24, 2020
8b2799a
Expand fully before finding for callee
kdy1 Sep 24, 2020
25b2246
Unignore
kdy1 Sep 24, 2020
83e524d
Fix ClassInstance for set_ty
kdy1 Sep 24, 2020
51e0cdc
access_property: handle class method with identifier key
kdy1 Sep 24, 2020
d34fbd5
Unignore
kdy1 Sep 24, 2020
3c79d0a
OptionalType
kdy1 Sep 24, 2020
26e3eea
Fix compilation
kdy1 Sep 24, 2020
5ebc68d
RestType
kdy1 Sep 24, 2020
8fd416d
fixup
kdy1 Sep 24, 2020
6091c91
Real fix
kdy1 Sep 24, 2020
7e44a65
Move
kdy1 Sep 24, 2020
ebf1656
Make test harder
kdy1 Sep 24, 2020
e931399
Ignore
kdy1 Sep 24, 2020
bfbdb69
Fix test suite
kdy1 Sep 24, 2020
3cd2dcc
Unignore
kdy1 Sep 24, 2020
b20ef0c
Unignore
kdy1 Sep 24, 2020
75523bb
Delete invalid file
kdy1 Sep 24, 2020
8a38697
Unignore
kdy1 Sep 24, 2020
7b84b28
handle_type_elements: favor identifier over index signature
kdy1 Sep 24, 2020
43ddfe3
Split
kdy1 Sep 24, 2020
b5ad861
Split a test
kdy1 Sep 24, 2020
eb060bd
Allow indexing strings with number
kdy1 Sep 24, 2020
4bbeb52
Unignore
kdy1 Sep 24, 2020
e2a3565
If index signature exist, it's always indexable
kdy1 Sep 24, 2020
093c322
Unignore
kdy1 Sep 24, 2020
098e982
Unignore
kdy1 Sep 24, 2020
573f057
Unignore
kdy1 Sep 24, 2020
9dd1abd
Simplify
kdy1 Sep 24, 2020
c30dda6
Unignore
kdy1 Sep 24, 2020
2b5379e
print backtrace
kdy1 Sep 24, 2020
420a7d2
Unignore
kdy1 Sep 24, 2020
39ef090
Handle spread of tuple types
kdy1 Sep 24, 2020
1409010
Unignore
kdy1 Sep 24, 2020
854ff36
Split a test
kdy1 Sep 24, 2020
1278f62
Unignore
kdy1 Sep 24, 2020
ae78efd
doc
kdy1 Sep 24, 2020
6d7a9ea
Handle this[key] in class
kdy1 Sep 24, 2020
15de405
Unignore
kdy1 Sep 24, 2020
508d7cd
Add README.md
kdy1 Sep 24, 2020
cdaad6c
More guide
kdy1 Sep 24, 2020
32460d0
Document test naming convention
kdy1 Sep 24, 2020
50edd7c
Split
kdy1 Sep 24, 2020
0666fe4
Ignore to split
kdy1 Sep 24, 2020
3ead80e
I found better way
kdy1 Sep 24, 2020
ab22b65
Split
kdy1 Sep 24, 2020
a8ed602
Unignore
kdy1 Sep 24, 2020
60a4a20
Make test harder
kdy1 Sep 24, 2020
f0f57d7
Split
kdy1 Sep 24, 2020
db6f5d6
Unignore
kdy1 Sep 24, 2020
29823b9
types: Add symbol type
kdy1 Sep 24, 2020
fe6e502
Type::Symbol
kdy1 Sep 24, 2020
22fba3f
Analyzer.symbols
kdy1 Sep 24, 2020
1a2df8d
Symbol.id instead of Symbol.value
kdy1 Sep 24, 2020
af481a6
Handle `Symbol()`
kdy1 Sep 24, 2020
dc419ac
Unignore symbol tests
kdy1 Sep 24, 2020
4834a4e
Print unique symbol / symbol for var decls
kdy1 Sep 24, 2020
807d2ce
Fix type_of_ts_entity_name
kdy1 Sep 24, 2020
3d3518e
Unignore
kdy1 Sep 24, 2020
3155a08
expand: Handle alias
kdy1 Sep 24, 2020
46e8f7a
Scope.super_class
kdy1 Sep 24, 2020
44626a2
Handle class inheritance
kdy1 Sep 24, 2020
f744ed1
Unignore
kdy1 Sep 24, 2020
1056c03
Unignore
kdy1 Sep 24, 2020
af41293
Unignore
kdy1 Sep 24, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 3 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,7 @@
"rust-client.revealOutputChannelOn": "warn",
"rust-client.logToFile": true,
"editor.formatOnSave": true,
"git.ignoreLimitWarning": true
"git.ignoreLimitWarning": true,
"rust-analyzer.procMacro.enable": true,
"rust-analyzer.cargo.loadOutDirsFromCheck": true
}
3 changes: 1 addition & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[workspace]
members = ["ecmascript", "ecmascript/jsdoc", "native", "spack", "wasm"]
members = ["typescript", "ecmascript", "ecmascript/jsdoc", "native", "spack", "wasm"]

[package]
authors = ["강동윤 <[email protected]>"]
Expand Down Expand Up @@ -52,4 +52,3 @@ lto = true

[profile.bench]
codegen-units = 1
debug = true
15 changes: 10 additions & 5 deletions ecmascript/codegen/src/typescript.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,11 @@ impl<'a> Emitter<'a> {
fn emit_ts_constructor_signature_decl(&mut self, n: &TsConstructSignatureDecl) -> Result {
self.emit_leading_comments_of_pos(n.span().lo())?;

unimplemented!("emit_ts_constructor_signature_decl")
keyword!("constructor");

punct!("(");
self.emit_list(n.span, Some(&n.params), ListFormat::Parameters)?;
punct!(")");
}

#[emitter]
Expand Down Expand Up @@ -253,10 +257,11 @@ impl<'a> Emitter<'a> {
self.emit_list(n.span, Some(&n.params), ListFormat::Parameters)?;
punct!("]");

punct!(":");
formatting_space!();
emit!(n.type_ann);
semi!();
if let Some(type_ann) = &n.type_ann {
punct!(":");
formatting_space!();
emit!(type_ann);
}
}

#[emitter]
Expand Down
24 changes: 24 additions & 0 deletions testing/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#![feature(test)]

pub use self::output::{NormalizedOutput, StdErr, StdOut, TestOutput};
use crate::paths::manifest_dir;
use difference::Changeset;
use once_cell::sync::Lazy;
pub use pretty_assertions::{assert_eq, assert_ne};
Expand All @@ -11,6 +12,7 @@ use std::{
fs::{create_dir_all, File},
io::Write,
path::Path,
process::Command,
thread,
};
use swc_common::{
Expand Down Expand Up @@ -245,3 +247,25 @@ pub fn diff(l: &str, r: &str) -> String {

format!("{}", cs)
}

/// This methods do multiple things.
///
/// - Run `npm install` if `$CARGO_MANIFEST_DIR/package.json` is found.
pub fn prepare() {
fn npm_install() {
let f = manifest_dir().join("package.json");

if manifest_dir().join("node_modules").exists() {
return;
}

if f.exists() {
Command::new("npm")
.arg("i")
.output()
.expect("failed to install node dependencies");
}
}

npm_install();
}
10 changes: 10 additions & 0 deletions typescript/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[package]
authors = ["강동윤 <[email protected]>"]
edition = "2018"
name = "swc_typescript"
publish = false
version = "0.1.0"

[dependencies]
swc_ts_checker = {path = "./checker"}
swc_ts_dts = {path = "./dts"}
3 changes: 3 additions & 0 deletions typescript/checker/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
tests/reference/
tests/success.txt
tests/done_sorted.txt
46 changes: 46 additions & 0 deletions typescript/checker/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[package]
authors = ["강동윤 <[email protected]>"]
edition = "2018"
name = "swc_ts_checker"
publish = false
version = "0.1.0"

[dependencies]
macros = {package = "swc_ts_checker_macros", path = "./macros"}
ordered-float = "1.0.2"
swc_atoms = {path = "../../atoms"}
swc_common = {path = "../../common", features = ["concurrent"]}
swc_ecma_ast = {path = "../../ecmascript/ast"}
swc_ecma_parser = {path = "../../ecmascript/parser"}
swc_ecma_utils = {path = "../../ecmascript/utils"}
swc_ecma_visit = {path = "../../ecmascript/visit"}
swc_ts_builtin_types = {path = "./builtin"}
swc_ts_types = {path = "../types"}
swc_visit = {path = "../../visit"}

anyhow = "1"
backtrace = {version = "0.3", features = ["serde"]}
bitflags = "1"
crossbeam = "0.7.1"
dashmap = "3.5.1"
derive_more = {version = "0.99.2", default-features = false, features = ["display"]}
either = "1"
fxhash = "0.2"
itertools = "0.8"
log = "0.4"
node-resolve = "2.2"
once_cell = "1.3.1"
petgraph = "0.5"
rayon = "1"
serde_json = "1"
smallvec = "0.6"

[dev-dependencies]
env_logger = "0.7.1"
pretty_assertions = "0.5"
serde = {version = "1", features = ["derive"]}
sourcemap = "2.2"
swc_ecma_codegen = {path = "../../ecmascript/codegen"}
tempfile = "3"
testing = {path = "../../testing"}
walkdir = "2"
11 changes: 11 additions & 0 deletions typescript/checker/TODOs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
- Type narrowing

- Infer of generic arguments

- Getter in class

- Getter / Setter in class

- Type::TypeOf

http://www.typescriptlang.org/play/?noImplicitAny=false&strictNullChecks=false&strictFunctionTypes=false&strictPropertyInitialization=false&strictBindCallApply=false&noImplicitThis=false&noImplicitReturns=false&alwaysStrict=false&ts=3.7-Beta&ssl=6&ssc=1&pln=3&pc=1#code/G4QwTgBAHhC8EBcwFcCmBuAUJ0kDGAXBMAPYCWAJnNFrhBUQgJ4AOqJAZhMgHYWocyPVFXhRa4CKiK9+g4aJqYgA
16 changes: 16 additions & 0 deletions typescript/checker/builtin/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[package]
authors = ["강동윤 <[email protected]>"]
edition = "2018"
name = "swc_ts_builtin_types"
version = "0.1.0"

[dependencies]
fxhash = "0.2.1"
indexmap = "1.3.2"
once_cell = "1"
swc_atoms = {path = "../../../atoms"}
swc_common = {path = "../../../common"}
swc_ecma_ast = {path = "../../../ecmascript/ast"}
swc_ecma_parser = {path = "../../../ecmascript/parser"}
swc_ecma_visit = {path = "../../../ecmascript/visit"}
swc_ts_builtin_macro = {path = "./macros"}
8 changes: 8 additions & 0 deletions typescript/checker/builtin/lib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Read this!

The files within this directory are used to generate `lib.d.ts` and `lib.es6.d.ts`.

## Generated files

Any files ending in `.generated.d.ts` aren't meant to be edited by hand.
If you need to make changes to such files, make a change to the input files for [**our library generator**](https://github.com/Microsoft/TSJS-lib-generator).
Loading