impeccable_flutter 0.1.4 copy "impeccable_flutter: ^0.1.4" to clipboard
impeccable_flutter: ^0.1.4 copied to clipboard

CLI Dart para detectar anti-padrões de design em apps Flutter. Modo --fast (regex), full (custom_lint) e subcomando skills install.

example/main.dart

// Exemplo mínimo de uso programático do impeccable_flutter.
//
// Roda o scanner `--fast` (regex-only, sem analyzer) sobre um snippet
// inline de código Flutter cheio de anti-padrões e imprime os findings
// em JSON, no mesmo schema do impeccable web original.
//
// Rode com:
//   dart run example/main.dart
//
// Para uso real (sobre o seu app Flutter):
//   dart pub global activate impeccable_flutter
//   impeccable_flutter detect lib/

import 'dart:convert';
import 'dart:io';

import 'package:impeccable_flutter/src/fast_scanner.dart';

Future<void> main() async {
  // Snippet com 3 anti-padrões propositais: deepPurple seed, bounce easing
  // e cor literal pura. Os 3 são detectáveis pelo scanner regex-only.
  const sampleCode = '''
import 'package:flutter/material.dart';

class Demo extends StatelessWidget {
  const Demo({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
      ),
      home: AnimatedContainer(
        duration: const Duration(milliseconds: 300),
        curve: Curves.bounceOut,
        color: Colors.black,
      ),
    );
  }
}
''';

  // Grava o snippet num arquivo temporário, varre o diretório, depois apaga.
  final tmp = await Directory.systemTemp.createTemp('impeccable_example_');
  final file = File('${tmp.path}/sample.dart');
  await file.writeAsString(sampleCode);

  try {
    final findings = await scanDirectory(tmp);
    final json = findings.map((f) => f.toJson()).toList();
    stdout.writeln(const JsonEncoder.withIndent('  ').convert(json));
    stdout.writeln('\n→ ${findings.length} finding(s) detected.');
  } finally {
    await tmp.delete(recursive: true);
  }
}
1
likes
160
points
19
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

CLI Dart para detectar anti-padrões de design em apps Flutter. Modo --fast (regex), full (custom_lint) e subcomando skills install.

Homepage
Repository (GitHub)
View/report issues

Topics

#lints #design #flutter #cli

License

Apache-2.0 (license)

Dependencies

args, io, path

More

Packages that depend on impeccable_flutter