js2coffee 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: