requirejs-rails 0.5.2 → 0.5.3
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/CHANGELOG.md +10 -0
- data/Gemfile.lock +1 -1
- data/bin/r.js +52 -18
- data/lib/requirejs/rails/config.rb +4 -4
- data/lib/requirejs/rails/version.rb +1 -1
- data/test/requirejs-rails_test.rb +1 -1
- data/vendor/assets/javascripts/require.js +26 -6
- metadata +10 -10
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
# v0.5.3
|
2
|
+
|
3
|
+
- Upgrade to RequireJS and r.js 1.0.4
|
4
|
+
- Pulled #22, fix for asset compliation failure with no config/requirejs.yml.
|
5
|
+
Thanks @arehberg!
|
6
|
+
|
7
|
+
# v0.5.2
|
8
|
+
|
9
|
+
- Upgrade to RequireJS and r.js 1.0.3
|
10
|
+
|
1
11
|
# v0.5.1
|
2
12
|
|
3
13
|
- This is a quick turn to fix an issue that could trigger an Anonymous mismatched define() error from require.js and/or r.js.
|
data/Gemfile.lock
CHANGED
data/bin/r.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license r.js 1.0.
|
2
|
+
* @license r.js 1.0.4 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
3
3
|
* Available via the MIT or new BSD license.
|
4
4
|
* see: http://github.com/jrburke/requirejs for details
|
5
5
|
*/
|
@@ -20,7 +20,7 @@ var requirejs, require, define;
|
|
20
20
|
|
21
21
|
var fileName, env, fs, vm, path, exec, rhinoContext, dir, nodeRequire,
|
22
22
|
nodeDefine, exists, reqMain, loadedOptimizedLib,
|
23
|
-
version = '1.0.
|
23
|
+
version = '1.0.4',
|
24
24
|
jsSuffixRegExp = /\.js$/,
|
25
25
|
commandOption = '',
|
26
26
|
//Used by jslib/rhino/args.js
|
@@ -101,7 +101,7 @@ var requirejs, require, define;
|
|
101
101
|
}
|
102
102
|
|
103
103
|
/** vim: et:ts=4:sw=4:sts=4
|
104
|
-
* @license RequireJS 1.0.
|
104
|
+
* @license RequireJS 1.0.4 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
105
105
|
* Available via the MIT or new BSD license.
|
106
106
|
* see: http://github.com/jrburke/requirejs for details
|
107
107
|
*/
|
@@ -113,7 +113,7 @@ var requirejs, require, define;
|
|
113
113
|
|
114
114
|
(function () {
|
115
115
|
//Change this version number for each release.
|
116
|
-
var version = "1.0.
|
116
|
+
var version = "1.0.4",
|
117
117
|
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
|
118
118
|
cjsRequireRegExp = /require\(\s*["']([^'"\s]+)["']\s*\)/g,
|
119
119
|
currDirRegExp = /^\.\//,
|
@@ -425,7 +425,15 @@ var requirejs, require, define;
|
|
425
425
|
url = urlMap[normalizedName];
|
426
426
|
if (!url) {
|
427
427
|
//Calculate url for the module, if it has a name.
|
428
|
-
|
428
|
+
//Use name here since nameToUrl also calls normalize,
|
429
|
+
//and for relative names that are outside the baseUrl
|
430
|
+
//this causes havoc. Was thinking of just removing
|
431
|
+
//parentModuleMap to avoid extra normalization, but
|
432
|
+
//normalize() still does a dot removal because of
|
433
|
+
//issue #142, so just pass in name here and redo
|
434
|
+
//the normalization. Paths outside baseUrl are just
|
435
|
+
//messy to support.
|
436
|
+
url = context.nameToUrl(name, null, parentModuleMap);
|
429
437
|
|
430
438
|
//Store the URL mapping for later.
|
431
439
|
urlMap[normalizedName] = url;
|
@@ -730,7 +738,7 @@ var requirejs, require, define;
|
|
730
738
|
prefix = map.prefix,
|
731
739
|
plugin = prefix ? plugins[prefix] ||
|
732
740
|
(plugins[prefix] = defined[prefix]) : null,
|
733
|
-
manager, created, pluginManager;
|
741
|
+
manager, created, pluginManager, prefixMap;
|
734
742
|
|
735
743
|
if (fullName) {
|
736
744
|
manager = managerCallbacks[fullName];
|
@@ -768,7 +776,18 @@ var requirejs, require, define;
|
|
768
776
|
//If there is a plugin needed, but it is not loaded,
|
769
777
|
//first load the plugin, then continue on.
|
770
778
|
if (prefix && !plugin) {
|
771
|
-
|
779
|
+
prefixMap = makeModuleMap(prefix);
|
780
|
+
|
781
|
+
//Clear out defined and urlFetched if the plugin was previously
|
782
|
+
//loaded/defined, but not as full module (as in a build
|
783
|
+
//situation). However, only do this work if the plugin is in
|
784
|
+
//defined but does not have a module export value.
|
785
|
+
if (prefix in defined && !defined[prefix]) {
|
786
|
+
delete defined[prefix];
|
787
|
+
delete urlFetched[prefixMap.url];
|
788
|
+
}
|
789
|
+
|
790
|
+
pluginManager = getManager(prefixMap, true);
|
772
791
|
pluginManager.add(function (plugin) {
|
773
792
|
//Create a new manager for the normalized
|
774
793
|
//resource ID and have it call this manager when
|
@@ -1839,7 +1858,8 @@ var requirejs, require, define;
|
|
1839
1858
|
node = context && context.config && context.config.xhtml ?
|
1840
1859
|
document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") :
|
1841
1860
|
document.createElement("script");
|
1842
|
-
node.type = type ||
|
1861
|
+
node.type = type || (context && context.config.scriptType) ||
|
1862
|
+
"text/javascript";
|
1843
1863
|
node.charset = "utf-8";
|
1844
1864
|
//Use async so Gecko does not block on executing the script if something
|
1845
1865
|
//like a long-polling comet tag is being run first. Gecko likes
|
@@ -7669,7 +7689,7 @@ function (lang, logger, envOptimize, file, parse,
|
|
7669
7689
|
logger.trace("Uglifying file: " + fileName);
|
7670
7690
|
|
7671
7691
|
try {
|
7672
|
-
ast = parser.parse(fileContents, config);
|
7692
|
+
ast = parser.parse(fileContents, config.strict_semicolons);
|
7673
7693
|
ast = processor.ast_mangle(ast, config);
|
7674
7694
|
ast = processor.ast_squeeze(ast, config);
|
7675
7695
|
|
@@ -7852,8 +7872,13 @@ function (file, pragma, parse) {
|
|
7852
7872
|
//and to make sure this file is first, so that define calls work.
|
7853
7873
|
//This situation mainly occurs when the build is done on top of the output
|
7854
7874
|
//of another build, where the first build may include require somewhere in it.
|
7855
|
-
|
7856
|
-
layer.existingRequireUrl
|
7875
|
+
try {
|
7876
|
+
if (!layer.existingRequireUrl && parse.definesRequire(url, contents)) {
|
7877
|
+
layer.existingRequireUrl = url;
|
7878
|
+
}
|
7879
|
+
} catch (e1) {
|
7880
|
+
throw new Error('Parse error using UglifyJS ' +
|
7881
|
+
'for file: ' + url + '\n' + e1);
|
7857
7882
|
}
|
7858
7883
|
|
7859
7884
|
if (moduleName in context.plugins) {
|
@@ -7870,12 +7895,17 @@ function (file, pragma, parse) {
|
|
7870
7895
|
//Parse out the require and define calls.
|
7871
7896
|
//Do this even for plugins in case they have their own
|
7872
7897
|
//dependencies that may be separate to how the pluginBuilder works.
|
7873
|
-
|
7874
|
-
|
7875
|
-
|
7876
|
-
|
7877
|
-
|
7878
|
-
|
7898
|
+
try {
|
7899
|
+
if (!context.needFullExec[moduleName]) {
|
7900
|
+
contents = parse(moduleName, url, contents, {
|
7901
|
+
insertNeedsDefine: true,
|
7902
|
+
has: context.config.has,
|
7903
|
+
findNestedDependencies: context.config.findNestedDependencies
|
7904
|
+
});
|
7905
|
+
}
|
7906
|
+
} catch (e2) {
|
7907
|
+
throw new Error('Parse error using UglifyJS ' +
|
7908
|
+
'for file: ' + url + '\n' + e2);
|
7879
7909
|
}
|
7880
7910
|
|
7881
7911
|
require._cachedFileContents[url] = contents;
|
@@ -7939,8 +7969,8 @@ function (file, pragma, parse) {
|
|
7939
7969
|
} else if (map.url && require._isSupportedBuildUrl(map.url)) {
|
7940
7970
|
//If the url has not been added to the layer yet, and it
|
7941
7971
|
//is from an actual file that was loaded, add it now.
|
7972
|
+
url = normalizeUrlWithBase(context, map.fullName, map.url);
|
7942
7973
|
if (!layer.pathAdded[url] && layer.buildPathMap[fullName]) {
|
7943
|
-
url = normalizeUrlWithBase(context, map.fullName, map.url);
|
7944
7974
|
//Remember the list of dependencies for this layer.
|
7945
7975
|
layer.buildFilePaths.push(url);
|
7946
7976
|
layer.pathAdded[url] = true;
|
@@ -8697,6 +8727,10 @@ function (lang, logger, file, parse, optimize, pragma,
|
|
8697
8727
|
throw new Error("ERROR: 'baseUrl' option missing.");
|
8698
8728
|
}
|
8699
8729
|
|
8730
|
+
if (!config.out && !config.dir) {
|
8731
|
+
throw new Error('Missing either an "out" or "dir" config value.');
|
8732
|
+
}
|
8733
|
+
|
8700
8734
|
if (config.out && !config.cssIn) {
|
8701
8735
|
//Just one file to optimize.
|
8702
8736
|
|
@@ -32,7 +32,7 @@ module Requirejs::Rails
|
|
32
32
|
|
33
33
|
self.run_config = {
|
34
34
|
"baseUrl" => "/assets",
|
35
|
-
"modules" => [ { name
|
35
|
+
"modules" => [ { 'name' => 'application' } ]
|
36
36
|
}
|
37
37
|
self.run_config.merge!(self.user_config)
|
38
38
|
self.run_config_json = self.run_config.to_json
|
@@ -44,9 +44,9 @@ module Requirejs::Rails
|
|
44
44
|
def module_path_for(name)
|
45
45
|
self.target_dir+(name+'.js')
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
def get_binding
|
49
49
|
return binding()
|
50
|
-
end
|
50
|
+
end
|
51
51
|
end
|
52
|
-
end
|
52
|
+
end
|
@@ -13,7 +13,7 @@ class RequirejsRailsTest < ActiveSupport::TestCase
|
|
13
13
|
test "require.js version" do
|
14
14
|
require_js = Pathname.new(__FILE__+'/../../vendor/assets/javascripts/require.js').cleanpath.read
|
15
15
|
context = ExecJS.compile(require_js)
|
16
|
-
assert_equal "1.0.
|
16
|
+
assert_equal "1.0.4", context.eval("require.version")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/** vim: et:ts=4:sw=4:sts=4
|
2
|
-
* @license RequireJS 1.0.
|
2
|
+
* @license RequireJS 1.0.4 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
3
3
|
* Available via the MIT or new BSD license.
|
4
4
|
* see: http://github.com/jrburke/requirejs for details
|
5
5
|
*/
|
@@ -11,7 +11,7 @@
|
|
11
11
|
var requirejs, require, define;
|
12
12
|
(function () {
|
13
13
|
//Change this version number for each release.
|
14
|
-
var version = "1.0.
|
14
|
+
var version = "1.0.4",
|
15
15
|
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
|
16
16
|
cjsRequireRegExp = /require\(\s*["']([^'"\s]+)["']\s*\)/g,
|
17
17
|
currDirRegExp = /^\.\//,
|
@@ -323,7 +323,15 @@ var requirejs, require, define;
|
|
323
323
|
url = urlMap[normalizedName];
|
324
324
|
if (!url) {
|
325
325
|
//Calculate url for the module, if it has a name.
|
326
|
-
|
326
|
+
//Use name here since nameToUrl also calls normalize,
|
327
|
+
//and for relative names that are outside the baseUrl
|
328
|
+
//this causes havoc. Was thinking of just removing
|
329
|
+
//parentModuleMap to avoid extra normalization, but
|
330
|
+
//normalize() still does a dot removal because of
|
331
|
+
//issue #142, so just pass in name here and redo
|
332
|
+
//the normalization. Paths outside baseUrl are just
|
333
|
+
//messy to support.
|
334
|
+
url = context.nameToUrl(name, null, parentModuleMap);
|
327
335
|
|
328
336
|
//Store the URL mapping for later.
|
329
337
|
urlMap[normalizedName] = url;
|
@@ -628,7 +636,7 @@ var requirejs, require, define;
|
|
628
636
|
prefix = map.prefix,
|
629
637
|
plugin = prefix ? plugins[prefix] ||
|
630
638
|
(plugins[prefix] = defined[prefix]) : null,
|
631
|
-
manager, created, pluginManager;
|
639
|
+
manager, created, pluginManager, prefixMap;
|
632
640
|
|
633
641
|
if (fullName) {
|
634
642
|
manager = managerCallbacks[fullName];
|
@@ -666,7 +674,18 @@ var requirejs, require, define;
|
|
666
674
|
//If there is a plugin needed, but it is not loaded,
|
667
675
|
//first load the plugin, then continue on.
|
668
676
|
if (prefix && !plugin) {
|
669
|
-
|
677
|
+
prefixMap = makeModuleMap(prefix);
|
678
|
+
|
679
|
+
//Clear out defined and urlFetched if the plugin was previously
|
680
|
+
//loaded/defined, but not as full module (as in a build
|
681
|
+
//situation). However, only do this work if the plugin is in
|
682
|
+
//defined but does not have a module export value.
|
683
|
+
if (prefix in defined && !defined[prefix]) {
|
684
|
+
delete defined[prefix];
|
685
|
+
delete urlFetched[prefixMap.url];
|
686
|
+
}
|
687
|
+
|
688
|
+
pluginManager = getManager(prefixMap, true);
|
670
689
|
pluginManager.add(function (plugin) {
|
671
690
|
//Create a new manager for the normalized
|
672
691
|
//resource ID and have it call this manager when
|
@@ -1737,7 +1756,8 @@ var requirejs, require, define;
|
|
1737
1756
|
node = context && context.config && context.config.xhtml ?
|
1738
1757
|
document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") :
|
1739
1758
|
document.createElement("script");
|
1740
|
-
node.type = type ||
|
1759
|
+
node.type = type || (context && context.config.scriptType) ||
|
1760
|
+
"text/javascript";
|
1741
1761
|
node.charset = "utf-8";
|
1742
1762
|
//Use async so Gecko does not block on executing the script if something
|
1743
1763
|
//like a long-polling comet tag is being run first. Gecko likes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: requirejs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
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:
|
12
|
+
date: 2012-01-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &70255892536860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70255892536860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &70255892536240 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.1.1
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70255892536240
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sqlite3
|
38
|
-
requirement: &
|
38
|
+
requirement: &70255892535640 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70255892535640
|
47
47
|
description: This gem provides RequireJS support for your Rails 3 application.
|
48
48
|
email:
|
49
49
|
- whitley@bangpath.org
|
@@ -122,7 +122,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
122
|
version: '0'
|
123
123
|
segments:
|
124
124
|
- 0
|
125
|
-
hash:
|
125
|
+
hash: 4295797509367259253
|
126
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
@@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
131
|
version: '0'
|
132
132
|
segments:
|
133
133
|
- 0
|
134
|
-
hash:
|
134
|
+
hash: 4295797509367259253
|
135
135
|
requirements:
|
136
136
|
- node.js is required for 'rake assets:precompile', used to run the r.js build
|
137
137
|
- If needed, jQuery should be v1.7 or greater (jquery-rails >= 1.0.17).
|