From d55ce0ddc6bade3ce306456e63e44887a1caf276 Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 13 Nov 2023 00:42:05 +0000 Subject: [PATCH] fix(linter) Fix prefer date now with parenthesis (#1245) --- .../src/rules/unicorn/prefer_date_now.rs | 3 ++- .../oxc_linter/src/snapshots/prefer_date_now.snap | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/crates/oxc_linter/src/rules/unicorn/prefer_date_now.rs b/crates/oxc_linter/src/rules/unicorn/prefer_date_now.rs index 5f6c24b62..b3c77031e 100644 --- a/crates/oxc_linter/src/rules/unicorn/prefer_date_now.rs +++ b/crates/oxc_linter/src/rules/unicorn/prefer_date_now.rs @@ -149,7 +149,7 @@ impl Rule for PreferDateNow { } fn is_new_date(expr: &Expression) -> bool { - let Expression::NewExpression(new_expr) = expr else { return false }; + let Expression::NewExpression(new_expr) = expr.without_parenthesized() else { return false }; if let Expression::Identifier(ident) = &new_expr.callee { return ident.name == "Date" && new_expr.arguments.is_empty(); @@ -216,6 +216,7 @@ fn test() { r#"foo /= new Date"#, r#"foo %= new Date()"#, r#"foo **= new Date()"#, + r#"foo **= (new Date())"#, r#"function foo(){return+new Date}"#, r#"function foo(){return-new Date}"#, ]; diff --git a/crates/oxc_linter/src/snapshots/prefer_date_now.snap b/crates/oxc_linter/src/snapshots/prefer_date_now.snap index e641448af..a78fd95f9 100644 --- a/crates/oxc_linter/src/snapshots/prefer_date_now.snap +++ b/crates/oxc_linter/src/snapshots/prefer_date_now.snap @@ -114,6 +114,13 @@ expression: prefer_date_now ╰──── help: Change to `Date.now()`. + ⚠ eslint-plugin-unicorn(prefer-date-now): Prefer `Date.now()` over `new Date()` + ╭─[prefer_date_now.tsx:1:1] + 1 │ const zero = (new Date(/* 1 */) /* 2 */) /* 3 */ - /* 4 */new Date + · ─────────────────────────── + ╰──── + help: Change to `Date.now()`. + ⚠ eslint-plugin-unicorn(prefer-date-now): Prefer `Date.now()` over `new Date()` ╭─[prefer_date_now.tsx:1:1] 1 │ const zero = (new Date(/* 1 */) /* 2 */) /* 3 */ - /* 4 */new Date @@ -156,6 +163,13 @@ expression: prefer_date_now ╰──── help: Change to `Date.now()`. + ⚠ eslint-plugin-unicorn(prefer-date-now): Prefer `Date.now()` over `new Date()` + ╭─[prefer_date_now.tsx:1:1] + 1 │ foo **= (new Date()) + · ──────────── + ╰──── + help: Change to `Date.now()`. + ⚠ eslint-plugin-unicorn(prefer-date-now): Prefer `Date.now()` over `new Date()` ╭─[prefer_date_now.tsx:1:1] 1 │ function foo(){return+new Date}