@@ -5,36 +5,24 @@ require "shellwords"
55require "yaml"
66
77ENV [ "RAILS_ENV" ] ||= "development"
8- RAILS_ENV = ENV [ "RAILS_ENV" ]
8+ RAILS_ENV = ENV [ "RAILS_ENV" ]
99
1010ENV [ "NODE_ENV" ] ||= RAILS_ENV
11- NODE_ENV = ENV [ "NODE_ENV" ]
11+ NODE_ENV = ENV [ "NODE_ENV" ]
1212
13- APP_PATH = File . expand_path ( "../" , __dir__ )
14- CONFIG_PATH = File . join ( APP_PATH , "config/webpack/paths.yml " )
15- DEV_SERVER_CONFIG_PATH = File . join ( APP_PATH , "config/webpack/development.server.yml " )
13+ APP_PATH = File . expand_path ( "../" , __dir__ )
14+ NODE_MODULES_PATH = File . join ( APP_PATH , "node_modules " )
15+ WEBPACK_CONFIG = File . join ( APP_PATH , "config/webpack/#{ NODE_ENV } .js " )
1616
17- begin
18- paths = YAML . load ( File . read ( CONFIG_PATH ) )
19- dev_server = YAML . load ( File . read ( DEV_SERVER_CONFIG_PATH ) )
20-
21- NODE_MODULES_PATH = File . join ( APP_PATH . shellescape , paths [ "node_modules" ] )
22- WEBPACK_CONFIG_PATH = File . join ( APP_PATH . shellescape , paths [ "config" ] )
23-
24- if NODE_ENV == "development" && dev_server [ "enabled" ]
25- puts "Warning: webpack-dev-server is currently enabled in #{ DEV_SERVER_CONFIG_PATH } . " \
26- "Disable to serve assets directly from public/packs directory"
27- end
28- rescue Errno ::ENOENT , NoMethodError
29- puts "Configuration not found in config/webpack/paths.yml or config/webpack/development.server.yml."
17+ unless File . exist? ( WEBPACK_CONFIG )
18+ puts "Webpack configuration not found."
3019 puts "Please run bundle exec rails webpacker:install to install webpacker"
3120 exit!
3221end
3322
34- WEBPACK_BIN = " #{ NODE_MODULES_PATH } /.bin/webpack"
35- WEBPACK_CONFIG = " #{ WEBPACK_CONFIG_PATH } / #{ NODE_ENV } .js"
23+ newenv = { "NODE_PATH" => NODE_MODULES_PATH . shellescape }
24+ cmdline = [ "yarn" , "run" , "webpack" , "--" , "--config" , WEBPACK_CONFIG ] + ARGV
3625
3726Dir . chdir ( APP_PATH ) do
38- exec "NODE_PATH=#{ NODE_MODULES_PATH } #{ WEBPACK_BIN } --config #{ WEBPACK_CONFIG } " \
39- " #{ ARGV . join ( " " ) } "
27+ exec newenv , *cmdline
4028end
0 commit comments