mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 11:44:49 +08:00
This reverts commit 01107e418e
.
We have seen some random occurrences of corrupted assets, and think it may be related to the sprockets 4 update. Reverting for investigation
This commit is contained in:
parent
1551eaab01
commit
c88ca23e8f
4
Gemfile
4
Gemfile
|
@ -31,7 +31,9 @@ end
|
||||||
|
|
||||||
gem 'json'
|
gem 'json'
|
||||||
|
|
||||||
gem 'sprockets'
|
# TODO: At the moment Discourse does not work with Sprockets 4, we would need to correct internals
|
||||||
|
# This is a desired upgrade we should get to.
|
||||||
|
gem 'sprockets', '3.7.2'
|
||||||
|
|
||||||
# this will eventually be added to rails,
|
# this will eventually be added to rails,
|
||||||
# allows us to precompile all our templates in the unicorn master
|
# allows us to precompile all our templates in the unicorn master
|
||||||
|
|
|
@ -443,7 +443,7 @@ GEM
|
||||||
simplecov_json_formatter (~> 0.1)
|
simplecov_json_formatter (~> 0.1)
|
||||||
simplecov-html (0.12.3)
|
simplecov-html (0.12.3)
|
||||||
simplecov_json_formatter (0.1.4)
|
simplecov_json_formatter (0.1.4)
|
||||||
sprockets (4.0.3)
|
sprockets (3.7.2)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
rack (> 1, < 3)
|
rack (> 1, < 3)
|
||||||
sprockets-rails (3.4.2)
|
sprockets-rails (3.4.2)
|
||||||
|
@ -602,7 +602,7 @@ DEPENDENCIES
|
||||||
shoulda-matchers
|
shoulda-matchers
|
||||||
sidekiq
|
sidekiq
|
||||||
simplecov
|
simplecov
|
||||||
sprockets
|
sprockets (= 3.7.2)
|
||||||
sprockets-rails
|
sprockets-rails
|
||||||
sshkey
|
sshkey
|
||||||
stackprof
|
stackprof
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
//= link_tree ../images
|
|
|
@ -142,12 +142,11 @@ module Discourse
|
||||||
config.assets.skip_minification = []
|
config.assets.skip_minification = []
|
||||||
|
|
||||||
# explicitly precompile any images in plugins ( /assets/images ) path
|
# explicitly precompile any images in plugins ( /assets/images ) path
|
||||||
Dir.glob("#{config.root}/plugins/*/assets/images/**/*").each do |filename|
|
config.assets.precompile += [lambda do |filename, path|
|
||||||
config.assets.precompile << filename if !%w(.js .css).include?(File.extname(filename))
|
path =~ /assets\/images/ && !%w(.js .css).include?(File.extname(filename))
|
||||||
end
|
end]
|
||||||
|
|
||||||
config.assets.precompile += %w{
|
config.assets.precompile += %w{
|
||||||
application.js
|
|
||||||
vendor.js
|
vendor.js
|
||||||
admin.js
|
admin.js
|
||||||
browser-detect.js
|
browser-detect.js
|
||||||
|
@ -194,6 +193,25 @@ module Discourse
|
||||||
end
|
end
|
||||||
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
|
||||||
|
initializer :fix_sprockets_loose_file_searcher, after: :set_default_precompile do |app|
|
||||||
|
app.config.assets.precompile.delete(Sprockets::Railtie::LOOSE_APP_ASSETS)
|
||||||
|
|
||||||
|
# We don't want application from node_modules, only from the root
|
||||||
|
app.config.assets.precompile.delete(/(?:\/|\\|\A)application\.(css|js)$/)
|
||||||
|
app.config.assets.precompile += ['application.js']
|
||||||
|
|
||||||
|
start_path = ::Rails.root.join("app/assets").to_s
|
||||||
|
exclude = ['.es6', '.hbs', '.hbr', '.js', '.css', '.lock', '.json', '.log', '.html', '']
|
||||||
|
app.config.assets.precompile << lambda do |logical_path, filename|
|
||||||
|
filename.start_with?(start_path) &&
|
||||||
|
!filename.include?("/node_modules/") &&
|
||||||
|
!filename.include?("/dist/") &&
|
||||||
|
!exclude.include?(File.extname(logical_path))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
||||||
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
||||||
config.time_zone = 'UTC'
|
config.time_zone = 'UTC'
|
||||||
|
@ -272,11 +290,6 @@ module Discourse
|
||||||
Sprockets.register_mime_type 'application/javascript', extensions: ['.js', '.es6', '.js.es6'], charset: :unicode
|
Sprockets.register_mime_type 'application/javascript', extensions: ['.js', '.es6', '.js.es6'], charset: :unicode
|
||||||
Sprockets.register_postprocessor 'application/javascript', DiscourseJsProcessor
|
Sprockets.register_postprocessor 'application/javascript', DiscourseJsProcessor
|
||||||
|
|
||||||
# This class doesn't exist in Sprockets 4, but ember-rails tries to 'autoload' it
|
|
||||||
# Define an empty class to prevent an error
|
|
||||||
class Sprockets::Engines
|
|
||||||
end
|
|
||||||
|
|
||||||
require 'discourse_redis'
|
require 'discourse_redis'
|
||||||
require 'logster/redis_store'
|
require 'logster/redis_store'
|
||||||
# Use redis for our cache
|
# Use redis for our cache
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
# One of the initializers in `discourse-ember-rails/lib/ember_rails.rb` tries to set
|
|
||||||
# the ember template compiler path based on a call to `Sprockets::Environment#resolve`
|
|
||||||
# which started returning an array in Sprockets 4.
|
|
||||||
# This doesn't seem to be needed - it was setting to the existing value, so we can just ignore it.
|
|
||||||
Ember::Handlebars::Template.singleton_class.prepend(Module.new do
|
|
||||||
def setup_ember_template_compiler(path)
|
|
||||||
return if path.is_a? Array
|
|
||||||
super
|
|
||||||
end
|
|
||||||
end)
|
|
Loading…
Reference in New Issue
Block a user