Skip to content

Commit bd2e685

Browse files
committed
Merge pull request #30 from typescript-ruby/printing_filename_on_error
Added file name on TS compilation error
2 parents f74adf0 + 2c12227 commit bd2e685

File tree

5 files changed

+26
-18
lines changed

5 files changed

+26
-18
lines changed

CHANGES.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v0.6.1 2015-07-27 21:52:50+0300
2+
3+
* Now code raises exception with correct file name when TS compilation error occurs
4+
15
## v0.6.0 2015-07-06 22:36:25+0300
26

37
* Updated version to 0.6.0 for using Typescript source 1.4.1.3

lib/typescript/rails/compiler.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,11 @@ def compile(ts_path, source, context=nil, *options)
5757
end
5858
end
5959
s = replace_relative_references(ts_path, source)
60-
::TypeScript::Node.compile(s, *default_options, *options)
60+
begin
61+
::TypeScript::Node.compile(s, *default_options, *options)
62+
rescue Exception => e
63+
raise "Typescript error in file '#{ts_path}':\n#{e.message}"
64+
end
6165
end
6266

6367
end

lib/typescript/rails/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module Typescript
22
module Rails
3-
VERSION = '0.6.0'
3+
VERSION = '0.6.1'
44
end
55
end

test/assets_test.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
require File.join(File.dirname(__FILE__), 'test_helper.rb')
22
require 'typescript-rails'
33

4-
require "action_controller/railtie"
5-
require "sprockets/railtie"
4+
require 'action_controller/railtie'
5+
require 'sprockets/railtie'
66

77

88
class AssetsTest < ActiveSupport::TestCase
@@ -19,7 +19,7 @@ def setup
1919
env.cache = ActiveSupport::Cache.lookup_store(:memory_store)
2020
end
2121
@app.config.assets.paths << "#{File.dirname(__FILE__)}/fixtures/assets"
22-
@app.paths["log"] = "#{tmp_path}/log/test.log"
22+
@app.paths['log'] = "#{tmp_path}/log/test.log"
2323
@app.initialize!
2424
end
2525

@@ -41,8 +41,8 @@ def assets
4141
end
4242

4343
test 'assets .js.ts is compiled from TypeScript to JavaScript' do
44-
assert { assets["javascripts/hello"].present? }
45-
assert { assets["javascripts/hello"].source.include?('var log_to_console = function (x) {') }
46-
assert { assets["javascripts/hello"].source.include?('var s = "Hello, world!";') }
44+
assert { assets['javascripts/hello'].present? }
45+
assert { assets['javascripts/hello'].source.include?('var log_to_console = function (x) {') }
46+
assert { assets['javascripts/hello'].source.include?('var s = "Hello, world!";') }
4747
end
4848
end

test/template_handler_test.rb

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
require 'test_helper'
1+
require File.join(File.dirname(__FILE__), 'test_helper.rb')
22
require 'action_controller'
33
require 'typescript-rails'
44

55
class SiteController < ActionController::Base
6-
self.view_paths = File.expand_path("../fixtures", __FILE__)
6+
self.view_paths = File.expand_path('../fixtures', __FILE__)
77
end
88

99
DummyApp = ActionDispatch::Routing::RouteSet.new
@@ -29,26 +29,26 @@ def source
2929
last_response.body.gsub(%r{^//[^\n]*}m, '')
3030
end
3131

32-
test "typescript views are served as javascript" do
33-
get "/site/index.js"
32+
test 'typescript views are served as javascript' do
33+
get '/site/index.js'
3434
assert_match /var x = 5;\s*/,
3535
source
3636
end
3737

38-
test "<reference> to other .ts file works" do
39-
get "/site/ref1_2.js"
38+
test '<reference> to other .ts file works' do
39+
get '/site/ref1_2.js'
4040
assert_match /var f = function \(x, y\) \{\s*return x \+ y;\s*\};\s*f\(1, 2\);\s*/,
4141
source
4242
end
4343

44-
test "<reference> to other .d.ts file works" do
45-
get "/site/ref2_2.js"
44+
test '<reference> to other .d.ts file works' do
45+
get '/site/ref2_2.js'
4646
assert_match /f\(1, 2\);\s*/,
4747
source
4848
end
4949

50-
test "<reference> to multiple .ts files works" do
51-
get "/site/ref3_1.js"
50+
test '<reference> to multiple .ts files works' do
51+
get '/site/ref3_1.js'
5252
assert_match /var f1 = function \(\) \{\s*\};\s*var f2 = function \(\) \{\s*\};\s*f1\(\);\s*f2\(\);/,
5353
source
5454
end

0 commit comments

Comments
 (0)