mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.5 KiB
86 lines
2.5 KiB
# frozen_string_literal: true
|
|
require "bundler/gem_tasks"
|
|
require "pathname"
|
|
|
|
# Remove Bundler's default `release` task — it bypasses the custom release flow
|
|
# (CHANGELOG version detection, npm publish, GitHub release sync, etc.).
|
|
# The custom `release` task in rakelib/release.rake replaces it.
|
|
Rake::Task[:release].clear
|
|
|
|
desc "Run all specs"
|
|
task test: ["run_spec:all_specs"]
|
|
|
|
task default: :test
|
|
|
|
namespace :run_spec do
|
|
desc "Run shakapacker specs"
|
|
task :gem do
|
|
puts "Running Shakapacker gem specs"
|
|
sh("bundle exec rspec spec/shakapacker/*_spec.rb")
|
|
end
|
|
|
|
desc "Run specs in the dummy app with webpack"
|
|
task :dummy do
|
|
puts "Running dummy app specs with webpack"
|
|
spec_dummy_dir = Pathname.new(File.join("spec", "dummy")).realpath
|
|
Bundler.with_unbundled_env do
|
|
sh_in_dir(".", "yalc publish")
|
|
sh_in_dir(spec_dummy_dir, [
|
|
"bundle install",
|
|
"yalc link shakapacker",
|
|
"npm install",
|
|
"bin/test-bundler webpack",
|
|
"NODE_ENV=test RAILS_ENV=test bin/shakapacker",
|
|
"bundle exec rspec"
|
|
])
|
|
end
|
|
end
|
|
|
|
desc "Run specs in the dummy app with rspack"
|
|
task :dummy_with_rspack do
|
|
puts "Running dummy app specs with rspack"
|
|
spec_dummy_dir = Pathname.new(File.join("spec", "dummy")).realpath
|
|
Bundler.with_unbundled_env do
|
|
sh_in_dir(".", "yalc publish")
|
|
sh_in_dir(spec_dummy_dir, [
|
|
"bundle install",
|
|
"yalc link shakapacker",
|
|
"npm install",
|
|
"bin/test-bundler rspack",
|
|
"NODE_ENV=test RAILS_ENV=test bin/shakapacker",
|
|
"bundle exec rspec"
|
|
])
|
|
end
|
|
end
|
|
|
|
desc "Run specs in the dummy-rspack app"
|
|
task :dummy_rspack do
|
|
puts "Running dummy-rspack app specs"
|
|
spec_dummy_dir = Pathname.new(File.join("spec", "dummy-rspack")).realpath
|
|
Bundler.with_unbundled_env do
|
|
sh_in_dir(".", "yalc publish")
|
|
sh_in_dir(spec_dummy_dir, [
|
|
"bundle install",
|
|
"yalc link shakapacker",
|
|
"npm install",
|
|
"NODE_ENV=test RAILS_ENV=test npm exec --no -- rspack build --config config/rspack/rspack.config.js",
|
|
"bundle exec rspec"
|
|
])
|
|
end
|
|
end
|
|
|
|
desc "Run generator specs"
|
|
task :generator do
|
|
sh("bundle exec rspec spec/generator_specs/*_spec.rb")
|
|
end
|
|
|
|
desc "Run all specs"
|
|
task all_specs: %i[gem dummy dummy_with_rspack dummy_rspack generator] do
|
|
puts "Completed all RSpec tests"
|
|
end
|
|
end
|
|
|
|
def sh_in_dir(dir, *shell_commands)
|
|
Shakapacker::Utils::Misc.sh_in_dir(dir, *shell_commands)
|
|
end
|