requirejs-rails 0.9.9 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/app/helpers/requirejs_helper.rb +13 -1
- data/lib/requirejs/rails/version.rb +2 -2
- data/lib/tasks/requirejs-rails_tasks.rake +1 -1
- data/vendor/assets/javascripts/require.js +73 -34
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf243419ecea137bd3b1367b1a1c37a95e772636
|
4
|
+
data.tar.gz: b7fcdceafa8ab58929c4fbd107af935b9caa16a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4b1b41f81af5df8dd164ab4bf9f8499f6d546ec342f08915dad47d5e23fafb97b213fa309f6cf8026c07ec372ff840244b93c518d333b5580d85cda57eb5301
|
7
|
+
data.tar.gz: 91d6be4d294f6c07aa45b3a274a0c331d66acb35dd04b8e25245d3c3b9373ab9047401561f569d7e2942a064b9f0e7fe257a794d768de3f76088a0eec91d418c
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
## requirejs-rails changelog
|
4
4
|
|
5
|
+
### v1.0.0
|
6
|
+
|
7
|
+
- Update `require.js` and `r.js` to `2.1.22`.
|
8
|
+
- Fix a `sass-rails` `3.*.*` backwards compatibility issue (credit `@merqlove`).
|
9
|
+
- Fix a Sprockets `3.3.0` backwards compatibility issue (credit `@swils`).
|
10
|
+
|
5
11
|
### v0.9.9
|
6
12
|
|
7
13
|
- Fix an asset digesting regression in #238 (credit @jonhyman).
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -134,7 +134,7 @@ This gem supports single-file builds with
|
|
134
134
|
config.requirejs.loader = :almond
|
135
135
|
```
|
136
136
|
|
137
|
-
Almond builds have the restriction that there must be exactly one modules entry in
|
137
|
+
Almond builds have the restriction that there must be exactly one `modules` entry in
|
138
138
|
`requirejs.yml`. Typically the [wrap option](https://github.com/jrburke/r.js/blob/master/build/example.build.js#L275) will be used to create a self-contained build:
|
139
139
|
|
140
140
|
```yaml
|
@@ -2,6 +2,14 @@ require "requirejs/error"
|
|
2
2
|
require "requirejs/rails/view_proxy"
|
3
3
|
|
4
4
|
module RequirejsHelper
|
5
|
+
if defined?(Sass::Rails::VERSION)
|
6
|
+
sass_rails_version_pattern = Regexp.new("\\A(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\z")
|
7
|
+
|
8
|
+
SASS_RAILS_3_COMPATIBILITY = sass_rails_version_pattern.match(Sass::Rails::VERSION)[1].to_i < 4
|
9
|
+
else
|
10
|
+
SASS_RAILS_3_COMPATIBILITY = false
|
11
|
+
end
|
12
|
+
|
5
13
|
# EXPERIMENTAL: Additional priority settings appended to
|
6
14
|
# any user-specified priority setting by requirejs_include_tag.
|
7
15
|
# Used for JS test suite integration.
|
@@ -79,7 +87,11 @@ module RequirejsHelper
|
|
79
87
|
|
80
88
|
def javascript_path(source, options = {})
|
81
89
|
if defined?(super)
|
82
|
-
|
90
|
+
if !SASS_RAILS_3_COMPATIBILITY
|
91
|
+
super
|
92
|
+
else
|
93
|
+
super(source)
|
94
|
+
end
|
83
95
|
else
|
84
96
|
view_proxy.javascript_path(source, options)
|
85
97
|
end
|
@@ -162,7 +162,7 @@ OS X Homebrew users can use 'brew install node'.
|
|
162
162
|
built_asset_path = requirejs.config.build_dir.join(asset_name)
|
163
163
|
|
164
164
|
# Compute the digest based on the contents of the compiled file, *not* on the contents of the RequireJS module.
|
165
|
-
file_digest = ::Rails.application.assets.file_digest(built_asset_path)
|
165
|
+
file_digest = ::Rails.application.assets.file_digest(built_asset_path.to_s)
|
166
166
|
hex_digest = Sprockets::DigestUtils.pack_hexdigest(file_digest)
|
167
167
|
digest_name = asset.logical_path.gsub(path_extension_pattern) { |ext| "-#{hex_digest}#{ext}" }
|
168
168
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/** vim: et:ts=4:sw=4:sts=4
|
2
|
-
* @license RequireJS 2.1.
|
2
|
+
* @license RequireJS 2.1.22 Copyright (c) 2010-2015, 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
|
*/
|
@@ -12,7 +12,7 @@ var requirejs, require, define;
|
|
12
12
|
(function (global) {
|
13
13
|
var req, s, head, baseElement, dataMain, src,
|
14
14
|
interactiveScript, currentlyAddingScript, mainScript, subPath,
|
15
|
-
version = '2.1.
|
15
|
+
version = '2.1.22',
|
16
16
|
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
|
17
17
|
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
|
18
18
|
jsSuffixRegExp = /\.js$/,
|
@@ -21,7 +21,6 @@ var requirejs, require, define;
|
|
21
21
|
ostring = op.toString,
|
22
22
|
hasOwn = op.hasOwnProperty,
|
23
23
|
ap = Array.prototype,
|
24
|
-
apsp = ap.splice,
|
25
24
|
isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document),
|
26
25
|
isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
|
27
26
|
//PS3 indicates loaded and complete, but need to wait for complete
|
@@ -554,11 +553,13 @@ var requirejs, require, define;
|
|
554
553
|
function takeGlobalQueue() {
|
555
554
|
//Push all the globalDefQueue items into the context's defQueue
|
556
555
|
if (globalDefQueue.length) {
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
556
|
+
each(globalDefQueue, function(queueItem) {
|
557
|
+
var id = queueItem[0];
|
558
|
+
if (typeof id === 'string') {
|
559
|
+
context.defQueueMap[id] = true;
|
560
|
+
}
|
561
|
+
defQueue.push(queueItem);
|
562
|
+
});
|
562
563
|
globalDefQueue = [];
|
563
564
|
}
|
564
565
|
}
|
@@ -845,7 +846,10 @@ var requirejs, require, define;
|
|
845
846
|
factory = this.factory;
|
846
847
|
|
847
848
|
if (!this.inited) {
|
848
|
-
|
849
|
+
// Only fetch if not already in the defQueue.
|
850
|
+
if (!hasProp(context.defQueueMap, id)) {
|
851
|
+
this.fetch();
|
852
|
+
}
|
849
853
|
} else if (this.error) {
|
850
854
|
this.emit('error', this.error);
|
851
855
|
} else if (!this.defining) {
|
@@ -857,21 +861,10 @@ var requirejs, require, define;
|
|
857
861
|
|
858
862
|
if (this.depCount < 1 && !this.defined) {
|
859
863
|
if (isFunction(factory)) {
|
860
|
-
|
861
|
-
//to that instead of throwing an error. However,
|
862
|
-
//only do it for define()'d modules. require
|
863
|
-
//errbacks should not be called for failures in
|
864
|
-
//their callbacks (#699). However if a global
|
865
|
-
//onError is set, use that.
|
866
|
-
if ((this.events.error && this.map.isDefine) ||
|
867
|
-
req.onError !== defaultOnError) {
|
868
|
-
try {
|
869
|
-
exports = context.execCb(id, factory, depExports, exports);
|
870
|
-
} catch (e) {
|
871
|
-
err = e;
|
872
|
-
}
|
873
|
-
} else {
|
864
|
+
try {
|
874
865
|
exports = context.execCb(id, factory, depExports, exports);
|
866
|
+
} catch (e) {
|
867
|
+
err = e;
|
875
868
|
}
|
876
869
|
|
877
870
|
// Favor return value over exports. If node/cjs in play,
|
@@ -888,12 +881,30 @@ var requirejs, require, define;
|
|
888
881
|
}
|
889
882
|
|
890
883
|
if (err) {
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
884
|
+
// If there is an error listener, favor passing
|
885
|
+
// to that instead of throwing an error. However,
|
886
|
+
// only do it for define()'d modules. require
|
887
|
+
// errbacks should not be called for failures in
|
888
|
+
// their callbacks (#699). However if a global
|
889
|
+
// onError is set, use that.
|
890
|
+
if ((this.events.error && this.map.isDefine) ||
|
891
|
+
req.onError !== defaultOnError) {
|
892
|
+
err.requireMap = this.map;
|
893
|
+
err.requireModules = this.map.isDefine ? [this.map.id] : null;
|
894
|
+
err.requireType = this.map.isDefine ? 'define' : 'require';
|
895
|
+
return onError((this.error = err));
|
896
|
+
} else if (typeof console !== 'undefined' &&
|
897
|
+
console.error) {
|
898
|
+
// Log the error for debugging. If promises could be
|
899
|
+
// used, this would be different, but making do.
|
900
|
+
console.error(err);
|
901
|
+
} else {
|
902
|
+
// Do not want to completely lose the error. While this
|
903
|
+
// will mess up processing and lead to similar results
|
904
|
+
// as bug 1440, it at least surfaces the error.
|
905
|
+
req.onError(err);
|
906
|
+
}
|
895
907
|
}
|
896
|
-
|
897
908
|
} else {
|
898
909
|
//Just a literal value
|
899
910
|
exports = factory;
|
@@ -905,7 +916,11 @@ var requirejs, require, define;
|
|
905
916
|
defined[id] = exports;
|
906
917
|
|
907
918
|
if (req.onResourceLoad) {
|
908
|
-
|
919
|
+
var resLoadMaps = [];
|
920
|
+
each(this.depMaps, function (depMap) {
|
921
|
+
resLoadMaps.push(depMap.normalizedMap || depMap);
|
922
|
+
});
|
923
|
+
req.onResourceLoad(context, this.map, resLoadMaps);
|
909
924
|
}
|
910
925
|
}
|
911
926
|
|
@@ -964,6 +979,7 @@ var requirejs, require, define;
|
|
964
979
|
this.map.parentMap);
|
965
980
|
on(normalizedMap,
|
966
981
|
'defined', bind(this, function (value) {
|
982
|
+
this.map.normalizedMap = normalizedMap;
|
967
983
|
this.init([], function () { return value; }, null, {
|
968
984
|
enabled: true,
|
969
985
|
ignore: true
|
@@ -1244,6 +1260,7 @@ var requirejs, require, define;
|
|
1244
1260
|
callGetModule(args);
|
1245
1261
|
}
|
1246
1262
|
}
|
1263
|
+
context.defQueueMap = {};
|
1247
1264
|
}
|
1248
1265
|
|
1249
1266
|
context = {
|
@@ -1253,6 +1270,7 @@ var requirejs, require, define;
|
|
1253
1270
|
defined: defined,
|
1254
1271
|
urlFetched: urlFetched,
|
1255
1272
|
defQueue: defQueue,
|
1273
|
+
defQueueMap: {},
|
1256
1274
|
Module: Module,
|
1257
1275
|
makeModuleMap: makeModuleMap,
|
1258
1276
|
nextTick: req.nextTick,
|
@@ -1502,6 +1520,7 @@ var requirejs, require, define;
|
|
1502
1520
|
defQueue.splice(i, 1);
|
1503
1521
|
}
|
1504
1522
|
});
|
1523
|
+
delete context.defQueueMap[id];
|
1505
1524
|
|
1506
1525
|
if (mod) {
|
1507
1526
|
//Hold on to listeners in case the
|
@@ -1563,6 +1582,7 @@ var requirejs, require, define;
|
|
1563
1582
|
|
1564
1583
|
callGetModule(args);
|
1565
1584
|
}
|
1585
|
+
context.defQueueMap = {};
|
1566
1586
|
|
1567
1587
|
//Do this after the cycle of callGetModule in case the result
|
1568
1588
|
//of those calls/init calls changes the registry.
|
@@ -1698,7 +1718,21 @@ var requirejs, require, define;
|
|
1698
1718
|
onScriptError: function (evt) {
|
1699
1719
|
var data = getScriptData(evt);
|
1700
1720
|
if (!hasPathFallback(data.id)) {
|
1701
|
-
|
1721
|
+
var parents = [];
|
1722
|
+
eachProp(registry, function(value, key) {
|
1723
|
+
if (key.indexOf('_@r') !== 0) {
|
1724
|
+
each(value.depMaps, function(depMap) {
|
1725
|
+
if (depMap.id === data.id) {
|
1726
|
+
parents.push(key);
|
1727
|
+
}
|
1728
|
+
return true;
|
1729
|
+
});
|
1730
|
+
}
|
1731
|
+
});
|
1732
|
+
return onError(makeError('scripterror', 'Script error for "' + data.id +
|
1733
|
+
(parents.length ?
|
1734
|
+
'", needed by: ' + parents.join(', ') :
|
1735
|
+
'"'), evt, [data.id]));
|
1702
1736
|
}
|
1703
1737
|
}
|
1704
1738
|
};
|
@@ -1925,9 +1959,9 @@ var requirejs, require, define;
|
|
1925
1959
|
//In a web worker, use importScripts. This is not a very
|
1926
1960
|
//efficient use of importScripts, importScripts will block until
|
1927
1961
|
//its script is downloaded and evaluated. However, if web workers
|
1928
|
-
//are in play, the expectation that a build has been done so
|
1929
|
-
//only one script needs to be loaded anyway. This may need
|
1930
|
-
//reevaluated if other use cases become common.
|
1962
|
+
//are in play, the expectation is that a build has been done so
|
1963
|
+
//that only one script needs to be loaded anyway. This may need
|
1964
|
+
//to be reevaluated if other use cases become common.
|
1931
1965
|
importScripts(url);
|
1932
1966
|
|
1933
1967
|
//Account for anonymous modules
|
@@ -2067,7 +2101,12 @@ var requirejs, require, define;
|
|
2067
2101
|
//where the module name is not known until the script onload event
|
2068
2102
|
//occurs. If no context, use the global queue, and get it processed
|
2069
2103
|
//in the onscript load callback.
|
2070
|
-
(context
|
2104
|
+
if (context) {
|
2105
|
+
context.defQueue.push([name, deps, callback]);
|
2106
|
+
context.defQueueMap[name] = true;
|
2107
|
+
} else {
|
2108
|
+
globalDefQueue.push([name, deps, callback]);
|
2109
|
+
}
|
2071
2110
|
};
|
2072
2111
|
|
2073
2112
|
define.amd = {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: requirejs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Whitley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|