Commit Graph

310 Commits

Author SHA1 Message Date
SWC Bot
ead25ee153 chore: Publish crates 2022-05-15 05:09:48 +00:00
SWC Bot
3149026d0f chore: Publish crates 2022-05-14 06:13:18 +00:00
Artur
9b226a7026
feat(es/lints): Implement no-sparse-arrays rule (#4652) 2022-05-14 06:10:49 +00:00
SWC Bot
46c1add60e chore: Publish crates 2022-05-12 20:21:46 +00:00
Artur
f45dd72033
feat(es/lints): Implement no-compare-neg-zero rule (#4643) 2022-05-12 20:19:18 +00:00
SWC Bot
97808349a2 chore: Publish crates 2022-05-11 16:17:07 +00:00
SWC Bot
90569d4673 chore: Publish crates 2022-05-11 04:38:52 +00:00
Donny/강동윤
6a97c7bef8
fix(es/utils): Fix wrong apis (#4604)
# API Changes

## `swc_ecma_utils`

### Renames

 - `find_ids` => `find_pat_ids`
 - `prepend` => `prepend_stmt`
 - `as_bool` => `cast_to_bool`
 - `as_number` => `as_pure_number`
 - `as_string` => `cast_to_string`
 - (`as_pure_bool`, `cast_to_number` is not renamed)
 - `UsageFinder` => `IdentUsageFinder`.
 - `IdentFinder` => `IdentRefFinder`.

## Changes

 - Re-export of `HANDLER` from `swc_common::errors` is removed. Use `swc_common::error::HANDLER` instead.
 - Re-export of `Id` from `swc_ecma_ast` is removed. Use `swc_ecma_ast::Id` instead.
 - `ExprCtx` is used for apis related to `Expr`.
 - `preserve_effects` is now a method of `ExprCtx`. It was a top-level function.
 - `extract_side_effects_to` is now a method of `ExprCtx`. It was a top-level function.
 - `IdentUsageFinder` (previously `UsageFinder`) now takes `Id` instead of `Ident`.
 - `IdentRefFinder` (previously `IdentFinder`) now takes `Id` instead of `Ident`.
 - `ExprExt::is_ident_ref_to` is removed.
 - `Expr::is_global_ref_to` is added.
 - `:🆔:id` is removed. Use `Ident::to_id()` instead.
2022-05-11 04:36:22 +00:00
Donny/강동윤
2c861bd9e5
feat(es/ast): Improve Id APIs (#4614)
# API Changes

 - `Ident` now has `to_id()`. This method is added to allow removing an import.
2022-05-11 12:02:14 +09:00
SWC Bot
ad9daae200 chore: Publish crates 2022-05-10 10:43:10 +00:00
Artur
e65bf3d025
feat(es/lints): Implement prefer-const rule without options (#4584) 2022-05-10 10:40:46 +00:00
Donny/강동윤
7fc9bbccd9
feat(config): Make all configuration overridable (#4575) 2022-05-09 05:38:27 +00:00
SWC Bot
e4ce388632 chore: Publish crates 2022-05-06 04:10:39 +00:00
Donny/강동윤
a6d404a8c2
chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
SWC Bot
00695f4b23 chore: Publish crates 2022-05-03 07:50:35 +00:00
SWC Bot
179c014957 chore: Publish crates 2022-04-30 07:27:58 +00:00
Artur
17f237d3ba
feat(es/lints): Implement no-var (#4485) 2022-04-30 07:25:35 +00:00
SWC Bot
48b427e403 chore: Publish crates 2022-04-29 07:48:41 +00:00
Artur
3a8cade209
feat(es/lints): Implement no-throw-literal (#4477) 2022-04-29 07:46:17 +00:00
Donny/강동윤
27f9b30ef2 chore: Publish crates 2022-04-26 19:30:11 +09:00
Donny/강동윤
53610fdafc
feat(es/resolver): Use different syntax context for unresolved refs (#4436)
- We don't need a list of bindings to check if an identifier is unresolved.
 - Checking if an identifier is unresolved is now one CPU instruction.
   - Previously it was one hashmap operation.
 - This PR also improves performance, by removing the hashmaps mentioned above.
2022-04-26 07:38:50 +00:00
SWC Bot
7d23492b16 chore: Publish crates 2022-04-21 10:02:50 +00:00
OJ Kwon
8419b60430
fix(plugin): Align deps to fix build (#4377) 2022-04-20 08:05:02 +00:00
SWC Bot
995b4367cc chore: Publish crates 2022-04-15 07:39:50 +00:00
SWC Bot
fa880634bd chore: Publish crates 2022-04-11 20:05:28 +00:00
SWC Bot
4a097adbf7 chore: Publish crates 2022-04-11 18:48:43 +00:00
那里好脏不可以
37a8c90750
chore(*): Typo + fomatting (#4304) 2022-04-11 18:45:58 +00:00
SWC Bot
1fb456c630 chore: Publish crates 2022-04-09 08:16:20 +00:00
Austaras
e4a565c2d4
fix(es/lints): Check parameters in the duplicate binding rule (#4288) 2022-04-09 08:14:01 +00:00
OJ Kwon
fad652f879
chore(plugin): Align version of swc_common to include dummy comment api (#4270) 2022-04-07 07:21:37 +00:00
SWC Bot
5eb3d8315a chore: Publish crates 2022-04-05 12:49:22 +00:00
OJ Kwon
4093814895
chore(build): Dedup swc_common (#4247) 2022-04-05 14:28:07 +09:00
Donny/강동윤
1f466e1d2f
chore(ci): Fix benchmark action (#4242) 2022-04-04 20:12:03 +09:00
SWC Bot
3337777f8c chore: Publish crates 2022-04-02 06:06:39 +00:00
SWC Bot
6125de9808 chore: Publish crates 2022-03-28 12:20:51 +00:00
SWC Bot
e7089d8b3e chore: Publish crates 2022-03-28 08:52:53 +00:00
Artur
a88d56ee08
feat(es/lints): Implement no-obj-calls rule (#4168) 2022-03-28 08:50:32 +00:00
SWC Bot
4bb22f9b5c chore: Publish crates 2022-03-28 08:30:00 +00:00
Artur
2a9cb2d12a
refactor(es/lints): Use util for parens (#4167) 2022-03-28 08:20:46 +00:00
SWC Bot
3761ba4c98 chore: Publish crates 2022-03-26 06:52:11 +00:00
Artur
10851ece98
feat(es/lints): Implement symbol-description rule (#4161) 2022-03-26 06:49:57 +00:00
SWC Bot
6debb423d5 chore: Publish crates 2022-03-26 06:28:01 +00:00
magic-akari
fce554cfb0
fix(es/lints): Ignore type-only imports while checking duplicates (#4163) 2022-03-26 15:25:17 +09:00
SWC Bot
d8abd9d2aa chore: Publish crates 2022-03-24 17:23:24 +00:00
Artur
7a06c5b3d8
feat(es/lints): Remove source map accesses (#4147) 2022-03-24 17:07:18 +00:00
SWC Bot
9431eae9f4 chore: Publish crates 2022-03-24 10:30:10 +00:00
Artur
47712de0da
feat(es/lints): Implement no-param-reassign rule (#4134) 2022-03-24 10:27:26 +00:00
Donny/강동윤
e6088408bf chore: Publish crates 2022-03-24 12:05:47 +09:00
SWC Bot
06ce880c53 chore: Publish crates 2022-03-24 02:17:28 +00:00
Donny/강동윤
0f92eda0c7
feat(es/lints): Improve error messages (#4142) 2022-03-24 02:15:03 +00:00
SWC Bot
cff12e53ce chore: Publish crates 2022-03-23 22:09:56 +00:00
Artur
d8a988ef3d
feat(es/lints): Use Str.raw instead of source map (#4139) 2022-03-23 22:07:16 +00:00
SWC Bot
77722c4943 chore: Publish crates 2022-03-22 08:03:01 +00:00
SWC Bot
39507b0268 chore: Publish crates 2022-03-21 11:37:18 +00:00
Artur
dd862ba9f8
feat(es/lints): Implement use-isnan rule (#4080) 2022-03-21 11:35:10 +00:00
SWC Bot
06c1b3ecb5 chore: Publish crates 2022-03-20 06:49:16 +00:00
Artur
9ceefa734f
feat(es/lints): Implement valid-typeof rule (#4095) 2022-03-20 06:46:41 +00:00
Donny/강동윤
533f756274
fix(api/rust): Exclude test files from rust packages (#4091) 2022-03-19 10:49:12 +00:00
SWC Bot
60d820a47c chore: Publish crates 2022-03-18 14:21:39 +00:00
Artur
b39e345d8e
feat(es/lints): Implement no-new-symbol rule (#4076) 2022-03-18 23:19:02 +09:00
SWC Bot
a74d4ca679 chore: Publish crates 2022-03-17 10:29:25 +00:00
SWC Bot
aacc2a1f46 chore: Publish crates 2022-03-17 06:08:12 +00:00
Artur
833958bd74
feat(es/lints): Implement yoda rule (#3886) 2022-03-17 06:05:39 +00:00
SWC Bot
4d6d766cf8 chore: Publish crates 2022-03-17 05:36:01 +00:00
LongYinan
db9b988845
feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
SWC Bot
5824571a3f chore: Publish crates 2022-03-16 04:22:52 +00:00
Donny/강동윤
ba1c854fb1
fix(es/lints): Fix false-positive of duplicate-exports (#4041) 2022-03-16 04:20:45 +00:00
Donny/강동윤
dac84b98e3
doc(api/rust): Add examples (#4002) 2022-03-13 22:07:34 +00:00
Donny/강동윤
38c0c0faa6 chore: Publish crates 2022-03-14 04:11:07 +09:00
SWC Bot
38f009d2cf chore: Publish crates 2022-03-12 03:04:21 +00:00
Donny/강동윤
f28134fe77
feat(es/lints): Mark catch params as binding patterns while checking duplicates (#3981) 2022-03-12 03:02:22 +00:00
Donny/강동윤
ddfa490899 chore: Publish crates 2022-03-12 10:00:23 +09:00
LongYinan
1206c84e19
feat(*): Update dependencies (#3964) 2022-03-11 23:00:55 +09:00
SWC Bot
4006794d78 chore: Publish crates 2022-03-11 08:44:23 +00:00
Donny/강동윤
c6b5371c51
fix(es/lints): Don't visit types while collecting const (#3967) 2022-03-11 17:41:28 +09:00
SWC Bot
15be5f153b chore: Publish crates 2022-03-11 04:57:25 +00:00
magic-akari
579aeb7cfa
feat(es/lints): Refine error message (#3952) 2022-03-11 04:55:37 +00:00
Donny/강동윤
45a4374ee1
fix(wasm): Fix handling of swc_common::GLOBALS (#3936) 2022-03-10 03:59:46 +00:00
SWC Bot
72ea33f796 chore: Publish crates 2022-03-07 05:51:34 +00:00
magic-akari
0181fbe63b
feat(es/lints): Support module/script mode in duplicate_bindings (#3880)
Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2022-03-07 05:49:39 +00:00
SWC Bot
70896b5ba6 chore: Publish crates 2022-03-07 04:20:34 +00:00
Artur
3e8efacf3a
perf(es/lints): Extract top level bindings only if the rule is enabled (#3889) 2022-03-07 04:18:37 +00:00
SWC Bot
fd453b9170 chore: Publish crates 2022-03-05 19:34:45 +00:00
SWC Bot
3034e355ed chore: Publish crates 2022-03-05 17:31:09 +00:00
magic-akari
d10e66285b
fix(es/lints): Ignore identifiers used as types while checking for duplicate bindings (#3869) 2022-03-06 02:29:21 +09:00
SWC Bot
2fdc5f625d chore: Publish crates 2022-03-05 14:52:49 +00:00
SWC Bot
add86a7e6a chore: Publish crates 2022-03-05 06:48:00 +00:00
SWC Bot
ce78344a7c chore: Publish crates 2022-03-03 05:10:48 +00:00
Artur
f6b4bbe47b
feat(es/lints): Implement radix rule (#3651) 2022-03-03 14:03:13 +09:00
SWC Bot
4fe874dd77 chore: Publish crates 2022-02-26 15:11:21 +00:00
SWC Bot
8f1aef47d4 chore: Publish crates 2022-02-25 06:10:45 +00:00
SWC Bot
2b537d46d4 chore: Publish crates 2022-02-23 06:37:39 +00:00
Pig Fang
e252265a3f
feat(es/lints): Implement default-param-last rule (#3681) 2022-02-23 06:35:04 +00:00
SWC Bot
053519d537 chore: Publish crates 2022-02-22 12:19:03 +00:00
Artur
319d501f17
feat(es/lints): Implement no-empty-function rule (#3565) 2022-02-22 12:13:13 +00:00
SWC Bot
138ef861b2 chore: Publish crates 2022-02-22 06:16:36 +00:00
Artur
f4af3634de
feat(es/lints): Add no-loop-func rule (#3630) 2022-02-22 06:14:10 +00:00
SWC Bot
e4c674b9cb chore: Publish crates 2022-02-21 13:10:43 +00:00
SWC Bot
e08a2c2c17 chore: Publish crates 2022-02-21 07:15:09 +00:00
Austaras
2cb66ae075
refactor(es/ast): Change definition of optional chaining expressions (#3645) 2022-02-21 07:12:09 +00:00
Artur
5a9d0cf8a7
feat(es/lints): Implement no-bitwise rule (#3635) 2022-02-21 02:17:18 +00:00
SWC Bot
264f1cf8d6 chore: Publish crates 2022-02-20 15:53:48 +00:00
SWC Bot
6690acab18 chore: Publish crates 2022-02-20 08:48:38 +00:00
Artur
7ff4cbcbe1
feat(es/lints): Implement no-new rule (#3634) 2022-02-20 08:39:55 +00:00
SWC Bot
34322d13a6 chore: Publish crates 2022-02-19 09:11:36 +00:00
Artur
72343baf5b
feat(es/lints): Implement no-restricted-syntax rule (#3607) 2022-02-19 09:06:10 +00:00
SWC Bot
a91361eef0 chore: Publish crates 2022-02-17 12:53:25 +00:00
magic-akari
08c343b186
feat(es/lints): Allow using number as an error level (#3593) 2022-02-17 12:48:54 +00:00
SWC Bot
aa10900235 chore: Publish crates 2022-02-17 06:13:48 +00:00
magic-akari
71a94b143e
fix(es/lints): Use kebab-case for configuration (#3590) 2022-02-17 06:11:43 +00:00
SWC Bot
eb59f2a51d chore: Publish crates 2022-02-17 05:18:22 +00:00
OJ Kwon
5061101999
build(swc): Bump the version of parking_lot (#3604) 2022-02-17 05:16:14 +00:00
SWC Bot
d4cac369b0 chore: Publish crates 2022-02-16 11:10:00 +00:00
magic-akari
3e29b73a2a
feat(es/lints): Implement no-dupe-args rule (#3574) 2022-02-16 11:07:42 +00:00
SWC Bot
7a173af447 chore: Publish crates 2022-02-16 14:19:25 +09:00
Donny/강동윤
786d016174
fix(es/lints): Fix duplicate-bindings for typescript (#3583) 2022-02-16 05:00:55 +00:00
SWC Bot
49a87471fd chore: Publish crates 2022-02-15 04:57:59 +09:00
Artur
f9fda2743c
feat(es/lints): Implement no-empty-pattern rule (#3550) 2022-02-14 17:55:52 +00:00
SWC Bot
6a74aeecc1 chore: Publish crates 2022-02-14 01:32:16 +09:00
Artur
8d92050f55
feat(es/lints): Implement eqeqeq rule (#3513) 2022-02-13 16:31:48 +00:00
SWC Bot
da77104db2 chore: Publish crates 2022-02-13 13:58:05 +09:00
Artur
286b6c804f
feat(es/lints): Add allow config for no-console rule (#3517) 2022-02-13 13:57:39 +09:00
SWC Bot
b5a5f2b624 chore: Publish crates 2022-02-12 21:46:16 +09:00
Artur
af8200647b
feat(es/lints): Add this handling support to no-alert rule (#3515) 2022-02-12 21:45:56 +09:00
SWC Bot
cc3b1dfd69 chore: Publish crates 2022-02-10 13:52:54 +09:00
Artur
205b76e78d
feat(es/lints): Implement no-use-before-define rule (#3456) 2022-02-10 04:52:11 +00:00
Donny/강동윤
8fbdbcd42f chore: Publish crates 2022-02-09 20:28:02 +09:00
Artur
5bb6bd71b6
feat(es/lints): Implement dot-notation rule (#3481) 2022-02-09 11:24:58 +00:00
Donny/강동윤
9b76783281
refactor(common): Cleanup & rustfmt (#3495)
swc_common:
 - Merge identical source codes.

swc_css_parser:
 - Deny `clippy::all`.
 - Fix lints.
2022-02-09 06:33:32 +00:00
Donny/강동윤
1234fac4d5 chore: Publish crates 2022-02-07 23:04:39 +09:00
Donny/강동윤
b06a5abe58 chore(es/lints): Fix CI 2022-02-07 23:03:08 +09:00
Donny/강동윤
02c401830d chore: Publish crates 2022-02-07 17:12:43 +09:00
Artur
5d6143a53c
feat(es/lints): Implement linter for quotes of string literals (#3443) 2022-02-07 08:12:14 +00:00
Donny/강동윤
802842561e chore: Publish crates 2022-02-04 16:47:02 +09:00
Artur
8166275166
feat(es/lints): Implement prefer-regex-literals (#3399) 2022-02-04 16:46:34 +09:00
Donny/강동윤
19e7c70bd7 chore: Publish crates 2022-02-04 13:21:41 +09:00
Donny/강동윤
de4ae1b4e9 chore: Publish crates 2022-02-02 23:46:36 +09:00
Artur
5cbe4fe512
feat(es/lints): Add no-alert and a feature gate (#3394)
swc_ecma_lints:
 - Implement `no-alert`
 - Add a feature gate for non-critical rules.
2022-02-02 14:43:46 +00:00
Donny
a94f1ddb6f chore: Publish crates 2022-01-30 12:36:38 +09:00
Artur
9dec9236f7
feat(es/lints): Implement no-debugger rule (#3398) 2022-01-30 03:33:46 +00:00
Donny
bcc3ae86ae chore: Publish crates 2022-01-26 20:39:45 +09:00
Artur
987213797f
feat(es/lints): Implement "no-console" rule (#3269)
swc_ecma_lints:
 - Add types for general configuration.
 - Add `no-console`rule.

swc:
 - Expose the lint config via `jsc.lints`.
2022-01-26 20:39:19 +09:00
Donny
316d4762c3 chore: Publish crates 2022-01-26 20:36:44 +09:00
Donny
681de03e4b chore: Publish crates 2022-01-17 13:36:00 +09:00
magic-akari
f4b3cb714a
fix(es/resolver): Treat a switch statement as a block scope (#3275) 2022-01-15 17:20:17 +09:00
Donny/강동윤
15b604b6d6
refactor(*): Fix some clippy warnings (#3257) 2022-01-14 07:20:45 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy (#3250) 2022-01-13 23:06:11 +09:00
Donny
c13bba8401 chore: Publish crates 2022-01-12 18:39:56 +09:00
Donny
852ec783f3 chore: Publish crates 2022-01-10 22:57:17 +09:00
Donny
0d4b671052 chore: Publish crates 2022-01-10 15:05:26 +09:00
Donny
6892f27ad7 chore: Publish crates 2022-01-06 20:19:36 +09:00
Sosuke Suzuki
432f877790
feat(es/ast): Use ModuleExportName for ExportNamespaceSpecifier (#3195) 2022-01-06 20:19:11 +09:00
Donny
e679c04873 chore: Publish crates 2022-01-05 11:59:44 +09:00
Donny/강동윤
913c82a2ab
fix(es/lints): Fix incorrect duplicate binding error (#3194)
swc_ecma_transforms_base:
 - `resolver`: Fix resolving of `const` and `let`.

swc_ecma_lints:
 - `duplicate_bindings`: Don't mark ambient function declararions as a binding. (Closes #3193)
2022-01-05 11:59:10 +09:00
Donny
781aa79b82 chore: Publish crates 2022-01-04 19:29:50 +09:00
Donny
1e5bc88cd3 chore: Publish crates 2022-01-03 17:45:09 +09:00
Sosuke Suzuki
07c0489575
feat(es/ast): Add ModuleExportName (#3048)
swc_ecma_ast:
 - Allow using string as import/export specifiers.
2022-01-03 08:44:11 +00:00
Donny/강동윤
194b3e9b67
refactor(*): Use 2021 edition (#3151) 2021-12-30 18:59:18 +09:00
Donny
0cf8265f02 chore: Publish crates 2021-12-29 21:04:30 +09:00
Donny/강동윤
f21af5bcd6
feat(es/lints): Implement simple validations (#2763)
swc_ecma_lint:
 - Implement `const-assign`. (Closes #2016)
 - Implement `duplicate-bindings`. (Closes #2795)
 - Implement `duplicate-exports`. (Closes #3056)

swc:
 - Use linter.
2021-12-19 21:07:51 +09:00