Class: ReactOnRails::PacksGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/react_on_rails/packs_generator.rb

Overview

rubocop:disable Metrics/ClassLength

Constant Summary collapse

CONTAINS_CLIENT_OR_SERVER_REGEX =
/\.(server|client)($|\.)/
MINIMUM_SHAKAPACKER_VERSION =
[6, 5, 1].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.instanceObject



11
12
13
# File 'lib/react_on_rails/packs_generator.rb', line 11

def self.instance
  @instance ||= PacksGenerator.new
end

Instance Method Details

#generate_packs_if_staleObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/react_on_rails/packs_generator.rb', line 15

def generate_packs_if_stale
  return unless ReactOnRails.configuration.auto_load_bundle

  add_generated_pack_to_server_bundle
  are_generated_files_present_and_up_to_date = Dir.exist?(generated_packs_directory_path) &&
                                               File.exist?(generated_server_bundle_file_path) &&
                                               !stale_or_missing_packs?

  return if are_generated_files_present_and_up_to_date

  clean_generated_packs_directory
  generate_packs
end