Pular para o conteúdo principal

implementation_imports

Saiba mais sobre a regra de lint implementation_imports.

Estável
Recomendado

Não importe arquivos de implementação de outro pacote.

Detalhes

#

Da documentação de layout de pacotes do pub:

NÃO FAÇA importe arquivos de implementação de outro pacote.

As bibliotecas dentro de lib são publicamente visíveis: outros pacotes podem importá-las livremente. Mas grande parte do código de um pacote são bibliotecas internas de implementação, que só devem ser importadas e usadas pelo próprio pacote. Elas ficam dentro de um subdiretório de lib chamado src. Você pode criar subdiretórios ali se isso ajudar a organizar as coisas.

Você pode importar bibliotecas que estão em lib/src a partir de outro código Dart do mesmo pacote (como outras bibliotecas em lib, scripts em bin e testes), mas nunca deve importar do diretório lib/src de outro pacote. Esses arquivos não fazem parte da API pública do pacote e podem mudar de formas que quebrem o seu código.

RUIM:

dart
// In 'road_runner'
import 'package:acme/src/internals.dart';

Ativar

#

Para ativar a regra implementation_imports, adicione implementation_imports em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - implementation_imports

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione implementation_imports: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    implementation_imports: true

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.