Skip to content

immosquare/immosquare-cleaner

Repository files navigation

ImmosquareCleaner

A meticulously crafted Ruby gem to enhance the cleanliness and structure of your project's files. This tool ensures consistency and uniformity across various formats, including Ruby, ERB, YAML, Markdown, JSON, JS, CSS, SASS, LESS, and other formats supported by Prettier.

Supported Formats

The cleaner recognizes and caters to various file formats:

File Type File Extension Processor
ERB .html.erb htmlbeautifier && erb-lint
Ruby .rb, .rake, Gemfile, Rakefile, .axlsx, .gemspec, .ru, .podspec, .jbuilder, .rabl, .thor, config.ru, Berksfile, Capfile, Guardfile, Podfile, Thorfile, Vagrantfile rubocop
YAML .yml (only files in locales folder) ImmosquareYaml
JS .js eslint
JSON .json ImmosquareExtensions
Markdown .md, .md.erb ImmosquareCleaner
Others Any other format prettier

Linter Configurations

You can view the specific configurations for all supported linters in the linters folder of the repository.

Installation

Prerequisite: Please be sure to have bun installed. This is necessary to launch eslint & prettier commands.

For the Ruby gem:

gem "immosquare-cleaner"

Then execute:

$ bundle install

For the npm module:

Add immosquare-cleaner to your development dependencies. For instance, using bun:

$ bun add immosquare-cleaner

Usage

To clean a specific file:

ImmosquareCleaner.clean("path/to/your/file.rb")

Configuration

Tailor the behavior of the gem/module with the provided configuration options:

ImmosquareCleaner.config do |config|
  # Set custom rubocop options
  config.rubocop_options = "--your-rubocop-options-here"
  # Set custom htmlbeautifier options
  config.htmlbeautifier_options = "--your-htmlbeautifier-options-here"
  # Set custom erblint options
  config.erblint_options = "--your-erblint-options-here"
end

Integration with Visual Studio Code

Automate the cleaning process for all files upon saving in VS Code:

  1. Install the Run on Save extension from the VS Code marketplace.
  2. Add the following configuration to your settings.json in VS Code:
"emeraldwalk.runonsave": {
  "commands": [
    {
      "match": ".*",
      "cmd": "if bundle info immosquare-cleaner &>/dev/null; then bundle exec immosquare-cleaner '${file}'; else echo 'please install the gem immosquare-cleaner'; fi"
    }
  ]
}

With the above, every time you save a file in VS Code, it will automatically be cleaned using immosquare-cleaner.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on our GitHub repository.

License

This gem is available under the terms of the MIT License.

Releases

No releases published

Packages

No packages published