local_precompile 0.1.0 → 0.3.2

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: 8e9c959bdda1a84858cccf2ce8196825c1a21cd8c80a36dd609629a54389aa4c
4
- data.tar.gz: 3db1b3fb966fd5b05cff13251df450ca6aa575b2da0e545b4987e041f0986b90
3
+ metadata.gz: 26ddbd12f86669ecb9324a8e85beddb114a5105f4d797b30c038c2bfd0778083
4
+ data.tar.gz: 00ed2d967634520820cfff4f7f077c60edaa8c6a7faa5334bde51720d1cfbaa2
5
5
  SHA512:
6
- metadata.gz: e110c0c2bb376bf797a1bc2f61064b08502f882983e6063f5f8a10c936397f210a5c18a806719e67cb6e221e8825c1a7b6850bcc535c86dd8f20a0669b3fd701
7
- data.tar.gz: 5f7aeb52dcbb20357e998208c466d87e8988604e6c79e865d38cea19d0bac93d51d96bb262d352edfed66812a8c97572b9e438631af5d067415ad2494b4510e2
6
+ metadata.gz: a89960989af4b0f08d600bc35f66058740054538ef40210e20f41a131113fdb1245de839626a343a1487752e151067546cdc626d94ff19a86965254076bdbf2e
7
+ data.tar.gz: b69c2523272f490553b2a842672fdef97d5a9b91db4d26fa7dcd9fb3c8882d801d2d2f01ec57e4317b789c8f6f6cbe518b1ed9df94fd0c32517b122587b24341
data/.editorconfig CHANGED
File without changes
data/.gitignore CHANGED
File without changes
data/.rubocop.yml CHANGED
File without changes
data/.ruby-gemset CHANGED
File without changes
data/.ruby-version CHANGED
File without changes
data/CODE_OF_CONDUCT.md CHANGED
File without changes
data/Gemfile CHANGED
File without changes
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.2', 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
data/Rakefile CHANGED
File without changes
@@ -2,13 +2,15 @@ Rake::Task['deploy:compile_assets'].clear
2
2
 
3
3
  namespace :load do
4
4
  task :defaults do
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
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')
10
11
 
11
12
  unless fetch(:skip_assets)
13
+ before 'deploy:check:directories', 'deploy:assets:validate'
12
14
  after 'bundler:install', 'deploy:assets:prepare'
13
15
  after 'deploy:assets:prepare', 'deploy:assets:rsync'
14
16
  after 'deploy:assets:rsync', 'deploy:assets:cleanup'
@@ -28,9 +30,11 @@ namespace :deploy do
28
30
 
29
31
  desc 'Actually precompile the assets locally'
30
32
  task :prepare do
33
+ invoke 'deploy:assets:cleanup'
34
+
31
35
  run_locally do
32
- execute 'RAILS_ENV=production DB_ADAPTER=nulldb rake assets:clean'
33
- 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'
34
38
  end
35
39
  end
36
40
 
@@ -54,5 +58,60 @@ namespace :deploy do
54
58
  end
55
59
  end
56
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
57
116
  end
58
117
  end
File without changes
@@ -1,3 +1,3 @@
1
1
  module LocalPrecompile
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.3.2'.freeze
3
3
  end
@@ -1 +1,15 @@
1
- module LocumBestPractices; end
1
+ module LocalPrecompile; end
2
+
3
+ # Monkeypatch the File Class with the exists? method
4
+ unless Dir.respond_to?(:exists?)
5
+ class << Dir
6
+ alias_method :exists?, :exist?
7
+ end
8
+ end
9
+
10
+ # Monkeypatch the Dir Class with the exists? method
11
+ unless File.respond_to?(:exists?)
12
+ class << File
13
+ alias_method :exists?, :exist?
14
+ end
15
+ end
File without changes
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.1.0
4
+ version: 0.3.2
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-26 00:00:00.000000000 Z
11
+ date: 2026-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,7 +78,7 @@ 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: []