Sha256: 628dc601e32b3503513493e522e95c880a67c4020bd88b12d40db0abda89173b
Contents?: true
Size: 1.01 KB
Versions: 3
Compression:
Stored size: 1.01 KB
Contents
require 'pathname' require 'json' module Vitrine def self.build_coffeescript_source_map_body(full_coffeescript_file_path, public_dir_path) script = File.read(full_coffeescript_file_path) # We need to feed paths ON THE SERVER so that the browser can connect the coffee file, the map and the JS file # - specify coffee source file explicitly (see http://coffeescript.org/documentation/docs/sourcemap.html#section-8) # The paths need to be slash-prepended (server-absolute) relative_path = '/' + Pathname.new(full_coffeescript_file_path).relative_path_from(Pathname.new(public_dir_path)).to_s relative_js_path = '/' + relative_path.gsub(/\.coffee$/, '.js') options = {sourceMap: true} # coffee requires filename option to work with source maps (see http://coffeescript.org/documentation/docs/coffee-script.html#section-4) options[:filename] = relative_js_path options[:sourceFiles] = [relative_path] CoffeeScript.compile(script, options)["v3SourceMap"] end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vitrine-0.0.11 | lib/sourcemaps.rb |
vitrine-0.0.10 | lib/sourcemaps.rb |
vitrine-0.0.9 | lib/sourcemaps.rb |