From c648ac8bdda90b02b2efba11ff2bf0e28a8f9bee Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Sun, 22 Sep 2024 10:39:25 +0200 Subject: [PATCH] Prefer `require_relative` for internal requires `require_relative` is preferred over `require` for files within the same project because it uses paths relative to the current file, making code more portable and less dependent on the load path. This change updates internal requires to use `require_relative` for consistency, performance, and improved portability. Refs: - rubocop/rubocop#8748 --- lib/shakapacker.rb | 20 ++++++++++---------- lib/shakapacker/compiler.rb | 3 ++- lib/shakapacker/compiler_strategy.rb | 4 ++-- lib/shakapacker/dev_server_runner.rb | 7 ++++--- lib/shakapacker/digest_strategy.rb | 3 ++- lib/shakapacker/mtime_strategy.rb | 2 +- lib/shakapacker/railtie.rb | 8 ++++---- lib/shakapacker/runner.rb | 5 +++-- lib/shakapacker/version_checker.rb | 2 +- lib/shakapacker/webpack_runner.rb | 3 ++- 10 files changed, 31 insertions(+), 26 deletions(-) diff --git a/lib/shakapacker.rb b/lib/shakapacker.rb index 49c0df8f9..e7c5ffd24 100644 --- a/lib/shakapacker.rb +++ b/lib/shakapacker.rb @@ -37,13 +37,13 @@ def ensure_log_goes_to_stdout delegate :bootstrap, :clean, :clobber, :compile, to: :commands end -require "shakapacker/instance" -require "shakapacker/env" -require "shakapacker/configuration" -require "shakapacker/manifest" -require "shakapacker/compiler" -require "shakapacker/commands" -require "shakapacker/dev_server" -require "shakapacker/deprecation_helper" - -require "shakapacker/railtie" if defined?(Rails) +require_relative "shakapacker/instance" +require_relative "shakapacker/env" +require_relative "shakapacker/configuration" +require_relative "shakapacker/manifest" +require_relative "shakapacker/compiler" +require_relative "shakapacker/commands" +require_relative "shakapacker/dev_server" +require_relative "shakapacker/deprecation_helper" + +require_relative "shakapacker/railtie" if defined?(Rails) diff --git a/lib/shakapacker/compiler.rb b/lib/shakapacker/compiler.rb index 310b891cf..a6f9d0843 100644 --- a/lib/shakapacker/compiler.rb +++ b/lib/shakapacker/compiler.rb @@ -1,7 +1,8 @@ require "open3" -require "shakapacker/compiler_strategy" require "fileutils" +require_relative "compiler_strategy" + class Shakapacker::Compiler # Additional environment variables that the compiler is being run with # Shakapacker::Compiler.env['FRONTEND_API_KEY'] = 'your_secret_key' diff --git a/lib/shakapacker/compiler_strategy.rb b/lib/shakapacker/compiler_strategy.rb index 93f6ddaa7..7e824f745 100644 --- a/lib/shakapacker/compiler_strategy.rb +++ b/lib/shakapacker/compiler_strategy.rb @@ -1,5 +1,5 @@ -require "shakapacker/mtime_strategy" -require "shakapacker/digest_strategy" +require_relative "mtime_strategy" +require_relative "digest_strategy" module Shakapacker class CompilerStrategy diff --git a/lib/shakapacker/dev_server_runner.rb b/lib/shakapacker/dev_server_runner.rb index 67b9a5ce8..441ddb1f5 100644 --- a/lib/shakapacker/dev_server_runner.rb +++ b/lib/shakapacker/dev_server_runner.rb @@ -1,8 +1,9 @@ require "shellwords" require "socket" -require "shakapacker/configuration" -require "shakapacker/dev_server" -require "shakapacker/runner" + +require_relative "configuration" +require_relative "dev_server" +require_relative "runner" module Shakapacker class DevServerRunner < Shakapacker::Runner diff --git a/lib/shakapacker/digest_strategy.rb b/lib/shakapacker/digest_strategy.rb index 24b26abe0..200d2da45 100644 --- a/lib/shakapacker/digest_strategy.rb +++ b/lib/shakapacker/digest_strategy.rb @@ -1,5 +1,6 @@ require "digest/sha1" -require "shakapacker/base_strategy" + +require_relative "base_strategy" module Shakapacker class DigestStrategy < BaseStrategy diff --git a/lib/shakapacker/mtime_strategy.rb b/lib/shakapacker/mtime_strategy.rb index a33dac490..9c795a0b3 100644 --- a/lib/shakapacker/mtime_strategy.rb +++ b/lib/shakapacker/mtime_strategy.rb @@ -1,4 +1,4 @@ -require "shakapacker/base_strategy" +require_relative "base_strategy" module Shakapacker class MtimeStrategy < BaseStrategy diff --git a/lib/shakapacker/railtie.rb b/lib/shakapacker/railtie.rb index 6ae9cde6b..379a8d239 100644 --- a/lib/shakapacker/railtie.rb +++ b/lib/shakapacker/railtie.rb @@ -1,9 +1,9 @@ require "rails/railtie" -require "shakapacker/helper" -require "shakapacker/dev_server_proxy" -require "shakapacker/version_checker" -require "shakapacker/utils/manager" +require_relative "helper" +require_relative "dev_server_proxy" +require_relative "version_checker" +require_relative "utils/manager" class Shakapacker::Engine < ::Rails::Engine # Allows Shakapacker config values to be set via Rails env config files diff --git a/lib/shakapacker/runner.rb b/lib/shakapacker/runner.rb index 5b7515fb1..27785a18a 100644 --- a/lib/shakapacker/runner.rb +++ b/lib/shakapacker/runner.rb @@ -1,5 +1,6 @@ -require "shakapacker/utils/misc" -require "shakapacker/utils/manager" +require_relative "utils/misc" +require_relative "utils/manager" + require "package_json" module Shakapacker diff --git a/lib/shakapacker/version_checker.rb b/lib/shakapacker/version_checker.rb index a2d0d59c9..4e51cbc9b 100644 --- a/lib/shakapacker/version_checker.rb +++ b/lib/shakapacker/version_checker.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require "shakapacker/version" +require_relative "version" module Shakapacker class VersionChecker diff --git a/lib/shakapacker/webpack_runner.rb b/lib/shakapacker/webpack_runner.rb index 0309cedaf..db53b9905 100644 --- a/lib/shakapacker/webpack_runner.rb +++ b/lib/shakapacker/webpack_runner.rb @@ -1,5 +1,6 @@ require "shellwords" -require "shakapacker/runner" + +require_relative "runner" module Shakapacker class WebpackRunner < Shakapacker::Runner