diff --git a/.circleci/config.yml b/.circleci/config.yml index 9e52909c..a8f4195b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,7 +26,7 @@ aliases: paths: - node_modules - &ruby_node_browsers_docker_image - - image: cimg/ruby:3.3.5-browsers + - image: cimg/ruby:3.3.6-browsers environment: PGHOST: localhost PGUSER: untitled_application diff --git a/.nvmrc b/.nvmrc index 2a393af5..7af24b7d 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.18.0 +22.11.0 diff --git a/.ruby-version b/.ruby-version index fa7adc7a..9c25013d 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.5 +3.3.6 diff --git a/Gemfile b/Gemfile index 847e9090..568e891f 100644 --- a/Gemfile +++ b/Gemfile @@ -110,12 +110,9 @@ end # BULLET TRAIN GEMS # This section is the list of Ruby gems included by default for Bullet Train. -# TODO: Remove this after updating the core gems to 1.7.21 -gem "pagy", "< 7" - # We use a constant here so that we can ensure that all of the bullet_train-* # packages are on the same version. -BULLET_TRAIN_VERSION = "1.8.1" +BULLET_TRAIN_VERSION = "1.9.0" # Core packages. gem "bullet_train", BULLET_TRAIN_VERSION diff --git a/Gemfile.lock b/Gemfile.lock index 71326096..0fa4d6d1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -122,7 +122,7 @@ GEM bootsnap (1.17.1) msgpack (~> 1.2) builder (3.2.4) - bullet_train (1.8.1) + bullet_train (1.9.0) awesome_print bullet_train-has_uuid bullet_train-roles @@ -145,7 +145,7 @@ GEM microscope nice_partials (~> 0.9) omniauth - pagy (< 7) + pagy (~> 8) possessive premailer-rails rails (>= 6.0.0) @@ -155,72 +155,72 @@ GEM unicode-emoji valid_email xxhash - bullet_train-api (1.8.1) + bullet_train-api (1.9.0) bullet_train bullet_train-super_scaffolding colorizer doorkeeper factory_bot jbuilder-schema (~> 2.6.6) - pagy (< 7) + pagy (~> 8) pagy_cursor rack-cors rails (>= 6.0.0) - bullet_train-fields (1.8.1) + bullet_train-fields (1.9.0) chronic cloudinary phonelib rails (>= 6.0.0) - bullet_train-has_uuid (1.8.1) + bullet_train-has_uuid (1.9.0) rails (>= 6.0.0) - bullet_train-incoming_webhooks (1.8.1) + bullet_train-incoming_webhooks (1.9.0) bullet_train bullet_train-api bullet_train-super_scaffolding rails (>= 6.0.0) - bullet_train-integrations (1.8.1) + bullet_train-integrations (1.9.0) rails (>= 6.0.0) - bullet_train-integrations-stripe (1.8.1) + bullet_train-integrations-stripe (1.9.0) omniauth omniauth-rails_csrf_protection omniauth-stripe-connect rails (>= 6.0.0) stripe - bullet_train-obfuscates_id (1.8.1) + bullet_train-obfuscates_id (1.9.0) hashids rails (>= 6.0.0) - bullet_train-outgoing_webhooks (1.8.1) + bullet_train-outgoing_webhooks (1.9.0) public_suffix rails (>= 6.0.0) - bullet_train-roles (1.8.1) + bullet_train-roles (1.9.0) active_hash activesupport cancancan bullet_train-routes (1.0.0) rails (>= 6.0.0) - bullet_train-scope_questions (1.8.1) + bullet_train-scope_questions (1.9.0) rails (>= 6.0.0) - bullet_train-scope_validator (1.8.1) + bullet_train-scope_validator (1.9.0) rails - bullet_train-sortable (1.8.1) + bullet_train-sortable (1.9.0) rails (>= 6.0.0) - bullet_train-super_load_and_authorize_resource (1.8.1) + bullet_train-super_load_and_authorize_resource (1.9.0) cancancan rails (>= 6.0.0) - bullet_train-super_scaffolding (1.8.1) + bullet_train-super_scaffolding (1.9.0) colorizer indefinite_article masamune-ast (~> 2.0.2) rails (>= 6.0.0) - bullet_train-themes (1.8.1) + bullet_train-themes (1.9.0) bullet_train-fields nice_partials (~> 0.9) rails (>= 6.0.0) - bullet_train-themes-light (1.8.1) + bullet_train-themes-light (1.9.0) bullet_train-themes-tailwind_css masamune-ast (~> 2.0.2) rails (>= 6.0.0) - bullet_train-themes-tailwind_css (1.8.1) + bullet_train-themes-tailwind_css (1.9.0) bullet_train-themes rails (>= 6.0.0) cable_ready (5.0.5) @@ -291,7 +291,7 @@ GEM railties (~> 7.0) rotp (~> 6.0) docile (1.4.0) - doorkeeper (5.7.1) + doorkeeper (5.8.0) railties (>= 5) drb (2.2.0) ruby2_keywords @@ -311,16 +311,16 @@ GEM factory_bot_rails (6.2.0) factory_bot (~> 6.2.0) railties (>= 5.0.0) - faraday (2.12.0) - faraday-net_http (>= 2.0, < 3.4) + faraday (2.12.1) + faraday-net_http (>= 2.0, < 3.5) json logger faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) faraday-multipart (1.0.4) multipart-post (~> 2) - faraday-net_http (3.3.0) - net-http + faraday-net_http (3.4.0) + net-http (>= 0.5.0) fastimage (2.3.1) ffi (1.16.3) figaro (1.2.0) @@ -411,7 +411,7 @@ GEM msgpack (1.7.2) multi_xml (0.6.0) multipart-post (2.4.1) - net-http (0.4.1) + net-http (0.5.0) uri net-imap (0.4.2) date @@ -449,8 +449,8 @@ GEM omniauth (~> 1.3) omniauth-oauth2 (~> 1.4) orm_adapter (0.5.0) - ostruct (0.6.0) - pagy (6.4.2) + ostruct (0.6.1) + pagy (8.6.3) pagy_cursor (0.8.0) activerecord (>= 5) pagy (>= 6, < 9) @@ -645,7 +645,7 @@ GEM stimulus-rails (1.3.0) railties (>= 6.0.0) stringio (3.0.8) - stripe (13.1.0) + stripe (13.1.2) strscan (3.1.0) terser (1.1.20) execjs (>= 0.3.0, < 3) @@ -661,10 +661,8 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.5.0) - unicode-emoji (3.8.0) - unicode-version (~> 1.0) - unicode-version (1.4.0) - uri (0.13.1) + unicode-emoji (4.0.4) + uri (1.0.2) useragent (0.16.10) valid_email (0.2.1) activemodel @@ -703,24 +701,24 @@ DEPENDENCIES avo (>= 3.1.7) aws-sdk-s3 bootsnap - bullet_train (= 1.8.1) - bullet_train-api (= 1.8.1) - bullet_train-fields (= 1.8.1) - bullet_train-has_uuid (= 1.8.1) - bullet_train-incoming_webhooks (= 1.8.1) - bullet_train-integrations (= 1.8.1) - bullet_train-integrations-stripe (= 1.8.1) - bullet_train-obfuscates_id (= 1.8.1) - bullet_train-outgoing_webhooks (= 1.8.1) - bullet_train-roles (= 1.8.1) - bullet_train-scope_questions (= 1.8.1) - bullet_train-scope_validator (= 1.8.1) - bullet_train-sortable (= 1.8.1) - bullet_train-super_load_and_authorize_resource (= 1.8.1) - bullet_train-super_scaffolding (= 1.8.1) - bullet_train-themes (= 1.8.1) - bullet_train-themes-light (= 1.8.1) - bullet_train-themes-tailwind_css (= 1.8.1) + bullet_train (= 1.9.0) + bullet_train-api (= 1.9.0) + bullet_train-fields (= 1.9.0) + bullet_train-has_uuid (= 1.9.0) + bullet_train-incoming_webhooks (= 1.9.0) + bullet_train-integrations (= 1.9.0) + bullet_train-integrations-stripe (= 1.9.0) + bullet_train-obfuscates_id (= 1.9.0) + bullet_train-outgoing_webhooks (= 1.9.0) + bullet_train-roles (= 1.9.0) + bullet_train-scope_questions (= 1.9.0) + bullet_train-scope_validator (= 1.9.0) + bullet_train-sortable (= 1.9.0) + bullet_train-super_load_and_authorize_resource (= 1.9.0) + bullet_train-super_scaffolding (= 1.9.0) + bullet_train-themes (= 1.9.0) + bullet_train-themes-light (= 1.9.0) + bullet_train-themes-tailwind_css (= 1.9.0) capybara (~> 3.39) capybara-email capybara-lockstep @@ -741,7 +739,6 @@ DEPENDENCIES magic_test minitest-reporters minitest-retry - pagy (< 7) pg (>= 0.18, < 2.0) postmark-rails pry @@ -768,7 +765,7 @@ DEPENDENCIES web-console RUBY VERSION - ruby 3.3.5p100 + ruby 3.3.6p108 BUNDLED WITH 2.4.10 diff --git a/bin/setup b/bin/setup index ac26bb20..a93918b3 100755 --- a/bin/setup +++ b/bin/setup @@ -7,13 +7,9 @@ require 'bundler/inline' # and define some utility methods used by other scirpts. require "#{__dir__}/setup-scripts/utils" - - # path to your application root. APP_ROOT = File.expand_path("..", __dir__) - - FileUtils.chdir APP_ROOT do # This script is a way to set up or update your development environment automatically. # This script is idempotent, so that you can run it at any time and get an expectable outcome. @@ -32,6 +28,7 @@ FileUtils.chdir APP_ROOT do require "#{__dir__}/setup-scripts/check_postgres" require "#{__dir__}/setup-scripts/check_redis" require "#{__dir__}/setup-scripts/check_icu" + require "#{__dir__}/setup-scripts/check_image_dependencies" # Updated this line require "#{__dir__}/setup-scripts/prepare_local_app" diff --git a/bin/setup-scripts/check_image_dependencies.rb b/bin/setup-scripts/check_image_dependencies.rb new file mode 100755 index 00000000..a5cc4ce6 --- /dev/null +++ b/bin/setup-scripts/check_image_dependencies.rb @@ -0,0 +1,47 @@ +#!/usr/bin/env ruby + +require "#{__dir__}/utils" + +announce_section "Checking Image Processing Dependencies" + +def check_dependency(name, version_command) + puts "\nChecking #{name}..." + version_info = `#{version_command} 2>&1` + + if $?.success? + version = version_info.split("\n").first + puts "#{name} is installed: #{version}".green + true + else + puts "#{name} is not installed or not found in PATH.".red + false + end +end + +vips_installed = check_dependency("vips", "vips --version") +magick_installed = check_dependency("ImageMagick", "magick -version") + +if vips_installed || magick_installed + # do nothing +else + puts " " + puts "--------------------------------------------".red + puts "We couldn't find either vips or ImageMagick.".red + puts " " + puts "To install vips:" + puts "Try `brew install vips` on macOS or `sudo apt-get install libvips` on Ubuntu." + puts " " + puts "To install ImageMagick:" + puts "Try `brew install imagemagick` on macOS or `sudo apt-get install imagemagick` on Ubuntu." + puts " " + + continue_anyway = ask_boolean "Would you like to continue without any image processing dependencies?", "n" + if continue_anyway + puts "Continuing without image processing dependencies. This can prevent Rails scripts from running and cause problems with image processing.".yellow + else + puts "You've chosen not to continue without image processing dependencies. Goodbye.".red + exit + end +end + +puts "\nImage processing dependency check completed.".green diff --git a/config/environments/development.rb b/config/environments/development.rb index 880bf5da..f82dc20c 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -82,11 +82,6 @@ # if you want to change a default value specified here. Instead, simply re-specify the value in the section that # follows this section. - # TODO: Eventually we should enable this by default. Currently enabling it causes problems. - # Related issue: https://github.com/bullet-train-co/bullet_train-core/issues/926 - # Once that issue has been resolved we should remove this comment block and the following config line. - config.action_controller.raise_on_missing_callback_actions = false - # disable asset pipeline. config.assets.enabled = false @@ -119,6 +114,13 @@ # configuration right now, i'm making them the default here as well. config.action_mailbox.ingress = :mailgun + # Rails defaults to :local in development. Set any of these ENV vars to use non-local options. + if (ENV["AWS_ACCESS_KEY_ID"] || ENV["BUCKETEER_AWS_ACCESS_KEY_ID"]).present? + config.active_storage.service = :amazon + elsif ENV["CLOUDINARY_URL"].present? + config.active_storage.service = :cloudinary + end + # ✅ YOUR APPLICATION'S CONFIGURATION # If you need to customize your application's configuration, this is the place to do it. This helps avoid merge # conflicts in the future when Rails or Bullet Train update their own default settings. diff --git a/config/environments/production.rb b/config/environments/production.rb index b016c1f1..87fbbd3c 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -115,6 +115,8 @@ if (ENV["AWS_ACCESS_KEY_ID"] || ENV["BUCKETEER_AWS_ACCESS_KEY_ID"]).present? config.active_storage.service = :amazon + elsif ENV["CLOUDINARY_URL"].present? + config.active_storage.service = :cloudinary else puts "WARNING! : We didn't find an active_storage.service configured so we're falling back to the local store, but it's A VERY BAD IDEA to rely on it in production unless you know what you're doing." config.active_storage.service = :local diff --git a/config/environments/test.rb b/config/environments/test.rb index ed42689c..59d89f08 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -71,11 +71,6 @@ # if you want to change a default value specified here. Instead, simply re-specify the value in the section that # follows this section. - # TODO: Eventually we should enable this by default. Currently enabling it causes problems. - # Related issue: https://github.com/bullet-train-co/bullet_train-core/issues/926 - # Once that issue has been resolved we should remove this comment block and the following config line. - config.action_controller.raise_on_missing_callback_actions = false - # We only enable this for a specific test. config.action_view.annotate_rendered_view_with_filenames = ENV["ENABLE_VIEW_ANNOTATION"] || false diff --git a/config/initializers/action_text_bug_fix.rb b/config/initializers/action_text_bug_fix.rb deleted file mode 100644 index 9c966685..00000000 --- a/config/initializers/action_text_bug_fix.rb +++ /dev/null @@ -1,19 +0,0 @@ -# TODO: Remove this monkey patch initializer when the following issue has been resolved in rails core: -# https://github.com/rails/rails/issues/52233 - -require "action_text/content" - -module ActionText - class Content - def render_attachments(**options, &block) - content = fragment.replace(ActionText::Attachment.tag_name) do |node| - if node.key?("content") - sanitized_content = sanitize_content_attachment(node.remove_attribute("content").to_s) - node["content"] = sanitized_content if sanitized_content.present? - end - block.call(attachment_for_node(node, **options)) - end - self.class.new(content, canonicalize: false) - end - end -end diff --git a/config/storage.yml b/config/storage.yml index ec619bc1..d715bb82 100644 --- a/config/storage.yml +++ b/config/storage.yml @@ -13,3 +13,6 @@ amazon: secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] || ENV['BUCKETEER_AWS_SECRET_ACCESS_KEY'] %> bucket: <%= ENV['AWS_S3_BUCKET'] || ENV['BUCKETEER_BUCKET_NAME'] %> region: <%= ENV['AWS_S3_REGION'] || ENV['BUCKETEER_AWS_REGION'] %> + +cloudinary: + service: Cloudinary diff --git a/package.json b/package.json index 8948f0f6..8bd1fa79 100644 --- a/package.json +++ b/package.json @@ -2,18 +2,18 @@ "name": "app", "private": true, "dependencies": { - "@bullet-train/bullet-train": "1.8.1", - "@bullet-train/bullet-train-sortable": "1.8.1", - "@bullet-train/fields": "1.8.1", + "@bullet-train/bullet-train": "1.9.0", + "@bullet-train/bullet-train-sortable": "1.9.0", + "@bullet-train/fields": "1.9.0", "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@fullhuman/postcss-purgecss": "6.0.0", "@hotwired/turbo-rails": "^8.0.12", "@icon/themify-icons": "^1.0.1-alpha.3", "@rails/actioncable": "^7.1.3", - "@rails/actiontext": "^7.2.102", - "@rails/activestorage": "^7.1.3", + "@rails/actiontext": "^8.0.0", + "@rails/activestorage": "^8.0.0", "@rails/request.js": "^0.0.11", - "@rails/ujs": "^7.1.402", + "@rails/ujs": "^7.1.500", "@redocly/cli": "^1.0.0-beta.111", "@tailwindcss/forms": "^0.5.9", "@tailwindcss/typography": "^0.5.15", @@ -27,10 +27,10 @@ "postcss-css-variables": "^0.19.0", "postcss-extend-rule": "^4.0.0", "postcss-import": "^16.1.0", - "postcss-nested": "^6.2.0", + "postcss-nested": "^7.0.2", "stimulus-reveal": "^1.4.2", "stimulus-scroll-reveal": "^3.2.0", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "yalc": "^1.0.0-pre.53" }, "scripts": { diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb index fac844f6..22598dd4 100644 --- a/test/application_system_test_case.rb +++ b/test/application_system_test_case.rb @@ -75,13 +75,13 @@ def another_example_password @another_example_password ||= SecureRandom.hex end - def setup + setup do ENV["BASE_URL"] = "http://localhost:3001" Capybara.use_default_driver Capybara.reset_sessions! end - def teardown + teardown do Capybara.use_default_driver Capybara.reset_sessions! end diff --git a/test/controllers/account/scaffolding/absolutely_abstract/creative_concepts_controller_test.rb b/test/controllers/account/scaffolding/absolutely_abstract/creative_concepts_controller_test.rb index 80d52cbe..ae19b5e9 100644 --- a/test/controllers/account/scaffolding/absolutely_abstract/creative_concepts_controller_test.rb +++ b/test/controllers/account/scaffolding/absolutely_abstract/creative_concepts_controller_test.rb @@ -3,8 +3,7 @@ class Account::Scaffolding::AbsolutelyAbstract::CreativeConceptsControllerTest < ActionDispatch::IntegrationTest include Devise::Test::IntegrationHelpers - def setup - super + setup do @user = create(:onboarded_user) sign_in @user @team = @user.current_team @@ -15,8 +14,7 @@ def setup Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/test/controllers/account/scaffolding/completely_concrete/tangible_things_controller_test.rb b/test/controllers/account/scaffolding/completely_concrete/tangible_things_controller_test.rb index 065f612b..1094c305 100644 --- a/test/controllers/account/scaffolding/completely_concrete/tangible_things_controller_test.rb +++ b/test/controllers/account/scaffolding/completely_concrete/tangible_things_controller_test.rb @@ -3,8 +3,7 @@ class Account::Scaffolding::CompletelyConcrete::TangibleThingsControllerTest < ActionDispatch::IntegrationTest include Devise::Test::IntegrationHelpers - def setup - super + setup do @user = create(:onboarded_user) sign_in @user @team = @user.current_team @@ -19,8 +18,7 @@ def setup Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/test/controllers/account/teams_controller_test.rb b/test/controllers/account/teams_controller_test.rb index 1401420a..4bdf897a 100644 --- a/test/controllers/account/teams_controller_test.rb +++ b/test/controllers/account/teams_controller_test.rb @@ -3,8 +3,7 @@ class Account::TeamsControllerTest < ActionDispatch::IntegrationTest include Devise::Test::IntegrationHelpers - def setup - super + setup do @user = FactoryBot.create(:onboarded_user) sign_in @user @team = @user.current_team diff --git a/test/controllers/api/test.rb b/test/controllers/api/test.rb index 57e3aa89..043b6b43 100644 --- a/test/controllers/api/test.rb +++ b/test/controllers/api/test.rb @@ -25,9 +25,7 @@ def another_access_token response.parsed_body["access_token"] end - def setup - super - + setup do @user = create(:onboarded_user) @team = @user.current_team @platform_application = create(:platform_application, team: @team) diff --git a/test/controllers/api/v1/platform/access_tokens_controller_test.rb b/test/controllers/api/v1/platform/access_tokens_controller_test.rb index c9bca921..9db06235 100644 --- a/test/controllers/api/v1/platform/access_tokens_controller_test.rb +++ b/test/controllers/api/v1/platform/access_tokens_controller_test.rb @@ -1,9 +1,8 @@ require "controllers/api/v1/test" class Api::V1::Platform::AccessTokensControllerTest < Api::Test - def setup + setup do # See `test/controllers/api/test.rb` for common set up for API tests. - super @application = create(:platform_application, team: @team) @access_token = build(:platform_access_token, application: @application) diff --git a/test/controllers/api/v1/platform/applications_controller_test.rb b/test/controllers/api/v1/platform/applications_controller_test.rb index c3e61b3f..af0b5c62 100644 --- a/test/controllers/api/v1/platform/applications_controller_test.rb +++ b/test/controllers/api/v1/platform/applications_controller_test.rb @@ -3,9 +3,8 @@ class Api::V1::Platform::ApplicationsControllerTest < Api::Test include Devise::Test::IntegrationHelpers - def setup + setup do # See `test/controllers/api/test.rb` for common set up for API tests. - super sign_in @user end diff --git a/test/controllers/api/v1/scaffolding/completely_concrete/tangible_things_controller_test.rb b/test/controllers/api/v1/scaffolding/completely_concrete/tangible_things_controller_test.rb index 394c021b..8f70e678 100644 --- a/test/controllers/api/v1/scaffolding/completely_concrete/tangible_things_controller_test.rb +++ b/test/controllers/api/v1/scaffolding/completely_concrete/tangible_things_controller_test.rb @@ -1,9 +1,8 @@ require "controllers/api/v1/test" class Api::V1::Scaffolding::CompletelyConcrete::TangibleThingsControllerTest < Api::Test - def setup + setup do # See `test/controllers/api/test.rb` for common set up for API tests. - super # 🚅 skip this section when scaffolding. @absolutely_abstract_creative_concept = create(:scaffolding_absolutely_abstract_creative_concept, team: @team) @@ -25,8 +24,7 @@ def setup Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/test/controllers/api/v1/teams_controller_test.rb b/test/controllers/api/v1/teams_controller_test.rb index 5dc7ca80..44c0fc46 100644 --- a/test/controllers/api/v1/teams_controller_test.rb +++ b/test/controllers/api/v1/teams_controller_test.rb @@ -1,9 +1,8 @@ require "controllers/api/v1/test" class Api::V1::TeamsControllerTest < Api::Test - def setup + setup do # See `test/controllers/api/test.rb` for common set up for API tests. - super @teams = create_list(:team, 3) # 🚅 super scaffolding will insert file-related logic above this line. diff --git a/test/controllers/api/v1/users_controller_test.rb b/test/controllers/api/v1/users_controller_test.rb index 0468cfec..48e7b81d 100644 --- a/test/controllers/api/v1/users_controller_test.rb +++ b/test/controllers/api/v1/users_controller_test.rb @@ -1,9 +1,8 @@ require "controllers/api/v1/test" class Api::V1::UsersControllerTest < Api::Test - def setup + setup do # See `test/controllers/api/test.rb` for common set up for API tests. - super @users = create_list(:user, 3) # 🚅 super scaffolding will insert file-related logic above this line. diff --git a/test/controllers/application/localization_test.rb b/test/controllers/application/localization_test.rb index dca42f40..dabbdada 100644 --- a/test/controllers/application/localization_test.rb +++ b/test/controllers/application/localization_test.rb @@ -21,7 +21,7 @@ def locale @user = create(:onboarded_user) end - def teardown + teardown do I18n.available_locales = @actual_locales end diff --git a/test/models/ability_test.rb b/test/models/ability_test.rb index a0a0bc85..9db57805 100644 --- a/test/models/ability_test.rb +++ b/test/models/ability_test.rb @@ -2,7 +2,7 @@ module AbilityTest class TeamMemberScenarios < ActiveSupport::TestCase - def setup + setup do @user = FactoryBot.create :onboarded_user @another_user = FactoryBot.create :onboarded_user @membership = FactoryBot.create :membership, user: @user, team: @user.current_team @@ -29,7 +29,7 @@ def setup end class NonTeamMemberScenarios < ActiveSupport::TestCase - def setup + setup do @user = FactoryBot.create :user @another_user = FactoryBot.create :user @team = FactoryBot.create :team @@ -54,7 +54,7 @@ def setup end class TeamAdminScenarios < ActiveSupport::TestCase - def setup + setup do @admin = FactoryBot.create :onboarded_user @another_user = FactoryBot.create :onboarded_user @membership = FactoryBot.create :membership, user: @admin, team: @admin.current_team, role_ids: [Role.admin.id] diff --git a/test/models/invitation_test.rb b/test/models/invitation_test.rb index ff539280..7a3cf1d9 100644 --- a/test/models/invitation_test.rb +++ b/test/models/invitation_test.rb @@ -1,7 +1,7 @@ require "test_helper" class InvitationTest < ActiveSupport::TestCase - def setup + setup do @user = create(:onboarded_user) @membership = Membership.new(team: @user.current_team) @invitation = Invitation.create(team: @user.current_team, email: "test@user.com", from_membership: @user.memberships.first, membership: @membership) diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 516a3c23..340795db 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -1,7 +1,7 @@ require "test_helper" class UserTest < ActiveSupport::TestCase - def setup + setup do @user = User.new(email: "jane@bullettrain.co") end diff --git a/test/models/webhooks/incoming/stripe_webhook_test.rb b/test/models/webhooks/incoming/stripe_webhook_test.rb index 84619365..9c6fd671 100644 --- a/test/models/webhooks/incoming/stripe_webhook_test.rb +++ b/test/models/webhooks/incoming/stripe_webhook_test.rb @@ -41,7 +41,7 @@ def customer_subscription_created_data(created_at, stripe_subscription_id) end class SubscriptionValidOrderTests < Webhooks::Incoming::StripeWebhookTest - def setup + setup do team = create :team stripe_subscription = create :billing_stripe_subscription, team: team @generic_subscription = create :billing_subscription, provider_subscription: stripe_subscription, status: nil @@ -64,7 +64,7 @@ def setup # we want to make sure that we don't erroneously set the subscription status # back to 'pending' becasue that's confusing for everyone especially customers. class SubscriptionInvalidOrderTests < Webhooks::Incoming::StripeWebhookTest - def setup + setup do team = create :team stripe_subscription = create :billing_stripe_subscription, team: team @generic_subscription = create :billing_subscription, provider_subscription: stripe_subscription, status: nil diff --git a/test/system/account_test.rb b/test/system/account_test.rb index ae4db30e..ed82e1ca 100644 --- a/test/system/account_test.rb +++ b/test/system/account_test.rb @@ -1,8 +1,7 @@ require "application_system_test_case" class AccountTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" login_as(@jane, scope: :user) visit root_path diff --git a/test/system/action_models_test.rb b/test/system/action_models_test.rb index 1b637327..8aa3b66a 100644 --- a/test/system/action_models_test.rb +++ b/test/system/action_models_test.rb @@ -5,8 +5,7 @@ require "application_system_test_case" class ActionModelsSystemTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" end diff --git a/test/system/animations_test.rb b/test/system/animations_test.rb index ae31553a..b0fdcd92 100644 --- a/test/system/animations_test.rb +++ b/test/system/animations_test.rb @@ -1,8 +1,7 @@ require "application_system_test_case" class AnimationsTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" @team = @jane.current_team end diff --git a/test/system/bullet_train_gems/audit_logs/super_scaffolding_test.rb b/test/system/bullet_train_gems/audit_logs/super_scaffolding_test.rb index 86717c33..d028b9d2 100644 --- a/test/system/bullet_train_gems/audit_logs/super_scaffolding_test.rb +++ b/test/system/bullet_train_gems/audit_logs/super_scaffolding_test.rb @@ -3,10 +3,9 @@ module BulletTrainGems module AuditLogs class SuperScaffoldingSystemTest < ApplicationSystemTestCase - def setup + setup do skip unless File.readlines("Gemfile").grep(/bullet_train-audit_logs/).any? skip unless defined?(Book) - super @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" end diff --git a/test/system/dates_helper_test.rb b/test/system/dates_helper_test.rb index 263f6eb0..e858f3ba 100644 --- a/test/system/dates_helper_test.rb +++ b/test/system/dates_helper_test.rb @@ -1,15 +1,13 @@ require "application_system_test_case" class DatesHelperTest < ApplicationSystemTestCase - def setup - super + setup do @original_hide_things = ENV["HIDE_THINGS"] ENV["HIDE_THINGS"] = "false" Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/test/system/fields_test.rb b/test/system/fields_test.rb index 3b1f8bbc..bd0afe7e 100644 --- a/test/system/fields_test.rb +++ b/test/system/fields_test.rb @@ -1,15 +1,13 @@ require "application_system_test_case" class FieldsTest < ApplicationSystemTestCase - def setup - super + setup do @original_hide_things = ENV["HIDE_THINGS"] ENV["HIDE_THINGS"] = "false" Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/test/system/invitation_details_test.rb b/test/system/invitation_details_test.rb index e389e3c5..602df06e 100644 --- a/test/system/invitation_details_test.rb +++ b/test/system/invitation_details_test.rb @@ -1,8 +1,7 @@ require "application_system_test_case" class InvitationsTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" @john = create :onboarded_user, first_name: "John", last_name: "Smith", email: "john@bullettrain.co" diff --git a/test/system/invitation_lists_test.rb b/test/system/invitation_lists_test.rb index fcba7c7a..bc5c89f4 100644 --- a/test/system/invitation_lists_test.rb +++ b/test/system/invitation_lists_test.rb @@ -1,7 +1,7 @@ require "application_system_test_case" class InvitationListsTest < ApplicationSystemTestCase - def setup + setup do # TODO: Capybara.current_driver is returning :selenium, # when it should be either :selenium_chrome or :selenium_chrome_headless. Capybara.current_driver = Capybara.default_driver @@ -13,7 +13,7 @@ def setup end end - def teardown + teardown do BulletTrain.configure do |config| config.enable_bulk_invitations = @current_bulk_invitations_setting end diff --git a/test/system/pagination_test.rb b/test/system/pagination_test.rb index dc59af55..25fdc3a6 100644 --- a/test/system/pagination_test.rb +++ b/test/system/pagination_test.rb @@ -1,8 +1,7 @@ require "application_system_test_case" class PaginationTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" @team = @jane.current_team @@ -11,8 +10,7 @@ def setup Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end @@ -40,7 +38,7 @@ def teardown assert_text("Test 1") refute_text("Test #{Pagy::DEFAULT[:items] + 1}") - click_on "Next" + click_on "2" assert_text("Test #{Pagy::DEFAULT[:items] + 1}") end end diff --git a/test/system/reactivity_system_test.rb b/test/system/reactivity_system_test.rb index 0425c84a..2d809662 100644 --- a/test/system/reactivity_system_test.rb +++ b/test/system/reactivity_system_test.rb @@ -1,15 +1,13 @@ require "application_system_test_case" class ReactivitySystemTest < ApplicationSystemTestCase - def setup - super + setup do @original_hide_things = ENV["HIDE_THINGS"] ENV["HIDE_THINGS"] = "false" Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/test/system/super_scaffolding/partial_test.rb b/test/system/super_scaffolding/partial_test.rb index 4081f85a..a8db8c07 100644 --- a/test/system/super_scaffolding/partial_test.rb +++ b/test/system/super_scaffolding/partial_test.rb @@ -1,8 +1,7 @@ require "application_system_test_case" class SuperScaffoldingSystemTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" end diff --git a/test/system/super_scaffolding/super_scaffolding_test.rb b/test/system/super_scaffolding/super_scaffolding_test.rb index 44776767..e09314f6 100644 --- a/test/system/super_scaffolding/super_scaffolding_test.rb +++ b/test/system/super_scaffolding/super_scaffolding_test.rb @@ -1,8 +1,7 @@ require "application_system_test_case" class SuperScaffoldingSystemTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" end diff --git a/test/system/tangible_thing_test.rb b/test/system/tangible_thing_test.rb index 082f7f96..998e1ee9 100644 --- a/test/system/tangible_thing_test.rb +++ b/test/system/tangible_thing_test.rb @@ -1,15 +1,13 @@ require "application_system_test_case" class TangibleThingTest < ApplicationSystemTestCase - def setup - super + setup do @original_hide_things = ENV["HIDE_THINGS"] ENV["HIDE_THINGS"] = "false" Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/test/system/teams_test.rb b/test/system/teams_test.rb index 32bce76a..83b8170b 100644 --- a/test/system/teams_test.rb +++ b/test/system/teams_test.rb @@ -1,8 +1,7 @@ require "application_system_test_case" class TeamsTest < ApplicationSystemTestCase - def setup - super + setup do @jane = create :onboarded_user, first_name: "Jane", last_name: "Smith" @john = create :onboarded_user, first_name: "John", last_name: "Smith" @jack = create :user, first_name: "Jack", last_name: "Smith" diff --git a/test/system/two_factor_authentication_test.rb b/test/system/two_factor_authentication_test.rb index 16ea443e..b8568adf 100644 --- a/test/system/two_factor_authentication_test.rb +++ b/test/system/two_factor_authentication_test.rb @@ -2,7 +2,7 @@ class TwoFactorAuthentication < ApplicationSystemTestCase if two_factor_authentication_enabled? - def setup + setup do @jane = FactoryBot.create :two_factor_user, first_name: "Jane", last_name: "Smith" @john = FactoryBot.create :user, first_name: "John", last_name: "Smith" end diff --git a/test/system/webhooks_system_test.rb b/test/system/webhooks_system_test.rb index 32f8e741..cced83dc 100644 --- a/test/system/webhooks_system_test.rb +++ b/test/system/webhooks_system_test.rb @@ -3,8 +3,7 @@ class WebhooksSystemTest < ApplicationSystemTestCase include ActiveJob::TestHelper - def setup - super + setup do @user = create :onboarded_user, first_name: "Andrew", last_name: "Culver" @another_user = create :onboarded_user, first_name: "John", last_name: "Smith" return unless Rails.configuration.respond_to?(:outgoing_webhooks) @@ -17,8 +16,7 @@ def setup Rails.application.reload_routes! end - def teardown - super + teardown do ENV["HIDE_THINGS"] = @original_hide_things Rails.application.reload_routes! end diff --git a/yarn.lock b/yarn.lock index eec23759..2ad38ae2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1495,30 +1495,30 @@ __metadata: languageName: node linkType: hard -"@bullet-train/bullet-train-sortable@npm:1.8.1": - version: 1.8.1 - resolution: "@bullet-train/bullet-train-sortable@npm:1.8.1" +"@bullet-train/bullet-train-sortable@npm:1.9.0": + version: 1.9.0 + resolution: "@bullet-train/bullet-train-sortable@npm:1.9.0" dependencies: "@hotwired/stimulus": "npm:^3.0.1" "@rails/request.js": "npm:^0.0.6" dragula: "npm:^3.7.3" jquery: "npm:^3.7.1" - checksum: 10c0/98c53647dc083d856c7065c7458e0399114ef1eb6fdacaec6e40cfdd91d76545fe723d76879c9eb54ad43f57480819504ef942ff1c6608e0113683a42edeebac + checksum: 10c0/89bba14663040cbaf3faf21ef9b47ada1a02319ce4dc098f346624efd7ba2572c407c037301c0f9182ee0b45bb8a8c6603a4dc2f401809f1405fdb5e3ec6669e languageName: node linkType: hard -"@bullet-train/bullet-train@npm:1.8.1": - version: 1.8.1 - resolution: "@bullet-train/bullet-train@npm:1.8.1" +"@bullet-train/bullet-train@npm:1.9.0": + version: 1.9.0 + resolution: "@bullet-train/bullet-train@npm:1.9.0" dependencies: "@hotwired/stimulus": "npm:^3.0.1" - checksum: 10c0/390e02afe664580902bb93488488f10fdd82195202447d04eb7497078c0087fd51b1fa48e100ea3a2a005696c5141fa5415848e15a0a17c97aaa90d935779dda + checksum: 10c0/8986bace0fd522023adc825bce327ce607f33db47e1db5edc421565a139bddbccb95a3b7aa2f96f1e3b7e64c55f44389f09c482283525883df3c3088b8d86954 languageName: node linkType: hard -"@bullet-train/fields@npm:1.8.1": - version: 1.8.1 - resolution: "@bullet-train/fields@npm:1.8.1" +"@bullet-train/fields@npm:1.9.0": + version: 1.9.0 + resolution: "@bullet-train/fields@npm:1.9.0" dependencies: "@hotwired/stimulus": "npm:^3.0.1" "@simonwep/pickr": "npm:^1.8.1" @@ -1531,7 +1531,7 @@ __metadata: tributejs: "npm:^5.1.3" trix: "npm:^2.0.1" zxcvbn: "npm:^4.4.2" - checksum: 10c0/13fa31c68ec37b67583bc1f5926445b2c1b5c35d79ed7d6608238fcb66289914bdb2d1dbf09204b3b26275fcf937c37ad7ee64b2fda349541d5bed6d21abf1fd + checksum: 10c0/404d81bbacbca151607071bccdef890f39def64f1e279b050433af3f02d5da6a8088b23a5f824c93f4545deb1827a58f07639ac06cf52e028f9f4bcf7714d140 languageName: node linkType: hard @@ -1945,23 +1945,23 @@ __metadata: languageName: node linkType: hard -"@rails/actiontext@npm:^7.2.102": - version: 7.2.102 - resolution: "@rails/actiontext@npm:7.2.102" +"@rails/actiontext@npm:^8.0.0": + version: 8.0.0 + resolution: "@rails/actiontext@npm:8.0.0" dependencies: - "@rails/activestorage": "npm:>= 7.2.0-alpha" + "@rails/activestorage": "npm:>= 8.0.0-alpha" peerDependencies: trix: ^2.0.0 - checksum: 10c0/58e65e7683a27439c7c93f1b28e6bbaa601cc38dafcc67117980d881b68e875524ea1bd7fdb95788a25c5009317c370032afeaa604b1d05f57659c91e3935e08 + checksum: 10c0/95b6eb2221f74ee905cf8018499ac2dcaade12b884f1833bf6f3aae55589faf115247e4a0c0ba7ddb7da27a11d9005f797df26b3dd144a56603c30960eef9f44 languageName: node linkType: hard -"@rails/activestorage@npm:>= 7.2.0-alpha, @rails/activestorage@npm:^7.1.3": - version: 7.2.0 - resolution: "@rails/activestorage@npm:7.2.0" +"@rails/activestorage@npm:>= 8.0.0-alpha, @rails/activestorage@npm:^8.0.0": + version: 8.0.0 + resolution: "@rails/activestorage@npm:8.0.0" dependencies: spark-md5: "npm:^3.0.1" - checksum: 10c0/44f9b6b535b66f2f42c785f8221554daeeac17588226825c2f9708e14b7da57ff623516b10c35b09b7d96f28c398bfdab2d2edc27ebd477fb3a1c568e2ede026 + checksum: 10c0/e8a0ac86eda132f366ae75ac222a1b21cf6f2de800efb761307db4d777c8fd94efa9bbee0a8b618843eb7d9253a33ba924f6602ef53706972d6d406e7a11426c languageName: node linkType: hard @@ -1979,10 +1979,10 @@ __metadata: languageName: node linkType: hard -"@rails/ujs@npm:^7.1.402": - version: 7.1.402 - resolution: "@rails/ujs@npm:7.1.402" - checksum: 10c0/ccab74b8013ed8a8ab8d7497d0fa510a6ec079725b5fcf679936d80c342940e462b60243ad2cb98128f29db5708a094e319767e8f33a18eb63ceb745de63d1e0 +"@rails/ujs@npm:^7.1.500": + version: 7.1.500 + resolution: "@rails/ujs@npm:7.1.500" + checksum: 10c0/365f9a3944454d64c83463de017d9be7064494d6376c1f4d8cbff38c0f278bac7d9ab85f19b31abb70f0e775f30b64ad682fd4545bc27b5d91baef3618642b9f languageName: node linkType: hard @@ -1999,10 +1999,10 @@ __metadata: linkType: hard "@redocly/cli@npm:^1.0.0-beta.111": - version: 1.25.9 - resolution: "@redocly/cli@npm:1.25.9" + version: 1.25.11 + resolution: "@redocly/cli@npm:1.25.11" dependencies: - "@redocly/openapi-core": "npm:1.25.9" + "@redocly/openapi-core": "npm:1.25.11" abort-controller: "npm:^3.0.0" chokidar: "npm:^3.5.1" colorette: "npm:^1.2.0" @@ -2024,23 +2024,23 @@ __metadata: bin: openapi: bin/cli.js redocly: bin/cli.js - checksum: 10c0/3a12d3a463312d4cf3c2cfa9934bc4bc0e896b2a459142b71a2507a6df042a2fcb94f5c1a45bc488ae82d7531963e678fbb78c559ecb61edb54499efbe064e71 + checksum: 10c0/66446b30592fe4e88bfb9df5dbd06ada8d703bdcb85d5f714a528bba225ead89714288187008eedd6006ffdb2d392513dc0f5a2c9f9f9e381d63193112afcf60 languageName: node linkType: hard -"@redocly/config@npm:^0.15.0": - version: 0.15.0 - resolution: "@redocly/config@npm:0.15.0" - checksum: 10c0/b8aef1d24ce611cda4f1662cf83da868092f84b7043a445d29db9bb7a08bafe377720228893daca1f70a4d770e6ea810f6ef10c8b244a3475410dfe4bd6b6e07 +"@redocly/config@npm:^0.16.0": + version: 0.16.0 + resolution: "@redocly/config@npm:0.16.0" + checksum: 10c0/9e2ee2b1eb61312d0479aee9ebb583818d0a061170ac4b733c5ab3a9351e2fdcaf282e9378f82853a7adcde899e218e43ea8d95f0068b3c0ac97c7333517ef34 languageName: node linkType: hard -"@redocly/openapi-core@npm:1.25.9, @redocly/openapi-core@npm:^1.4.0": - version: 1.25.9 - resolution: "@redocly/openapi-core@npm:1.25.9" +"@redocly/openapi-core@npm:1.25.11, @redocly/openapi-core@npm:^1.4.0": + version: 1.25.11 + resolution: "@redocly/openapi-core@npm:1.25.11" dependencies: "@redocly/ajv": "npm:^8.11.2" - "@redocly/config": "npm:^0.15.0" + "@redocly/config": "npm:^0.16.0" colorette: "npm:^1.2.0" https-proxy-agent: "npm:^7.0.4" js-levenshtein: "npm:^1.1.6" @@ -2050,7 +2050,7 @@ __metadata: node-fetch: "npm:^2.6.1" pluralize: "npm:^8.0.0" yaml-ast-parser: "npm:0.0.43" - checksum: 10c0/a4749d7ed58c6a209a2b3db61f559bf22b4e93e76430d322db80b82fed34c1452994cebadbb1bdeb2799b32f9a97f8fb56e249f5345bb2d045e141c03d476d40 + checksum: 10c0/201baf31b1556cb783762a2b0b8e382b09b7c88f33d10fc03ebbc9c9b1cac06566c6d4e8fcf1db6ec9f1548940eafe8d9179085dcf26d52e73ed365c4fff3b45 languageName: node linkType: hard @@ -2198,18 +2198,18 @@ __metadata: version: 0.0.0-use.local resolution: "app@workspace:." dependencies: - "@bullet-train/bullet-train": "npm:1.8.1" - "@bullet-train/bullet-train-sortable": "npm:1.8.1" - "@bullet-train/fields": "npm:1.8.1" + "@bullet-train/bullet-train": "npm:1.9.0" + "@bullet-train/bullet-train-sortable": "npm:1.9.0" + "@bullet-train/fields": "npm:1.9.0" "@esbuild-plugins/node-globals-polyfill": "npm:^0.2.3" "@fullhuman/postcss-purgecss": "npm:6.0.0" "@hotwired/turbo-rails": "npm:^8.0.12" "@icon/themify-icons": "npm:^1.0.1-alpha.3" "@rails/actioncable": "npm:^7.1.3" - "@rails/actiontext": "npm:^7.2.102" - "@rails/activestorage": "npm:^7.1.3" + "@rails/actiontext": "npm:^8.0.0" + "@rails/activestorage": "npm:^8.0.0" "@rails/request.js": "npm:^0.0.11" - "@rails/ujs": "npm:^7.1.402" + "@rails/ujs": "npm:^7.1.500" "@redocly/cli": "npm:^1.0.0-beta.111" "@tailwindcss/forms": "npm:^0.5.9" "@tailwindcss/typography": "npm:^0.5.15" @@ -2223,10 +2223,10 @@ __metadata: postcss-css-variables: "npm:^0.19.0" postcss-extend-rule: "npm:^4.0.0" postcss-import: "npm:^16.1.0" - postcss-nested: "npm:^6.2.0" + postcss-nested: "npm:^7.0.2" stimulus-reveal: "npm:^1.4.2" stimulus-scroll-reveal: "npm:^3.2.0" - tailwindcss: "npm:^3.4.14" + tailwindcss: "npm:^3.4.15" yalc: "npm:^1.0.0-pre.53" languageName: unknown linkType: soft @@ -2381,12 +2381,12 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2, braces@npm:~3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" dependencies: - fill-range: "npm:^7.0.1" - checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 languageName: node linkType: hard @@ -2495,9 +2495,9 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.4.0, chokidar@npm:^3.5.1, chokidar@npm:^3.5.3": - version: 3.5.3 - resolution: "chokidar@npm:3.5.3" +"chokidar@npm:^3.4.0, chokidar@npm:^3.5.1, chokidar@npm:^3.6.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" dependencies: anymatch: "npm:~3.1.2" braces: "npm:~3.0.2" @@ -2510,7 +2510,7 @@ __metadata: dependenciesMeta: fsevents: optional: true - checksum: 10c0/1076953093e0707c882a92c66c0f56ba6187831aa51bb4de878c1fec59ae611a3bf02898f190efec8e77a086b8df61c2b2a3ea324642a0558bdf8ee6c5dc9ca1 + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 languageName: node linkType: hard @@ -3171,16 +3171,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.3.0": - version: 3.3.1 - resolution: "fast-glob@npm:3.3.1" +"fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" micromatch: "npm:^4.0.4" - checksum: 10c0/b68431128fb6ce4b804c5f9622628426d990b66c75b21c0d16e3d80e2d1398bf33f7e1724e66a2e3f299285dcf5b8d745b122d0304e7dd66f5231081f33ec67c + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 languageName: node linkType: hard @@ -3200,12 +3200,12 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" dependencies: to-regex-range: "npm:^5.0.1" - checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 languageName: node linkType: hard @@ -3404,20 +3404,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:7.1.6": - version: 7.1.6 - resolution: "glob@npm:7.1.6" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.0.4" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/2575cce9306ac534388db751f0aa3e78afedb6af8f3b529ac6b2354f66765545145dba8530abf7bff49fb399a047d3f9b6901c38ee4c9503f592960d9af67763 - languageName: node - linkType: hard - "glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.12": version: 10.3.12 resolution: "glob@npm:10.3.12" @@ -3913,12 +3899,12 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.21.0": - version: 1.21.0 - resolution: "jiti@npm:1.21.0" +"jiti@npm:^1.21.6": + version: 1.21.6 + resolution: "jiti@npm:1.21.6" bin: jiti: bin/jiti.js - checksum: 10c0/7f361219fe6c7a5e440d5f1dba4ab763a5538d2df8708cdc22561cf25ea3e44b837687931fca7cdd8cdd9f567300e90be989dd1321650045012d8f9ed6aab07f + checksum: 10c0/05b9ed58cd30d0c3ccd3c98209339e74f50abd9a17e716f65db46b6a35812103f6bde6e134be7124d01745586bca8cc5dae1d0d952267c3ebe55171949c32e56 languageName: node linkType: hard @@ -4023,13 +4009,20 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.0.5, lilconfig@npm:^2.1.0": +"lilconfig@npm:^2.1.0": version: 2.1.0 resolution: "lilconfig@npm:2.1.0" checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 languageName: node linkType: hard +"lilconfig@npm:^3.0.0": + version: 3.1.2 + resolution: "lilconfig@npm:3.1.2" + checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -4159,13 +4152,13 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: - braces: "npm:^3.0.2" + braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 languageName: node linkType: hard @@ -4719,10 +4712,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": - version: 1.0.1 - resolution: "picocolors@npm:1.0.1" - checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 +"picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -4838,12 +4831,12 @@ __metadata: languageName: node linkType: hard -"postcss-load-config@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-load-config@npm:4.0.1" +"postcss-load-config@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-load-config@npm:4.0.2" dependencies: - lilconfig: "npm:^2.0.5" - yaml: "npm:^2.1.1" + lilconfig: "npm:^3.0.0" + yaml: "npm:^2.3.4" peerDependencies: postcss: ">=8.0.9" ts-node: ">=9.0.0" @@ -4852,11 +4845,11 @@ __metadata: optional: true ts-node: optional: true - checksum: 10c0/5f568420c4d758d77d661f26914c08fe8dfb0666c7b779dc4f48d7fd880d131e8aa232a45cc1a8ba3f47f9c5fca572b661ca0103c2212979e9dc00918cff3d5f + checksum: 10c0/3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 languageName: node linkType: hard -"postcss-nested@npm:^6.0.1, postcss-nested@npm:^6.2.0": +"postcss-nested@npm:^6.2.0": version: 6.2.0 resolution: "postcss-nested@npm:6.2.0" dependencies: @@ -4867,6 +4860,17 @@ __metadata: languageName: node linkType: hard +"postcss-nested@npm:^7.0.2": + version: 7.0.2 + resolution: "postcss-nested@npm:7.0.2" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.2.14 + checksum: 10c0/b467f328c89c5b0dcd1b569ae083f6163235c0cac09494a0b284eef5275fa1386bbc26c66c85adf194cef0a65d315994140724a34539a096e5acd39d9c753338 + languageName: node + linkType: hard + "postcss-nesting@npm:^10.1.2": version: 10.2.0 resolution: "postcss-nesting@npm:10.2.0" @@ -4889,13 +4893,23 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.7, postcss-selector-parser@npm:^6.1.1": - version: 6.1.1 - resolution: "postcss-selector-parser@npm:6.1.1" +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.7, postcss-selector-parser@npm:^6.1.1, postcss-selector-parser@npm:^6.1.2": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/5608765e033fee35d448e1f607ffbaa750eb86901824a8bc4a911ea8bc137cb82f29239330787427c5d3695afd90d8721e190f211dbbf733e25033d8b3100763 + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d languageName: node linkType: hard @@ -4906,14 +4920,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.23, postcss@npm:^8.4.38, postcss@npm:^8.4.4": - version: 8.4.38 - resolution: "postcss@npm:8.4.38" +"postcss@npm:^8.4.23, postcss@npm:^8.4.38, postcss@npm:^8.4.4, postcss@npm:^8.4.47": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" dependencies: nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.2.0" - checksum: 10c0/955407b8f70cf0c14acf35dab3615899a2a60a26718a63c848cf3c29f2467b0533991b985a2b994430d890bd7ec2b1963e36352b0774a19143b5f591540f7c06 + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 languageName: node linkType: hard @@ -5203,29 +5217,29 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.14.2, resolve@npm:^1.22.2": - version: 1.22.6 - resolution: "resolve@npm:1.22.6" +"resolve@npm:^1.1.7, resolve@npm:^1.14.2, resolve@npm:^1.22.8": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: is-core-module: "npm:^2.13.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/967f2eb67c77d1be7ff15676a7dbac9334090cfbf8b967305da5f4bd22fc7d12e7045223dc820bcc783031815b60b7f42f2a495165c320ffb4c7bb92eb2eb2d7 + checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin": - version: 1.22.6 - resolution: "resolve@patch:resolve@npm%3A1.22.6#optional!builtin::version=1.22.6&hash=c3c19d" +"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: is-core-module: "npm:^2.13.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/acedc45a638b3635730669bb65e87bb61f5bf9b4e81982aba9ece0049ff792472a6fbb0c22cc59073cdbf17a0926c1d3d77ba86c88c60e15cc46f929278210cb + checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 languageName: node linkType: hard @@ -5511,10 +5525,10 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf languageName: node linkType: hard @@ -5707,13 +5721,13 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.32.0": - version: 3.34.0 - resolution: "sucrase@npm:3.34.0" +"sucrase@npm:^3.35.0": + version: 3.35.0 + resolution: "sucrase@npm:3.35.0" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.2" commander: "npm:^4.0.0" - glob: "npm:7.1.6" + glob: "npm:^10.3.10" lines-and-columns: "npm:^1.1.6" mz: "npm:^2.7.0" pirates: "npm:^4.0.1" @@ -5721,7 +5735,7 @@ __metadata: bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: 10c0/83e524f2b9386c7029fc9e46b8d608485866d08bea5a0a71e9e3442dc12e1d05a5ab555808d1922f45dd012fc71043479d778aac07391d9740daabe45730a056 + checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef languageName: node linkType: hard @@ -5773,36 +5787,36 @@ __metadata: languageName: node linkType: hard -"tailwindcss@npm:^3.4.14": - version: 3.4.14 - resolution: "tailwindcss@npm:3.4.14" +"tailwindcss@npm:^3.4.15": + version: 3.4.15 + resolution: "tailwindcss@npm:3.4.15" dependencies: "@alloc/quick-lru": "npm:^5.2.0" arg: "npm:^5.0.2" - chokidar: "npm:^3.5.3" + chokidar: "npm:^3.6.0" didyoumean: "npm:^1.2.2" dlv: "npm:^1.1.3" - fast-glob: "npm:^3.3.0" + fast-glob: "npm:^3.3.2" glob-parent: "npm:^6.0.2" is-glob: "npm:^4.0.3" - jiti: "npm:^1.21.0" + jiti: "npm:^1.21.6" lilconfig: "npm:^2.1.0" - micromatch: "npm:^4.0.5" + micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" object-hash: "npm:^3.0.0" - picocolors: "npm:^1.0.0" - postcss: "npm:^8.4.23" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.4.47" postcss-import: "npm:^15.1.0" postcss-js: "npm:^4.0.1" - postcss-load-config: "npm:^4.0.1" - postcss-nested: "npm:^6.0.1" - postcss-selector-parser: "npm:^6.0.11" - resolve: "npm:^1.22.2" - sucrase: "npm:^3.32.0" + postcss-load-config: "npm:^4.0.2" + postcss-nested: "npm:^6.2.0" + postcss-selector-parser: "npm:^6.1.2" + resolve: "npm:^1.22.8" + sucrase: "npm:^3.35.0" bin: tailwind: lib/cli.js tailwindcss: lib/cli.js - checksum: 10c0/f6c23f8a3293ce3b2511bca1e50008ac94bd8562cb09fec32fe4f8e8a4f54d9e9fc10e567b7f974abdd4b33e550564a2616d4e793c736955432f28448141ce45 + checksum: 10c0/709058837c5adf0b7e1386ba353983dcf2af3d390e8822fac8d53ecaaad0f6f040fd3050b1db636e2abd46ae775317a89b350ce925477ea96cca8f6c56d901df languageName: node linkType: hard @@ -6238,10 +6252,12 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.1.1": - version: 2.3.1 - resolution: "yaml@npm:2.3.1" - checksum: 10c0/ed4c21a907fb1cd60a25177612fa46d95064a144623d269199817908475fe85bef20fb17406e3bdc175351b6488056a6f84beb7836e8c262646546a0220188e3 +"yaml@npm:^2.3.4": + version: 2.6.0 + resolution: "yaml@npm:2.6.0" + bin: + yaml: bin.mjs + checksum: 10c0/9e74cdb91cc35512a1c41f5ce509b0e93cc1d00eff0901e4ba831ee75a71ddf0845702adcd6f4ee6c811319eb9b59653248462ab94fa021ab855543a75396ceb languageName: node linkType: hard