From 6a42390d11bcc3e901a2b53e06d7b2902b6166f7 Mon Sep 17 00:00:00 2001 From: ihabadham Date: Sat, 13 Sep 2025 20:26:04 +0300 Subject: [PATCH 1/5] chore(license): add MIT SPDX headers to Core Ruby and JS/TS files --- app/helpers/react_on_rails_helper.rb | 5 ++++- .../react_on_rails/adapt_for_older_shakapacker_generator.rb | 5 ++++- lib/generators/react_on_rails/base_generator.rb | 5 ++++- lib/generators/react_on_rails/dev_tests_generator.rb | 5 ++++- lib/generators/react_on_rails/generator_helper.rb | 5 ++++- lib/generators/react_on_rails/generator_messages.rb | 5 ++++- lib/generators/react_on_rails/install_generator.rb | 5 ++++- lib/generators/react_on_rails/react_no_redux_generator.rb | 5 ++++- lib/generators/react_on_rails/react_with_redux_generator.rb | 5 ++++- .../base/base/app/controllers/hello_world_controller.rb | 5 ++++- .../react_on_rails/templates/dev_tests/spec/rails_helper.rb | 5 ++++- .../templates/dev_tests/spec/simplecov_helper.rb | 5 ++++- .../react_on_rails/templates/dev_tests/spec/spec_helper.rb | 5 ++++- .../templates/dev_tests/spec/system/hello_world_spec.rb | 5 ++++- lib/react_on_rails.rb | 5 ++++- lib/react_on_rails/configuration.rb | 5 ++++- lib/react_on_rails/controller.rb | 5 ++++- lib/react_on_rails/engine.rb | 5 ++++- lib/react_on_rails/error.rb | 5 ++++- lib/react_on_rails/git_utils.rb | 5 ++++- lib/react_on_rails/helper.rb | 5 ++++- lib/react_on_rails/json_output.rb | 5 ++++- lib/react_on_rails/json_parse_error.rb | 5 ++++- lib/react_on_rails/locales/base.rb | 5 ++++- lib/react_on_rails/locales/to_js.rb | 5 ++++- lib/react_on_rails/locales/to_json.rb | 5 ++++- lib/react_on_rails/packer_utils.rb | 5 ++++- lib/react_on_rails/packs_generator.rb | 5 ++++- lib/react_on_rails/prerender_error.rb | 5 ++++- lib/react_on_rails/react_component/render_options.rb | 5 ++++- lib/react_on_rails/server_rendering_js_code.rb | 5 ++++- lib/react_on_rails/server_rendering_pool.rb | 5 ++++- .../server_rendering_pool/ruby_embedded_java_script.rb | 5 ++++- lib/react_on_rails/test_helper.rb | 5 ++++- lib/react_on_rails/test_helper/ensure_assets_compiled.rb | 5 ++++- lib/react_on_rails/test_helper/webpack_assets_compiler.rb | 5 ++++- .../test_helper/webpack_assets_status_checker.rb | 5 ++++- lib/react_on_rails/utils.rb | 5 ++++- lib/react_on_rails/version.rb | 5 ++++- lib/react_on_rails/version_checker.rb | 5 ++++- lib/react_on_rails/version_syntax_converter.rb | 5 ++++- node_package/src/Authenticity.ts | 2 ++ node_package/src/CallbackRegistry.ts | 2 ++ node_package/src/ClientSideRenderer.ts | 2 ++ node_package/src/ComponentRegistry.ts | 2 ++ node_package/src/PostSSRHookTracker.ts | 2 ++ node_package/src/RSCProvider.tsx | 2 ++ node_package/src/RSCRequestTracker.ts | 2 ++ node_package/src/RSCRoute.tsx | 2 ++ node_package/src/ReactOnRails.client.ts | 2 ++ node_package/src/ReactOnRails.full.ts | 2 ++ node_package/src/ReactOnRails.node.ts | 2 ++ node_package/src/ReactOnRailsRSC.ts | 2 ++ node_package/src/RenderUtils.ts | 2 ++ node_package/src/ServerComponentFetchError.ts | 2 ++ node_package/src/StoreRegistry.ts | 2 ++ node_package/src/buildConsoleReplay.ts | 2 ++ node_package/src/clientStartup.ts | 2 ++ node_package/src/context.ts | 2 ++ node_package/src/createReactOutput.ts | 2 ++ node_package/src/getReactServerComponent.client.ts | 2 ++ node_package/src/getReactServerComponent.server.ts | 2 ++ node_package/src/handleError.ts | 2 ++ node_package/src/injectRSCPayload.ts | 2 ++ node_package/src/isRenderFunction.ts | 2 ++ node_package/src/isServerRenderResult.ts | 2 ++ node_package/src/loadJsonFile.ts | 2 ++ node_package/src/pageLifecycle.ts | 2 ++ node_package/src/reactHydrateOrRender.ts | 2 ++ node_package/src/registerServerComponent/client.tsx | 2 ++ node_package/src/registerServerComponent/server.rsc.ts | 2 ++ node_package/src/registerServerComponent/server.tsx | 2 ++ node_package/src/scriptSanitizedVal.ts | 2 ++ node_package/src/serverRenderReactComponent.ts | 2 ++ node_package/src/serverRenderUtils.ts | 2 ++ node_package/src/streamServerRenderedReactComponent.ts | 2 ++ node_package/src/transformRSCNodeStream.ts | 2 ++ node_package/src/transformRSCStreamAndReplayConsoleLogs.ts | 2 ++ node_package/src/turbolinksUtils.ts | 2 ++ node_package/src/types/index.ts | 2 ++ node_package/src/utils.ts | 2 ++ node_package/src/wrapServerComponentRenderer/client.tsx | 2 ++ node_package/src/wrapServerComponentRenderer/server.rsc.tsx | 2 ++ node_package/src/wrapServerComponentRenderer/server.tsx | 2 ++ 84 files changed, 250 insertions(+), 41 deletions(-) diff --git a/app/helpers/react_on_rails_helper.rb b/app/helpers/react_on_rails_helper.rb index 0b111f0859..e0fbe0551a 100644 --- a/app/helpers/react_on_rails_helper.rb +++ b/app/helpers/react_on_rails_helper.rb @@ -1,5 +1,8 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRailsHelper include ReactOnRails::Helper -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb b/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb index 69c84c0a65..e649010c01 100644 --- a/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb +++ b/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails/generators" require_relative "generator_helper" @@ -38,4 +41,4 @@ def modify_requiring_webpack_config_in_js end end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/base_generator.rb b/lib/generators/react_on_rails/base_generator.rb index cf7e851d45..26302b1af8 100644 --- a/lib/generators/react_on_rails/base_generator.rb +++ b/lib/generators/react_on_rails/base_generator.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails/generators" require_relative "generator_messages" @@ -180,4 +183,4 @@ def add_configure_rspec_to_compile_assets(helper_file) end end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/dev_tests_generator.rb b/lib/generators/react_on_rails/dev_tests_generator.rb index 3a20a2b72e..eaa28ce486 100644 --- a/lib/generators/react_on_rails/dev_tests_generator.rb +++ b/lib/generators/react_on_rails/dev_tests_generator.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails/generators" require_relative "generator_helper" @@ -54,4 +57,4 @@ def add_yarn_relative_install_script_in_package_json end end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/generator_helper.rb b/lib/generators/react_on_rails/generator_helper.rb index 38414c17c4..0d0c03eeee 100644 --- a/lib/generators/react_on_rails/generator_helper.rb +++ b/lib/generators/react_on_rails/generator_helper.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "package_json" require "rainbow" @@ -61,4 +64,4 @@ def copy_file_and_missing_parent_directories(source_file, destination_file = nil def add_documentation_reference(message, source) "#{message} \n#{source}" end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/generator_messages.rb b/lib/generators/react_on_rails/generator_messages.rb index 0b36c1d2d0..0ecfb74496 100644 --- a/lib/generators/react_on_rails/generator_messages.rb +++ b/lib/generators/react_on_rails/generator_messages.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module GeneratorMessages class << self @@ -71,4 +74,4 @@ def helpful_message_after_installation MSG end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/install_generator.rb b/lib/generators/react_on_rails/install_generator.rb index d327dd67bf..fc688f47f5 100644 --- a/lib/generators/react_on_rails/install_generator.rb +++ b/lib/generators/react_on_rails/install_generator.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails/generators" require_relative "generator_helper" @@ -106,4 +109,4 @@ def using_shakapacker_7_or_above? end end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/react_no_redux_generator.rb b/lib/generators/react_on_rails/react_no_redux_generator.rb index afc2380aae..b5de0756eb 100644 --- a/lib/generators/react_on_rails/react_no_redux_generator.rb +++ b/lib/generators/react_on_rails/react_no_redux_generator.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails/generators" require_relative "generator_helper" @@ -30,4 +33,4 @@ def create_appropriate_templates end end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/react_with_redux_generator.rb b/lib/generators/react_on_rails/react_with_redux_generator.rb index 2b68c95206..e2277feffc 100644 --- a/lib/generators/react_on_rails/react_with_redux_generator.rb +++ b/lib/generators/react_on_rails/react_with_redux_generator.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails/generators" @@ -49,4 +52,4 @@ def add_redux_yarn_dependencies end end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb b/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb index ad09c5ef3b..1fcd6bc58a 100644 --- a/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb +++ b/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + class HelloWorldController < ApplicationController layout "hello_world" @@ -6,4 +9,4 @@ class HelloWorldController < ApplicationController def index @hello_world_props = { name: "Stranger" } end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb index dded6614f8..2378a72929 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + # This file is copied to spec/ when you run "rails generate rspec:install" ENV["RAILS_ENV"] ||= "test" @@ -70,4 +73,4 @@ # The different available types are documented in the features, such as in # https://relishapp.com/rspec/rspec-rails/docs config.infer_spec_type_from_file_location! -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb index 49dabe0789..66d74407db 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + # Starts SimpleCov for code coverage. @@ -20,4 +23,4 @@ src.filename.include?("/spec/") end end -end +end \ No newline at end of file diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb index 66a096b0f4..09b4301c1c 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + # This file was generated by the `rails generate rspec:install` command. Conventionally, all # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. @@ -96,4 +99,4 @@ Kernel.srand config.seed =end end -# rubocop:enable Style/BlockComments +# rubocop:enable Style/BlockComments \ No newline at end of file diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb index bd32b69f7b..ce569656ab 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require_relative "../rails_helper" @@ -24,4 +27,4 @@ def message def heading page.first(:css, "h1") -end +end \ No newline at end of file diff --git a/lib/react_on_rails.rb b/lib/react_on_rails.rb index 2cdf7a472c..74bda30dd2 100644 --- a/lib/react_on_rails.rb +++ b/lib/react_on_rails.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails" @@ -25,4 +28,4 @@ require "react_on_rails/test_helper/ensure_assets_compiled" require "react_on_rails/locales/base" require "react_on_rails/locales/to_js" -require "react_on_rails/locales/to_json" +require "react_on_rails/locales/to_json" \ No newline at end of file diff --git a/lib/react_on_rails/configuration.rb b/lib/react_on_rails/configuration.rb index 2cfa2c187c..f720876577 100644 --- a/lib/react_on_rails/configuration.rb +++ b/lib/react_on_rails/configuration.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + # rubocop:disable Metrics/ClassLength @@ -345,4 +348,4 @@ def compile_command_conflict_message end end end -# rubocop:enable Metrics/ClassLength +# rubocop:enable Metrics/ClassLength \ No newline at end of file diff --git a/lib/react_on_rails/controller.rb b/lib/react_on_rails/controller.rb index 440f808ed6..0e4cba6dad 100644 --- a/lib/react_on_rails/controller.rb +++ b/lib/react_on_rails/controller.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails module Controller @@ -21,4 +24,4 @@ def redux_store(store_name, props: {}, force_load: nil) @registered_stores_defer_render << redux_store_data end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/engine.rb b/lib/react_on_rails/engine.rb index 66c2d07c7a..1cdba74e5a 100644 --- a/lib/react_on_rails/engine.rb +++ b/lib/react_on_rails/engine.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rails/railtie" @@ -9,4 +12,4 @@ class Engine < ::Rails::Engine ReactOnRails::ServerRenderingPool.reset_pool end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/error.rb b/lib/react_on_rails/error.rb index f298dd446b..a812b21f08 100644 --- a/lib/react_on_rails/error.rb +++ b/lib/react_on_rails/error.rb @@ -1,6 +1,9 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails class Error < StandardError end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/git_utils.rb b/lib/react_on_rails/git_utils.rb index 98364b118d..6c790d6fa8 100644 --- a/lib/react_on_rails/git_utils.rb +++ b/lib/react_on_rails/git_utils.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "English" @@ -19,4 +22,4 @@ def self.uncommitted_changes?(message_handler, git_installed: true) true end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/helper.rb b/lib/react_on_rails/helper.rb index 34837cc953..5e0180888b 100644 --- a/lib/react_on_rails/helper.rb +++ b/lib/react_on_rails/helper.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + # rubocop:disable Metrics/ModuleLength # rubocop:disable Metrics/MethodLength @@ -831,4 +834,4 @@ def raise_missing_autoloaded_bundle(react_component_name) end end # rubocop:enable Metrics/ModuleLength -# rubocop:enable Metrics/MethodLength +# rubocop:enable Metrics/MethodLength \ No newline at end of file diff --git a/lib/react_on_rails/json_output.rb b/lib/react_on_rails/json_output.rb index 6c65c6bdcc..80bcf68075 100644 --- a/lib/react_on_rails/json_output.rb +++ b/lib/react_on_rails/json_output.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "active_support/core_ext/string/output_safety" @@ -8,4 +11,4 @@ def self.escape(json) ERB::Util.json_escape(json) end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/json_parse_error.rb b/lib/react_on_rails/json_parse_error.rb index dbdf9fa8ca..8d5e98b3f6 100644 --- a/lib/react_on_rails/json_parse_error.rb +++ b/lib/react_on_rails/json_parse_error.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails class JsonParseError < ::ReactOnRails::Error @@ -25,4 +28,4 @@ def to_error_context } end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/locales/base.rb b/lib/react_on_rails/locales/base.rb index 335c33f153..c7a5905bed 100644 --- a/lib/react_on_rails/locales/base.rb +++ b/lib/react_on_rails/locales/base.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "erb" @@ -172,4 +175,4 @@ def template_default end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/locales/to_js.rb b/lib/react_on_rails/locales/to_js.rb index 63d7ba5823..c5a209ee2e 100644 --- a/lib/react_on_rails/locales/to_js.rb +++ b/lib/react_on_rails/locales/to_js.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "erb" @@ -30,4 +33,4 @@ def template_default end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/locales/to_json.rb b/lib/react_on_rails/locales/to_json.rb index 4d15f0ecda..143c687736 100644 --- a/lib/react_on_rails/locales/to_json.rb +++ b/lib/react_on_rails/locales/to_json.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "erb" @@ -20,4 +23,4 @@ def template_default end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/packer_utils.rb b/lib/react_on_rails/packer_utils.rb index 66e4196450..d87cc9ae3c 100644 --- a/lib/react_on_rails/packer_utils.rb +++ b/lib/react_on_rails/packer_utils.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails module PackerUtils @@ -190,4 +193,4 @@ def self.raise_shakapacker_not_installed raise ReactOnRails::Error, msg end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/packs_generator.rb b/lib/react_on_rails/packs_generator.rb index a2628caa91..58d1456efa 100644 --- a/lib/react_on_rails/packs_generator.rb +++ b/lib/react_on_rails/packs_generator.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "fileutils" require "set" @@ -429,4 +432,4 @@ def stale_or_missing_packs? end end # rubocop:enable Metrics/ClassLength -end +end \ No newline at end of file diff --git a/lib/react_on_rails/prerender_error.rb b/lib/react_on_rails/prerender_error.rb index 096fae6db6..af021ddfb4 100644 --- a/lib/react_on_rails/prerender_error.rb +++ b/lib/react_on_rails/prerender_error.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rainbow" @@ -86,4 +89,4 @@ def calc_message(component_name, console_messages, err, js_code, props) [backtrace, message] end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/react_component/render_options.rb b/lib/react_on_rails/react_component/render_options.rb index 654aeece58..4ea43545c1 100644 --- a/lib/react_on_rails/react_component/render_options.rb +++ b/lib/react_on_rails/react_component/render_options.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "react_on_rails/utils" @@ -170,4 +173,4 @@ def retrieve_react_on_rails_pro_config_value_for(key) end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/server_rendering_js_code.rb b/lib/react_on_rails/server_rendering_js_code.rb index dc807b7a28..ab80404ff1 100644 --- a/lib/react_on_rails/server_rendering_js_code.rb +++ b/lib/react_on_rails/server_rendering_js_code.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails module ServerRenderingJsCode @@ -52,4 +55,4 @@ def render(props_string, rails_context, redux_stores, react_component_name, rend end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/server_rendering_pool.rb b/lib/react_on_rails/server_rendering_pool.rb index aeccca8590..83a6858bf7 100644 --- a/lib/react_on_rails/server_rendering_pool.rb +++ b/lib/react_on_rails/server_rendering_pool.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "connection_pool" require_relative "server_rendering_pool/ruby_embedded_java_script" @@ -23,4 +26,4 @@ def server_render_js_with_console_logging(js_code, render_options) end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb b/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb index acc1b6dc81..21eeeff265 100644 --- a/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +++ b/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "open-uri" require "execjs" @@ -255,4 +258,4 @@ def parse_result_and_replay_console_messages(result_string, render_options) # rubocop:enable Metrics/ClassLength end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/test_helper.rb b/lib/react_on_rails/test_helper.rb index a8cb1f5891..28540d7858 100644 --- a/lib/react_on_rails/test_helper.rb +++ b/lib/react_on_rails/test_helper.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails module TestHelper @@ -107,4 +110,4 @@ def self.ensure_assets_compiled(webpack_assets_status_checker: nil, end end # rubocop:enable Metrics/CyclomaticComplexity -end +end \ No newline at end of file diff --git a/lib/react_on_rails/test_helper/ensure_assets_compiled.rb b/lib/react_on_rails/test_helper/ensure_assets_compiled.rb index 3212be1498..9242bc0d4f 100644 --- a/lib/react_on_rails/test_helper/ensure_assets_compiled.rb +++ b/lib/react_on_rails/test_helper/ensure_assets_compiled.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails module TestHelper @@ -58,4 +61,4 @@ def puts_start_compile_check_message(stale_files) end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/test_helper/webpack_assets_compiler.rb b/lib/react_on_rails/test_helper/webpack_assets_compiler.rb index bf87b8e9dc..7635969b21 100644 --- a/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +++ b/lib/react_on_rails/test_helper/webpack_assets_compiler.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + # You can replace this implementation with your own for use by the # ReactOnRails::TestHelper.ensure_assets_compiled helper @@ -35,4 +38,4 @@ def compile_assets end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb b/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb index fbd1889a05..b5aed4a0ae 100644 --- a/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +++ b/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "rake" require "fileutils" @@ -100,4 +103,4 @@ def make_file_list(glob) end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/utils.rb b/lib/react_on_rails/utils.rb index bca6b39a9f..8e711a0bd4 100644 --- a/lib/react_on_rails/utils.rb +++ b/lib/react_on_rails/utils.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require "English" require "open3" @@ -264,4 +267,4 @@ def self.prepend_to_file_if_text_not_present(file:, text_to_prepend:, regex:) puts "Prepended\n#{text_to_prepend}to #{file}." end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/version.rb b/lib/react_on_rails/version.rb index 1fc0132b98..315eed3531 100644 --- a/lib/react_on_rails/version.rb +++ b/lib/react_on_rails/version.rb @@ -1,5 +1,8 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails VERSION = "15.0.0" -end +end \ No newline at end of file diff --git a/lib/react_on_rails/version_checker.rb b/lib/react_on_rails/version_checker.rb index 364708f9ef..ea9d40918f 100644 --- a/lib/react_on_rails/version_checker.rb +++ b/lib/react_on_rails/version_checker.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + module ReactOnRails # Responsible for checking versions of rubygem versus yarn node package @@ -122,4 +125,4 @@ def package_json_contents end end end -end +end \ No newline at end of file diff --git a/lib/react_on_rails/version_syntax_converter.rb b/lib/react_on_rails/version_syntax_converter.rb index 3f63a635b2..b653284e4f 100644 --- a/lib/react_on_rails/version_syntax_converter.rb +++ b/lib/react_on_rails/version_syntax_converter.rb @@ -1,4 +1,7 @@ # frozen_string_literal: true +# Copyright (c) 2015–2025 ShakaCode, LLC +# SPDX-License-Identifier: MIT + require_relative "version" @@ -19,4 +22,4 @@ def npm_to_rubygem(npm_version) match.present? ? match[0] : nil end end -end +end \ No newline at end of file diff --git a/node_package/src/Authenticity.ts b/node_package/src/Authenticity.ts index 6b01fb2f34..5521de84be 100644 --- a/node_package/src/Authenticity.ts +++ b/node_package/src/Authenticity.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import type { AuthenticityHeaders } from './types/index.ts'; export function authenticityToken(): string | null { diff --git a/node_package/src/CallbackRegistry.ts b/node_package/src/CallbackRegistry.ts index e0d5b5ebcc..084696132d 100644 --- a/node_package/src/CallbackRegistry.ts +++ b/node_package/src/CallbackRegistry.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { ItemRegistrationCallback } from './types/index.ts'; import { onPageLoaded, onPageUnloaded } from './pageLifecycle.ts'; import { getRailsContext } from './context.ts'; diff --git a/node_package/src/ClientSideRenderer.ts b/node_package/src/ClientSideRenderer.ts index b4978c5985..041dd3de65 100644 --- a/node_package/src/ClientSideRenderer.ts +++ b/node_package/src/ClientSideRenderer.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ /* eslint-disable max-classes-per-file */ import type { ReactElement } from 'react'; diff --git a/node_package/src/ComponentRegistry.ts b/node_package/src/ComponentRegistry.ts index d6cf72a482..da89878e2c 100644 --- a/node_package/src/ComponentRegistry.ts +++ b/node_package/src/ComponentRegistry.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { type RegisteredComponent, type ReactComponentOrRenderFunction } from './types/index.ts'; import isRenderFunction from './isRenderFunction.ts'; import CallbackRegistry from './CallbackRegistry.ts'; diff --git a/node_package/src/PostSSRHookTracker.ts b/node_package/src/PostSSRHookTracker.ts index f18de7f1dd..8738561948 100644 --- a/node_package/src/PostSSRHookTracker.ts +++ b/node_package/src/PostSSRHookTracker.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ type PostSSRHook = () => void; /** diff --git a/node_package/src/RSCProvider.tsx b/node_package/src/RSCProvider.tsx index 61da252972..34679400c8 100644 --- a/node_package/src/RSCProvider.tsx +++ b/node_package/src/RSCProvider.tsx @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import type { ClientGetReactServerComponentProps } from './getReactServerComponent.client.ts'; import { createRSCPayloadKey } from './utils.ts'; diff --git a/node_package/src/RSCRequestTracker.ts b/node_package/src/RSCRequestTracker.ts index 9c6e3e7c5c..29080ba527 100644 --- a/node_package/src/RSCRequestTracker.ts +++ b/node_package/src/RSCRequestTracker.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { PassThrough, Readable } from 'stream'; import { extractErrorMessage } from './utils.ts'; import { diff --git a/node_package/src/RSCRoute.tsx b/node_package/src/RSCRoute.tsx index eb52e2d9f5..ba9ee61f6d 100644 --- a/node_package/src/RSCRoute.tsx +++ b/node_package/src/RSCRoute.tsx @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import { useRSC } from './RSCProvider.tsx'; import { ServerComponentFetchError } from './ServerComponentFetchError.ts'; diff --git a/node_package/src/ReactOnRails.client.ts b/node_package/src/ReactOnRails.client.ts index 752fba1d4c..23c01d114b 100644 --- a/node_package/src/ReactOnRails.client.ts +++ b/node_package/src/ReactOnRails.client.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import type { ReactElement } from 'react'; import * as ClientStartup from './clientStartup.ts'; import { renderOrHydrateComponent, hydrateStore } from './ClientSideRenderer.ts'; diff --git a/node_package/src/ReactOnRails.full.ts b/node_package/src/ReactOnRails.full.ts index 4f03bfb531..406361f604 100644 --- a/node_package/src/ReactOnRails.full.ts +++ b/node_package/src/ReactOnRails.full.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import handleError from './handleError.ts'; import serverRenderReactComponent from './serverRenderReactComponent.ts'; import type { RenderParams, RenderResult, ErrorOptions } from './types/index.ts'; diff --git a/node_package/src/ReactOnRails.node.ts b/node_package/src/ReactOnRails.node.ts index 407d2658b9..6c919c8bc6 100644 --- a/node_package/src/ReactOnRails.node.ts +++ b/node_package/src/ReactOnRails.node.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import ReactOnRails from './ReactOnRails.full.ts'; import streamServerRenderedReactComponent from './streamServerRenderedReactComponent.ts'; diff --git a/node_package/src/ReactOnRailsRSC.ts b/node_package/src/ReactOnRailsRSC.ts index 4089238ca0..6b28148656 100644 --- a/node_package/src/ReactOnRailsRSC.ts +++ b/node_package/src/ReactOnRailsRSC.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { BundleManifest } from 'react-on-rails-rsc'; import { buildServerRenderer } from 'react-on-rails-rsc/server.node'; import { Readable } from 'stream'; diff --git a/node_package/src/RenderUtils.ts b/node_package/src/RenderUtils.ts index 9b5ab6cbde..21a8869322 100644 --- a/node_package/src/RenderUtils.ts +++ b/node_package/src/RenderUtils.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ // eslint-disable-next-line import/prefer-default-export -- only one export for now, but others may be added later export function wrapInScriptTags(scriptId: string, scriptBody: string): string { if (!scriptBody) { diff --git a/node_package/src/ServerComponentFetchError.ts b/node_package/src/ServerComponentFetchError.ts index f1c4d95cce..4d61842cbd 100644 --- a/node_package/src/ServerComponentFetchError.ts +++ b/node_package/src/ServerComponentFetchError.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ /** * Custom error type for when there's an issue fetching or rendering a server component. * This error includes information about the server component and the original error that occurred. diff --git a/node_package/src/StoreRegistry.ts b/node_package/src/StoreRegistry.ts index 0d559c3e2c..536f989752 100644 --- a/node_package/src/StoreRegistry.ts +++ b/node_package/src/StoreRegistry.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import CallbackRegistry from './CallbackRegistry.ts'; import type { Store, StoreGenerator } from './types/index.ts'; diff --git a/node_package/src/buildConsoleReplay.ts b/node_package/src/buildConsoleReplay.ts index b8e924dde6..99a4715e91 100644 --- a/node_package/src/buildConsoleReplay.ts +++ b/node_package/src/buildConsoleReplay.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { wrapInScriptTags } from './RenderUtils.ts'; import scriptSanitizedVal from './scriptSanitizedVal.ts'; diff --git a/node_package/src/clientStartup.ts b/node_package/src/clientStartup.ts index bffefaa3ad..1ff1d09f16 100644 --- a/node_package/src/clientStartup.ts +++ b/node_package/src/clientStartup.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { hydrateAllStores, hydrateForceLoadedStores, diff --git a/node_package/src/context.ts b/node_package/src/context.ts index 8d5485cf23..24c46c9168 100644 --- a/node_package/src/context.ts +++ b/node_package/src/context.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import type { ReactOnRailsInternal, RailsContext } from './types/index.ts'; declare global { diff --git a/node_package/src/createReactOutput.ts b/node_package/src/createReactOutput.ts index a63f886498..70347fdfd8 100644 --- a/node_package/src/createReactOutput.ts +++ b/node_package/src/createReactOutput.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import type { CreateParams, ReactComponent, RenderFunction, CreateReactOutputResult } from './types/index.ts'; import { isServerRenderHash, isPromise } from './isServerRenderResult.ts'; diff --git a/node_package/src/getReactServerComponent.client.ts b/node_package/src/getReactServerComponent.client.ts index 45b1a5b4f8..c38782bcb7 100644 --- a/node_package/src/getReactServerComponent.client.ts +++ b/node_package/src/getReactServerComponent.client.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import { createFromReadableStream } from 'react-on-rails-rsc/client.browser'; import { createRSCPayloadKey, fetch, wrapInNewPromise, extractErrorMessage } from './utils.ts'; diff --git a/node_package/src/getReactServerComponent.server.ts b/node_package/src/getReactServerComponent.server.ts index 885a712f16..6523a5bcfe 100644 --- a/node_package/src/getReactServerComponent.server.ts +++ b/node_package/src/getReactServerComponent.server.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { BundleManifest } from 'react-on-rails-rsc'; import { buildClientRenderer } from 'react-on-rails-rsc/client.node'; import transformRSCStream from './transformRSCNodeStream.ts'; diff --git a/node_package/src/handleError.ts b/node_package/src/handleError.ts index eb9c3b12c9..0116244284 100644 --- a/node_package/src/handleError.ts +++ b/node_package/src/handleError.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import { renderToString } from './ReactDOMServer.cts'; import type { ErrorOptions } from './types/index.ts'; diff --git a/node_package/src/injectRSCPayload.ts b/node_package/src/injectRSCPayload.ts index 0dea3ab0bc..070f2e81bf 100644 --- a/node_package/src/injectRSCPayload.ts +++ b/node_package/src/injectRSCPayload.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { PassThrough } from 'stream'; import { finished } from 'stream/promises'; import { createRSCPayloadKey } from './utils.ts'; diff --git a/node_package/src/isRenderFunction.ts b/node_package/src/isRenderFunction.ts index 19e81a2f11..71d4108c33 100644 --- a/node_package/src/isRenderFunction.ts +++ b/node_package/src/isRenderFunction.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ // See discussion: // https://discuss.reactjs.org/t/how-to-determine-if-js-object-is-react-component/2825/2 import { ReactComponentOrRenderFunction, RenderFunction } from './types/index.ts'; diff --git a/node_package/src/isServerRenderResult.ts b/node_package/src/isServerRenderResult.ts index 6f720045c1..b08704b76c 100644 --- a/node_package/src/isServerRenderResult.ts +++ b/node_package/src/isServerRenderResult.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import type { CreateReactOutputResult, ServerRenderResult, diff --git a/node_package/src/loadJsonFile.ts b/node_package/src/loadJsonFile.ts index e503d109d4..abaded68d4 100644 --- a/node_package/src/loadJsonFile.ts +++ b/node_package/src/loadJsonFile.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as path from 'path'; import * as fs from 'fs/promises'; diff --git a/node_package/src/pageLifecycle.ts b/node_package/src/pageLifecycle.ts index d17bc6b770..cdffcf2af7 100644 --- a/node_package/src/pageLifecycle.ts +++ b/node_package/src/pageLifecycle.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { debugTurbolinks, turbolinksInstalled, diff --git a/node_package/src/reactHydrateOrRender.ts b/node_package/src/reactHydrateOrRender.ts index 26b4717fa1..aff47de623 100644 --- a/node_package/src/reactHydrateOrRender.ts +++ b/node_package/src/reactHydrateOrRender.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import type { ReactElement } from 'react'; import type { RenderReturnType } from './types/index.ts'; import { reactHydrate, reactRender } from './reactApis.cts'; diff --git a/node_package/src/registerServerComponent/client.tsx b/node_package/src/registerServerComponent/client.tsx index e24122a39c..6c8e921ab4 100644 --- a/node_package/src/registerServerComponent/client.tsx +++ b/node_package/src/registerServerComponent/client.tsx @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import ReactOnRails from '../ReactOnRails.client.ts'; import RSCRoute from '../RSCRoute.tsx'; diff --git a/node_package/src/registerServerComponent/server.rsc.ts b/node_package/src/registerServerComponent/server.rsc.ts index c5ee59c0be..a55d26b97e 100644 --- a/node_package/src/registerServerComponent/server.rsc.ts +++ b/node_package/src/registerServerComponent/server.rsc.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import ReactOnRails from '../ReactOnRails.client.ts'; import { ReactComponent, RenderFunction } from '../types/index.ts'; diff --git a/node_package/src/registerServerComponent/server.tsx b/node_package/src/registerServerComponent/server.tsx index 6ece231672..1c9d05a50a 100644 --- a/node_package/src/registerServerComponent/server.tsx +++ b/node_package/src/registerServerComponent/server.tsx @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import ReactOnRails from '../ReactOnRails.client.ts'; import RSCRoute from '../RSCRoute.tsx'; diff --git a/node_package/src/scriptSanitizedVal.ts b/node_package/src/scriptSanitizedVal.ts index cca1435de1..38e6956a92 100644 --- a/node_package/src/scriptSanitizedVal.ts +++ b/node_package/src/scriptSanitizedVal.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ export default (val: string): string => { // Replace closing const re = /<\/\W*script/gi; diff --git a/node_package/src/serverRenderReactComponent.ts b/node_package/src/serverRenderReactComponent.ts index a33bb5c144..832fb2d251 100644 --- a/node_package/src/serverRenderReactComponent.ts +++ b/node_package/src/serverRenderReactComponent.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import type { ReactElement } from 'react'; diff --git a/node_package/src/serverRenderUtils.ts b/node_package/src/serverRenderUtils.ts index d5ae25f2d4..9beb134846 100644 --- a/node_package/src/serverRenderUtils.ts +++ b/node_package/src/serverRenderUtils.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import type { RegisteredComponent, RenderResult, diff --git a/node_package/src/streamServerRenderedReactComponent.ts b/node_package/src/streamServerRenderedReactComponent.ts index cf6436021c..ae810085cd 100644 --- a/node_package/src/streamServerRenderedReactComponent.ts +++ b/node_package/src/streamServerRenderedReactComponent.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import { PassThrough, Readable } from 'stream'; diff --git a/node_package/src/transformRSCNodeStream.ts b/node_package/src/transformRSCNodeStream.ts index e26f1a44a5..8969478ed4 100644 --- a/node_package/src/transformRSCNodeStream.ts +++ b/node_package/src/transformRSCNodeStream.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { Transform } from 'stream'; /** diff --git a/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts b/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts index 724706e552..a067587b92 100644 --- a/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts +++ b/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import { RSCPayloadChunk } from './types/index.ts'; /** diff --git a/node_package/src/turbolinksUtils.ts b/node_package/src/turbolinksUtils.ts index 4ec70415bf..2edf8ecdea 100644 --- a/node_package/src/turbolinksUtils.ts +++ b/node_package/src/turbolinksUtils.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ declare global { namespace Turbolinks { interface TurbolinksStatic { diff --git a/node_package/src/types/index.ts b/node_package/src/types/index.ts index a425a2d21b..79498f3a03 100644 --- a/node_package/src/types/index.ts +++ b/node_package/src/types/index.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ /// import type { ReactElement, ReactNode, Component, ComponentType } from 'react'; diff --git a/node_package/src/utils.ts b/node_package/src/utils.ts index c8093c7ae6..92a1421178 100644 --- a/node_package/src/utils.ts +++ b/node_package/src/utils.ts @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ // Override the fetch function to make it easier to test // The default fetch implementation in jest returns Node's Readable stream // In jest.setup.js, we configure this fetch to return a web-standard ReadableStream instead, diff --git a/node_package/src/wrapServerComponentRenderer/client.tsx b/node_package/src/wrapServerComponentRenderer/client.tsx index 491b7866b0..133d4b5069 100644 --- a/node_package/src/wrapServerComponentRenderer/client.tsx +++ b/node_package/src/wrapServerComponentRenderer/client.tsx @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import * as ReactDOMClient from 'react-dom/client'; import { ReactComponentOrRenderFunction, RenderFunction } from '../types/index.ts'; diff --git a/node_package/src/wrapServerComponentRenderer/server.rsc.tsx b/node_package/src/wrapServerComponentRenderer/server.rsc.tsx index 2da98f23fc..b45cd3db29 100644 --- a/node_package/src/wrapServerComponentRenderer/server.rsc.tsx +++ b/node_package/src/wrapServerComponentRenderer/server.rsc.tsx @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ const wrapServerComponentRenderer = () => { // Do nothing // Server component renderers are client components and not needed in the RSC bundle diff --git a/node_package/src/wrapServerComponentRenderer/server.tsx b/node_package/src/wrapServerComponentRenderer/server.tsx index f4c022c474..01a98816b2 100644 --- a/node_package/src/wrapServerComponentRenderer/server.tsx +++ b/node_package/src/wrapServerComponentRenderer/server.tsx @@ -1,3 +1,5 @@ +/* Copyright (c) 2015–2025 ShakaCode, LLC + SPDX-License-Identifier: MIT */ import * as React from 'react'; import type { RenderFunction, ReactComponentOrRenderFunction } from '../types/index.ts'; import getReactServerComponent from '../getReactServerComponent.server.ts'; From d1fe2160b761abd7e3390bd0eb677cad6f466a80 Mon Sep 17 00:00:00 2001 From: ihabadham Date: Sat, 13 Sep 2025 21:02:41 +0300 Subject: [PATCH 2/5] linting --- app/helpers/react_on_rails_helper.rb | 4 ++-- .../react_on_rails/adapt_for_older_shakapacker_generator.rb | 4 ++-- lib/generators/react_on_rails/base_generator.rb | 4 ++-- lib/generators/react_on_rails/dev_tests_generator.rb | 4 ++-- lib/generators/react_on_rails/generator_helper.rb | 4 ++-- lib/generators/react_on_rails/generator_messages.rb | 4 ++-- lib/generators/react_on_rails/install_generator.rb | 4 ++-- lib/generators/react_on_rails/react_no_redux_generator.rb | 4 ++-- lib/generators/react_on_rails/react_with_redux_generator.rb | 4 ++-- .../base/base/app/controllers/hello_world_controller.rb | 4 ++-- .../react_on_rails/templates/dev_tests/spec/rails_helper.rb | 4 ++-- .../templates/dev_tests/spec/simplecov_helper.rb | 4 ++-- .../react_on_rails/templates/dev_tests/spec/spec_helper.rb | 4 ++-- .../templates/dev_tests/spec/system/hello_world_spec.rb | 4 ++-- lib/react_on_rails.rb | 4 ++-- lib/react_on_rails/configuration.rb | 4 ++-- lib/react_on_rails/controller.rb | 4 ++-- lib/react_on_rails/engine.rb | 4 ++-- lib/react_on_rails/error.rb | 4 ++-- lib/react_on_rails/git_utils.rb | 4 ++-- lib/react_on_rails/helper.rb | 4 ++-- lib/react_on_rails/json_output.rb | 4 ++-- lib/react_on_rails/json_parse_error.rb | 4 ++-- lib/react_on_rails/locales/base.rb | 4 ++-- lib/react_on_rails/locales/to_js.rb | 4 ++-- lib/react_on_rails/locales/to_json.rb | 4 ++-- lib/react_on_rails/packer_utils.rb | 4 ++-- lib/react_on_rails/packs_generator.rb | 4 ++-- lib/react_on_rails/prerender_error.rb | 4 ++-- lib/react_on_rails/react_component/render_options.rb | 4 ++-- lib/react_on_rails/server_rendering_js_code.rb | 4 ++-- lib/react_on_rails/server_rendering_pool.rb | 4 ++-- .../server_rendering_pool/ruby_embedded_java_script.rb | 4 ++-- lib/react_on_rails/test_helper.rb | 4 ++-- lib/react_on_rails/test_helper/ensure_assets_compiled.rb | 4 ++-- lib/react_on_rails/test_helper/webpack_assets_compiler.rb | 4 ++-- .../test_helper/webpack_assets_status_checker.rb | 4 ++-- lib/react_on_rails/utils.rb | 4 ++-- lib/react_on_rails/version.rb | 4 ++-- lib/react_on_rails/version_checker.rb | 4 ++-- lib/react_on_rails/version_syntax_converter.rb | 4 ++-- 41 files changed, 82 insertions(+), 82 deletions(-) diff --git a/app/helpers/react_on_rails_helper.rb b/app/helpers/react_on_rails_helper.rb index e0fbe0551a..e20d1b315c 100644 --- a/app/helpers/react_on_rails_helper.rb +++ b/app/helpers/react_on_rails_helper.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRailsHelper include ReactOnRails::Helper -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb b/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb index e649010c01..154e031ae3 100644 --- a/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb +++ b/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails/generators" require_relative "generator_helper" @@ -41,4 +41,4 @@ def modify_requiring_webpack_config_in_js end end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/base_generator.rb b/lib/generators/react_on_rails/base_generator.rb index 26302b1af8..09718b53b3 100644 --- a/lib/generators/react_on_rails/base_generator.rb +++ b/lib/generators/react_on_rails/base_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails/generators" require_relative "generator_messages" require_relative "generator_helper" @@ -183,4 +183,4 @@ def add_configure_rspec_to_compile_assets(helper_file) end end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/dev_tests_generator.rb b/lib/generators/react_on_rails/dev_tests_generator.rb index eaa28ce486..8dba562494 100644 --- a/lib/generators/react_on_rails/dev_tests_generator.rb +++ b/lib/generators/react_on_rails/dev_tests_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails/generators" require_relative "generator_helper" @@ -57,4 +57,4 @@ def add_yarn_relative_install_script_in_package_json end end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/generator_helper.rb b/lib/generators/react_on_rails/generator_helper.rb index 0d0c03eeee..b876f7e4a3 100644 --- a/lib/generators/react_on_rails/generator_helper.rb +++ b/lib/generators/react_on_rails/generator_helper.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "package_json" require "rainbow" @@ -64,4 +64,4 @@ def copy_file_and_missing_parent_directories(source_file, destination_file = nil def add_documentation_reference(message, source) "#{message} \n#{source}" end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/generator_messages.rb b/lib/generators/react_on_rails/generator_messages.rb index 0ecfb74496..66c2310714 100644 --- a/lib/generators/react_on_rails/generator_messages.rb +++ b/lib/generators/react_on_rails/generator_messages.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module GeneratorMessages class << self def output @@ -74,4 +74,4 @@ def helpful_message_after_installation MSG end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/install_generator.rb b/lib/generators/react_on_rails/install_generator.rb index fc688f47f5..7ac706694a 100644 --- a/lib/generators/react_on_rails/install_generator.rb +++ b/lib/generators/react_on_rails/install_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails/generators" require_relative "generator_helper" require_relative "generator_messages" @@ -109,4 +109,4 @@ def using_shakapacker_7_or_above? end end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/react_no_redux_generator.rb b/lib/generators/react_on_rails/react_no_redux_generator.rb index b5de0756eb..9f6ede9455 100644 --- a/lib/generators/react_on_rails/react_no_redux_generator.rb +++ b/lib/generators/react_on_rails/react_no_redux_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails/generators" require_relative "generator_helper" @@ -33,4 +33,4 @@ def create_appropriate_templates end end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/react_with_redux_generator.rb b/lib/generators/react_on_rails/react_with_redux_generator.rb index e2277feffc..a64640c73d 100644 --- a/lib/generators/react_on_rails/react_with_redux_generator.rb +++ b/lib/generators/react_on_rails/react_with_redux_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails/generators" module ReactOnRails @@ -52,4 +52,4 @@ def add_redux_yarn_dependencies end end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb b/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb index 1fcd6bc58a..aa4ec56fcf 100644 --- a/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb +++ b/lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - class HelloWorldController < ApplicationController layout "hello_world" def index @hello_world_props = { name: "Stranger" } end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb index 2378a72929..7c9f58c686 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - # This file is copied to spec/ when you run "rails generate rspec:install" ENV["RAILS_ENV"] ||= "test" require_relative "../config/environment" @@ -73,4 +73,4 @@ # The different available types are documented in the features, such as in # https://relishapp.com/rspec/rspec-rails/docs config.infer_spec_type_from_file_location! -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb index 66d74407db..313e66a332 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - # Starts SimpleCov for code coverage. if ENV["COVERAGE"] == "true" @@ -23,4 +23,4 @@ src.filename.include?("/spec/") end end -end \ No newline at end of file +end diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb index 09b4301c1c..6e4dcb1b3e 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - # This file was generated by the `rails generate rspec:install` command. Conventionally, all # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. # The generated `.rspec` file contains `--require spec_helper` which will cause @@ -99,4 +99,4 @@ Kernel.srand config.seed =end end -# rubocop:enable Style/BlockComments \ No newline at end of file +# rubocop:enable Style/BlockComments diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb index ce569656ab..406a96ace3 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require_relative "../rails_helper" describe "Hello World", :js do @@ -27,4 +27,4 @@ def message def heading page.first(:css, "h1") -end \ No newline at end of file +end diff --git a/lib/react_on_rails.rb b/lib/react_on_rails.rb index 74bda30dd2..45f5de0c50 100644 --- a/lib/react_on_rails.rb +++ b/lib/react_on_rails.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails" require "react_on_rails/error" @@ -28,4 +28,4 @@ require "react_on_rails/test_helper/ensure_assets_compiled" require "react_on_rails/locales/base" require "react_on_rails/locales/to_js" -require "react_on_rails/locales/to_json" \ No newline at end of file +require "react_on_rails/locales/to_json" diff --git a/lib/react_on_rails/configuration.rb b/lib/react_on_rails/configuration.rb index f720876577..1f8caf7923 100644 --- a/lib/react_on_rails/configuration.rb +++ b/lib/react_on_rails/configuration.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - # rubocop:disable Metrics/ClassLength module ReactOnRails @@ -348,4 +348,4 @@ def compile_command_conflict_message end end end -# rubocop:enable Metrics/ClassLength \ No newline at end of file +# rubocop:enable Metrics/ClassLength diff --git a/lib/react_on_rails/controller.rb b/lib/react_on_rails/controller.rb index 0e4cba6dad..ec07ece192 100644 --- a/lib/react_on_rails/controller.rb +++ b/lib/react_on_rails/controller.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails module Controller # Separate initialization of store from react_component allows multiple react_component calls to @@ -24,4 +24,4 @@ def redux_store(store_name, props: {}, force_load: nil) @registered_stores_defer_render << redux_store_data end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/engine.rb b/lib/react_on_rails/engine.rb index 1cdba74e5a..bbd00660f2 100644 --- a/lib/react_on_rails/engine.rb +++ b/lib/react_on_rails/engine.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rails/railtie" module ReactOnRails @@ -12,4 +12,4 @@ class Engine < ::Rails::Engine ReactOnRails::ServerRenderingPool.reset_pool end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/error.rb b/lib/react_on_rails/error.rb index a812b21f08..fc09a39384 100644 --- a/lib/react_on_rails/error.rb +++ b/lib/react_on_rails/error.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails class Error < StandardError end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/git_utils.rb b/lib/react_on_rails/git_utils.rb index 6c790d6fa8..bd3a2c1ed6 100644 --- a/lib/react_on_rails/git_utils.rb +++ b/lib/react_on_rails/git_utils.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "English" module ReactOnRails @@ -22,4 +22,4 @@ def self.uncommitted_changes?(message_handler, git_installed: true) true end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/helper.rb b/lib/react_on_rails/helper.rb index 5e0180888b..c3cfc0eb12 100644 --- a/lib/react_on_rails/helper.rb +++ b/lib/react_on_rails/helper.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - # rubocop:disable Metrics/ModuleLength # rubocop:disable Metrics/MethodLength # NOTE: @@ -834,4 +834,4 @@ def raise_missing_autoloaded_bundle(react_component_name) end end # rubocop:enable Metrics/ModuleLength -# rubocop:enable Metrics/MethodLength \ No newline at end of file +# rubocop:enable Metrics/MethodLength diff --git a/lib/react_on_rails/json_output.rb b/lib/react_on_rails/json_output.rb index 80bcf68075..7eeb020cca 100644 --- a/lib/react_on_rails/json_output.rb +++ b/lib/react_on_rails/json_output.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "active_support/core_ext/string/output_safety" module ReactOnRails @@ -11,4 +11,4 @@ def self.escape(json) ERB::Util.json_escape(json) end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/json_parse_error.rb b/lib/react_on_rails/json_parse_error.rb index 8d5e98b3f6..993df5d74b 100644 --- a/lib/react_on_rails/json_parse_error.rb +++ b/lib/react_on_rails/json_parse_error.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails class JsonParseError < ::ReactOnRails::Error attr_reader :json @@ -28,4 +28,4 @@ def to_error_context } end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/locales/base.rb b/lib/react_on_rails/locales/base.rb index c7a5905bed..102e51c2b3 100644 --- a/lib/react_on_rails/locales/base.rb +++ b/lib/react_on_rails/locales/base.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "erb" module ReactOnRails @@ -175,4 +175,4 @@ def template_default end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/locales/to_js.rb b/lib/react_on_rails/locales/to_js.rb index c5a209ee2e..ef2ef7718b 100644 --- a/lib/react_on_rails/locales/to_js.rb +++ b/lib/react_on_rails/locales/to_js.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "erb" module ReactOnRails @@ -33,4 +33,4 @@ def template_default end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/locales/to_json.rb b/lib/react_on_rails/locales/to_json.rb index 143c687736..ff06eb8ea9 100644 --- a/lib/react_on_rails/locales/to_json.rb +++ b/lib/react_on_rails/locales/to_json.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "erb" module ReactOnRails @@ -23,4 +23,4 @@ def template_default end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/packer_utils.rb b/lib/react_on_rails/packer_utils.rb index d87cc9ae3c..e29d2c07dc 100644 --- a/lib/react_on_rails/packer_utils.rb +++ b/lib/react_on_rails/packer_utils.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails module PackerUtils def self.using_packer? @@ -193,4 +193,4 @@ def self.raise_shakapacker_not_installed raise ReactOnRails::Error, msg end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/packs_generator.rb b/lib/react_on_rails/packs_generator.rb index 58d1456efa..36c1e46297 100644 --- a/lib/react_on_rails/packs_generator.rb +++ b/lib/react_on_rails/packs_generator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "fileutils" require "set" @@ -432,4 +432,4 @@ def stale_or_missing_packs? end end # rubocop:enable Metrics/ClassLength -end \ No newline at end of file +end diff --git a/lib/react_on_rails/prerender_error.rb b/lib/react_on_rails/prerender_error.rb index af021ddfb4..53bbe5a8b4 100644 --- a/lib/react_on_rails/prerender_error.rb +++ b/lib/react_on_rails/prerender_error.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rainbow" # rubocop:disable: Layout/IndentHeredoc @@ -89,4 +89,4 @@ def calc_message(component_name, console_messages, err, js_code, props) [backtrace, message] end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/react_component/render_options.rb b/lib/react_on_rails/react_component/render_options.rb index 4ea43545c1..a41b334a62 100644 --- a/lib/react_on_rails/react_component/render_options.rb +++ b/lib/react_on_rails/react_component/render_options.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "react_on_rails/utils" module ReactOnRails @@ -173,4 +173,4 @@ def retrieve_react_on_rails_pro_config_value_for(key) end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/server_rendering_js_code.rb b/lib/react_on_rails/server_rendering_js_code.rb index ab80404ff1..f190f5184c 100644 --- a/lib/react_on_rails/server_rendering_js_code.rb +++ b/lib/react_on_rails/server_rendering_js_code.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails module ServerRenderingJsCode class << self @@ -55,4 +55,4 @@ def render(props_string, rails_context, redux_stores, react_component_name, rend end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/server_rendering_pool.rb b/lib/react_on_rails/server_rendering_pool.rb index 83a6858bf7..49d500acba 100644 --- a/lib/react_on_rails/server_rendering_pool.rb +++ b/lib/react_on_rails/server_rendering_pool.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "connection_pool" require_relative "server_rendering_pool/ruby_embedded_java_script" @@ -26,4 +26,4 @@ def server_render_js_with_console_logging(js_code, render_options) end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb b/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb index 21eeeff265..894446bd1f 100644 --- a/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +++ b/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "open-uri" require "execjs" @@ -258,4 +258,4 @@ def parse_result_and_replay_console_messages(result_string, render_options) # rubocop:enable Metrics/ClassLength end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/test_helper.rb b/lib/react_on_rails/test_helper.rb index 28540d7858..1f0afb122c 100644 --- a/lib/react_on_rails/test_helper.rb +++ b/lib/react_on_rails/test_helper.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails module TestHelper # Because you will probably want to run RSpec tests that rely on compiled webpack assets @@ -110,4 +110,4 @@ def self.ensure_assets_compiled(webpack_assets_status_checker: nil, end end # rubocop:enable Metrics/CyclomaticComplexity -end \ No newline at end of file +end diff --git a/lib/react_on_rails/test_helper/ensure_assets_compiled.rb b/lib/react_on_rails/test_helper/ensure_assets_compiled.rb index 9242bc0d4f..04b38184ca 100644 --- a/lib/react_on_rails/test_helper/ensure_assets_compiled.rb +++ b/lib/react_on_rails/test_helper/ensure_assets_compiled.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails module TestHelper class EnsureAssetsCompiled @@ -61,4 +61,4 @@ def puts_start_compile_check_message(stale_files) end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/test_helper/webpack_assets_compiler.rb b/lib/react_on_rails/test_helper/webpack_assets_compiler.rb index 7635969b21..ad7bb21d8b 100644 --- a/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +++ b/lib/react_on_rails/test_helper/webpack_assets_compiler.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - # You can replace this implementation with your own for use by the # ReactOnRails::TestHelper.ensure_assets_compiled helper module ReactOnRails @@ -38,4 +38,4 @@ def compile_assets end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb b/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb index b5aed4a0ae..d95b304344 100644 --- a/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +++ b/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "rake" require "fileutils" require "react_on_rails/utils" @@ -103,4 +103,4 @@ def make_file_list(glob) end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/utils.rb b/lib/react_on_rails/utils.rb index 8e711a0bd4..1b0dba7011 100644 --- a/lib/react_on_rails/utils.rb +++ b/lib/react_on_rails/utils.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require "English" require "open3" require "rainbow" @@ -267,4 +267,4 @@ def self.prepend_to_file_if_text_not_present(file:, text_to_prepend:, regex:) puts "Prepended\n#{text_to_prepend}to #{file}." end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/version.rb b/lib/react_on_rails/version.rb index 315eed3531..8637aad9f4 100644 --- a/lib/react_on_rails/version.rb +++ b/lib/react_on_rails/version.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails VERSION = "15.0.0" -end \ No newline at end of file +end diff --git a/lib/react_on_rails/version_checker.rb b/lib/react_on_rails/version_checker.rb index ea9d40918f..dbdfe26702 100644 --- a/lib/react_on_rails/version_checker.rb +++ b/lib/react_on_rails/version_checker.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - module ReactOnRails # Responsible for checking versions of rubygem versus yarn node package # against each other at runtime. @@ -125,4 +125,4 @@ def package_json_contents end end end -end \ No newline at end of file +end diff --git a/lib/react_on_rails/version_syntax_converter.rb b/lib/react_on_rails/version_syntax_converter.rb index b653284e4f..e32b55888d 100644 --- a/lib/react_on_rails/version_syntax_converter.rb +++ b/lib/react_on_rails/version_syntax_converter.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + # Copyright (c) 2015–2025 ShakaCode, LLC # SPDX-License-Identifier: MIT - require_relative "version" module ReactOnRails @@ -22,4 +22,4 @@ def npm_to_rubygem(npm_version) match.present? ? match[0] : nil end end -end \ No newline at end of file +end From f9e5600590da41e5eef5082105c526b35a7e60ff Mon Sep 17 00:00:00 2001 From: ihabadham Date: Sat, 13 Sep 2025 22:05:48 +0300 Subject: [PATCH 3/5] enforce license headers on JS/TS/Ruby files --- .rubocop.yml | 11 +++++++++++ eslint.config.ts | 19 +++++++++++++++++++ package.json | 1 + yarn.lock | 12 ++++++++++++ 4 files changed, 43 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 25ef515fe1..c499199528 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -137,3 +137,14 @@ RSpec/NoExpectationExample: AllowedPatterns: - ^expect_ - ^assert_ + +Style/Copyright: + Enabled: true + Notice: '^# Copyright \(c\) \d{4}(–\d{4})? ShakaCode, LLC' + AutocorrectNotice: | + # Copyright (c) 2015–2025 ShakaCode, LLC + # SPDX-License-Identifier: MIT + Include: + - 'app/helpers/react_on_rails_helper.rb' + - 'lib/generators/react_on_rails/**/*.rb' + - 'lib/react_on_rails/**/*.rb' diff --git a/eslint.config.ts b/eslint.config.ts index 14f5cf639c..08db4787b9 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,6 +1,7 @@ import path from 'node:path'; import { globalIgnores } from 'eslint/config'; import jest from 'eslint-plugin-jest'; +import licenseHeader from 'eslint-plugin-license-header'; import prettierRecommended from 'eslint-plugin-prettier/recommended'; import testingLibrary from 'eslint-plugin-testing-library'; import globals from 'globals'; @@ -50,6 +51,24 @@ const config = tsEslint.config([ }, js.configs.recommended, compat.extends('eslint-config-shakacode'), + { + files: [ + 'node_package/src/**/*.ts', + 'node_package/src/**/*.tsx', + ], + plugins: { + 'license-header': licenseHeader as any, + }, + rules: { + 'license-header/header': [ + 'error', + [ + '/* Copyright (c) 2015–2025 ShakaCode, LLC', + ' SPDX-License-Identifier: MIT */', + ], + ], + }, + }, { languageOptions: { globals: { diff --git a/package.json b/package.json index d0511f224b..65c3f501df 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest": "^28.11.0", "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-license-header": "^0.8.0", "eslint-plugin-prettier": "^5.2.3", "eslint-plugin-react": "^7.37.4", "eslint-plugin-react-hooks": "^5.2.0", diff --git a/yarn.lock b/yarn.lock index 55cd825c97..385b2d181d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3011,6 +3011,13 @@ eslint-plugin-jsx-a11y@^6.10.2, eslint-plugin-jsx-a11y@^6.5.1: safe-regex-test "^1.0.3" string.prototype.includes "^2.0.1" +eslint-plugin-license-header@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-license-header/-/eslint-plugin-license-header-0.8.0.tgz#7e44c6d38048445cf2e06458619f355ef627407f" + integrity sha512-khTCz6G3JdoQfwrtY4XKl98KW4PpnWUKuFx8v+twIRhJADEyYglMDC0td8It75C1MZ88gcvMusWuUlJsos7gYg== + dependencies: + requireindex "^1.2.0" + eslint-plugin-prettier@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz#c4af01691a6fa9905207f0fbba0d7bea0902cce5" @@ -5364,6 +5371,11 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +requireindex@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" + integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww== + requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" From dc69329bd82f52e02eccbd5a7e4231dc3f1d1003 Mon Sep 17 00:00:00 2001 From: ihabadham Date: Sat, 13 Sep 2025 22:11:22 +0300 Subject: [PATCH 4/5] add newline after JS/TS license header --- node_package/src/Authenticity.ts | 1 + node_package/src/CallbackRegistry.ts | 1 + node_package/src/ClientSideRenderer.ts | 1 + node_package/src/ComponentRegistry.ts | 1 + node_package/src/PostSSRHookTracker.ts | 1 + node_package/src/RSCProvider.tsx | 1 + node_package/src/RSCRequestTracker.ts | 1 + node_package/src/RSCRoute.tsx | 1 + node_package/src/ReactOnRails.client.ts | 1 + node_package/src/ReactOnRails.full.ts | 1 + node_package/src/ReactOnRails.node.ts | 1 + node_package/src/ReactOnRailsRSC.ts | 1 + node_package/src/RenderUtils.ts | 1 + node_package/src/ServerComponentFetchError.ts | 1 + node_package/src/StoreRegistry.ts | 1 + node_package/src/buildConsoleReplay.ts | 1 + node_package/src/clientStartup.ts | 1 + node_package/src/context.ts | 1 + node_package/src/createReactOutput.ts | 1 + node_package/src/getReactServerComponent.client.ts | 1 + node_package/src/getReactServerComponent.server.ts | 1 + node_package/src/handleError.ts | 1 + node_package/src/injectRSCPayload.ts | 1 + node_package/src/isRenderFunction.ts | 1 + node_package/src/isServerRenderResult.ts | 1 + node_package/src/loadJsonFile.ts | 1 + node_package/src/pageLifecycle.ts | 1 + node_package/src/reactHydrateOrRender.ts | 1 + node_package/src/registerServerComponent/client.tsx | 1 + node_package/src/registerServerComponent/server.rsc.ts | 1 + node_package/src/registerServerComponent/server.tsx | 1 + node_package/src/scriptSanitizedVal.ts | 1 + node_package/src/serverRenderReactComponent.ts | 1 + node_package/src/serverRenderUtils.ts | 1 + node_package/src/streamServerRenderedReactComponent.ts | 1 + node_package/src/transformRSCNodeStream.ts | 1 + node_package/src/transformRSCStreamAndReplayConsoleLogs.ts | 1 + node_package/src/turbolinksUtils.ts | 1 + node_package/src/types/index.ts | 1 + node_package/src/utils.ts | 1 + node_package/src/wrapServerComponentRenderer/client.tsx | 1 + node_package/src/wrapServerComponentRenderer/server.rsc.tsx | 1 + node_package/src/wrapServerComponentRenderer/server.tsx | 1 + 43 files changed, 43 insertions(+) diff --git a/node_package/src/Authenticity.ts b/node_package/src/Authenticity.ts index 5521de84be..d29a9902d5 100644 --- a/node_package/src/Authenticity.ts +++ b/node_package/src/Authenticity.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import type { AuthenticityHeaders } from './types/index.ts'; export function authenticityToken(): string | null { diff --git a/node_package/src/CallbackRegistry.ts b/node_package/src/CallbackRegistry.ts index 084696132d..55f49038a0 100644 --- a/node_package/src/CallbackRegistry.ts +++ b/node_package/src/CallbackRegistry.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { ItemRegistrationCallback } from './types/index.ts'; import { onPageLoaded, onPageUnloaded } from './pageLifecycle.ts'; import { getRailsContext } from './context.ts'; diff --git a/node_package/src/ClientSideRenderer.ts b/node_package/src/ClientSideRenderer.ts index 041dd3de65..cd5174f231 100644 --- a/node_package/src/ClientSideRenderer.ts +++ b/node_package/src/ClientSideRenderer.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + /* eslint-disable max-classes-per-file */ import type { ReactElement } from 'react'; diff --git a/node_package/src/ComponentRegistry.ts b/node_package/src/ComponentRegistry.ts index da89878e2c..4107817ff7 100644 --- a/node_package/src/ComponentRegistry.ts +++ b/node_package/src/ComponentRegistry.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { type RegisteredComponent, type ReactComponentOrRenderFunction } from './types/index.ts'; import isRenderFunction from './isRenderFunction.ts'; import CallbackRegistry from './CallbackRegistry.ts'; diff --git a/node_package/src/PostSSRHookTracker.ts b/node_package/src/PostSSRHookTracker.ts index 8738561948..f8d8dd7b60 100644 --- a/node_package/src/PostSSRHookTracker.ts +++ b/node_package/src/PostSSRHookTracker.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + type PostSSRHook = () => void; /** diff --git a/node_package/src/RSCProvider.tsx b/node_package/src/RSCProvider.tsx index 34679400c8..2630d61e21 100644 --- a/node_package/src/RSCProvider.tsx +++ b/node_package/src/RSCProvider.tsx @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import type { ClientGetReactServerComponentProps } from './getReactServerComponent.client.ts'; import { createRSCPayloadKey } from './utils.ts'; diff --git a/node_package/src/RSCRequestTracker.ts b/node_package/src/RSCRequestTracker.ts index 29080ba527..92fdcb6585 100644 --- a/node_package/src/RSCRequestTracker.ts +++ b/node_package/src/RSCRequestTracker.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { PassThrough, Readable } from 'stream'; import { extractErrorMessage } from './utils.ts'; import { diff --git a/node_package/src/RSCRoute.tsx b/node_package/src/RSCRoute.tsx index ba9ee61f6d..62a31fa6d1 100644 --- a/node_package/src/RSCRoute.tsx +++ b/node_package/src/RSCRoute.tsx @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import { useRSC } from './RSCProvider.tsx'; import { ServerComponentFetchError } from './ServerComponentFetchError.ts'; diff --git a/node_package/src/ReactOnRails.client.ts b/node_package/src/ReactOnRails.client.ts index 23c01d114b..c16450dafa 100644 --- a/node_package/src/ReactOnRails.client.ts +++ b/node_package/src/ReactOnRails.client.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import type { ReactElement } from 'react'; import * as ClientStartup from './clientStartup.ts'; import { renderOrHydrateComponent, hydrateStore } from './ClientSideRenderer.ts'; diff --git a/node_package/src/ReactOnRails.full.ts b/node_package/src/ReactOnRails.full.ts index 406361f604..ff0813aabc 100644 --- a/node_package/src/ReactOnRails.full.ts +++ b/node_package/src/ReactOnRails.full.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import handleError from './handleError.ts'; import serverRenderReactComponent from './serverRenderReactComponent.ts'; import type { RenderParams, RenderResult, ErrorOptions } from './types/index.ts'; diff --git a/node_package/src/ReactOnRails.node.ts b/node_package/src/ReactOnRails.node.ts index 6c919c8bc6..2d9fd4b8c4 100644 --- a/node_package/src/ReactOnRails.node.ts +++ b/node_package/src/ReactOnRails.node.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import ReactOnRails from './ReactOnRails.full.ts'; import streamServerRenderedReactComponent from './streamServerRenderedReactComponent.ts'; diff --git a/node_package/src/ReactOnRailsRSC.ts b/node_package/src/ReactOnRailsRSC.ts index 6b28148656..93b39cc10d 100644 --- a/node_package/src/ReactOnRailsRSC.ts +++ b/node_package/src/ReactOnRailsRSC.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { BundleManifest } from 'react-on-rails-rsc'; import { buildServerRenderer } from 'react-on-rails-rsc/server.node'; import { Readable } from 'stream'; diff --git a/node_package/src/RenderUtils.ts b/node_package/src/RenderUtils.ts index 21a8869322..48a560bd94 100644 --- a/node_package/src/RenderUtils.ts +++ b/node_package/src/RenderUtils.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + // eslint-disable-next-line import/prefer-default-export -- only one export for now, but others may be added later export function wrapInScriptTags(scriptId: string, scriptBody: string): string { if (!scriptBody) { diff --git a/node_package/src/ServerComponentFetchError.ts b/node_package/src/ServerComponentFetchError.ts index 4d61842cbd..80e4d7fc23 100644 --- a/node_package/src/ServerComponentFetchError.ts +++ b/node_package/src/ServerComponentFetchError.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + /** * Custom error type for when there's an issue fetching or rendering a server component. * This error includes information about the server component and the original error that occurred. diff --git a/node_package/src/StoreRegistry.ts b/node_package/src/StoreRegistry.ts index 536f989752..56d58e8389 100644 --- a/node_package/src/StoreRegistry.ts +++ b/node_package/src/StoreRegistry.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import CallbackRegistry from './CallbackRegistry.ts'; import type { Store, StoreGenerator } from './types/index.ts'; diff --git a/node_package/src/buildConsoleReplay.ts b/node_package/src/buildConsoleReplay.ts index 99a4715e91..78a25d9b76 100644 --- a/node_package/src/buildConsoleReplay.ts +++ b/node_package/src/buildConsoleReplay.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { wrapInScriptTags } from './RenderUtils.ts'; import scriptSanitizedVal from './scriptSanitizedVal.ts'; diff --git a/node_package/src/clientStartup.ts b/node_package/src/clientStartup.ts index 1ff1d09f16..f9828a9472 100644 --- a/node_package/src/clientStartup.ts +++ b/node_package/src/clientStartup.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { hydrateAllStores, hydrateForceLoadedStores, diff --git a/node_package/src/context.ts b/node_package/src/context.ts index 24c46c9168..7d37d6ee88 100644 --- a/node_package/src/context.ts +++ b/node_package/src/context.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import type { ReactOnRailsInternal, RailsContext } from './types/index.ts'; declare global { diff --git a/node_package/src/createReactOutput.ts b/node_package/src/createReactOutput.ts index 70347fdfd8..cdf08450e5 100644 --- a/node_package/src/createReactOutput.ts +++ b/node_package/src/createReactOutput.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import type { CreateParams, ReactComponent, RenderFunction, CreateReactOutputResult } from './types/index.ts'; import { isServerRenderHash, isPromise } from './isServerRenderResult.ts'; diff --git a/node_package/src/getReactServerComponent.client.ts b/node_package/src/getReactServerComponent.client.ts index c38782bcb7..48bbd7544f 100644 --- a/node_package/src/getReactServerComponent.client.ts +++ b/node_package/src/getReactServerComponent.client.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import { createFromReadableStream } from 'react-on-rails-rsc/client.browser'; import { createRSCPayloadKey, fetch, wrapInNewPromise, extractErrorMessage } from './utils.ts'; diff --git a/node_package/src/getReactServerComponent.server.ts b/node_package/src/getReactServerComponent.server.ts index 6523a5bcfe..8005698faf 100644 --- a/node_package/src/getReactServerComponent.server.ts +++ b/node_package/src/getReactServerComponent.server.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { BundleManifest } from 'react-on-rails-rsc'; import { buildClientRenderer } from 'react-on-rails-rsc/client.node'; import transformRSCStream from './transformRSCNodeStream.ts'; diff --git a/node_package/src/handleError.ts b/node_package/src/handleError.ts index 0116244284..f6fb306c38 100644 --- a/node_package/src/handleError.ts +++ b/node_package/src/handleError.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import { renderToString } from './ReactDOMServer.cts'; import type { ErrorOptions } from './types/index.ts'; diff --git a/node_package/src/injectRSCPayload.ts b/node_package/src/injectRSCPayload.ts index 070f2e81bf..ae87e82643 100644 --- a/node_package/src/injectRSCPayload.ts +++ b/node_package/src/injectRSCPayload.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { PassThrough } from 'stream'; import { finished } from 'stream/promises'; import { createRSCPayloadKey } from './utils.ts'; diff --git a/node_package/src/isRenderFunction.ts b/node_package/src/isRenderFunction.ts index 71d4108c33..52cfa206e9 100644 --- a/node_package/src/isRenderFunction.ts +++ b/node_package/src/isRenderFunction.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + // See discussion: // https://discuss.reactjs.org/t/how-to-determine-if-js-object-is-react-component/2825/2 import { ReactComponentOrRenderFunction, RenderFunction } from './types/index.ts'; diff --git a/node_package/src/isServerRenderResult.ts b/node_package/src/isServerRenderResult.ts index b08704b76c..0c0099b766 100644 --- a/node_package/src/isServerRenderResult.ts +++ b/node_package/src/isServerRenderResult.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import type { CreateReactOutputResult, ServerRenderResult, diff --git a/node_package/src/loadJsonFile.ts b/node_package/src/loadJsonFile.ts index abaded68d4..8353e3e26b 100644 --- a/node_package/src/loadJsonFile.ts +++ b/node_package/src/loadJsonFile.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as path from 'path'; import * as fs from 'fs/promises'; diff --git a/node_package/src/pageLifecycle.ts b/node_package/src/pageLifecycle.ts index cdffcf2af7..c5a4093e0c 100644 --- a/node_package/src/pageLifecycle.ts +++ b/node_package/src/pageLifecycle.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { debugTurbolinks, turbolinksInstalled, diff --git a/node_package/src/reactHydrateOrRender.ts b/node_package/src/reactHydrateOrRender.ts index aff47de623..93bf7a94b4 100644 --- a/node_package/src/reactHydrateOrRender.ts +++ b/node_package/src/reactHydrateOrRender.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import type { ReactElement } from 'react'; import type { RenderReturnType } from './types/index.ts'; import { reactHydrate, reactRender } from './reactApis.cts'; diff --git a/node_package/src/registerServerComponent/client.tsx b/node_package/src/registerServerComponent/client.tsx index 6c8e921ab4..c6f928ad67 100644 --- a/node_package/src/registerServerComponent/client.tsx +++ b/node_package/src/registerServerComponent/client.tsx @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import ReactOnRails from '../ReactOnRails.client.ts'; import RSCRoute from '../RSCRoute.tsx'; diff --git a/node_package/src/registerServerComponent/server.rsc.ts b/node_package/src/registerServerComponent/server.rsc.ts index a55d26b97e..cdc2fdb053 100644 --- a/node_package/src/registerServerComponent/server.rsc.ts +++ b/node_package/src/registerServerComponent/server.rsc.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import ReactOnRails from '../ReactOnRails.client.ts'; import { ReactComponent, RenderFunction } from '../types/index.ts'; diff --git a/node_package/src/registerServerComponent/server.tsx b/node_package/src/registerServerComponent/server.tsx index 1c9d05a50a..9608038004 100644 --- a/node_package/src/registerServerComponent/server.tsx +++ b/node_package/src/registerServerComponent/server.tsx @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import ReactOnRails from '../ReactOnRails.client.ts'; import RSCRoute from '../RSCRoute.tsx'; diff --git a/node_package/src/scriptSanitizedVal.ts b/node_package/src/scriptSanitizedVal.ts index 38e6956a92..e12c33ced4 100644 --- a/node_package/src/scriptSanitizedVal.ts +++ b/node_package/src/scriptSanitizedVal.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + export default (val: string): string => { // Replace closing const re = /<\/\W*script/gi; diff --git a/node_package/src/serverRenderReactComponent.ts b/node_package/src/serverRenderReactComponent.ts index 832fb2d251..31361715cf 100644 --- a/node_package/src/serverRenderReactComponent.ts +++ b/node_package/src/serverRenderReactComponent.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import type { ReactElement } from 'react'; diff --git a/node_package/src/serverRenderUtils.ts b/node_package/src/serverRenderUtils.ts index 9beb134846..ff55603c4a 100644 --- a/node_package/src/serverRenderUtils.ts +++ b/node_package/src/serverRenderUtils.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import type { RegisteredComponent, RenderResult, diff --git a/node_package/src/streamServerRenderedReactComponent.ts b/node_package/src/streamServerRenderedReactComponent.ts index ae810085cd..adc1689b4d 100644 --- a/node_package/src/streamServerRenderedReactComponent.ts +++ b/node_package/src/streamServerRenderedReactComponent.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import { PassThrough, Readable } from 'stream'; diff --git a/node_package/src/transformRSCNodeStream.ts b/node_package/src/transformRSCNodeStream.ts index 8969478ed4..0922660575 100644 --- a/node_package/src/transformRSCNodeStream.ts +++ b/node_package/src/transformRSCNodeStream.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { Transform } from 'stream'; /** diff --git a/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts b/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts index a067587b92..fa4ef31858 100644 --- a/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts +++ b/node_package/src/transformRSCStreamAndReplayConsoleLogs.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import { RSCPayloadChunk } from './types/index.ts'; /** diff --git a/node_package/src/turbolinksUtils.ts b/node_package/src/turbolinksUtils.ts index 2edf8ecdea..c7b59f5fde 100644 --- a/node_package/src/turbolinksUtils.ts +++ b/node_package/src/turbolinksUtils.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + declare global { namespace Turbolinks { interface TurbolinksStatic { diff --git a/node_package/src/types/index.ts b/node_package/src/types/index.ts index 79498f3a03..e0bfb30330 100644 --- a/node_package/src/types/index.ts +++ b/node_package/src/types/index.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + /// import type { ReactElement, ReactNode, Component, ComponentType } from 'react'; diff --git a/node_package/src/utils.ts b/node_package/src/utils.ts index 92a1421178..3bb781f6be 100644 --- a/node_package/src/utils.ts +++ b/node_package/src/utils.ts @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + // Override the fetch function to make it easier to test // The default fetch implementation in jest returns Node's Readable stream // In jest.setup.js, we configure this fetch to return a web-standard ReadableStream instead, diff --git a/node_package/src/wrapServerComponentRenderer/client.tsx b/node_package/src/wrapServerComponentRenderer/client.tsx index 133d4b5069..f943fd9259 100644 --- a/node_package/src/wrapServerComponentRenderer/client.tsx +++ b/node_package/src/wrapServerComponentRenderer/client.tsx @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import * as ReactDOMClient from 'react-dom/client'; import { ReactComponentOrRenderFunction, RenderFunction } from '../types/index.ts'; diff --git a/node_package/src/wrapServerComponentRenderer/server.rsc.tsx b/node_package/src/wrapServerComponentRenderer/server.rsc.tsx index b45cd3db29..6a9fc8fdeb 100644 --- a/node_package/src/wrapServerComponentRenderer/server.rsc.tsx +++ b/node_package/src/wrapServerComponentRenderer/server.rsc.tsx @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + const wrapServerComponentRenderer = () => { // Do nothing // Server component renderers are client components and not needed in the RSC bundle diff --git a/node_package/src/wrapServerComponentRenderer/server.tsx b/node_package/src/wrapServerComponentRenderer/server.tsx index 01a98816b2..95574db3db 100644 --- a/node_package/src/wrapServerComponentRenderer/server.tsx +++ b/node_package/src/wrapServerComponentRenderer/server.tsx @@ -1,5 +1,6 @@ /* Copyright (c) 2015–2025 ShakaCode, LLC SPDX-License-Identifier: MIT */ + import * as React from 'react'; import type { RenderFunction, ReactComponentOrRenderFunction } from '../types/index.ts'; import getReactServerComponent from '../getReactServerComponent.server.ts'; From cb6475c4fa8d28342a64e6a7aae729cbe3f6ac29 Mon Sep 17 00:00:00 2001 From: ihabadham Date: Sat, 13 Sep 2025 22:25:22 +0300 Subject: [PATCH 5/5] fix eslint error because of using any type --- eslint.config.ts | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index 08db4787b9..0f6b54404d 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,6 +1,7 @@ import path from 'node:path'; import { globalIgnores } from 'eslint/config'; import jest from 'eslint-plugin-jest'; +import type { ESLint } from 'eslint'; import licenseHeader from 'eslint-plugin-license-header'; import prettierRecommended from 'eslint-plugin-prettier/recommended'; import testingLibrary from 'eslint-plugin-testing-library'; @@ -52,20 +53,14 @@ const config = tsEslint.config([ js.configs.recommended, compat.extends('eslint-config-shakacode'), { - files: [ - 'node_package/src/**/*.ts', - 'node_package/src/**/*.tsx', - ], + files: ['node_package/src/**/*.ts', 'node_package/src/**/*.tsx'], plugins: { - 'license-header': licenseHeader as any, + 'license-header': licenseHeader as ESLint.Plugin, }, rules: { 'license-header/header': [ 'error', - [ - '/* Copyright (c) 2015–2025 ShakaCode, LLC', - ' SPDX-License-Identifier: MIT */', - ], + ['/* Copyright (c) 2015–2025 ShakaCode, LLC', ' SPDX-License-Identifier: MIT */'], ], }, },