requirejs-rails 0.9.9 → 1.0.0
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.
- 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
|