Class: ReactOnRails::PacksGenerator
- Inherits:
-
Object
- Object
- ReactOnRails::PacksGenerator
- Defined in:
- lib/react_on_rails/packs_generator.rb
Overview
rubocop:disable Metrics/ClassLength
Constant Summary collapse
- CONTAINS_CLIENT_OR_SERVER_REGEX =
/\.(server|client)($|\.)/.freeze
- MINIMUM_SHAKAPACKER_MAJOR_VERSION =
6- MINIMUM_SHAKAPACKER_MINOR_VERSION =
5- MINIMUM_SHAKAPACKER_PATCH_VERSION =
1
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.generate ⇒ Object
13 14 15 16 |
# File 'lib/react_on_rails/packs_generator.rb', line 13 def self.generate packs_generator = PacksGenerator.new packs_generator.verify_setup_and_generate_packs end |
.raise_nested_enteries_disabled ⇒ Object
18 19 20 21 |
# File 'lib/react_on_rails/packs_generator.rb', line 18 def self.raise_nested_enteries_disabled packs_generator = PacksGenerator.new packs_generator.raise_nested_enteries_disabled end |
Instance Method Details
#raise_nested_enteries_disabled ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/react_on_rails/packs_generator.rb', line 38 def raise_nested_enteries_disabled msg = <<~MSG **ERROR** ReactOnRails: `nested_entries` is configured to be disabled in shakapacker. Please update \ webpacker.yml to enable nested enteries. for more information read https://www.shakacode.com/react-on-rails/docs/guides/file-system-based-automated-bundle-generation.md#enable-nested_entries-for-shakapacker MSG raise ReactOnRails::Error, msg end |
#verify_setup_and_generate_packs ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/react_on_rails/packs_generator.rb', line 23 def verify_setup_and_generate_packs return unless components_subdirectory.present? raise_webpacker_not_installed unless ReactOnRails::WebpackerUtils.using_webpacker? raise_shakapacker_version_incompatible unless shackapacker_version_requirement_met? raise_nested_enteries_disabled unless ReactOnRails::WebpackerUtils.nested_entries? is_generated_directory_present = Dir.exist?(generated_packs_directory_path) return if is_generated_directory_present && webpack_assets_status_checker.stale_generated_component_packs.empty? clean_generated_packs_directory generate_packs end |