custom_lint 0.0.15 copy "custom_lint: ^0.0.15" to clipboard
custom_lint: ^0.0.15 copied to clipboard

Lint rules are a powerful way to improve the maintainability of a project. Custom Lint allows package authors and developers to easily write custom lint rules.

0.0.15 #

  • Custom_lint now has a built-in mechanism for testing lints. Simply write a file that should contain lints for your plugin. Then, using a syntax similar to // ignore, write a // expect_lint: code in the line before your lint:

    // expect_lint: riverpod_final_provider
    var provider = Provider(...);
    

    When doing this, there are two possible cases:

    • The line after the expect_lint correctly contains the expected lint.
      In that case, the lint is ignored (similarly to if we used // ignore)
    • The next line does not contain the lint. In that case, the expect_lint comment will have an error.

    This allows testing your plugins by simply running custom_lint on your test/example folder. Then, if any expected lint is missing, the command will fail. But if your plugin correctly emits the lint, the command will succeed.

  • Upgrade analyzer/analzer_plugin

0.0.14 #

  • Fix custom_lint not working in the IDE

0.0.13 #

  • Add debugger and hot-reload support (Thanks to @TimWhiting)
  • Correctly respect exclude obtains from the analysis_options.yaml
  • Fix dart analyze incorrectly failing due to showing the "plugin is starting" lint.

0.0.12 #

  • Fix custom_lint plugins not working in release mode and when using git dependencies (thanks to @TimWhiting)
  • Fix command line exit code not being set properly (thansk to @andrzejchm)

0.0.11 #

Fix custom_lint not showing in the IDE

0.0.10+1 #

Update docs

0.0.10 #

  • Upgrade Riverpod to 2.0.0
  • Fix deprecation errors with analyzer

0.0.9+1 #

Update description and readme

0.0.9 #

  • Lint fixes can now be used when placing the cursor on the last character of a lint
  • improve pub score

0.0.8 #

Allow lints to emit fixes

0.0.7 #

Fix a bug where the custom_lint command line may not list all lints

0.0.6 #

feat!: getLints now is expected to return a Stream<Lint> instead of Iterable<Lint>

fix: a bug where the lints shown by the IDE could get out of sync with the actual content of the file

0.0.5 #

Fixed error reporting if a custom_lint plugin throws but the exception comes from a package instead of the plugin itself.

0.0.4 #

  • Fixed a bug where the command line could show IDE-only meant for debugging

0.0.3 #

PluginBase.getLints now receive a ResolvedUnitResult instead of a LibraryElement.

0.0.2 #

  • Compilation errors are now visible within the pubspec.yaml of applications that are using the plugin.

  • Plugins that are currently loading are now highlighted inside the pubspec.yaml of applications that are using the plugin.

  • If a plugin throws when trying to analyze a Dart file, the IDE will now show the exception at the top of the analyzed file.

  • Compilation errors, exceptions and prints are now accessible within a log file (custom_lint.log) inside applications using the plugin.

0.0.1 #

Initial release

204
likes
0
pub points
100%
popularity

Publisher

verified publisherinvertase.io

Lint rules are a powerful way to improve the maintainability of a project. Custom Lint allows package authors and developers to easily write custom lint rules.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

analyzer, analyzer_plugin, args, async, ci, cli_util, collection, meta, package_config, path, pub_semver, pubspec_parse, recase, riverpod, uuid, yaml

More

Packages that depend on custom_lint