local_precompile 0.0.4 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ab9916873a986bba8eab816b2c89121b12643a56097fbb576e20d5d686b45d8
4
- data.tar.gz: b44e756890235dc17a152541b4b0feebef52e8f9ce820a98932d11e84635ccfc
3
+ metadata.gz: 0433ee8af5b5cd761ba6ce1d8152a344d5fdfa546f39425768d6eba4f87c04a7
4
+ data.tar.gz: 1702d47fc76def91944407875d19d776dc75a2f1094fd4162ee34a9cae8d926b
5
5
  SHA512:
6
- metadata.gz: 5cc5f87fb59d28e0a63dfa91cb48554f0684e63231c5a718db9999f34d91d9ba0af5eb0a737f52859981309023ec8ec7f2cd2f08692c27a1b33ff8ef063b4164
7
- data.tar.gz: 72da9d9b56a32b8e312e03bebecf08eeb8e1c227d760b83e59af47e71462572399879e295a1e691b8313580650e42c08d5674cadae3fe3da0b154dda6d872281
6
+ metadata.gz: 96f3cd9705266f523d4a58dda7f4ea3249c43e0dc1db7b19fa6a1a4d8eb27f58339aeb7086fc0b6bcbf9a8ab1bc75e14c9ad266081f451e863856083b3bdb003
7
+ data.tar.gz: de061e1892ef60f248912b34edb98ff4104139934d401c5fc6031347d8416a78cd3274ee8d452a1fa74a8f66c916291736a1bba8c1ed40f1e3724b5bc4d0756c
data/README.md CHANGED
@@ -8,10 +8,17 @@ Add local-precompile to your Gemfile:
8
8
 
9
9
  ```ruby
10
10
  group :development do
11
- gem 'local_precompile', '~> 0.0.1', require: false
11
+ gem 'local_precompile', '~> 0.3.1', require: false
12
12
  end
13
13
  ```
14
14
 
15
+ Remove any gems associated with assets, like:
16
+
17
+ ```ruby
18
+ gem 'capistrano-faster-assets'
19
+ gem 'quiet_assets'
20
+ ```
21
+
15
22
  Then add the following line to your `Capfile`:
16
23
 
17
24
  ```ruby
@@ -24,6 +31,19 @@ Remove the following line from your `Capfile`:
24
31
  require 'capistrano/rails/assets'
25
32
  ```
26
33
 
34
+ Change webpacker compile options in `config/webpacker.yml` to false:
35
+
36
+ ```yaml
37
+ staging:
38
+ compile: false
39
+ ```
40
+ ```yaml
41
+ production:
42
+ compile: false
43
+ ```
44
+
45
+ Remove node modules folder from `set :linked_dirs` your `config/deploy.rb`.
46
+
27
47
  Here's the full set of configurable options:
28
48
 
29
49
  ```ruby
@@ -1,13 +1,20 @@
1
+ Rake::Task['deploy:compile_assets'].clear
2
+
1
3
  namespace :load do
2
4
  task :defaults do
3
- set :assets_dir, 'public/assets'
4
- set :packs_dir, 'public/packs'
5
- set :rsync_cmd, 'rsync -av --delete'
6
- set :assets_role, 'web'
7
-
8
- after 'bundler:install', 'deploy:assets:prepare'
9
- after 'deploy:assets:prepare', 'deploy:assets:rsync'
10
- after 'deploy:assets:rsync', 'deploy:assets:cleanup'
5
+ set :assets_dir, 'public/assets'
6
+ set :packs_dir, 'public/packs'
7
+ set :rsync_cmd, 'rsync -av --delete'
8
+ set :assets_role, 'web'
9
+ set :skip_assets, ENV['skip_assets'] || false
10
+ set :package_file, fetch(:package_file, 'package.json')
11
+
12
+ unless fetch(:skip_assets)
13
+ before 'deploy:check:directories', 'deploy:assets:validate'
14
+ after 'bundler:install', 'deploy:assets:prepare'
15
+ after 'deploy:assets:prepare', 'deploy:assets:rsync'
16
+ after 'deploy:assets:rsync', 'deploy:assets:cleanup'
17
+ end
11
18
  end
12
19
  end
13
20
 
@@ -23,9 +30,11 @@ namespace :deploy do
23
30
 
24
31
  desc 'Actually precompile the assets locally'
25
32
  task :prepare do
33
+ invoke 'deploy:assets:cleanup'
34
+
26
35
  run_locally do
27
- execute 'RAILS_ENV=production DB_ADAPTER=nulldb rake assets:clean'
28
- execute 'RAILS_ENV=production DB_ADAPTER=nulldb rake assets:precompile'
36
+ execute 'ASSETS_PRECOMPILE=true RAILS_ENV=production DB_ADAPTER=nulldb rake assets:clean'
37
+ execute 'ASSETS_PRECOMPILE=true RAILS_ENV=production DB_ADAPTER=nulldb rake assets:precompile'
29
38
  end
30
39
  end
31
40
 
@@ -49,5 +58,60 @@ namespace :deploy do
49
58
  end
50
59
  end
51
60
  end
61
+
62
+ desc 'Check frontend tools valid versions'
63
+ task :validate do
64
+ set :package_file, fetch(:package_file, 'package.json')
65
+
66
+ on roles(fetch(:assets_role)) do
67
+ run_locally do
68
+ invoke 'deploy:assets:node:presence'
69
+ invoke 'deploy:assets:yarn:presence'
70
+
71
+ enabled_node_version = capture('node', '--version').tr('v', '')
72
+ enabled_yarn_version = capture('yarn', '--version').tr('v', '')
73
+ package = JSON.parse File.read(fetch(:package_file)), symbolize_names: true, quirks_mode: true
74
+ needed_node_version, needed_yarn_version = package[:engines].values_at(:node, :yarn)
75
+
76
+ if enabled_node_version != needed_node_version
77
+ warn 'Node.js version is wrong'
78
+ exit 1
79
+ end
80
+
81
+ if enabled_yarn_version != needed_yarn_version
82
+ warn 'Yarn version is wrong'
83
+ exit 1
84
+ end
85
+
86
+ info 'Frontend engine versions is ok'
87
+ end
88
+ end
89
+ end
90
+
91
+ namespace :node do
92
+ task :presence do
93
+ on roles(fetch(:assets_role)) do
94
+ run_locally do
95
+ unless test('node', '--version')
96
+ warn 'Node.js is not installed'
97
+ exit 1
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+
104
+ namespace :yarn do
105
+ task :presence do
106
+ on roles(fetch(:assets_role)) do
107
+ run_locally do
108
+ unless test('yarn', '--version')
109
+ warn 'Yarn is not installed'
110
+ exit 1
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
52
116
  end
53
117
  end
@@ -1,3 +1,3 @@
1
1
  module LocalPrecompile
2
- VERSION = '0.0.4'.freeze
2
+ VERSION = '0.3.1'.freeze
3
3
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
10
10
 
11
11
  gem.summary = 'Local compile assets and packs for Capistrano'
12
12
  gem.description = 'Contains cap tasks'
13
- gem.homepage = 'https://github.com/DarkWater666/local_precompile'
13
+ gem.homepage = 'https://git.finstar.asia/general/webpacker_local_precompile'
14
14
 
15
15
  gem.license = 'MIT'
16
16
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: local_precompile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - DarkWater
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-25 00:00:00.000000000 Z
11
+ date: 2024-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -73,12 +73,12 @@ files:
73
73
  - lib/local_precompile/tasks.rb
74
74
  - lib/local_precompile/version.rb
75
75
  - local_precompile.gemspec
76
- homepage: https://github.com/DarkWater666/local_precompile
76
+ homepage: https://git.finstar.asia/general/webpacker_local_precompile
77
77
  licenses:
78
78
  - MIT
79
79
  metadata:
80
80
  allowed_push_host: https://rubygems.org
81
- post_install_message:
81
+ post_install_message:
82
82
  rdoc_options: []
83
83
  require_paths:
84
84
  - lib
@@ -93,8 +93,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  requirements: []
96
- rubygems_version: 3.0.8
97
- signing_key:
96
+ rubygems_version: 3.0.9
97
+ signing_key:
98
98
  specification_version: 4
99
99
  summary: Local compile assets and packs for Capistrano
100
100
  test_files: []