Skip to content

Commit d79282d

Browse files
committed
fix split and trim regex
1 parent 3f02988 commit d79282d

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

lib/parser.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ var parse5 = require('parse5')
22
var parser = new parse5.Parser(null, { locationInfo: true })
33
var cache = require('lru-cache')(100)
44
var SourceMapGenerator = require('source-map').SourceMapGenerator
5-
var splitRE = /\n\r|\n|\r/g
5+
var splitRE = /\r?\n/g
6+
var trimRE = /^(\s|\r?\n)+/
67
var hash = require('hash-sum')
78

89
module.exports = function (content, filename) {
@@ -80,7 +81,7 @@ module.exports = function (content, filename) {
8081
var start = node.childNodes[0].__location.start
8182
var end = node.childNodes[node.childNodes.length - 1].__location.end
8283
var result = content.slice(start, end)
83-
var trimmedResult = result.trim() + '\n'
84+
var trimmedResult = result.replace(trimRE, '')
8485
var trimmed = trimmedResult.length - result.length
8586
var lineOffset = content.slice(0, start + trimmed).split(splitRE).length
8687
var map = new SourceMapGenerator()

test/test.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,11 @@ describe('vue-loader', function () {
152152
getFile('test.build.js', function (code) {
153153
var line
154154
var col
155-
code.split('\n').some(function (l, i) {
155+
var lines = code.split(/\r?\n/g)
156+
lines.some(function (l, i) {
156157
if (l.indexOf('Hello from Component A') > -1) {
157-
line = i + 1
158-
col = l.length
158+
line = i
159+
col = lines[i - 1].length
159160
return true
160161
}
161162
})

0 commit comments

Comments
 (0)