Sha256: 920385e0856630d6ad32687f7e7fa71518d37eec84c9db7fcb28359d8db26fcd
Contents?: true
Size: 1.24 KB
Versions: 4
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true require "rake" require "rake/tasklib" module Prettier module Rake # A Rake task that runs prettier on a set of source files. # # Example: # # require 'prettier/rake/task' # # Prettier::Rake::Task.new do |t| # t.source_files = '{app,config,lib}/**/*.rb' # end # # This will create a task that can be run with: # # rake prettier # class Task < ::Rake::TaskLib # Name of prettier task. # Defaults to :prettier. attr_accessor :name # Whether or not to overwrite the source files with the prettier output. # Defaults to true. attr_accessor :write # Glob pattern to match source files. # Defaults to 'lib/**/*.rb'. attr_accessor :source_files def initialize(name = :prettier) @name = name @write = true @source_files = "lib/**/*.rb" yield self if block_given? define_task end private def define_task desc "Runs prettier over source files" task(name) { run_task } end def run_task Prettier.run([("--write" if write), source_files].compact) exit($?.exitstatus) if $?&.exited? end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
prettier-3.1.2 | lib/prettier/rake/task.rb |
prettier-3.1.1 | lib/prettier/rake/task.rb |
prettier-3.1.0 | lib/prettier/rake/task.rb |
prettier-3.0.0 | lib/prettier/rake/task.rb |