@@ -4,10 +4,13 @@ var cache = require('lru-cache')(100)
4
4
var SourceNode = require ( 'source-map' ) . SourceNode
5
5
var SourceMapGenerator = require ( 'source-map' ) . SourceMapGenerator
6
6
var splitRE = / \n \r | \n | \r / g
7
+ var hash = require ( 'hash-sum' )
7
8
8
9
module . exports = function ( content , filename ) {
9
10
10
- var cacheKey = filename + 'XXX' + content
11
+ var cacheKey = hash ( filename + content )
12
+ // source-map cache busting for hot-reloadded modules
13
+ var filenameWithHash = filename + '?' + cacheKey
11
14
var output = cache . get ( cacheKey )
12
15
if ( output ) return output
13
16
@@ -80,11 +83,11 @@ module.exports = function (content, filename) {
80
83
var result = content . slice ( start , end )
81
84
var lineOffset = content . slice ( 0 , start ) . split ( splitRE ) . length - 1
82
85
var map = new SourceMapGenerator ( )
83
- map . setSourceContent ( filename , content )
86
+ map . setSourceContent ( filenameWithHash , content )
84
87
85
88
result . split ( splitRE ) . forEach ( function ( line , index ) {
86
89
map . addMapping ( {
87
- source : filename ,
90
+ source : filenameWithHash ,
88
91
original : {
89
92
line : index + 1 + lineOffset ,
90
93
column : 0
0 commit comments