dependence 0.0.7 → 0.0.8
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.
- 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:
|