module Jekyll::Esm::Managers::Yarn

Public Class Methods

add(package:, site:) click to toggle source
# File lib/jekyll-esm/managers/yarn.rb, line 17
def self.add(package:, site:)
  stdout, stderr, status = Open3.capture3(
    "yarn add #{package}",
    chdir: File.expand_path(site.source)
  )

  if site.config.dig('esm', 'strict')
    runtime_error = stdout =~ /ERROR in|SyntaxError/

    raise Error, stderr if stderr.size > 0
    raise Error, stdout if !runtime_error.nil?
  end
end
dist(config) click to toggle source
# File lib/jekyll-esm/managers/yarn.rb, line 13
def self.dist(config)
  config.dig('esm', 'dist') || location(config) || 'node_modules'
end
location(config) click to toggle source
# File lib/jekyll-esm/managers/yarn.rb, line 9
def self.location(config)
  config.dig('esm', 'yarn', 'dir') || 'node_modules'
end
remove(packages:, site:) click to toggle source
# File lib/jekyll-esm/managers/yarn.rb, line 31
def self.remove(packages:, site:)
  stdout, stderr, status = Open3.capture3(
    "yarn remove #{packages}",
    chdir: File.expand_path(site.source)
  )

  if site.config.dig('esm', 'strict')
    runtime_error = stdout =~ /ERROR in|SyntaxError/

    raise Error, stderr if stderr.size > 0
    raise Error, stdout if !runtime_error.nil?
  end
end