Module: Tailwindcss::Commands

Defined in:
lib/tailwindcss/commands.rb

Class Method Summary collapse

Class Method Details

.command_env(verbose:) ⇒ Object



32
33
34
35
36
# File 'lib/tailwindcss/commands.rb', line 32

def command_env(verbose:)
  {}.tap do |env|
    env["DEBUG"] = "1" if verbose
  end
end

.compile_command(debug: false, **kwargs) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/tailwindcss/commands.rb', line 6

def compile_command(debug: false, **kwargs)
  debug = ENV["TAILWINDCSS_DEBUG"].present? if ENV.key?("TAILWINDCSS_DEBUG")
  rails_root = defined?(Rails) ? Rails.root : Pathname.new(Dir.pwd)

  command = [
    Tailwindcss::Ruby.executable(**kwargs),
    "-i", rails_root.join("app/assets/tailwind/application.css").to_s,
    "-o", rails_root.join("app/assets/builds/tailwind.css").to_s,
  ]

  command << "--minify" unless (debug || rails_css_compressor?)

  postcss_path = rails_root.join("postcss.config.js")
  command += ["--postcss", postcss_path.to_s] if File.exist?(postcss_path)

  command
end

.rails_css_compressor?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/tailwindcss/commands.rb', line 38

def rails_css_compressor?
  defined?(Rails) && Rails&.application&.config&.assets&.css_compressor.present?
end

.watch_command(always: false, poll: false, **kwargs) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/tailwindcss/commands.rb', line 24

def watch_command(always: false, poll: false, **kwargs)
  compile_command(**kwargs).tap do |command|
    command << "-w"
    command << "always" if always
    command << "-p" if poll
  end
end