js2coffee 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+
4
+ module Js2coffee
5
+ VERSION = [1, 0, 0]
6
+
7
+ class << VERSION
8
+ def to_s
9
+ join(?.)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+
4
+ require 'rb-inotify'
5
+ require 'singleton'
6
+
7
+ module Js2coffee
8
+ class Watcher
9
+ include Singleton
10
+
11
+ def initialize
12
+ @notifier = INotify::Notifier.new
13
+
14
+ Signal.trap(2) {|_sig| Process.exit }
15
+
16
+ start_watch_files
17
+
18
+ @notifier.watch('.', :moved_from, :moved_to, :create, :delete, :onlydir, :recursive) do |event|
19
+ # skip temp file.
20
+ next if event.name =~ /^\.#|^#.*\#$/
21
+
22
+ start_watch_files
23
+ end
24
+
25
+ watched_files.each do |file|
26
+ Js2coffee.watch_file(file)
27
+ end
28
+
29
+ # start loop.
30
+ @notifier.run
31
+ puts 'Watcher is started.'
32
+ end
33
+
34
+ # watch all exist files modify event.
35
+ def start_watch_files
36
+ watched_files.each do |file|
37
+ @notifier.watch(file, :modify) do
38
+ Js2coffee.watch_file(file)
39
+ end
40
+ end
41
+ end
42
+
43
+ def watched_files
44
+ watched_files = Dir["./**/*.#{$script_extname}"]
45
+ exclude_pattern = ['node_modules|bower_components'] << ENV['JS2COFFEE_EXCLUDE_PATTERN']
46
+
47
+ watched_files.reject! {|e| e =~ /#{exclude_pattern.join('|')}/ }
48
+ watched_files
49
+ end
50
+ end
51
+ end
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: js2coffee
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Billy.Zheng(zw963)
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: execjs
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rb-inotify
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.9'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.9'
41
+ - !ruby/object:Gem::Dependency
42
+ name: coderay
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: ritual
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.4'
69
+ description: Convert yours JavaScript code to CoffeeScript, vice versa.
70
+ email:
71
+ - zw963@163.com
72
+ executables:
73
+ - coffee2js
74
+ - js2coffee
75
+ extensions: []
76
+ extra_rdoc_files: []
77
+ files:
78
+ - LICENSE
79
+ - README.md
80
+ - bin/coffee2js
81
+ - bin/js2coffee
82
+ - lib/js2coffee.rb
83
+ - lib/js2coffee/coffee_compiler.rb
84
+ - lib/js2coffee/compiler.rb
85
+ - lib/js2coffee/compiler/coffee-script.js
86
+ - lib/js2coffee/compiler/js2coffee.js
87
+ - lib/js2coffee/js_compiler.rb
88
+ - lib/js2coffee/path_helper.rb
89
+ - lib/js2coffee/version.rb
90
+ - lib/js2coffee/watcher.rb
91
+ homepage: http://github.com/zw963/js2coffee
92
+ licenses:
93
+ - MIT
94
+ metadata: {}
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 1.9.1
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubyforge_project:
111
+ rubygems_version: 2.4.8
112
+ signing_key:
113
+ specification_version: 4
114
+ summary: Convert yours JavaScript code to CoffeeScript, vice versa.
115
+ test_files: []
116
+ has_rdoc: