Skip to content

Commit 3d44318

Browse files
authored
improve error message on invalid CSS (#107)
1 parent c351f74 commit 3d44318

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/parser/index.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const postcss = require('postcss')
1+
const {parse} = require('postcss')
22
const atRules = require('./atrules')
33
const rules = require('./rules')
44
const selectors = require('./selectors')
@@ -15,16 +15,18 @@ function processNodes(tree) {
1515

1616
module.exports = async css => {
1717
try {
18-
const result = await postcss.parse(css)
18+
const result = await parse(css)
1919
const rootNode = result.toResult().root
2020

2121
return Promise.resolve(processNodes(rootNode))
2222
} catch (error) {
23-
const {source, line, column, reason} = error
23+
const {line, column, reason} = error
2424

2525
return Promise.reject(
2626
new SyntaxError(
27-
`${reason} at line ${line}, column ${column}. Source: ${source}`
27+
`${reason} at line ${line}, column ${column}:\n\n${error.showSourceCode(
28+
false
29+
)}`
2830
)
2931
)
3032
}

test/parser/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ test('parser throws a useful error on invalid CSS', async t => {
3131

3232
t.is(
3333
error.message,
34-
'Unknown word at line 1, column 5. Source: a { color red }'
34+
'Unknown word at line 1, column 5:\n\n> 1 | a { color red }\n | ^'
3535
)
3636
})

0 commit comments

Comments
 (0)