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.
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 |
You can view the specific configurations for all supported linters in the linters folder of the repository.
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
To clean a specific file:
ImmosquareCleaner.clean("path/to/your/file.rb")
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
Automate the cleaning process for all files upon saving in VS Code:
- Install the Run on Save extension from the VS Code marketplace.
- 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
.
Contributions are welcome! Please open an issue or submit a pull request on our GitHub repository.
This gem is available under the terms of the MIT License.