Перейти до вмісту

noRedundantUseStrict

Цей контент ще не доступний вашою мовою.

biome.json
{
"linter": {
"rules": {
"suspicious": {
"noRedundantUseStrict": "error"
}
}
}
}

Prevents from having redundant "use strict".

The directive "use strict" isn’t needed in .mjs files, or in .js files inside projects where the package.json defines library as module:

{
"type": "module"
}

Instead, .cjs files are considered “scripts” and the directive "use strict" is accepted and advised.

"use strict";
function foo() {
"use strict";
}
code-block.cjs:3:3 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Redundant use strict directive.

1 │ “use strict”;
2 │ function foo() {
> 3 │ “use strict”;
^^^^^^^^^^^^^
4 │ }
5 │

This outer use strict directive already enables strict mode.

> 1 │ “use strict”;
^^^^^^^^^^^^^
2 │ function foo() {
3 │ “use strict”;

Safe fix: Remove the redundant use strict directive.

1 1 “use strict”;
2 2 function foo() {
3 - ·use·strict;
3+ ·
4 4 }
5 5

"use strict";
"use strict";
function foo() {
}
code-block.cjs:2:1 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Redundant use strict directive.

1 │ “use strict”;
> 2 │ “use strict”;
^^^^^^^^^^^^^
3 │
4 │ function foo() {

This outer use strict directive already enables strict mode.

> 1 │ “use strict”;
^^^^^^^^^^^^^
2 │ “use strict”;
3 │

Safe fix: Remove the redundant use strict directive.

1 1 “use strict”;
2 - use·strict;
3 2
3+
4 4 function foo() {
5 5

function foo() {
"use strict";
"use strict";
}
code-block.cjs:3:1 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Redundant use strict directive.

1 │ function foo() {
2 │ “use strict”;
> 3 │ “use strict”;
^^^^^^^^^^^^^
4 │ }
5 │

This outer use strict directive already enables strict mode.

1 │ function foo() {
> 2 │ “use strict”;
^^^^^^^^^^^^^
3 │ “use strict”;
4 │ }

Safe fix: Remove the redundant use strict directive.

1 1 function foo() {
2 2 “use strict”;
3 - use·strict;
3+
4 4 }
5 5

class C1 {
test() {
"use strict";
}
}
code-block.cjs:3:3 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Redundant use strict directive.

1 │ class C1 {
2 │ test() {
> 3 │ “use strict”;
^^^^^^^^^^^^^
4 │ }
5 │ }

All parts of a class’s body are already in strict mode.

> 1 │ class C1 {
^^^^^^^^^^
> 2 │ test() {
> 3 │ “use strict”;
> 4 │ }
> 5 │ }
^
6 │

Safe fix: Remove the redundant use strict directive.

1 1 class C1 {
2 2 test() {
3 - use·strict;
4 - }
3+
4+ }
5 5 }
6 6

const C2 = class {
test() {
"use strict";
}
};
code-block.cjs:3:3 lint/suspicious/noRedundantUseStrict  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Redundant use strict directive.

1 │ const C2 = class {
2 │ test() {
> 3 │ “use strict”;
^^^^^^^^^^^^^
4 │ }
5 │ };

All parts of a class’s body are already in strict mode.

> 1 │ const C2 = class {
^^^^^^^
> 2 │ test() {
> 3 │ “use strict”;
> 4 │ }
> 5 │ };
^
6 │

Safe fix: Remove the redundant use strict directive.

1 1 const C2 = class {
2 2 test() {
3 - use·strict;
4 - }
3+
4+ }
5 5 };
6 6

function foo() {
}
function foo() {
"use strict";
}
function bar() {
"use strict";
}