Sha256: db85192668a9f41b10e1c6afcd895d818192a402fc130292e1f73bec493939d6

Contents?: true

Size: 994 Bytes

Versions: 4

Compression:

Stored size: 994 Bytes

Contents

# frozen_string_literal: true

# rubocop:disable Layout/LineLength

template "webpack.defaults.js.erb", "config/webpack.defaults.js", force: true
say "🎉 Webpack configuration updated successfully!"

return if Bridgetown.environment.test?

required_packages = %w(esbuild esbuild-loader webpack@5.39.1 webpack-cli@4.7.2 webpack-manifest-plugin@3.1.1)
redundant_packages = %w(@babel/core @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators @babel/plugin-transform-runtime @babel/preset-env babel-loader)

say "Installing required packages"
run "yarn add -D #{required_packages.join(" ")}"

packages_to_remove = package_json["devDependencies"].slice(*redundant_packages).keys
unless packages_to_remove.empty?
  confirm = ask "\nThe following packages will be removed: \n\n#{packages_to_remove.join("\n")}\n\nWould you like to continue? [Yn]"
  return unless confirm.casecmp?("Y")

  run "yarn remove #{packages_to_remove.join(" ")}"
end

# rubocop:enable Layout/LineLength

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bridgetown-core-1.0.0 lib/bridgetown-core/commands/webpack/update.rb
bridgetown-core-1.0.0.beta3 lib/bridgetown-core/commands/webpack/update.rb
bridgetown-core-1.0.0.beta2 lib/bridgetown-core/commands/webpack/update.rb
bridgetown-core-1.0.0.beta1 lib/bridgetown-core/commands/webpack/update.rb