vite_rails 1.0.0 → 1.0.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: ad566a46292f652f6533c40901952359b27afdc98224af3f67bd4414a906a951
4
- data.tar.gz: f3a035a74e1f3d092b99d46a25dfd32cd2d6cb50071f7dc971473f0958a76893
3
+ metadata.gz: 89b280f3a27da1896e3036c387874f6f2c5c0033aa3cb9f77cac84fecba57be3
4
+ data.tar.gz: 70e6f39a6f35af3e7a95cbd92cf7a2b9d2b4c0429335611ebf3cbab60386c775
5
5
  SHA512:
6
- metadata.gz: 77d1dd2b22130bdee130dc814e4453d1c63ad6823c3cc0cd9e6a1f8a17c3f02adb31f8924e2f97d686dc707bbd2b56b327948e6e12f5bcdf2c47132f62293891
7
- data.tar.gz: 635ea8d95ed3e8cd3dc0e2f44fd962fdf3920578bdeb51f6cabf2be251035555371d20adb1ac9ab5a6e81d6620def27a0b646fc2f3bd8f769869d328c1ef5c40
6
+ metadata.gz: 7b97f37e3822e99622b2a668cd957a27aeb1a00b98efe3e750c90169f4ae8dc2312a4c7460de6b4582a8414a92b704b668c880190314fd1d3632002b3f77c587
7
+ data.tar.gz: 76cce62bdedfc515e62e1777746a7a39ebe500a0e8afbd5b7c9255372a984a1042747d7e8dc52d4992d03370649c677c7c603cab75d3a6b5c9af2c0c447ef0a9
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ binstubs_template_path = File.expand_path('../../install/binstubs.rb', __dir__).freeze
4
+ bin_path = ENV['BUNDLE_BIN'] || Rails.root.join('bin')
5
+
6
+ namespace :vite do
7
+ desc 'Installs Vite binstubs in this application'
8
+ task :binstubs do |task|
9
+ prefix = task.name.split(/#|vite:binstubs/).first
10
+ exec "#{ RbConfig.ruby } #{ bin_path }/rails #{ prefix }app:template LOCATION=#{ binstubs_template_path }"
11
+ end
12
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ $stdout.sync = true
4
+
5
+ def enhance_assets_precompile
6
+ Rake::Task['assets:precompile'] do |task|
7
+ prefix = task.name.split(/#|assets:precompile/).first
8
+
9
+ Rake::Task["#{ prefix }vite:build"].invoke
10
+ end
11
+ end
12
+
13
+ namespace :vite do
14
+ desc 'Compile JavaScript packs using vite for production with digests'
15
+ task build: [:'vite:verify_install', :environment] do
16
+ ViteRails.with_node_env(ENV.fetch('NODE_ENV', 'production')) do
17
+ ViteRails.ensure_log_goes_to_stdout do
18
+ ViteRails.build || exit!
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ # Compile packs after we've compiled all other assets during precompilation
25
+ skip_vite_precompile = %w[no false n f].include?(ENV['VITE_RUBY_PRECOMPILE'])
26
+
27
+ unless skip_vite_precompile
28
+ if Rake::Task.task_defined?('assets:precompile')
29
+ enhance_assets_precompile
30
+ else
31
+ Rake::Task.define_task('assets:precompile' => [:'vite:install_dependencies', :'vite:build'])
32
+ end
33
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ $stdout.sync = true
4
+
5
+ namespace :vite do
6
+ desc 'Remove old compiled vites'
7
+ task :clean, [:keep, :age] => [:'vite:verify_install', :environment] do |_, args|
8
+ ViteRails.ensure_log_goes_to_stdout do
9
+ ViteRails.clean(keep_up_to: Integer(args.keep || 2), age_in_seconds: Integer(args.age || 3600))
10
+ end
11
+ end
12
+ end
13
+
14
+ skip_vite_clean = %w[no false n f].include?(ENV['VITE_RUBY_PRECOMPILE'])
15
+
16
+ unless skip_vite_clean
17
+ # Run clean if the assets:clean is run
18
+ if Rake::Task.task_defined?('assets:clean')
19
+ Rake::Task['assets:clean'].enhance do
20
+ Rake::Task['vite:clean'].invoke
21
+ end
22
+ else
23
+ Rake::Task.define_task('assets:clean' => 'vite:clean')
24
+ end
25
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :vite do
4
+ desc 'Remove the vite build output directory'
5
+ task clobber: [:'vite:verify_install', :environment] do
6
+ ViteRails.clobber
7
+ $stdout.puts "Removed vite build output directory #{ ViteRails.config.build_output_dir }"
8
+ end
9
+ end
10
+
11
+ skip_vite_clobber = %w[no false n f].include?(ENV['VITE_RUBY_PRECOMPILE'])
12
+
13
+ unless skip_vite_clobber
14
+ # Run clobber if the assets:clobber is run
15
+ if Rake::Task.task_defined?('assets:clobber')
16
+ Rake::Task['assets:clobber'].enhance do
17
+ Rake::Task['vite:clobber'].invoke
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :vite do
4
+ desc "Provide information on ViteRails's environment"
5
+ task :info do
6
+ Dir.chdir(Rails.root) do
7
+ $stdout.puts "Ruby: #{ `ruby --version` }"
8
+ $stdout.puts "Rails: #{ Rails.version }"
9
+ $stdout.puts "ViteRails: #{ ViteRails::VERSION }"
10
+ $stdout.puts "Node: #{ `node --version` }"
11
+ $stdout.puts "Yarn: #{ `yarn --version` }"
12
+
13
+ $stdout.puts "\n"
14
+ $stdout.puts "vite-plugin-ruby: \n#{ `npm list vite-plugin-ruby version` }"
15
+
16
+ $stdout.puts "Is bin/vite present?: #{ File.exist? 'bin/vite' }"
17
+ $stdout.puts "Is bin/vite-dev-server present?: #{ File.exist? 'bin/vite-dev-server' }"
18
+ $stdout.puts "Is bin/yarn present?: #{ File.exist? 'bin/yarn' }"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ install_template_path = File.expand_path('../../install/template.rb', __dir__).freeze
4
+ bin_path = ENV['BUNDLE_BIN'] || Rails.root.join('bin')
5
+
6
+ namespace :vite do
7
+ desc 'Install ViteRails in this application'
8
+ task :install do |task|
9
+ prefix = task.name.split(/#|vite:install/).first
10
+ exec "#{ RbConfig.ruby } #{ bin_path }/rails #{ prefix }app:template LOCATION=#{ install_template_path }"
11
+ end
12
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :vite do
4
+ desc 'Support for older Rails versions. Install all JavaScript dependencies as specified via Yarn'
5
+ task :install_dependencies do
6
+ valid_node_envs = %w[test development production]
7
+ node_env = ENV.fetch('NODE_ENV') { valid_node_envs.include?(Rails.env) ? Rails.env : 'production' }
8
+ Dir.chdir(Rails.root) do
9
+ install_command = if Rails.root.join('yarn.lock').exist?
10
+ v1 = `yarn --version`.start_with?('1')
11
+ "yarn install #{ v1 ? '--no-progress --frozen-lockfile' : '--immutable' }"
12
+ elsif Rails.root.join('pnpm-lock.yaml').exist?
13
+ 'pnpm install'
14
+ else
15
+ 'npm ci'
16
+ end
17
+ system({ 'NODE_ENV' => node_env }, install_command)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :vite do
4
+ desc 'Verifies if Vite Rails is installed'
5
+ task :verify_install do
6
+ unless File.exist?(Rails.root.join('bin/vite'))
7
+ warn <<~WARN
8
+ vite binstub not found.
9
+ Have you run rails vite:install?
10
+ Make sure the bin directory and bin/vite are not included in .gitignore
11
+ WARN
12
+ exit!
13
+ end
14
+ unless ViteRails.config.config_path.exist?
15
+ path = ViteRails.config.config_path.relative_path_from(Pathname.new(pwd)).to_s
16
+ warn <<~WARN
17
+ Configuration #{ path } file for vite-plugin-ruby not found.
18
+ Make sure vite:install has run successfully before running dependent tasks.
19
+ WARN
20
+ exit!
21
+ end
22
+ end
23
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ViteRails
4
- VERSION = '1.0.0'
4
+ VERSION = '1.0.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vite_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Máximo Mussini
@@ -121,6 +121,14 @@ files:
121
121
  - README.md
122
122
  - lib/install/binstubs.rb
123
123
  - lib/install/template.rb
124
+ - lib/tasks/vite/binstubs.rake
125
+ - lib/tasks/vite/build.rake
126
+ - lib/tasks/vite/clean.rake
127
+ - lib/tasks/vite/clobber.rake
128
+ - lib/tasks/vite/info.rake
129
+ - lib/tasks/vite/install.rake
130
+ - lib/tasks/vite/install_dependencies.rake
131
+ - lib/tasks/vite/verify_install.rake
124
132
  - lib/vite_rails.rb
125
133
  - lib/vite_rails/builder.rb
126
134
  - lib/vite_rails/commands.rb
@@ -174,8 +182,8 @@ homepage: https://github.com/ElMassimo/vite_rails
174
182
  licenses:
175
183
  - MIT
176
184
  metadata:
177
- source_code_uri: https://github.com/ElMassimo/vite_rails/tree/v1.0.0
178
- changelog_uri: https://github.com/ElMassimo/vite_rails/blob/v1.0.0/CHANGELOG.md
185
+ source_code_uri: https://github.com/ElMassimo/vite_rails/tree/v1.0.1
186
+ changelog_uri: https://github.com/ElMassimo/vite_rails/blob/v1.0.1/CHANGELOG.md
179
187
  post_install_message:
180
188
  rdoc_options: []
181
189
  require_paths: