mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 12:12:26 +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 '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,
|
||||
# allows us to precompile all our templates in the unicorn master
|
||||
|
|
|
@ -443,7 +443,7 @@ GEM
|
|||
simplecov_json_formatter (~> 0.1)
|
||||
simplecov-html (0.12.3)
|
||||
simplecov_json_formatter (0.1.4)
|
||||
sprockets (4.0.3)
|
||||
sprockets (3.7.2)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
sprockets-rails (3.4.2)
|
||||
|
@ -602,7 +602,7 @@ DEPENDENCIES
|
|||
shoulda-matchers
|
||||
sidekiq
|
||||
simplecov
|
||||
sprockets
|
||||
sprockets (= 3.7.2)
|
||||
sprockets-rails
|
||||
sshkey
|
||||
stackprof
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
//= link_tree ../images
|
|
@ -142,12 +142,11 @@ module Discourse
|
|||
config.assets.skip_minification = []
|
||||
|
||||
# explicitly precompile any images in plugins ( /assets/images ) path
|
||||
Dir.glob("#{config.root}/plugins/*/assets/images/**/*").each do |filename|
|
||||
config.assets.precompile << filename if !%w(.js .css).include?(File.extname(filename))
|
||||
end
|
||||
config.assets.precompile += [lambda do |filename, path|
|
||||
path =~ /assets\/images/ && !%w(.js .css).include?(File.extname(filename))
|
||||
end]
|
||||
|
||||
config.assets.precompile += %w{
|
||||
application.js
|
||||
vendor.js
|
||||
admin.js
|
||||
browser-detect.js
|
||||
|
@ -194,6 +193,25 @@ module Discourse
|
|||
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.
|
||||
# Run "rake -D time" for a list of tasks for finding time zone names. Default is 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_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 'logster/redis_store'
|
||||
# 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