Class: Jarbs::NodeBuild

Inherits:
Object
  • Object
show all
Includes:
Commander::UI, CrashReporter::DSL
Defined in:
lib/jarbs/node_build.rb

Constant Summary collapse

MIN_NPM_VERSION =
2

Instance Method Summary collapse

Constructor Details

#initialize(function) ⇒ NodeBuild

Returns a new instance of NodeBuild.



8
9
10
11
# File 'lib/jarbs/node_build.rb', line 8

def initialize(function)
  @function = function
  check_npm_version
end

Instance Method Details

#cleanObject



30
31
32
# File 'lib/jarbs/node_build.rb', line 30

def clean
  FileUtils.rm_r @function.build_path if Dir.exists?(@function.build_path)
end

#npm_buildObject



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/jarbs/node_build.rb', line 17

def npm_build
  say_ok 'Building function...'

  # Copy source dir to build location and build in-place
  FileUtils.cp_r @function.source_path, @function.build_path

  capture_errors do
    abortable_run "npm run build:function -- --out-dir #{@function.build_path} #{@function.build_path}"

    npm_install @function.build_path, '--production'
  end
end

#npm_install(path, flags = "") ⇒ Object



13
14
15
# File 'lib/jarbs/node_build.rb', line 13

def npm_install(path, flags="")
  capture_errors { run_in(path, "npm install #{flags}") }
end