NOTE: Mighty Folk: This gem was forked from https://github.com/zmbush/coffeelint-ruby because the official Gem hasn't received updates since 2016, and is using the method File.exists? which has been deprecated and removed from Ruby 3.4 (in favor of File.exist?).
The "fork" was done by making an empty private untitledstartup/coffeelint-ruby repo, and then cloning the upstream repo and pushing it here, rather than the Github 'fork' button, because we cannot create private forks of public repos.
Using coffeelint version: v1.16.1
Coffeelint is a set of simple ruby bindings for coffeelint.
Install the Gem
Add this line to your application's Gemfile:
gem 'coffeelint'
Or for the most up to date version:
gem 'coffeelint', :git => 'git://github.com/zmbush/coffeelint-ruby.git', :submodules => true
And then execute:
$ bundle
Or install it yourself as:
$ gem install coffeelint
There are a few different uses of coffeelint.
lint_report = Coffeelint.lint(coffeescript source code, [config options])
lint_report = Coffeelint.lint_file(filename of coffeescript source, [config_options])
lint_reports = Coffeelint.lint_dir(directory, [config_options])
Coffeelint.lint_dir(directory, [config_options]) do |filename, lint_report|
puts filename
puts lint_report
Coffeelint.display_test_results(filename, lint_report)
end
Coffeelint.run_test(filename of coffeescript source, [config_options]) # Run tests and print pretty results (return true/false)
Coffeelint.run_test_suite(directory, [config_options]) # Runs a pretty report recursively for a directory (returns/exits with number of errors if any or 0)The coffeelint gem takes the same config options as coffeelint. The only addition is the config_file parameter. If you call coffeelint like:
Coffeelint.run_test_suite(directory, :config_file => 'coffeelint_config.json')Then it will load the config options from that file.
Alternatively you can create a config file in your project, coffeelint will load these by default:
- coffeelint.json
- .coffeelint.json
- config/coffeelint.json
- config/.coffeelint.json
To use a local version of coffeelint instead of the one bundled with the gem, You can set the path with Coffeelint.set_path(/path/to/coffeelint.js)
Additionally, if you are using rails you also get the rake task:
rake coffeelint
Which will run the test on any *.coffee file in your app or spec directories
Finally, there is a command line utility that allows you to run standalone tests:
coffeelint.rb <filename>
coffeelint.rb -r <directory>
coffeelint.rb -f <config.json> [-r] <fname-or-directory>
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
Bundler needs a compiled coffeelint present which you can get by running
rake prepare
