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