requirejs-rails 0.9.8 → 0.9.9

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.
@@ -1,6 +1,6 @@
1
1
  module Requirejs
2
2
  module Rails
3
- Version = "0.9.8"
4
- LibVersion = "2.1.17"
3
+ Version = "0.9.9"
4
+ LibVersion = "2.1.19"
5
5
  end
6
6
  end
@@ -32,6 +32,7 @@ namespace :requirejs do
32
32
  end
33
33
 
34
34
  requirejs = ActiveSupport::OrderedOptions.new
35
+ path_extension_pattern = Regexp.new("\\.(\\w+)\\z")
35
36
 
36
37
  task clean: ["requirejs:setup"] do
37
38
  FileUtils.remove_entry_secure(requirejs.config.source_dir, true)
@@ -71,17 +72,14 @@ OS X Homebrew users can use 'brew install node'.
71
72
  end
72
73
 
73
74
  namespace :precompile do
74
- task all: ["requirejs:precompile:prepare_source",
75
- "requirejs:precompile:generate_rjs_driver",
76
- "requirejs:precompile:run_rjs",
77
- "requirejs:precompile:digestify_and_compress"]
75
+ task all: ["requirejs:precompile:digestify_and_compress"]
78
76
 
79
77
  # Invoke another ruby process if we're called from inside
80
78
  # assets:precompile so we don't clobber the environment
81
79
  #
82
80
  # We depend on test_node here so we'll fail early and hard if node
83
81
  # isn't available.
84
- task external: ["requirejs:test_node"] do
82
+ task :external do
85
83
  ruby_rake_task "requirejs:precompile:all"
86
84
  end
87
85
 
@@ -110,7 +108,7 @@ OS X Homebrew users can use 'brew install node'.
110
108
  asset.write_to(file)
111
109
  end
112
110
  else
113
- bower_logical_path = Pathname.new(logical_path).dirname.sub_ext(".js").to_s
111
+ bower_logical_path = "#{Pathname.new(logical_path).dirname.to_s}.js"
114
112
  asset = requirejs.env.find_asset(bower_logical_path)
115
113
 
116
114
  if asset
@@ -131,7 +129,9 @@ OS X Homebrew users can use 'brew install node'.
131
129
  end
132
130
 
133
131
  task run_rjs: ["requirejs:setup",
134
- "requirejs:test_node"] do
132
+ "requirejs:test_node",
133
+ "requirejs:precompile:prepare_source",
134
+ "requirejs:precompile:generate_rjs_driver"] do
135
135
  requirejs.config.build_dir.mkpath
136
136
  requirejs.config.target_dir.mkpath
137
137
  requirejs.config.driver_path.dirname.mkpath
@@ -144,28 +144,34 @@ OS X Homebrew users can use 'brew install node'.
144
144
 
145
145
  # Copy each built asset, identified by a named module in the
146
146
  # build config, to its Sprockets digestified name.
147
- task digestify_and_compress: ["requirejs:setup"] do
147
+ task digestify_and_compress: ["requirejs:precompile:run_rjs"] do
148
148
  requirejs.config.build_config["modules"].each do |m|
149
149
  module_name = requirejs.config.module_name_for(m)
150
150
  paths = requirejs.config.build_config["paths"] || {}
151
+ module_script_name = "#{module_name}.js"
151
152
 
152
153
  # Is there a `paths` entry for the module?
153
154
  if !paths[module_name]
154
- asset_name = Pathname.new(module_name).sub_ext(".js").to_s
155
+ asset_name = module_script_name
155
156
  else
156
- asset_name = Pathname.new(paths[module_name]).sub_ext(".js").to_s
157
+ asset_name = "#{paths[module_name]}.js"
157
158
  end
158
159
 
159
160
  asset = requirejs.env.find_asset(asset_name)
160
161
 
161
162
  built_asset_path = requirejs.config.build_dir.join(asset_name)
162
- digest_name = asset.digest_path
163
+
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)
166
+ hex_digest = Sprockets::DigestUtils.pack_hexdigest(file_digest)
167
+ digest_name = asset.logical_path.gsub(path_extension_pattern) { |ext| "-#{hex_digest}#{ext}" }
168
+
163
169
  digest_asset_path = requirejs.config.target_dir + digest_name
164
170
 
165
171
  # Ensure that the parent directory `a/b` for modules with names like `a/b/c` exist.
166
172
  digest_asset_path.dirname.mkpath
167
173
 
168
- requirejs.manifest[asset_name] = digest_name
174
+ requirejs.manifest[module_script_name] = digest_name
169
175
  FileUtils.cp built_asset_path, digest_asset_path
170
176
 
171
177
  # Create the compressed versions
@@ -1,5 +1,5 @@
1
1
  /** vim: et:ts=4:sw=4:sts=4
2
- * @license RequireJS 2.1.17 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
2
+ * @license RequireJS 2.1.19 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.17',
15
+ version = '2.1.19',
16
16
  commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
17
17
  cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
18
18
  jsSuffixRegExp = /\.js$/,
@@ -589,7 +589,7 @@ var requirejs, require, define;
589
589
  id: mod.map.id,
590
590
  uri: mod.map.url,
591
591
  config: function () {
592
- return getOwn(config.config, mod.map.id) || {};
592
+ return getOwn(config.config, mod.map.id) || {};
593
593
  },
594
594
  exports: mod.exports || (mod.exports = {})
595
595
  });
@@ -1117,6 +1117,9 @@ var requirejs, require, define;
1117
1117
  this.depCount += 1;
1118
1118
 
1119
1119
  on(depMap, 'defined', bind(this, function (depExports) {
1120
+ if (this.undefed) {
1121
+ return;
1122
+ }
1120
1123
  this.defineDep(i, depExports);
1121
1124
  this.check();
1122
1125
  }));
@@ -1233,7 +1236,8 @@ var requirejs, require, define;
1233
1236
  while (defQueue.length) {
1234
1237
  args = defQueue.shift();
1235
1238
  if (args[0] === null) {
1236
- return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.length - 1]));
1239
+ return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' +
1240
+ args[args.length - 1]));
1237
1241
  } else {
1238
1242
  //args are id, deps, factory. Should be normalized by the
1239
1243
  //define() function.
@@ -1320,7 +1324,7 @@ var requirejs, require, define;
1320
1324
  each(cfg.packages, function (pkgObj) {
1321
1325
  var location, name;
1322
1326
 
1323
- pkgObj = typeof pkgObj === 'string' ? { name: pkgObj } : pkgObj;
1327
+ pkgObj = typeof pkgObj === 'string' ? {name: pkgObj} : pkgObj;
1324
1328
 
1325
1329
  name = pkgObj.name;
1326
1330
  location = pkgObj.location;
@@ -1347,7 +1351,7 @@ var requirejs, require, define;
1347
1351
  //late to modify them, and ignore unnormalized ones
1348
1352
  //since they are transient.
1349
1353
  if (!mod.inited && !mod.map.unnormalized) {
1350
- mod.map = makeModuleMap(id);
1354
+ mod.map = makeModuleMap(id, null, true);
1351
1355
  }
1352
1356
  });
1353
1357
 
@@ -1483,6 +1487,7 @@ var requirejs, require, define;
1483
1487
  var map = makeModuleMap(id, relMap, true),
1484
1488
  mod = getOwn(registry, id);
1485
1489
 
1490
+ mod.undefed = true;
1486
1491
  removeScript(id);
1487
1492
 
1488
1493
  delete defined[id];
@@ -1493,7 +1498,7 @@ var requirejs, require, define;
1493
1498
  //in array so that the splices do not
1494
1499
  //mess up the iteration.
1495
1500
  eachReverse(defQueue, function(args, i) {
1496
- if(args[0] === id) {
1501
+ if (args[0] === id) {
1497
1502
  defQueue.splice(i, 1);
1498
1503
  }
1499
1504
  });
@@ -1852,6 +1857,9 @@ var requirejs, require, define;
1852
1857
  if (isBrowser) {
1853
1858
  //In the browser so use a script tag
1854
1859
  node = req.createNode(config, moduleName, url);
1860
+ if (config.onNodeCreated) {
1861
+ config.onNodeCreated(node, config, moduleName, url);
1862
+ }
1855
1863
 
1856
1864
  node.setAttribute('data-requirecontext', context.contextName);
1857
1865
  node.setAttribute('data-requiremodule', moduleName);
@@ -1980,7 +1988,7 @@ var requirejs, require, define;
1980
1988
  //like a module name.
1981
1989
  mainScript = mainScript.replace(jsSuffixRegExp, '');
1982
1990
 
1983
- //If mainScript is still a path, fall back to dataMain
1991
+ //If mainScript is still a path, fall back to dataMain
1984
1992
  if (req.jsExtRegExp.test(mainScript)) {
1985
1993
  mainScript = dataMain;
1986
1994
  }
@@ -2066,7 +2074,6 @@ var requirejs, require, define;
2066
2074
  jQuery: true
2067
2075
  };
2068
2076
 
2069
-
2070
2077
  /**
2071
2078
  * Executes the text. Normally just uses eval, but can be modified
2072
2079
  * to use a better, environment-specific call. Only used for transpiling
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.8
4
+ version: 0.9.9
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-05-28 00:00:00.000000000 Z
11
+ date: 2015-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties