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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 164acbc04d1af8d41a62781a38bd12a79938d8af
4
- data.tar.gz: bcd19769e40757d0d68d8d5fcd8ce9f8c0592cd0
3
+ metadata.gz: cf243419ecea137bd3b1367b1a1c37a95e772636
4
+ data.tar.gz: b7fcdceafa8ab58929c4fbd107af935b9caa16a1
5
5
  SHA512:
6
- metadata.gz: 946512c5a0e1b7e3c7c53ab9d5881e47f2f3ed73617d8a7205ff5f5cca644b3e5c12d55027d6213b6d1fce48bb0d2217a0705fbba662f8443ec1057f5a33bc53
7
- data.tar.gz: 3b6f1499207ecdbbf413f621c6b8fbeabea3a327fd3db4d49d092927a87cd022fb5d715c0c0d7d8ff9dcd2297c8f83456bf4ece6e53e5d4161dd4c4b87f82403
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- requirejs-rails (0.9.9)
4
+ requirejs-rails (1.0.0)
5
5
  railties (>= 3.1.1)
6
6
 
7
7
  GEM
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
- super
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
@@ -1,6 +1,6 @@
1
1
  module Requirejs
2
2
  module Rails
3
- Version = "0.9.9"
4
- LibVersion = "2.1.19"
3
+ Version = "1.0.0"
4
+ LibVersion = "2.1.22"
5
5
  end
6
6
  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.19 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
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.19',
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
- //Array splice in the values since the context code has a
558
- //local var ref to defQueue, so cannot just reassign the one
559
- //on context.
560
- apsp.apply(defQueue,
561
- [defQueue.length, 0].concat(globalDefQueue));
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
- this.fetch();
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
- //If there is an error listener, favor passing
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
- err.requireMap = this.map;
892
- err.requireModules = this.map.isDefine ? [this.map.id] : null;
893
- err.requireType = this.map.isDefine ? 'define' : 'require';
894
- return onError((this.error = err));
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
- req.onResourceLoad(context, this.map, this.depMaps);
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
- return onError(makeError('scripterror', 'Script error for: ' + data.id, evt, [data.id]));
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 that
1929
- //only one script needs to be loaded anyway. This may need to be
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 ? context.defQueue : globalDefQueue).push([name, deps, callback]);
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.9.9
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-07-22 00:00:00.000000000 Z
11
+ date: 2015-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties