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

Lines changed: 4 additions & 0 deletions
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

Lines changed: 5 additions & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 6 additions & 6 deletions
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

Lines changed: 10 additions & 10 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy