sprockets-commonjs 0.0.4 → 0.0.5.pre
Sign up to get free protection for your applications and to get access to all the features.
data/examples/example.js
CHANGED
@@ -1,11 +1,73 @@
|
|
1
|
-
|
1
|
+
(function() {
|
2
|
+
if (!this.require) {
|
3
|
+
var modules = {}, cache = {};
|
4
|
+
|
5
|
+
var require = function(name, root) {
|
6
|
+
var path = expand(root, name), indexPath = expand(path, './index'), module, fn;
|
7
|
+
module = cache[path] || cache[indexPath];
|
8
|
+
if (module) {
|
9
|
+
return module;
|
10
|
+
} else if (fn = modules[path] || modules[path = indexPath]) {
|
11
|
+
module = {id: path, exports: {}};
|
12
|
+
cache[path] = module.exports;
|
13
|
+
fn(module.exports, function(name) {
|
14
|
+
return require(name, dirname(path));
|
15
|
+
}, module);
|
16
|
+
return cache[path] = module.exports;
|
17
|
+
} else {
|
18
|
+
throw 'module ' + name + ' not found';
|
19
|
+
}
|
20
|
+
};
|
21
|
+
|
22
|
+
var expand = function(root, name) {
|
23
|
+
var results = [], parts, part;
|
24
|
+
// If path is relative
|
25
|
+
if (/^\.\.?(\/|$)/.test(name)) {
|
26
|
+
parts = [root, name].join('/').split('/');
|
27
|
+
} else {
|
28
|
+
parts = name.split('/');
|
29
|
+
}
|
30
|
+
for (var i = 0, length = parts.length; i < length; i++) {
|
31
|
+
part = parts[i];
|
32
|
+
if (part == '..') {
|
33
|
+
results.pop();
|
34
|
+
} else if (part != '.' && part != '') {
|
35
|
+
results.push(part);
|
36
|
+
}
|
37
|
+
}
|
38
|
+
return results.join('/');
|
39
|
+
};
|
40
|
+
|
41
|
+
var dirname = function(path) {
|
42
|
+
return path.split('/').slice(0, -1).join('/');
|
43
|
+
};
|
44
|
+
|
45
|
+
this.require = function(name) {
|
46
|
+
return require(name, '');
|
47
|
+
};
|
48
|
+
|
49
|
+
this.require.define = function(bundle) {
|
50
|
+
for (var key in bundle) {
|
51
|
+
modules[key] = bundle[key];
|
52
|
+
}
|
53
|
+
};
|
54
|
+
|
55
|
+
this.require.modules = modules;
|
56
|
+
this.require.cache = cache;
|
57
|
+
}
|
58
|
+
|
59
|
+
return this.require;
|
60
|
+
}).call(this);
|
61
|
+
this.require.define({"modules/program":function(exports, require, module){module.exports = function(){
|
2
62
|
alert('Long live the Programs!');
|
3
63
|
};
|
4
|
-
|
64
|
+
;}});
|
65
|
+
this.require.define({"modules/user":function(exports, require, module){var Program = require('modules/program');
|
5
66
|
|
6
67
|
module.exports = function(){
|
7
68
|
alert('Long live the Users');
|
8
69
|
Program();
|
9
70
|
};
|
71
|
+
;}});
|
10
72
|
|
11
73
|
var self = 'application.js';
|
File without changes
|
data/lib/sprockets/commonjs.rb
CHANGED
@@ -16,13 +16,15 @@ module Sprockets
|
|
16
16
|
attr_reader :namespace
|
17
17
|
|
18
18
|
def evaluate(scope, locals, &block)
|
19
|
-
if scope.
|
20
|
-
path = scope.logical_path
|
19
|
+
if File.extname(scope.logical_path) == '.module'
|
20
|
+
path = scope.logical_path
|
21
|
+
path = path.gsub(/^\.?\//, '') # Remove relative paths
|
22
|
+
path = path.chomp('.module') # Remove module ext
|
21
23
|
|
22
24
|
scope.require_asset 'sprockets/commonjs'
|
23
25
|
|
24
26
|
code = ''
|
25
|
-
code << "#{namespace}.define({#{path}:"
|
27
|
+
code << "#{namespace}.define({#{path.inspect}:"
|
26
28
|
code << 'function(exports, require, module){'
|
27
29
|
code << data
|
28
30
|
code << ";}});\n"
|
@@ -32,6 +34,7 @@ module Sprockets
|
|
32
34
|
end
|
33
35
|
end
|
34
36
|
end
|
35
|
-
end
|
36
37
|
|
37
|
-
|
38
|
+
register_postprocessor 'application/javascript', CommonJS
|
39
|
+
append_path File.expand_path('../..', __FILE__)
|
40
|
+
end
|
data/sprockets-commonjs.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "sprockets-commonjs"
|
6
|
-
s.version = '0.0.
|
6
|
+
s.version = '0.0.5.pre'
|
7
7
|
s.authors = ["Alex MacCaw"]
|
8
8
|
s.email = ["info@eribium.org"]
|
9
9
|
s.homepage = ""
|
@@ -19,5 +19,5 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
# specify any dependencies here; for example:
|
21
21
|
# s.add_development_dependency "rspec"
|
22
|
-
s.add_runtime_dependency "sprockets", "~>2.
|
22
|
+
s.add_runtime_dependency "sprockets", "~>2.4.0"
|
23
23
|
end
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sprockets-commonjs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.5.pre
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Alex MacCaw
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-22 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sprockets
|
16
|
-
requirement: &
|
16
|
+
requirement: &70340791091400 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
21
|
+
version: 2.4.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70340791091400
|
25
25
|
description: Adds CommonJS support to Sprockets
|
26
26
|
email:
|
27
27
|
- info@eribium.org
|
@@ -38,9 +38,8 @@ files:
|
|
38
38
|
- examples/index.html
|
39
39
|
- examples/modules/program.module.js
|
40
40
|
- examples/modules/user.module.js
|
41
|
-
- lib/
|
41
|
+
- lib/sprockets/commonjs.js
|
42
42
|
- lib/sprockets/commonjs.rb
|
43
|
-
- lib/sprockets/engine.rb
|
44
43
|
- sprockets-commonjs.gemspec
|
45
44
|
homepage: ''
|
46
45
|
licenses: []
|
@@ -57,9 +56,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
57
56
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
57
|
none: false
|
59
58
|
requirements:
|
60
|
-
- - ! '
|
59
|
+
- - ! '>'
|
61
60
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
61
|
+
version: 1.3.1
|
63
62
|
requirements: []
|
64
63
|
rubyforge_project: sprockets-commonjs
|
65
64
|
rubygems_version: 1.8.15
|