mirror of
https://github.com/mastodon/mastodon.git
synced 2026-08-17 01:26:40 -05:00
34 lines
835 B
Ruby
34 lines
835 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Vite
|
|
class Tasks
|
|
attr_reader :config, :logger
|
|
|
|
def initialize(config:)
|
|
@config = config
|
|
# We want tasks to always log out to STDOUT
|
|
@logger = ActiveSupport::TaggedLogging.new(
|
|
ActiveSupport::Logger.new($stdout)
|
|
).tagged('vite')
|
|
end
|
|
|
|
# Intended to run within assets:precompile task
|
|
def precompile
|
|
Vite::Builder.new(config:, logger:).build!
|
|
end
|
|
|
|
# Intended to run within assets:clobber task
|
|
def clobber
|
|
[config.out_dir, config.cache_dir].each do |path|
|
|
dir = Rails.root.join(path)
|
|
if dir.exist?
|
|
logger.info { "Deleting directory '#{dir}'" }
|
|
dir.rmtree
|
|
else
|
|
logger.info { "Directory '#{dir}' doesn't exist, nothing to delete" }
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|