Sha256: 133bd1dafd8199c70e6ce25cc99a2984a959372d6ff9f6e71d31f9008239cae8

Contents?: true

Size: 1.47 KB

Versions: 14

Compression:

Stored size: 1.47 KB

Contents

require "webpacker/configuration"

say "Copying elm loader to config/webpack/loaders"
copy_file "#{__dir__}/loaders/elm.js", Rails.root.join("config/webpack/loaders/elm.js").to_s

say "Adding elm loader to config/webpack/environment.js"
insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
  "const elm =  require('./loaders/elm')\n",
  after: "require('@rails/webpacker')\n"

insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
  "environment.loaders.append('elm', elm)\n",
  before: "module.exports"

say "Copying Elm example entry file to #{Webpacker.config.source_entry_path}"
copy_file "#{__dir__}/examples/elm/hello_elm.js",
  "#{Webpacker.config.source_entry_path}/hello_elm.js"

say "Copying Elm app file to #{Webpacker.config.source_path}"
copy_file "#{__dir__}/examples/elm/Main.elm",
  "#{Webpacker.config.source_path}/Main.elm"

say "Installing all Elm dependencies"
run "yarn add elm elm-webpack-loader"
run "yarn add --dev elm-hot-loader"
run "yarn run elm package install -- --yes"

say "Updating webpack paths to include .elm file extension"
insert_into_file Webpacker.config.config_path, "    - .elm\n", after: /extensions:\n/

say "Updating Elm source location"
gsub_file "elm-package.json", /\"\.\"\n/,
  %("#{Webpacker.config.source_path.relative_path_from(Rails.root)}"\n)

say "Updating .gitignore to include elm-stuff folder"
insert_into_file ".gitignore", "/elm-stuff\n", before: "/node_modules\n"

say "Webpacker now supports Elm 🎉", :green

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
webpacker-3.5.5 lib/install/elm.rb
webpacker-3.5.3 lib/install/elm.rb
webpacker-3.5.2 lib/install/elm.rb
webpacker-3.5.1 lib/install/elm.rb
webpacker-3.5.0 lib/install/elm.rb
webpacker-3.4.3 lib/install/elm.rb
webpacker-4.0.0.pre.pre.2 lib/install/elm.rb
webpacker-4.0.0.pre.pre.1 lib/install/elm.rb
webpacker-3.4.1 lib/install/elm.rb
webpacker-3.4.0 lib/install/elm.rb
webpacker-3.3.1 lib/install/elm.rb
webpacker-3.3.0 lib/install/elm.rb
webpacker-3.2.2 lib/install/elm.rb
webpacker-3.2.1 lib/install/elm.rb