Sha256: 02b837998cc035a3c2f5f4459cf89da783b00a29d840b5aec31374ce1c0cdea7
Contents?: true
Size: 1.75 KB
Versions: 22
Compression:
Stored size: 1.75 KB
Contents
# frozen_string_literal: true require_relative "../../lib/plutonium_generators" module Pu module Core class AssetsGenerator < Rails::Generators::Base include PlutoniumGenerators::Generator source_root File.expand_path("templates", __dir__) desc "Setup plutonium assets" def start install_dependencies copy_tailwind_config configure_application replace_build_script import_styles rescue => e exception "#{self.class} failed:", e end private def copy_tailwind_config copy_file "tailwind.config.js", force: true copy_file "postcss.config.js", force: true end def install_dependencies [ "@radioactive-labs/plutonium", "@tailwindcss/forms", "@tailwindcss/typography", "flowbite-typography", "postcss-cli", "cssnano marked" ].each do |package| run "yarn add #{package}" end end def configure_application insert_into_file "app/javascript/controllers/index.js", <<~EOT import { registerControllers } from "@radioactive-labs/plutonium" registerControllers(application) EOT configure_plutonium "config.assets.stylesheet = \"application\"" configure_plutonium "config.assets.script = \"application\"" end def replace_build_script gsub_file "package.json", /"build:css":.*/, '"build:css": "postcss ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css"' end def import_styles prepend_to_file "app/assets/stylesheets/application.tailwind.css", "@import \"gem:plutonium/src/css/plutonium.css\";\n\n" end end end end
Version data entries
22 entries across 22 versions & 1 rubygems