Class: Webpack::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/webpack/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



5
6
7
# File 'lib/generators/webpack/install/install_generator.rb', line 5

def self.source_root
  @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
end

Instance Method Details

#add_packagesObject



39
40
41
# File 'lib/generators/webpack/install/install_generator.rb', line 39

def add_packages
  system 'npm install webpack babel-core babel-loader babel-preset-es2015 --save'
end

#adjust_gitignoreObject



25
26
27
28
29
# File 'lib/generators/webpack/install/install_generator.rb', line 25

def adjust_gitignore
  if File.exist?('.gitignore')
    append_to_file '.gitignore', "\nnode_modules\n"
  end
end

#adjust_slugignoreObject



31
32
33
34
35
36
37
# File 'lib/generators/webpack/install/install_generator.rb', line 31

def adjust_slugignore
  if File.exist?('.slugignore')
    append_to_file '.slugignore', "\nnode_modules\n"
  else
    create_file '.slugignore', "node_modules\n"
  end
end

#create_barebone_fileObject



9
10
11
12
# File 'lib/generators/webpack/install/install_generator.rb', line 9

def create_barebone_file
  template 'config/webpack.config.js'
  template 'package.json'
end

#create_sample_assetsObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/generators/webpack/install/install_generator.rb', line 14

def create_sample_assets
  template 'app/assets/webpack/index.js'
  if File.exist?('app/assets/javascripts/application.js')
    append_to_file 'app/assets/javascripts/application.js' do
      "\n//= require_webpack_tree ../webpack\n"
    end
  else
    puts "WARNING: remember to add //= require_webpack_tree ../webpack to your application.js"
  end
end