Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,21 @@ Works same as original. But they are loaded **after** require.js script file

### templateOptions.version
Type: `String`
Options: `2.0.0` to `2.1.10` or path to a local file system version(relative to Gruntfile.js). Absolute path is allowed as well. Default: latest requirejs version included
Options: `2.0.0` to `2.1.19` or path to a local file system version(relative to Gruntfile.js). Absolute path is allowed as well. Default: latest requirejs version included

The version of requirejs to use.

### templateOptions.requireAllSource
Type: `Boolean`
Default: true

Whether all source files should be required before the tests start.

### templateOptions.transformSourceRequires
Type: `function`

Optional function that is run on every source require dependency added to the page. Use this to map file-names to module id's if you have mapping involved, but still want to require in all the source.

### templateOptions.requireConfigFile
Type `String` or `Array`

Expand Down
35 changes: 23 additions & 12 deletions src/template-jasmine-requirejs.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,16 @@ var template = __dirname + '/templates/jasmine-requirejs.html',
'2.1.7' : __dirname + '/../vendor/require-2.1.7.js',
'2.1.8' : __dirname + '/../vendor/require-2.1.8.js',
'2.1.9' : __dirname + '/../vendor/require-2.1.9.js',
'2.1.10' : __dirname + '/../vendor/require-2.1.10.js'
'2.1.10' : __dirname + '/../vendor/require-2.1.10.js',
'2.1.11' : __dirname + '/../vendor/require-2.1.11.js',
'2.1.12' : __dirname + '/../vendor/require-2.1.12.js',
'2.1.13' : __dirname + '/../vendor/require-2.1.13.js',
'2.1.14' : __dirname + '/../vendor/require-2.1.14.js',
'2.1.15' : __dirname + '/../vendor/require-2.1.15.js',
'2.1.16' : __dirname + '/../vendor/require-2.1.16.js',
'2.1.17' : __dirname + '/../vendor/require-2.1.17.js',
'2.1.18' : __dirname + '/../vendor/require-2.1.18.js',
'2.1.19' : __dirname + '/../vendor/require-2.1.19.js'
},
path = require('path'),
parse = require('./lib/parse');
Expand Down Expand Up @@ -99,23 +108,25 @@ exports.process = function(grunt, task, context) {
/**
* Find and resolve specified baseUrl.
*/
function getBaseUrl() {
var outDir = path.dirname(path.join(process.cwd(), context.outfile));
var requireBaseUrl = context.options.requireConfig && context.options.requireConfig.baseUrl;

if (requireBaseUrl && grunt.file.isDir(outDir, requireBaseUrl)) {
return requireBaseUrl;
} else {
return outDir;
}
var outDir = path.dirname(path.join(process.cwd(), context.outfile));
var baseDir;
var requireBaseUrl = context.options.requireConfig && context.options.requireConfig.baseUrl;
var requireBaseDir = requireBaseUrl && path.join(outDir, requireBaseUrl);

if (requireBaseDir && grunt.file.isDir(requireBaseDir)) {
baseDir = requireBaseDir;
} else {
baseDir = outDir;
}
var baseUrl = getBaseUrl();

/**
* Retrieves the module URL for a require call relative to the specified Base URL.
*/
function getRelativeModuleUrl(src) {
return path.relative(baseUrl, src).replace(/\.js$/, '');
if (!path.isAbsolute(src)) {
src = path.join(outDir, src);
}
return path.relative(baseDir, src).replace(/\.js$/, '');
}

// Remove baseUrl and .js from src files
Expand Down
22 changes: 13 additions & 9 deletions src/templates/jasmine-requirejs.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,18 +76,22 @@
window.onload = null;

function launchTest() {
require([
<% scripts.src.forEach(function(script, i){ %>
<% script = script.replace(/\\/g, '/') // replace all backward slashes to forward slash %>
'<%= script %>' <%= i < scripts.src.length-1 ? ',' : '' %>
<% }) %>
],
function(){
<% if (options.requireAllSource !== false) { %>
require([
<% scripts.src.forEach(function(script, i){ %>
<% script = script.replace(/\\/g, '/'); // replace all backward slashes to forward slash %>
<% if (options.transformSourceRequires) script = options.transformSourceRequires(script); %>
'<%= script %>' <%= i < scripts.src.length-1 ? ',' : '' %>
<% }) %>
],
function(){
<% } %>
require(['<%= [].concat(scripts.specs,scripts.reporters).join("','") %>'], function(){
startTests();
});
}
)
<% if (options.requireAllSource !== false) { %>
})
<% } %>
}
</script>

Expand Down
36 changes: 36 additions & 0 deletions vendor/require-2.1.11.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading