- Add Workbox-based service worker to cache JS, CSS, and fonts - JS/CSS cached for 30 days, fonts for 1 year - Support for CDN assets via ASSET_CDN_HOST - Version-based cache invalidation on deployments - Automatic cache cleanup for old versions - Build service worker during asset precompilation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
16 lines
732 B
Ruby
16 lines
732 B
Ruby
# ref: https://github.com/rails/rails/issues/43906#issuecomment-1094380699
|
|
# https://github.com/rails/rails/issues/43906#issuecomment-1099992310
|
|
task before_assets_precompile: :environment do
|
|
# run a command which starts your packaging
|
|
system('pnpm install')
|
|
system('echo "-------------- Bulding SDK for Production --------------"')
|
|
system('pnpm run build:sdk')
|
|
system('echo "-------------- Building Service Worker --------------"')
|
|
system('NODE_ENV=production pnpm run build:sw')
|
|
system('echo "-------------- Bulding App for Production --------------"')
|
|
end
|
|
|
|
# every time you execute 'rake assets:precompile'
|
|
# run 'before_assets_precompile' first
|
|
Rake::Task['assets:precompile'].enhance %w[before_assets_precompile]
|