class Middleman::Cli::JSPM
Public Class Methods
exit_on_failure?()
click to toggle source
# File lib/middleman-jspm/commands.rb, line 26 def self.exit_on_failure? true end
Public Instance Methods
jspm(*options)
click to toggle source
# File lib/middleman-jspm/commands.rb, line 30 def jspm(*options) raise "JSPM".red + " not found, please run:\n\n\t" + "npm install".light_blue + "\n\n" if not File.directory? "node_modules" and not File.directory? "node_modules/jspm" begin jspm_dir = ::Middleman::Application.server.inst.jspm_dir rescue NoMethodError raise 'You need to activate the deploy extension in config.rb.' end build_config_json = false if not File.exists? jspm_dir.gsub(/\/jspm_packages$/,"") + "/config.js" build_config_json = true end build_package_json = false if not File.exists? "package.json" build_package_json = true File.open("package.json", "w") do |fp| fp.write(JSON.pretty_generate( { "jspm" => { "directories" => { "baseURL" => jspm_dir.gsub(/\/jspm_packages$/,"") }, "dependencies" => {}, "devDependencies" => { "babel" => "npm:babel-core@^5.6.4", "babel-runtime" => "npm:babel-runtime@^5.6.4", "core-js" => "npm:core-js@^0.9.17" } }, "dependencies" => { "jspm" => ">=0.16.0-beta.3" }, "devDependencies" => {} } )) end end system "node node_modules/jspm/jspm.js #{options.join(" ")}" if build_config_json config_js = File.read(jspm_dir.gsub(/\/jspm_packages$/,"")+"/config.js") config_js.sub!(/^System.config\(\{/,"System.config({\n \"baseURL\": \"#{jspm_dir.sub(/\/jspm_packages$/,"").sub(/^source/,"")}\",") File.open(jspm_dir.gsub(/\/jspm_packages$/,"")+"/config.js", "w") do |fp| fp.write config_js end end end