dependence 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/dependence +31 -30
- data/lib/dependence/concatenator.rb +4 -4
- data/lib/dependence/js_compiler.rb +4 -4
- data/lib/dependence/module_injector.rb +2 -2
- data/lib/dependence.rb +5 -5
- metadata +17 -6
data/bin/dependence
CHANGED
@@ -1,54 +1,57 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
$: << "."
|
4
2
|
require 'rubygems'
|
3
|
+
require 'fileutils'
|
5
4
|
require 'coffee-script'
|
6
|
-
require '
|
5
|
+
require 'dependence'
|
7
6
|
require 'optparse'
|
8
|
-
require File.join(File.dirname(__FILE__), "..", "lib/dependence.rb")
|
9
7
|
|
10
|
-
class DependenceCompiler
|
11
|
-
def initialize(config)
|
8
|
+
class DependenceCompiler
|
9
|
+
def initialize(config)
|
12
10
|
@config = config
|
13
11
|
@src_glob = "**/*.#{@config[:type]}"
|
14
12
|
@concatenator = Dependence::Concatenator.new(
|
15
|
-
:load_path => @config[:src_dir],
|
13
|
+
:load_path => @config[:src_dir],
|
16
14
|
:source_type => @src_glob
|
17
15
|
)
|
18
16
|
end
|
19
17
|
|
20
18
|
def compile
|
21
|
-
|
19
|
+
begin
|
20
|
+
@config[:watch] ? compile_with_watcher : run_compile
|
21
|
+
rescue => e
|
22
|
+
puts Colors.red("Error during processing, exiting.")
|
23
|
+
raise e
|
24
|
+
end
|
22
25
|
end
|
23
26
|
|
24
|
-
private
|
27
|
+
private
|
25
28
|
|
26
29
|
def compile_with_watcher
|
27
30
|
FileWatcher.new(:load_path => @config[:src_dir], :glob_str => @src_glob) do
|
28
|
-
|
31
|
+
print "File change detected. Recompiling... "
|
32
|
+
begin
|
33
|
+
run_compile
|
34
|
+
puts "done."
|
35
|
+
rescue => e
|
36
|
+
puts Colors.red("Error: " + e.to_s)
|
37
|
+
end
|
29
38
|
end
|
30
39
|
end
|
31
40
|
|
32
|
-
def run_compile
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
rescue
|
46
|
-
puts Colors.red("exiting")
|
47
|
-
exit 1
|
41
|
+
def run_compile
|
42
|
+
@concatenator.concat do |module_name, module_content|
|
43
|
+
stdout_compile_msg(module_name)
|
44
|
+
FileUtils::mkdir_p @config[:output]
|
45
|
+
output = File.join(@config[:output], "#{module_name}.js")
|
46
|
+
compiled = compile_code(module_content)
|
47
|
+
compiled = ModuleInjector.modularize(module_name, compiled) unless @config[:bare]
|
48
|
+
File.open(output, 'w') { |f| f.syswrite compiled }
|
49
|
+
|
50
|
+
stdout_compile_complete_msg(module_name, output)
|
51
|
+
compress_code(output) if @config[:compress]
|
48
52
|
end
|
49
53
|
end
|
50
54
|
|
51
|
-
|
52
55
|
def stdout_compile_msg(module_name)
|
53
56
|
puts ""
|
54
57
|
puts "================================"
|
@@ -63,7 +66,7 @@ class DependenceCompiler
|
|
63
66
|
def compile_code(raw_code)
|
64
67
|
return CoffeeScript.compile(raw_code, :bare => true) if @config[:type] == "coffee"
|
65
68
|
raw_code
|
66
|
-
end
|
69
|
+
end
|
67
70
|
|
68
71
|
def compress_code(source_file)
|
69
72
|
JsCompiler.new(source_file).compile
|
@@ -117,5 +120,3 @@ options[:src_dir] = ARGV[0]
|
|
117
120
|
|
118
121
|
compiler = DependenceCompiler.new options
|
119
122
|
compiler.compile
|
120
|
-
|
121
|
-
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'fileutils'
|
2
|
-
require
|
2
|
+
require "dependence/colors"
|
3
3
|
|
4
4
|
module Dependence
|
5
5
|
# Take a load path + file glob and concat them into 1 file per directory
|
@@ -26,13 +26,13 @@ module Dependence
|
|
26
26
|
no_files_error if files.empty?
|
27
27
|
|
28
28
|
files_list = get_files_in_dependency_order(dir, files)
|
29
|
-
|
29
|
+
|
30
30
|
block.call module_name, concat_files(files_list)
|
31
31
|
end
|
32
32
|
|
33
|
-
def no_files_error
|
33
|
+
def no_files_error
|
34
34
|
puts Colors.red("No files of the specified type #{File.extname(@options[:source_type])} were found in #{@options[:load_path]}")
|
35
|
-
throw :no_files_to_concatenate
|
35
|
+
throw :no_files_to_concatenate
|
36
36
|
end
|
37
37
|
|
38
38
|
def get_files_in_dependency_order(dir, files)
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "dependence/dependency_resolver"
|
2
|
+
require "dependence/colors"
|
3
3
|
|
4
4
|
class JsCompiler
|
5
|
-
def initialize(source_file, output_file = nil)
|
5
|
+
def initialize(source_file, output_file = nil)
|
6
6
|
output_file = source_file.gsub(".js", ".min.js") unless output_file
|
7
7
|
@source = source_file
|
8
8
|
@output = output_file
|
@@ -24,7 +24,7 @@ class JsCompiler
|
|
24
24
|
|
25
25
|
def cmd_prefix
|
26
26
|
path = File.join(File.dirname(__FILE__), "../", "../", "compiler", "compiler.jar")
|
27
|
-
"java -jar #{path}"
|
27
|
+
"java -jar #{path}"
|
28
28
|
# --create_source_map js_map
|
29
29
|
end
|
30
30
|
end
|
@@ -3,13 +3,13 @@ module ModuleInjector
|
|
3
3
|
extend self
|
4
4
|
|
5
5
|
@@module_code = <<MODULE_FUNC
|
6
|
-
var global =
|
6
|
+
var global = window
|
7
7
|
|
8
8
|
if (global.module == undefined) {
|
9
9
|
global.module = function(name, body) {
|
10
10
|
var exports = global[name]
|
11
11
|
if (exports == undefined) {
|
12
|
-
|
12
|
+
global[name] = exports = {}
|
13
13
|
}
|
14
14
|
body(exports)
|
15
15
|
}
|
data/lib/dependence.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
1
|
+
require "dependence/dependency_resolver.rb"
|
2
|
+
require "dependence/module_injector.rb"
|
3
|
+
require "dependence/js_compiler.rb"
|
4
|
+
require "dependence/file_watcher.rb"
|
5
|
+
require "dependence/concatenator.rb"
|
6
6
|
|
7
7
|
module Dependence
|
8
8
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependence
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-09-01 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rgl
|
16
|
-
requirement: &
|
16
|
+
requirement: &2168635100 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,21 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2168635100
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rb-inotify
|
27
|
+
requirement: &2168634660 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2168634660
|
25
36
|
- !ruby/object:Gem::Dependency
|
26
37
|
name: coffee-script
|
27
|
-
requirement: &
|
38
|
+
requirement: &2168626520 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
40
|
requirements:
|
30
41
|
- - ! '>='
|
@@ -32,7 +43,7 @@ dependencies:
|
|
32
43
|
version: '0'
|
33
44
|
type: :runtime
|
34
45
|
prerelease: false
|
35
|
-
version_requirements: *
|
46
|
+
version_requirements: *2168626520
|
36
47
|
description:
|
37
48
|
email: jcarver989@gmail.com
|
38
49
|
executables:
|