Commit graph

703 commits

Author SHA1 Message Date
Boshen
585e48fe9b
feat(resolver): implement symlinks (#582) 2023-07-21 19:10:59 +08:00
Boshen
2330099a34
deps(rust): bump dependencies 2023-07-21 11:38:12 +08:00
Boshen
6bb46ca20a
perf(resolver): use rustc_hash::FxHasher for DashMap (#568) 2023-07-18 16:54:05 +08:00
Boshen
e8b974564e
feat(resolver): implement enforceExtension (#567) 2023-07-18 16:20:03 +08:00
Boshen
d410d1a2d7
feat(resolver): accept different file system implementations (#562) 2023-07-17 18:29:41 +08:00
Boshen
789626e01c
perf(resolver): add file system cache (#547) 2023-07-14 16:02:13 +08:00
Boshen
4132b294ca
refactor(resolver): add our own path util for normalization 2023-07-14 14:34:48 +08:00
Boshen
ca4d2fa248
feat(resolver): resolve as module (#544) 2023-07-14 11:59:22 +08:00
Don Isaac
3ab9ae121d
refactor(cli): Runners (#533) 2023-07-14 11:39:23 +08:00
Boshen
4d187ce963
feat(resolver): resolve js file (#543) 2023-07-13 18:04:00 +08:00
Boshen
a9debc9fdb
feat(resolver): add resolver test fixtures (#542) 2023-07-13 13:37:29 +08:00
Don Isaac
0346adb1eb
feat(linter): add eslint/no-control-regex (#516) 2023-07-10 10:20:57 +08:00
Boshen
d93e96f92f
Release oxc v0.0.7 2023-07-06 15:45:09 +08:00
Boshen
2e32140450
publish: bump all crates to v0.0.7 2023-07-06 14:27:13 +08:00
Boshen
19c68c8c57
chore(Cargo): change how crates are version and published
Let's publish everything under `oxc` instead of individual crates
2023-07-06 14:14:29 +08:00
Boshen
8aba8bcbb5
feat(oxc): a single oxc crate (#522) 2023-07-06 13:35:25 +08:00
Boshen
17a73b1eef
refactor(ast): move ModuleRecord to oxc_syntax 2023-07-03 22:54:27 +08:00
Boshen
df3a2f2d9d
refactor(resolver): add oxc_resolver crate 2023-07-02 20:44:43 +08:00
Boshen
90004ba4be
fix(cli): print number of threads used by rayon instead of number of cores 2023-06-27 22:05:44 +08:00
Boshen
662229ab69
refactor(semantic): use std::cell:OnceCell instead of the crate version 2023-06-26 21:48:55 +08:00
阿良仔
26c3ece37c
feat: handle UnaryOpsWithBigInt (#475) 2023-06-25 22:37:36 +08:00
Maneren
b31819d7a1
feat(cli): Basic recursive implementation of module based linting (#468) 2023-06-23 08:26:05 +08:00
Ben
67a86063e9
Update to latest Ezno checker and more (#463) 2023-06-21 08:09:41 +08:00
Boshen
19b839efe9
perf(semantic): use IndexVec instead of indextree for ast nodes (#462) 2023-06-20 15:21:58 +08:00
Boshen
d30735677b
refactor(semantic): merge semantic2 crate into semantic crate (#460) 2023-06-19 20:20:59 +08:00
Boshen
0d5db3d2f7
feat(benchmark): add bench semantic 2023-06-19 18:30:30 +08:00
Boshen
ab25bdebe4
deps: bump deps 2023-06-14 22:37:27 +08:00
Boshen
a79480b078
feat(minifier): separate mangler pass (#439) 2023-06-14 10:46:13 +08:00
Boshen
dcb38f2277
refactor(semantic): move SymbolId and SymbolFlags to oxc_syntax 2023-06-12 20:55:16 +08:00
Boshen
5c91fd54e3
feat(minifier): print [-In] Context (#428) 2023-06-11 16:44:48 +08:00
Ben
304eaddb8f
feat(type): Add oxc_type_synthesis (#413)
Co-authored-by: Boshen <boshenc@gmail.com>
2023-06-07 23:52:58 +08:00
Boshen
2bebbb5a77
feat(website): add linter / minifier / formatter to the playground (#407) 2023-06-04 15:30:55 +08:00
Boshen
62f9682564
deps(rust): bump criterion 2023-06-04 14:04:37 +08:00
Boshen
e88fd86b17
feat(website): integrate oxc wasm into the playground (#404) 2023-06-03 10:20:50 +08:00
Boshen
6acf33887c
fix(lower): avoid stack overflow during expression visit (#400) 2023-06-01 15:12:08 +08:00
Boshen
d1a930d95c
fix(cli): turn on clap default features, which contains --help
closes #398
2023-05-31 19:12:04 +08:00
Boshen
6ef839b781
chore(rust): bump deps 2023-05-31 16:34:28 +08:00
Boshen
24f11a4ea8
refactor(syntax): move identifier related code from lexer to syntax 2023-05-27 11:00:02 +08:00
Boshen
a31c7ac77a
refactor(index): use static_assertions 2023-05-24 22:53:11 +08:00
Boshen
30fc21ce54
refactor(index): use index_vec crate (#383) 2023-05-24 21:45:06 +08:00
Yoni Feng
c1d1846714
Add Brotli size to minsize task output (#377) 2023-05-23 17:00:49 +08:00
Boshen
827cef3311
chore(minsize): use default version of flate2 (removes 2 extra dependencies) 2023-05-23 00:32:00 +08:00
Boshen
d407cd9675
feat(minifier): add allocator to minifier example 2023-05-22 12:23:04 +08:00
Boshen
5eeb2b0684
refactor(ast): remove ordered_float::NotNan<f64> from NumberLiteral
This is not easy to use
2023-05-21 21:46:45 +08:00
Boshen
69b3aff858
feat(minifier): add --mangle option to example 2023-05-21 14:45:24 +08:00
Boshen
df06c3a51a
feat(benchmark): add minifier to benchmark (#365) 2023-05-20 22:31:04 +08:00
Boshen
f8828db68c
feat(semantic2): slot based mangler (#364) 2023-05-20 19:00:57 +08:00
Boshen
ebfaa3b940
feat(hir,minifier): wire up mangling 2023-05-13 21:59:42 +08:00
Boshen
6e8d342403
feat(minifier): add mangle option 2023-05-13 16:03:43 +08:00
Boshen
1f5fa8d6cb
feat: reimplement semantic builder (#354) 2023-05-13 15:20:00 +08:00
Boshen
14720e7c69
refactor: move SourceType from oxc_ast to oxc_span (#351)
related #350
2023-05-12 23:16:14 +08:00
Boshen
9465b5f596
refactor(span): move base54 function to oxc_span 2023-05-12 17:02:27 +08:00
Boshen
ec092eab01
deps(rust): bump dependencies 2023-05-12 11:23:41 +08:00
Boshen
48e524ddcf
feat(ast_lower): scope tree (#344) 2023-05-10 22:38:34 +08:00
Boshen
6924e59c5c
chore: remove unused dependencies found by cargo-machete 2023-05-10 19:22:22 +08:00
Boshen
0f57a512f5
refactor(Formatter): remove minification logic 2023-05-08 22:59:18 +08:00
Boshen
1b83e6c16e
feat(oxc_index): add static_assert_size for compile time evaluation (#343) 2023-05-08 22:20:54 +08:00
Boshen
c5c88a965d
feat(oxc_index): add crate (#342) 2023-05-08 22:01:18 +08:00
Boshen
65a445f512
refactor: move operator to oxc_syntax (#341) 2023-05-08 15:35:01 +08:00
Boshen
e897306f3d
chore(coverage): test serialization on ast and hir (#339) 2023-05-07 22:05:45 +08:00
Boshen
ddf4ac9cc2
refactor(formatter): remove whitespace minification from formatter (#337) 2023-05-07 17:58:57 +08:00
Boshen
c2428d8abd
chore: rename oxc_printer to oxc_formatter (#336) 2023-05-07 17:47:13 +08:00
Boshen
86c01c7fb8
feat(minifier): use hir (#335) 2023-05-07 17:23:00 +08:00
Boshen
72ba29f88b
feat(hir): complete first iteration of ast lowering (#327) 2023-05-06 19:13:44 +08:00
Boshen
99fdaad03a
chore(rust): bump bitflags to v2 2023-05-04 12:24:47 +08:00
Boshen
89352f85de
deps: bump dependencies 2023-05-04 11:33:01 +08:00
Boshen
59ff1fb289
HIR (#319) 2023-04-28 10:33:26 +08:00
Boshen
b6d00e5a6e
deps: remove thiserror from oxc_ast 2023-04-27 22:06:03 +08:00
Boshen
0cdcf03752
deps: remove miette from oxc_ast 2023-04-27 22:03:36 +08:00
Boshen
cd276c2850
feat: add oxc_span crate (#323) 2023-04-27 21:51:15 +08:00
Boshen
1004a1d197
chore: clean up workspace dependencies (#320) 2023-04-27 11:38:39 +08:00
Boshen
e7302eede1
feat(hir): concept of hir (#314) 2023-04-25 10:54:37 +08:00
Boshen
781c855c4d
feat(wasm): integrate linter, minifier and printer (#313) 2023-04-24 10:17:13 +08:00
Boshen
cecd743848
refactor(wasm): clean up wasm 2023-04-22 23:13:59 +08:00
Boshen
4801e68b56
chore: bump deps (#311) 2023-04-22 22:09:53 +08:00
Boshen
f382d36375
chore: publish crates v0.0.6 2023-04-22 16:09:05 +08:00
Boshen
d49195f7f2
feat: napi (#302)
* chore: only ignore js files from the root

* feat: napi
2023-04-22 14:41:45 +08:00
Boshen
c14c82b15d
feat(printer,semantic): mangler (#285)
closes #284
2023-04-18 21:32:35 +08:00
Boshen
92ba59443c
feat(tasks): add minifier coverage test (#292) 2023-04-17 21:30:04 +08:00
Boshen
50749f7c7f
refactor(allocator): clean up and add unit tests 2023-04-16 12:07:03 +08:00
Boshen
9eec306818
chore(minifier): add SemanticBuilder to minifier example
so we can start measuring perf
2023-04-14 13:21:04 +08:00
Boshen
b603c70564
chore: remove examples/ 2023-04-14 13:12:33 +08:00
Boshen
a7cd845fff
feat: add cargo minsize task for tracking minification size (#276)
* feat: add `cargo minsize` task for tracking minification size

* add gzip
2023-04-14 13:07:37 +08:00
Boshen
d117ce20a1 refactor(benchmark): add more benchmark files 2023-04-13 22:16:48 +08:00
Shannon Rothe
7899cf545d
feat(semantic): parse jsdoc comments (#205)
Co-authored-by: Boshen <boshenc@gmail.com>
2023-04-12 16:47:19 +08:00
Boshen
040ac8256f
Release 2023-04-10 22:35:05 +08:00
Boshen
bb18132da5
refactor(oxc_diagnostics): remove error declarations
Make this crate not dependent on `oxc_ast`
2023-04-10 22:21:05 +08:00
Boshen
aedaa1a110
refactor(linter,semantic): move syntax check from linter to semantic (#272)
Syntax checker is part of semantic analyzer,
it doesn't make sense for the user to add a linter just for semantic errors
2023-04-10 12:23:53 +08:00
Boshen
021271b953
Release oxc_diagnostics@0.0.4 2023-04-05 21:11:12 +08:00
Boshen
513931f672
Release oxc_ast@0.0.4 oxc_parser@0.0.4 oxc_semantic@0.0.3 2023-04-05 20:59:50 +08:00
Boshen
089c2ba0ca
Release 0.0.3 2023-04-02 16:59:15 +08:00
Boshen
abcda95e8e
deps: bump deps 2023-04-02 16:48:45 +08:00
Boshen
971aac5716
deps: bump Cargo.lock 2023-04-02 11:00:16 +08:00
Boshen
9f7758465b
Release 0.0.1
oxc_allocator@0.0.1
oxc_ast@0.0.1
oxc_diagnostics@0.0.1
oxc_parser@0.0.1
oxc_printer@0.0.1
oxc_semantic@0.0.1

Generated by cargo-workspaces
2023-03-30 23:37:25 +08:00
Boshen
a35d08ea23
Minifier Prototype (#215)
feat(minifier): minifier prototype
2023-03-29 06:51:50 -07:00
yangchenye
a2d0d2ddc9
feat(linter): implement eslint(array-callback-return) (#221)
* feat(linter): implement eslint(array-callback-return)

* Add more comments & use phf_set for target methods

* Revert changes to AST

* Document get_enclosing_function

* Clean up names

* Remove redundant visitor and flags
2023-03-29 05:58:39 -07:00
Boshen
b65e8397de
feat(diagnostics): change color displays
related #203
2023-03-26 21:20:54 +08:00
Boshen
366dc3037a
feat(diagnostics): port miette GraphicalReportHandler for further tuning 2023-03-26 20:20:53 +08:00
Boshen
ef19895cc3
feat(cli): add -A all -D isolated-declarations (#211)
* feat(linter): add restriction category for lint rules

* feat(cli): add "--allow" and "--deny" commands

* feat(linter): use a single instance of linter

* feat(cli): derive rules from args

* feat(cli): print number of rules
2023-03-26 04:34:31 -07:00
Boshen
ff9a2c3ab0
feat(linter): eslint disable comments (#196)
feat(linter): eslint disable comments

closes #100
closes #170
2023-03-22 11:27:42 +08:00
Boshen
ea7ae1011f
chore(cli): removed unused glob dependency 2023-03-19 10:35:55 +08:00
Boshen
8d3a5c46ba feat(ast,semantic): add ModuleRecord 2023-03-15 18:12:34 -07:00
yangchenye
aaaefc8ba5
feat(linter): implement eslint(no-unsafe-negation) (#186) 2023-03-15 11:36:56 +08:00
yangchenye
74c731c415
feat(linter): Implement eslint(no-compare-neg-zero) (#185) 2023-03-15 10:44:11 +08:00
Boshen
b5af93575f
deps: update dependencies (#183) 2023-03-15 10:30:12 +08:00
Boshen
449856e875
feat(cli): print number of cpus cores 2023-03-12 13:13:09 +08:00
Boshen
d490ca7b31
chore(rust): bump deps 2023-03-11 23:26:45 +08:00
Xuan
9f3952cca3
feat(linter): add no_self_compare (#152) 2023-03-11 18:15:44 +08:00
Boshen
5c8670d1c8 feat(semantic): declare symbol and reference Identifier 2023-03-10 23:28:51 -08:00
Shannon Rothe
da8355f418
feat(rulegen): refactor to visitor pattern (#162)
* feat(rulegen): refactor to visitor pattern

* convert `parse_test_code` to visitor pattern
2023-03-09 17:33:30 +08:00
Boshen
4ea7ac373d feat(linter): check Identifier in javascript 2023-03-09 01:27:14 -08:00
Boshen
ed161cc38e feat(linter): check PrivateIdentifier in javascript 2023-03-09 01:27:14 -08:00
Boshen
4e0d785b25 feat(linter): add infrastructure for handling early errors 2023-03-09 01:27:14 -08:00
Yoni Feng
8f26b9932a
perf(semantic): use faster indextree building (#122) 2023-03-09 17:20:41 +08:00
Boshen
e1971577cb
fix(oxc_macros): fix clippy warnings 2023-03-08 23:35:34 +08:00
Boshen
94fdd54368
perf(lexer): fine tune identifier checking with less redundant branches (#154)
perf(lexer): fine tune checking of identifiers with less redundant branches
2023-03-08 22:00:15 +08:00
Domon
be2231b689
fix: fix wasm-pack build crash (#156) 2023-03-08 19:00:40 +08:00
yangchenye
b76ffb4826
feat(rule_generator): generate test options (#150) 2023-03-08 11:02:01 +08:00
Amit Dahan
2687d7868f
refactor(linter): add declare_all_lint_rules proc macro (#121) 2023-03-07 07:39:38 -08:00
Shannon Rothe
0f7edfb003
feat(rule_generator): automatically generate rules and tests (#142) 2023-03-07 18:21:58 +08:00
Boshen
c5dea20e1d
fix(oxc_wasm): remove wee_alloc dependency; fix profile warning 2023-03-06 14:50:02 +08:00
Domon
24d327c40d
feat(wasm): add wasm to oxc (#130) 2023-03-06 14:13:06 +08:00
Boshen
683778dfe2
feat(semantic): implement scopes (#135)
closes #119
2023-03-05 07:43:32 -08:00
Boshen
2f9e3832a0 chore(rust): bump deps 2023-03-05 04:51:00 -08:00
Boshen
94fddffc70
chore: use fancy-no-backtrace from miette
See https://github.com/zkat/miette/issues/132
2023-03-05 15:16:26 +08:00
Boshen
7d3ce8b125
feat(benchmark): add semantic builder to benchmark (#129) 2023-03-04 23:09:19 -08:00
Boshen
e71de0bff6 perf(cli): lint files while walking directories 2023-03-04 04:38:58 -08:00
Boshen
e73f0b3ebe chore(cli): turn off unused default_features of git2 2023-03-04 04:38:58 -08:00
Shannon Rothe
f8b8f045a9
feat(cli): filter out uncommitted files (#110) 2023-03-03 22:42:22 -08:00
Yoni Feigelson
9b5c170c19 refactor(linter) Generate rule name with declare_oxc_lint 2023-03-01 06:50:36 -08:00
Yoni Feigelson
f859ee0e38 feat(linter): declare_oxc_lint proc_macro 2023-02-28 18:05:45 -08:00
Boshen
3b887dbeaf feat(parser): print json in parser example 2023-02-28 00:05:54 +08:00
Boshen
5c64b4874c feat(linter): configure rules from json 2023-02-27 12:31:57 +08:00
Boshen
a342a01c4a feat(linter): add rule name and make the Tester test via rule names 2023-02-27 12:31:57 +08:00
Amit Dahan
e2207b9b15 feat(cli): support linting glob patterns 2023-02-26 22:25:16 +08:00
thepassle
eaeafa0a82 feat(cli): exit codes
chore: remove foo.js

chore: review comments

chore: shut clippy up

chore: ran cargo fmt

chore: unnecessary return
2023-02-26 01:32:17 +08:00
Boshen
28916f96af feat(linter): setup tests 2023-02-25 23:45:03 +08:00
Boshen
c86cca37a8 feat(linter): linter prototype 2023-02-25 16:56:10 +08:00
Boshen
abb2f8c949 feat(rust): use mimalloc on windows 2023-02-25 11:58:57 +08:00
Boshen
5f7a756229 feat(semantic): add semantic builder with untyped ast tree creation 2023-02-25 10:32:48 +08:00
Boshen
9f3a8c12a9 feat(cli): initialize cli and directory traversal 2023-02-24 22:46:56 +08:00
Boshen
7689df3318 feat(coverage): print diagnostics to snapshots 2023-02-22 19:23:01 +08:00
Boshen
4f4a9802b7 refactor(diagnostics,parser): move diagnostics to parser 2023-02-22 19:23:01 +08:00
Boshen
7a44a657e1 feat: add miette fancy report to examples 2023-02-22 19:23:01 +08:00
Boshen
a733856536 refactor(ast,parser): use u32 for node spans
The next PR will fix the jargon where Node = Span.

relates to #9
2023-02-21 16:02:23 +08:00
Boshen
457aa7d1be feat(printer): add printer example 2023-02-20 18:23:36 +08:00
Boshen
978ca362f7 feat(coverage): use test262 to test printer 2023-02-20 18:23:36 +08:00
Boshen
e4b07b7db9 feat(printer): Initialize printer
closes #21
2023-02-20 18:23:36 +08:00
Boshen
a347e3993e
Revert "perf(lexer): use portable-SIMD to speed up multiline comment scanning"
This reverts commit a51c7f9ba2.
2023-02-17 14:50:42 +08:00
Boshen
a51c7f9ba2 perf(lexer): use portable-SIMD to speed up multiline comment scanning 2023-02-15 19:51:13 -08:00
Boshen
6758b0c66c feat(coverage): add typescript conformance (currently 4287/4861 88.19%)
Some of the files are not being parsed because we are currently less
recoverable than TypeScript.
2023-02-11 23:46:28 -08:00
Boshen
a4e04d4f6f feat(coverage): add babel conformance (currently 2043/2057 99.32%) 2023-02-11 22:36:32 -08:00
Boshen
93993978de chore: commit Cargo.lock 2023-02-11 18:45:50 -08:00