forked from shakacode/react-webpack-rails-tutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathassets.rake
30 lines (25 loc) · 993 Bytes
/
assets.rake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# lib/tasks/assets.rake
# The webpack task must run before assets:environment task.
# Otherwise Sprockets cannot find the files that webpack produces.
Rake::Task["assets:precompile"]
.clear_prerequisites
.enhance(["assets:compile_environment"])
namespace :assets do
# In this task, set prerequisites for the assets:precompile task
task compile_environment: :webpack do
Rake::Task["assets:environment"].invoke
end
desc "Compile assets with webpack"
task :webpack do
sh "cd client && npm run build:client"
sh "cd client && npm run build:server"
sh "mkdir -p public/assets"
# Critical to manually copy non js/css assets to public/assets as we don't want to fingerprint them
sh "cp -rf app/assets/webpack/*.woff* app/assets/webpack/*.svg app/assets/webpack/*.ttf "\
"app/assets/webpack/*.eot* public/assets"
# TODO: We should be gzipping these
end
task :clobber do
rm_rf "#{Rails.application.config.root}/app/assets/webpack"
end
end