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 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: