piperun 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YWFmZDU5ZmQzZDZlNjViY2VkYTJmOGQwY2I1YWZkNDU5ZTEzODQ0Ng==
4
+ YjJkODUzNzQxYWZkMDQ2YmQ5NWIyMTI1ZjE3Nzc2ZTgxYWE5NDkyNQ==
5
5
  data.tar.gz: !binary |-
6
- NjU3ZjFjZTYxMjE2NzcyZmIzMmEzNjAyNjUwNWUwZTZiM2Q1ZDdmNw==
6
+ YjdiMGY5ZmFkZTk5MjNiNDBlNDVmZTJmYjEwODAzM2U3ZjA0YWM2Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzVlOTE0ZGRiYTk3MTI3NzZkZjZkZTU0Yjk1NGFkMmMzZmZjM2Q5M2E1MDU1
10
- MjQzZmQyMGM1ZmE0ODU5ZGU5NjU3YjhlYzAxZDY5YzBiZmIzZWUyMTNmMGY0
11
- YTJiNjQ5NDQyYzc5Mzg0YTkyYmQzMDZjMGQzMTQwYWNiNmUwZGU=
9
+ ZjM3YTBlNmEwNDQ4MGQ0MzNmZDRmYzc0OGJmYWM2NGU4NGJkNWI0NjZkZjAw
10
+ NTgwOWRkOGQ3ZGJiOTE5NGQ1ZmE2YTllMTIzY2E5MDBlMzdjZmRkMzIzOGNm
11
+ YTNlZDc5NzY4M2Y4MmJiYmUwM2I4NWJiZGMwYzMxMDUwZjk3YjE=
12
12
  data.tar.gz: !binary |-
13
- NGJkNTlhN2M1ZWExMWIwNTY1NDljMGU5ZjVhMGI2ZGUzZjE2YmUyY2UwNWM3
14
- OTc5ZjE3NjQ1MDZmZjJlNzIyM2ViN2ZlMDIwN2QxNjhkOThjYTg2ZjM1OTdj
15
- MWUwN2NmMjg4NTg0NGUxNTRkNTM0NWY0MzUxYWM3MmQ3ZWFiOTA=
13
+ M2I1ZDlkMjk4NzY4NWNhZGEzMDMwZjUwNjI4MjBjYTc1ZTM1MmM3NDZmZmM4
14
+ ZGQ1MGRmMWRmYWNmNTBmODI0ZGZkYjQ3MTdhYmIzNmZlOTliMTEyYjI4YjFh
15
+ OGFmMDI3ZDc5MjI1OTI3NTc4OWM3NGM2Y2JkN2I2YzIxYWM4MzI=
@@ -1,9 +1,49 @@
1
1
  module Piperun::Filters
2
- class TypeScriptFilter < TransformFilter
3
- replace_extension '.js'
2
+ class TypeScriptFilter < Filter
3
+ def initialize(options = {})
4
+ super()
5
+ @options = {
6
+ output: nil,
7
+ noImplicitAny: false
8
+ }.merge(options)
9
+ end
10
+
11
+ def run(src, dst, files)
12
+ argv = ["tsc"]
13
+ argv << "--noImplicitAny" if @options[:noImplicitAny]
14
+
15
+ unless @options[:output].nil?
16
+ files.map! { |f| File.join(src, f) }
17
+ dstpath = File.join(dst, @options[:output])
18
+
19
+ FileUtils::mkdir_p File.dirname(dstpath)
20
+ tsc *argv, "--out", dstpath, *files
21
+
22
+ [@options[:output]]
23
+ else
24
+ outfiles = []
25
+
26
+ files.each do |name|
27
+ outname = "#{File.join(File.dirname(name), File.basename(name, '.*'))}.js"
28
+
29
+ srcpath = File.join(src, name)
30
+ dstpath = File.join(dst, outname)
31
+ FileUtils::mkdir_p File.dirname(dstpath)
32
+
33
+ tsc *argv, "--outDir", File.dirname(dstpath), srcpath
34
+
35
+ outfiles << outname
36
+ end
37
+
38
+ outfiles
39
+ end
40
+ end
4
41
 
5
- def transform(src, dst)
6
- unless system("tsc #{src} --out #{dst}")
42
+ private
43
+ def tsc(*argv)
44
+ pid = Process.spawn(*argv)
45
+ Process.wait(pid)
46
+ unless $?.exitstatus == 0
7
47
  raise StandardError, "Typescript Compiler failed"
8
48
  end
9
49
  end
@@ -1,3 +1,3 @@
1
1
  module Piperun
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: piperun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Liétar