1
+ var os = require ( 'os' )
1
2
var _ = require ( 'lodash' )
2
3
var path = require ( 'path' )
3
4
var async = require ( 'async' )
@@ -47,8 +48,8 @@ function Plugin(
47
48
48
49
// Must have the common _karma_webpack_ prefix on path here to avoid
49
50
// https://github.com/webpack/webpack/issues/645
50
- webpackOptions . output . path = '/ _karma_webpack_/' + indexPath
51
- webpackOptions . output . publicPath = '/ _karma_webpack_/' + publicPath
51
+ webpackOptions . output . path = path . join ( os . tmpdir ( ) , ' _karma_webpack_' , indexPath )
52
+ webpackOptions . output . publicPath = path . join ( os . tmpdir ( ) , ' _karma_webpack_' , publicPath )
52
53
webpackOptions . output . filename = '[name]'
53
54
if ( includeIndex ) {
54
55
webpackOptions . output . jsonpFunction = 'webpackJsonp' + index
@@ -132,11 +133,11 @@ function Plugin(
132
133
}
133
134
} . bind ( this ) )
134
135
135
- webpackMiddlewareOptions . publicPath = '/ _karma_webpack_/'
136
+ webpackMiddlewareOptions . publicPath = path . join ( os . tmpdir ( ) , ' _karma_webpack_' )
136
137
var middleware = this . middleware = new webpackDevMiddleware ( compiler , webpackMiddlewareOptions )
137
138
138
139
customFileHandlers . push ( {
139
- urlRegex : / ^ \/ _ k a r m a _ w e b p a c k _ \/ .* / ,
140
+ urlRegex : new RegExp ( '^' + os . tmpdir ( ) + ' \/_karma_webpack_\/.*/' ) ,
140
141
handler : function ( req , res ) {
141
142
middleware ( req , res , function ( ) {
142
143
res . statusCode = 404
@@ -197,7 +198,7 @@ Plugin.prototype.readFile = function(file, callback) {
197
198
var doRead = function ( ) {
198
199
if ( optionsCount > 1 ) {
199
200
async . times ( optionsCount , function ( idx , callback ) {
200
- middleware . fileSystem . readFile ( '/ _karma_webpack_/' + idx + '/' + file . replace ( / \\ / g, '/' ) , callback )
201
+ middleware . fileSystem . readFile ( path . join ( os . tmpdir ( ) , ' _karma_webpack_' , idx , file . replace ( / \\ / g, '/' ) ) , callback )
201
202
} , function ( err , contents ) {
202
203
if ( err ) {
203
204
return callback ( err )
@@ -214,7 +215,7 @@ Plugin.prototype.readFile = function(file, callback) {
214
215
} )
215
216
} else {
216
217
try {
217
- var fileContents = middleware . fileSystem . readFileSync ( '/ _karma_webpack_/' + file . replace ( / \\ / g, '/' ) )
218
+ var fileContents = middleware . fileSystem . readFileSync ( path . join ( os . tmpdir ( ) , ' _karma_webpack_' , file . replace ( / \\ / g, '/' ) ) )
218
219
219
220
callback ( undefined , fileContents )
220
221
} catch ( e ) {
0 commit comments