A sintaxe do módulo ES2015 é preferida aos módulos e espaços de nome TypeScript personalizados @ typescript-eslint / no-namespace


9

Estou recebendo o seguinte erro ao executar o npm start:

A sintaxe do módulo ES2015 é preferida aos módulos e espaços de nome TypeScript personalizados @ typescript-eslint / no-namespace

    namespace InternalThings {...}

Eu tentei pesquisar isso, mas é muito confuso.

Por que isso está acontecendo? Como corrigi-lo?

Tentei colocar algumas bandeiras no meu tsconfig.json, mas até agora não obtive sucesso;

Respostas:


11

Este é um erro de fiapo, causado por esta regra de fiapo: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-namespace.md

Se você acha útil a regra e deseja mantê-la, precisará modificar seu código para usar importe exportnão o espaço para nome. Consulte a documentação da regra para saber o que conta como uma correção.

Se você gosta da regra, mas deseja desabilitá-la, adicione o seguinte logo acima:

// eslint-disable-next-line @typescript-eslint/no-namespace

Se você não gosta da regra e deseja desativá-la completamente, edite seu arquivo .eslintrc para ter a seguinte linha:

rules: {
  "@typescript-eslint/no-namespace": "off"
}

2

O erro está vindo do eslint. Você deve ignorar a regra '@ typescript-eslint / no-namespace' na configuração ou reescrever seu código usando o ES6.

Os módulos TypeScript personalizados (módulo foo {}) e namespaces (namespace foo {}) são considerados maneiras desatualizadas de organizar o código TypeScript. A sintaxe do módulo ES2015 agora é preferida (importação / exportação)

Consulte https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-namespace.md

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.