diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index cbaf13d05..fc4482026 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -24,6 +24,10 @@ nav_order: 5 *Joel Hawksley* +* BREAKING: Move generators to a ViewComponent namespace. + + *Paul Sadauskas* + * Add basic internal testing for memory allocations. *Joel Hawksley* diff --git a/lib/rails/generators/abstract_generator.rb b/lib/generators/view_component/abstract_generator.rb similarity index 100% rename from lib/rails/generators/abstract_generator.rb rename to lib/generators/view_component/abstract_generator.rb diff --git a/lib/rails/generators/component/USAGE b/lib/generators/view_component/component/USAGE similarity index 100% rename from lib/rails/generators/component/USAGE rename to lib/generators/view_component/component/USAGE diff --git a/lib/rails/generators/component/component_generator.rb b/lib/generators/view_component/component/component_generator.rb similarity index 96% rename from lib/rails/generators/component/component_generator.rb rename to lib/generators/view_component/component/component_generator.rb index 4077c78f6..424071ba2 100644 --- a/lib/rails/generators/component/component_generator.rb +++ b/lib/generators/view_component/component/component_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -require "rails/generators/abstract_generator" +require "generators/view_component/abstract_generator" -module Rails +module ViewComponent module Generators class ComponentGenerator < Rails::Generators::NamedBase include ViewComponent::AbstractGenerator diff --git a/lib/rails/generators/component/templates/component.rb.tt b/lib/generators/view_component/component/templates/component.rb.tt similarity index 100% rename from lib/rails/generators/component/templates/component.rb.tt rename to lib/generators/view_component/component/templates/component.rb.tt diff --git a/lib/rails/generators/erb/component_generator.rb b/lib/generators/view_component/erb/erb_generator.rb similarity index 82% rename from lib/rails/generators/erb/component_generator.rb rename to lib/generators/view_component/erb/erb_generator.rb index 0357757c8..5d7e76eb8 100644 --- a/lib/rails/generators/erb/component_generator.rb +++ b/lib/generators/view_component/erb/erb_generator.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true require "rails/generators/erb" -require "rails/generators/abstract_generator" +require "generators/view_component/abstract_generator" -module Erb +module ViewComponent module Generators - class ComponentGenerator < Base + class ErbGenerator < Rails::Generators::NamedBase include ViewComponent::AbstractGenerator source_root File.expand_path("templates", __dir__) diff --git a/lib/rails/generators/erb/templates/component.html.erb.tt b/lib/generators/view_component/erb/templates/component.html.erb.tt similarity index 100% rename from lib/rails/generators/erb/templates/component.html.erb.tt rename to lib/generators/view_component/erb/templates/component.html.erb.tt diff --git a/lib/rails/generators/haml/component_generator.rb b/lib/generators/view_component/haml/haml_generator.rb similarity index 70% rename from lib/rails/generators/haml/component_generator.rb rename to lib/generators/view_component/haml/haml_generator.rb index c25d08dc1..0489b140d 100644 --- a/lib/rails/generators/haml/component_generator.rb +++ b/lib/generators/view_component/haml/haml_generator.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require "rails/generators/erb/component_generator" +require "generators/view_component/erb/erb_generator" -module Haml +module ViewComponent module Generators - class ComponentGenerator < Erb::Generators::ComponentGenerator + class HamlGenerator < ViewComponent::Generators::ErbGenerator include ViewComponent::AbstractGenerator source_root File.expand_path("templates", __dir__) diff --git a/lib/rails/generators/haml/templates/component.html.haml.tt b/lib/generators/view_component/haml/templates/component.html.haml.tt similarity index 100% rename from lib/rails/generators/haml/templates/component.html.haml.tt rename to lib/generators/view_component/haml/templates/component.html.haml.tt diff --git a/lib/rails/generators/locale/component_generator.rb b/lib/generators/view_component/locale/locale_generator.rb similarity index 90% rename from lib/rails/generators/locale/component_generator.rb rename to lib/generators/view_component/locale/locale_generator.rb index 55f735353..2bb61a708 100644 --- a/lib/rails/generators/locale/component_generator.rb +++ b/lib/generators/view_component/locale/locale_generator.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require "rails/generators/abstract_generator" +require "generators/view_component/abstract_generator" -module Locale +module ViewComponent module Generators - class ComponentGenerator < ::Rails::Generators::NamedBase + class LocaleGenerator < ::Rails::Generators::NamedBase include ViewComponent::AbstractGenerator source_root File.expand_path("templates", __dir__) diff --git a/lib/rails/generators/preview/component_generator.rb b/lib/generators/view_component/preview/preview_generator.rb similarity index 93% rename from lib/rails/generators/preview/component_generator.rb rename to lib/generators/view_component/preview/preview_generator.rb index abb6fbd07..dbaf3a261 100644 --- a/lib/rails/generators/preview/component_generator.rb +++ b/lib/generators/view_component/preview/preview_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -module Preview +module ViewComponent module Generators - class ComponentGenerator < ::Rails::Generators::NamedBase + class PreviewGenerator < ::Rails::Generators::NamedBase source_root File.expand_path("templates", __dir__) class_option :preview_path, type: :string, desc: "Path for previews, required when multiple preview paths are configured", default: ViewComponent::Base.config.generate.preview_path diff --git a/lib/rails/generators/preview/templates/component_preview.rb.tt b/lib/generators/view_component/preview/templates/component_preview.rb.tt similarity index 100% rename from lib/rails/generators/preview/templates/component_preview.rb.tt rename to lib/generators/view_component/preview/templates/component_preview.rb.tt diff --git a/lib/rails/generators/rspec/component_generator.rb b/lib/generators/view_component/rspec/rspec_generator.rb similarity index 85% rename from lib/rails/generators/rspec/component_generator.rb rename to lib/generators/view_component/rspec/rspec_generator.rb index 605ada5fb..eff496455 100644 --- a/lib/rails/generators/rspec/component_generator.rb +++ b/lib/generators/view_component/rspec/rspec_generator.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require "rails/generators/abstract_generator" +require "generators/view_component/abstract_generator" -module Rspec +module ViewComponent module Generators - class ComponentGenerator < ::Rails::Generators::NamedBase + class RspecGenerator < ::Rails::Generators::NamedBase include ViewComponent::AbstractGenerator source_root File.expand_path("templates", __dir__) diff --git a/lib/rails/generators/rspec/templates/component_spec.rb.tt b/lib/generators/view_component/rspec/templates/component_spec.rb.tt similarity index 100% rename from lib/rails/generators/rspec/templates/component_spec.rb.tt rename to lib/generators/view_component/rspec/templates/component_spec.rb.tt diff --git a/lib/rails/generators/slim/component_generator.rb b/lib/generators/view_component/slim/slim_generator.rb similarity index 70% rename from lib/rails/generators/slim/component_generator.rb rename to lib/generators/view_component/slim/slim_generator.rb index a8e0576bc..29a0bcdbe 100644 --- a/lib/rails/generators/slim/component_generator.rb +++ b/lib/generators/view_component/slim/slim_generator.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require "rails/generators/erb/component_generator" +require "generators/view_component/erb/erb_generator" -module Slim +module ViewComponent module Generators - class ComponentGenerator < Erb::Generators::ComponentGenerator + class SlimGenerator < ViewComponent::Generators::ErbGenerator include ViewComponent::AbstractGenerator source_root File.expand_path("templates", __dir__) diff --git a/lib/rails/generators/slim/templates/component.html.slim.tt b/lib/generators/view_component/slim/templates/component.html.slim.tt similarity index 100% rename from lib/rails/generators/slim/templates/component.html.slim.tt rename to lib/generators/view_component/slim/templates/component.html.slim.tt diff --git a/lib/rails/generators/stimulus/component_generator.rb b/lib/generators/view_component/stimulus/stimulus_generator.rb similarity index 87% rename from lib/rails/generators/stimulus/component_generator.rb rename to lib/generators/view_component/stimulus/stimulus_generator.rb index cb40d03f4..b476ff6f7 100644 --- a/lib/rails/generators/stimulus/component_generator.rb +++ b/lib/generators/view_component/stimulus/stimulus_generator.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require "rails/generators/abstract_generator" +require "generators/view_component/abstract_generator" -module Stimulus +module ViewComponent module Generators - class ComponentGenerator < ::Rails::Generators::NamedBase + class StimulusGenerator < ::Rails::Generators::NamedBase include ViewComponent::AbstractGenerator source_root File.expand_path("templates", __dir__) diff --git a/lib/rails/generators/stimulus/templates/component_controller.js.tt b/lib/generators/view_component/stimulus/templates/component_controller.js.tt similarity index 100% rename from lib/rails/generators/stimulus/templates/component_controller.js.tt rename to lib/generators/view_component/stimulus/templates/component_controller.js.tt diff --git a/lib/generators/view_component/tailwindcss/tailwindcss_generator.rb b/lib/generators/view_component/tailwindcss/tailwindcss_generator.rb new file mode 100644 index 000000000..102df5acd --- /dev/null +++ b/lib/generators/view_component/tailwindcss/tailwindcss_generator.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +require "generators/view_component/erb/erb_generator" + +module ViewComponent + module Generators + class TailwindcssGenerator < ViewComponent::Generators::ErbGenerator + source_root File.expand_path("templates", __dir__) + end + end +end diff --git a/lib/rails/generators/tailwindcss/templates/component.html.erb.tt b/lib/generators/view_component/tailwindcss/templates/component.html.erb.tt similarity index 100% rename from lib/rails/generators/tailwindcss/templates/component.html.erb.tt rename to lib/generators/view_component/tailwindcss/templates/component.html.erb.tt diff --git a/lib/rails/generators/test_unit/templates/component_test.rb.tt b/lib/generators/view_component/test_unit/templates/component_test.rb.tt similarity index 100% rename from lib/rails/generators/test_unit/templates/component_test.rb.tt rename to lib/generators/view_component/test_unit/templates/component_test.rb.tt diff --git a/lib/rails/generators/test_unit/component_generator.rb b/lib/generators/view_component/test_unit/test_unit_generator.rb similarity index 83% rename from lib/rails/generators/test_unit/component_generator.rb rename to lib/generators/view_component/test_unit/test_unit_generator.rb index 2eb2cfe28..1bae1aab5 100644 --- a/lib/rails/generators/test_unit/component_generator.rb +++ b/lib/generators/view_component/test_unit/test_unit_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -module TestUnit +module ViewComponent module Generators - class ComponentGenerator < ::Rails::Generators::NamedBase + class TestUnitGenerator < ::Rails::Generators::NamedBase source_root File.expand_path("templates", __dir__) check_class_collision suffix: "ComponentTest" diff --git a/lib/rails/generators/tailwindcss/component_generator.rb b/lib/rails/generators/tailwindcss/component_generator.rb deleted file mode 100644 index fe0046248..000000000 --- a/lib/rails/generators/tailwindcss/component_generator.rb +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -require "rails/generators/erb/component_generator" - -module Tailwindcss - module Generators - class ComponentGenerator < Erb::Generators::ComponentGenerator - source_root File.expand_path("templates", __dir__) - end - end -end diff --git a/test/sandbox/test/generators/component_generator_test.rb b/test/sandbox/test/generators/component_generator_test.rb index 4cbd27bec..1a6f9a144 100644 --- a/test/sandbox/test/generators/component_generator_test.rb +++ b/test/sandbox/test/generators/component_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/component/component_generator" +require "generators/view_component/component/component_generator" Rails.application.load_generators class ComponentGeneratorTest < Rails::Generators::TestCase - tests Rails::Generators::ComponentGenerator + tests ViewComponent::Generators::ComponentGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/erb_generator_test.rb b/test/sandbox/test/generators/erb_generator_test.rb index 0c7800ea3..ec368c024 100644 --- a/test/sandbox/test/generators/erb_generator_test.rb +++ b/test/sandbox/test/generators/erb_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/erb/component_generator" +require "generators/view_component/erb/erb_generator" Rails.application.load_generators class ErbGeneratorTest < Rails::Generators::TestCase - tests Erb::Generators::ComponentGenerator + tests ViewComponent::Generators::ErbGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/haml_generator_test.rb b/test/sandbox/test/generators/haml_generator_test.rb index 9d37dd239..1cb6b3901 100644 --- a/test/sandbox/test/generators/haml_generator_test.rb +++ b/test/sandbox/test/generators/haml_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/haml/component_generator" +require "generators/view_component/haml/haml_generator" Rails.application.load_generators class HamlGeneratorTest < Rails::Generators::TestCase - tests Haml::Generators::ComponentGenerator + tests ViewComponent::Generators::HamlGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/locale_generator_test.rb b/test/sandbox/test/generators/locale_generator_test.rb index aba1a0601..e26dcc547 100644 --- a/test/sandbox/test/generators/locale_generator_test.rb +++ b/test/sandbox/test/generators/locale_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/locale/component_generator" +require "generators/view_component/locale/locale_generator" Rails.application.load_generators class LocaleGeneratorTest < Rails::Generators::TestCase - tests Locale::Generators::ComponentGenerator + tests ViewComponent::Generators::LocaleGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/preview_generator_test.rb b/test/sandbox/test/generators/preview_generator_test.rb index 3930ef2b3..e4f9b1c77 100644 --- a/test/sandbox/test/generators/preview_generator_test.rb +++ b/test/sandbox/test/generators/preview_generator_test.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/preview/component_generator" +require "generators/view_component/preview/preview_generator" # See: https://github.com/rails/rails/pull/47752#issuecomment-1720256371 require "active_record" @@ -9,7 +9,7 @@ Rails.application.load_generators class PreviewGeneratorTest < Rails::Generators::TestCase - tests Preview::Generators::ComponentGenerator + tests ViewComponent::Generators::PreviewGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/rspec_generator_test.rb b/test/sandbox/test/generators/rspec_generator_test.rb index 0286ef1fd..a65048529 100644 --- a/test/sandbox/test/generators/rspec_generator_test.rb +++ b/test/sandbox/test/generators/rspec_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/rspec/component_generator" +require "generators/view_component/rspec/rspec_generator" Rails.application.load_generators class RSpecGeneratorTest < Rails::Generators::TestCase - tests Rspec::Generators::ComponentGenerator + tests ViewComponent::Generators::RspecGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/slim_generator_test.rb b/test/sandbox/test/generators/slim_generator_test.rb index 4d64b21f8..d03b85fad 100644 --- a/test/sandbox/test/generators/slim_generator_test.rb +++ b/test/sandbox/test/generators/slim_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/slim/component_generator" +require "generators/view_component/slim/slim_generator" Rails.application.load_generators class SlimGeneratorTest < Rails::Generators::TestCase - tests Slim::Generators::ComponentGenerator + tests ViewComponent::Generators::SlimGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/stimulus_generator_test.rb b/test/sandbox/test/generators/stimulus_generator_test.rb index c2b6c6af8..2d211b97d 100644 --- a/test/sandbox/test/generators/stimulus_generator_test.rb +++ b/test/sandbox/test/generators/stimulus_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/stimulus/component_generator" +require "generators/view_component/stimulus/stimulus_generator" Rails.application.load_generators class StimulusGeneratorTest < Rails::Generators::TestCase - tests Stimulus::Generators::ComponentGenerator + tests ViewComponent::Generators::StimulusGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/tailwindcss_generator_test.rb b/test/sandbox/test/generators/tailwindcss_generator_test.rb index 736e401ff..c2a2c5b08 100644 --- a/test/sandbox/test/generators/tailwindcss_generator_test.rb +++ b/test/sandbox/test/generators/tailwindcss_generator_test.rb @@ -1,13 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/test_case" -require "rails/generators/tailwindcss/component_generator" +require "generators/view_component/tailwindcss/tailwindcss_generator" Rails.application.load_generators class TailwindcssGeneratorTest < Rails::Generators::TestCase - tests Tailwindcss::Generators::ComponentGenerator + tests ViewComponent::Generators::TailwindcssGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/sandbox/test/generators/test_unit_generator_test.rb b/test/sandbox/test/generators/test_unit_generator_test.rb index 00a9dbdda..e46ac027f 100644 --- a/test/sandbox/test/generators/test_unit_generator_test.rb +++ b/test/sandbox/test/generators/test_unit_generator_test.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true require "test_helper" -require "rails/generators/test_unit/component_generator" +require "generators/view_component/test_unit/test_unit_generator" Rails.application.load_generators class TestUnitGeneratorTest < Rails::Generators::TestCase - tests TestUnit::Generators::ComponentGenerator + tests ViewComponent::Generators::TestUnitGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/test_engine/test/generators/component_generator_test.rb b/test/test_engine/test/generators/component_generator_test.rb index 63f0307ba..1313c91fa 100644 --- a/test/test_engine/test/generators/component_generator_test.rb +++ b/test/test_engine/test/generators/component_generator_test.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true require_relative "../../test_helper" -require "rails/generators/component/component_generator" +require "generators/view_component/component/component_generator" class ComponentGeneratorTest < Rails::Generators::TestCase - tests Rails::Generators::ComponentGenerator + tests ViewComponent::Generators::ComponentGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/test_engine/test/generators/preview_generator_test.rb b/test/test_engine/test/generators/preview_generator_test.rb index 64d815baa..410aa6f9b 100644 --- a/test/test_engine/test/generators/preview_generator_test.rb +++ b/test/test_engine/test/generators/preview_generator_test.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true require_relative "../../test_helper" -require "rails/generators/preview/component_generator" +require "generators/view_component/preview/preview_generator" class PreviewGeneratorTest < Rails::Generators::TestCase - tests Preview::Generators::ComponentGenerator + tests ViewComponent::Generators::PreviewGenerator destination Dir.mktmpdir setup :prepare_destination diff --git a/test/test_engine/test/generators/test_unit_generator_test.rb b/test/test_engine/test/generators/test_unit_generator_test.rb index a602b2d9c..6860f2d8a 100644 --- a/test/test_engine/test/generators/test_unit_generator_test.rb +++ b/test/test_engine/test/generators/test_unit_generator_test.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true require_relative "../../test_helper" -require "rails/generators/test_unit/component_generator" +require "generators/view_component/test_unit/test_unit_generator" class TestUnitGeneratorTest < Rails::Generators::TestCase - tests TestUnit::Generators::ComponentGenerator + tests ViewComponent::Generators::TestUnitGenerator destination Dir.mktmpdir setup :prepare_destination