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 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 'lib/dependence'
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
- @config[:watch] ? compile_with_watcher : run_compile
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
- run_compile
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
- begin
34
- @concatenator.concat do |module_name, module_content|
35
- stdout_compile_msg(module_name)
36
- output = File.join(@config[:output], "#{module_name}.js")
37
- compiled = compile_code(module_content)
38
- compiled = ModuleInjector.modularize(module_name, compiled) unless @config[:bare]
39
- File.open(output, 'w') { |f| f.syswrite compiled }
40
-
41
- stdout_compile_complete_msg(module_name, output)
42
- compress_code(output) if @config[:compress]
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 File.join(File.dirname(__FILE__), 'colors')
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 File.join(File.dirname(__FILE__),'dependency_resolver')
2
- require File.join(File.dirname(__FILE__),'colors')
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 = (global != undefined)? global : window
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
- global[name] = {}
12
+ global[name] = exports = {}
13
13
  }
14
14
  body(exports)
15
15
  }
data/lib/dependence.rb CHANGED
@@ -1,8 +1,8 @@
1
- require File.join(File.dirname(__FILE__), "dependence", "dependency_resolver.rb")
2
- require File.join(File.dirname(__FILE__), "dependence", "module_injector.rb")
3
- require File.join(File.dirname(__FILE__), 'dependence', 'js_compiler.rb')
4
- require File.join(File.dirname(__FILE__), "dependence", "file_watcher.rb")
5
- require File.join(File.dirname(__FILE__), "dependence", "concatenator.rb")
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.7
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-08-22 00:00:00.000000000Z
12
+ date: 2011-09-01 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rgl
16
- requirement: &2168554380 !ruby/object:Gem::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: *2168554380
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: &2168553940 !ruby/object:Gem::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: *2168553940
46
+ version_requirements: *2168626520
36
47
  description:
37
48
  email: jcarver989@gmail.com
38
49
  executables: