mirror of
https://github.com/discourse/discourse.git
synced 2024-12-11 16:33:41 +08:00
283fe48243
These routes were previously rendered using Rails, and had a fairly fragile 2fa implementation in vanilla-js. This commit refactors the routes to be handled in the Ember app, removes the custom vanilla-js bundles, and leans on our centralized 2fa implementation. It also introduces a set of system specs for the behavior.
62 lines
2.1 KiB
Ruby
62 lines
2.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# Be sure to restart your server when you modify this file.
|
|
|
|
# Enable the asset pipeline
|
|
Rails.application.config.assets.enabled = true
|
|
|
|
# Version of your assets, change this if you want to expire all your assets.
|
|
Rails.application.config.assets.version = "2-#{GlobalSetting.asset_url_salt}"
|
|
|
|
# Add additional assets to the asset load path.
|
|
Rails.application.config.assets.paths << "#{Rails.root}/config/locales"
|
|
Rails.application.config.assets.paths << "#{Rails.root}/public/javascripts"
|
|
|
|
# Precompile additional assets.
|
|
# application.js, application.css, and all non-JS/CSS in the app/assets
|
|
# folder are already added.
|
|
|
|
# explicitly precompile any images in plugins ( /assets/images ) path
|
|
Rails.application.config.assets.precompile += [
|
|
lambda do |filename, path|
|
|
path =~ %r{assets/images} && !%w[.js .css].include?(File.extname(filename))
|
|
end,
|
|
]
|
|
|
|
Rails.application.config.assets.precompile += %w[
|
|
break_string.js
|
|
service-worker.js
|
|
locales/i18n.js
|
|
scripts/discourse-test-listen-boot
|
|
]
|
|
|
|
Rails.application.config.assets.precompile << lambda do |logical_path, filename|
|
|
filename.start_with?(EmberCli.dist_dir) && EmberCli.assets.include?(logical_path)
|
|
end
|
|
|
|
# Precompile all available locales
|
|
unless GlobalSetting.try(:omit_base_locales)
|
|
Dir
|
|
.glob("#{Rails.root}/app/assets/javascripts/locales/*.js.erb")
|
|
.each do |file|
|
|
Rails
|
|
.application
|
|
.config
|
|
.assets
|
|
.precompile << "locales/#{file.match(/([a-z_A-Z]+\.js)\.erb$/)[1]}"
|
|
end
|
|
end
|
|
|
|
# out of the box sprockets 3 grabs loose files that are hanging in assets,
|
|
# the exclusion list does not include hbs so you double compile all this stuff
|
|
Rails.application.config.assets.precompile.delete(Sprockets::Railtie::LOOSE_APP_ASSETS)
|
|
|
|
# We don't want application from node_modules, only from the root
|
|
Rails.application.config.assets.precompile.delete(%r{(?:/|\\|\A)application\.(css|js)$})
|
|
|
|
Discourse
|
|
.find_plugin_js_assets(include_disabled: true)
|
|
.each do |file|
|
|
Rails.application.config.assets.precompile << "#{file}.js" if file.end_with?("_extra")
|
|
end
|