@@ -10,24 +10,32 @@ RAILS_ENV = ENV["RAILS_ENV"]
1010ENV [ "NODE_ENV" ] ||= RAILS_ENV
1111NODE_ENV = ENV [ "NODE_ENV" ]
1212
13- APP_PATH = File . expand_path ( "../" , __dir__ )
13+ APP_PATH = File . expand_path ( "../" , __dir__ )
14+ CONFIG_FILE = File . join ( APP_PATH , "config/webpacker.yml" )
15+ NODE_MODULES_PATH = File . join ( APP_PATH , "node_modules" )
16+ WEBPACK_CONFIG = File . join ( APP_PATH , "config/webpack/development.js" )
17+
18+ def args ( key )
19+ index = ARGV . index ( key )
20+ index ? ARGV [ index + 1 ] : nil
21+ end
22+
23+ begin
24+ dev_server = YAML . load_file ( CONFIG_FILE ) [ "development" ] [ "dev_server" ]
25+
26+ DEV_SERVER_HOST = "http#{ "s" if args ( '--https' ) || dev_server [ "https" ] } ://#{ args ( '--host' ) || dev_server [ "host" ] } :#{ args ( '--port' ) || dev_server [ "port" ] } "
1427
15- def load_yaml_config ( config_file )
16- YAML . load_file ( File . join ( APP_PATH , config_file ) ) [ NODE_ENV ]
1728rescue Errno ::ENOENT , NoMethodError
18- puts "Configuration not found in #{ config_file } ."
29+ puts "Webpack dev_server configuration not found in #{ CONFIG_FILE } ."
1930 puts "Please run bundle exec rails webpacker:install to install webpacker"
2031 exit!
2132end
2233
23- paths = load_yaml_config ( "config/webpack/paths.yml" )
24- NODE_MODULES_PATH = File . join ( APP_PATH , paths [ "node_modules" ] )
25- WEBPACK_CONFIG = File . join ( APP_PATH , paths [ "config" ] , "development.server.js" )
26-
27- dev_server = load_yaml_config ( "config/webpack/development.server.yml" )
28- DEV_SERVER_HOST = "http#{ "s" if dev_server [ "https" ] } ://#{ dev_server [ "host" ] } :#{ dev_server [ "port" ] } "
34+ newenv = {
35+ "NODE_PATH" => NODE_MODULES_PATH . shellescape ,
36+ "ASSET_HOST" => DEV_SERVER_HOST . shellescape
37+ } . freeze
2938
30- newenv = { "NODE_PATH" => NODE_MODULES_PATH . shellescape , "ASSET_HOST" => DEV_SERVER_HOST . shellescape }
3139cmdline = [ "yarn" , "run" , "webpack-dev-server" , "--" , "--progress" , "--color" , "--config" , WEBPACK_CONFIG ] + ARGV
3240
3341Dir . chdir ( APP_PATH ) do
0 commit comments