| 12345678910111213141516171819202122232425262728293031323334353637 |
- var util = require('util');
- var path = require('path');
- var fs = require('fs');
- var HtmlWebpackPlugin = require('html-webpack-plugin');
- var jasmineCore = require('jasmine-core');
- var jasmineFiles = jasmineCore.files;
- var jasminePath = toRelativePath(jasmineFiles.path);
- var jasmineBootDir = toRelativePath(jasmineFiles.bootDir);
- function JasmineWebpackPlugin(options) {
- options = options || {};
- return new HtmlWebpackPlugin({
- inject: true,
- filename: options.filename || 'SpecRunner.html',
- template: path.join(__dirname, 'template.ejs'),
- baseJasminePath: options.baseJasminePath || '',
- jasmineJsFiles: toRelativeFiles(jasminePath, jasmineFiles.jsFiles).concat(toRelativeFiles(jasmineBootDir, jasmineFiles.bootFiles)),
- jasmineCssFiles: toRelativeFiles(jasminePath, jasmineFiles.cssFiles),
- externalJsFiles: options.externalJsFiles || [],
- externalCssFiles: options.externalCssFiles || [],
- minify: false,
- });
- }
- function toRelativePath(dirname) {
- return dirname.replace(process.cwd(), '').replace(/^\//, '');
- }
- function toRelativeFiles(dirname, files) {
- return files.map(function(file) {
- return path.join(dirname, file);
- });
- }
- module.exports = JasmineWebpackPlugin;
|