31 lines
924 B
Ruby
31 lines
924 B
Ruby
|
require 'webpack/rails/manifest'
|
||
|
|
||
|
module WebpackHelper
|
||
|
def webpack_bundle_tag(bundle)
|
||
|
javascript_include_tag(*gitlab_webpack_asset_paths(bundle))
|
||
|
end
|
||
|
|
||
|
# override webpack-rails gem helper until changes can make it upstream
|
||
|
def gitlab_webpack_asset_paths(source, extension: nil)
|
||
|
return "" unless source.present?
|
||
|
|
||
|
paths = Webpack::Rails::Manifest.asset_paths(source)
|
||
|
if extension
|
||
|
paths = paths.select { |p| p.ends_with? ".#{extension}" }
|
||
|
end
|
||
|
|
||
|
# include full webpack-dev-server url for rspec tests running locally
|
||
|
if Rails.env.test? && Rails.configuration.webpack.dev_server.enabled
|
||
|
host = Rails.configuration.webpack.dev_server.host
|
||
|
port = Rails.configuration.webpack.dev_server.port
|
||
|
protocol = Rails.configuration.webpack.dev_server.https ? 'https' : 'http'
|
||
|
|
||
|
paths.map! do |p|
|
||
|
"#{protocol}://#{host}:#{port}#{p}"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
paths
|
||
|
end
|
||
|
end
|