fix(linter): improve help message on no-namespace

This commit is contained in:
Boshen 2023-08-21 11:18:37 +08:00
parent cc862536f6
commit a1c2fa65f7
No known key found for this signature in database
GPG key ID: 234DA6A7079C6801
2 changed files with 75 additions and 72 deletions

View file

@ -12,8 +12,11 @@ use oxc_span::Span;
use crate::{context::LintContext, rule::Rule, AstNode};
#[derive(Debug, Error, Diagnostic)]
#[error("ES2015 module syntax is preferred over namespaces.")]
#[diagnostic(severity(warning), help("Replace the namespace with an ES2015 module"))]
#[error("typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.")]
#[diagnostic(
severity(warning),
help("Replace the namespace with an ES2015 module or use `declare module`")
)]
struct NoNamespaceDiagnostic(#[label] pub Span);
#[derive(Debug, Default, Clone)]

View file

@ -2,297 +2,297 @@
source: crates/oxc_linter/src/tester.rs
expression: no_namespace
---
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ module foo {}
· ──────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ namespace foo {}
· ─────────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ module foo {}
· ──────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ namespace foo {}
· ─────────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ module foo {}
· ──────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ namespace foo {}
· ─────────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ declare module foo {}
· ──────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ declare namespace foo {}
· ─────────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ declare module foo {}
· ──────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ declare namespace foo {}
· ─────────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │ namespace Foo.Bar {}
· ─────────
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace Foo.Bar {
· ─────────
3 │ namespace Baz.Bas {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:2:1]
2 │ namespace Foo.Bar {
3 │ namespace Baz.Bas {
· ─────────
4 │ interface X {}
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:2:1]
2 │ namespace A {
3 │ namespace B {
· ─────────
4 │ declare namespace C {}
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:2:1]
2 │ namespace A {
3 │ namespace B {
· ─────────
4 │ export declare namespace C {}
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ export declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ export declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ export declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ namespace A {
· ─────────
3 │ export namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:2:1]
2 │ namespace A {
3 │ export namespace B {
· ─────────
4 │ export declare namespace C {}
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:2:1]
2 │ export namespace A {
3 │ namespace B {
· ─────────
4 │ declare namespace C {}
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:2:1]
2 │ export namespace A {
3 │ namespace B {
· ─────────
4 │ export declare namespace C {}
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ export declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ export declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ export declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ declare namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:1:1]
1 │
2 │ export namespace A {
· ─────────
3 │ export namespace B {
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`
⚠ ES2015 module syntax is preferred over namespaces.
typescript-eslint(no-namespace): ES2015 module syntax is preferred over namespaces.
╭─[no_namespace.tsx:2:1]
2 │ export namespace A {
3 │ export namespace B {
· ─────────
4 │ export declare namespace C {}
╰────
help: Replace the namespace with an ES2015 module
help: Replace the namespace with an ES2015 module or use `declare module`