Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better handling of tool dicussions #228

Closed
wants to merge 6 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 7 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,13 @@ If you can, please limit yourself to only one category.
This way, all tools get treated fairly and the list is easier to read.


# How to mark a tool as unmaintained/deprecated

Sometimes it happens that a tool becomes unmaintained and there's nothing wrong
with that.
After all, a tool can still be very valuable to the community - even without
frequent updates.
However, since it is one of the goals of this project to allow people to make an
informed decision on what is the best tool for the job, we are marking
unmaintained or deprecated tools with a :warning: (`:warning:`) sign.
This sign indicates that the community does not recommend to use this tool for
new projects anymore.

[Here](https://github.com/mre/awesome-static-analysis/issues/223) is a nice
discussion about why we think this is necessary. If you find a tool, which is
unmaintained, please create a pull request which adds the `:warning:` sign and
provide an objective explanation as to why you think the tool should be marked.
Every deprecation will be handled on a case-by-case basis.
# Deprecating tools

Sometimes it happens that you come across a tool, which might not be a good fit for the list anymore. For example, it has not received any updates in a very long time.
In such a case, please remember that the tool can still be very valuable to the community - it might just not be a good fit for your specific use-case.

If you still find that a tool should be avoided, please create a pull request which adds an `:information_source:` sign and provide an objective explanation as to why you think the tool should be marked. If possible, please also mention the project maintainers there, so we can find a solution together.

Please keep in mind that behind every project there are human beings which put a lot of effort into building and maintaining a project, so be nice and constructive.

**Thanks for helping out!** :tada:
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
This is a collection of static analysis tools and code quality checkers. Pull requests are very welcome!

* :copyright: stands for proprietary software. All other tools are Open Source.
* :warning: indicates that the community does not recommend to use this tool for
new projects anymore as it is outdated or no longer maintained.
* :information_source: indicates that there was a discussion about the current state of the
tool. You can get further information from the link in the description.

Also check out the sister project, [awesome-dynamic-analysis](https://github.com/mre/awesome-dynamic-analysis).

Expand Down Expand Up @@ -256,8 +256,8 @@ Also check out the sister project, [awesome-dynamic-analysis](https://github.com
* [eslint](https://github.com/eslint/eslint) - A fully pluggable tool for identifying and reporting on patterns in JavaScript
* [Esprima](https://github.com/jquery/esprima) - ECMAScript parsing infrastructure for multipurpose analysis
* [flow](https://flow.org/) - A static type checker for JavaScript.
* [jshint](https://github.com/jshint/jshint) :warning: - detect errors and potential problems in JavaScript code and enforce your team's coding conventions
* [JSLint](https://github.com/douglascrockford/JSLint) :warning: - The JavaScript Code Quality Tool
* [jshint](https://github.com/jshint/jshint) :information_source: - detect errors and potential problems in JavaScript code and enforce your team's coding conventions ([Discussion](https://github.com/mre/awesome-static-analysis/issues/223))
* [JSLint](https://github.com/douglascrockford/JSLint) :information_source: - The JavaScript Code Quality Tool ([Discussion](https://github.com/mre/awesome-static-analysis/issues/223))
* [JSPrime](https://github.com/dpnishant/jsprime) - static security analysis tool
* [NodeJSScan](https://github.com/ajinabraham/NodeJsScan) - NodeJsScan is a static security code scanner for Node.js applications.
* [plato](https://github.com/es-analysis/plato) - Visualize JavaScript source complexity
Expand Down
2 changes: 1 addition & 1 deletion ci/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ci/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use regex::Regex;
use std::cmp::Ordering;

lazy_static! {
static ref TOOL_REGEX: Regex = Regex::new(r"\*\s\[(?P<name>.*)\]\((?P<link>http[s]?://.*)\)\s(:warning:\s)?(:copyright:\s)?\-\s(?P<desc>.*)").unwrap();
static ref TOOL_REGEX: Regex = Regex::new(r"\*\s\[(?P<name>.*)\]\((?P<link>http[s]?://.*)\)\s(:information_source:\s)?(:copyright:\s)?\-\s(?P<desc>.*)").unwrap();
static ref SUBSECTION_HEADLINE_REGEX: Regex = Regex::new(r"[A-Za-z\s]*").unwrap();
}

Expand Down