Sha256: 49cefc6fae408b4a0b9992f234b9c1ec3c03a81c854a1fd4c02bb61f52196d0f
Contents?: true
Size: 1.18 KB
Versions: 4
Compression:
Stored size: 1.18 KB
Contents
require_relative "base" module Suspenders class StylelintGenerator < Generators::Base def install_stylelint dependencies = [ { name: "stylelint", version: '10' }, # FIXME: config-recommened is not ready for stylelint 11 yet { name: "stylelint-config-recommended" }, { name: "stylelint-order" }, { name: "stylelint-declaration-block-no-ignored-properties" }, { name: "stylelint-scss" } ] action YarnInstall.new(self, dependencies, "--dev") end def copy_stylelint_config copy_file "stylelintrc.json", ".stylelintrc.json" end class YarnInstall def initialize(base, dependencies, flags) @base = base @dependencies = dependencies @flags = flags end def invoke! dependencies_with_versions = @dependencies.map { |d| d[:version] ? "#{d[:name]}@#{d[:version]}" : d[:name] }.join(' ') @base.run "bin/yarn add #{dependencies_with_versions} #{@flags}" end def revoke! @base.behavior = :invoke @base.run "bin/yarn remove #{@dependencies.map { |d| d[:name] }.join(' ')}" ensure @base.behavior = :revoke end end end end
Version data entries
4 entries across 4 versions & 1 rubygems