Skip to content

Commit e56f8b2

Browse files
wmzykaisermann
authored andcommitted
feat: support dart-sass
1 parent 9ca7361 commit e56f8b2

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

Diff for: src/transformers/scss.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
const sass = require('node-sass')
1+
const {requireAny} = require('../utils')
2+
const sass = requireAny('node-sass', 'sass')
23

34
const { getIncludePaths } = require('../utils.js')
45

Diff for: src/utils.js

+9
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,12 @@ exports.runTransformer = (name, options, { content, filename }) => {
7676
throwError(`Error transforming '${name}'. Message:\n${e.message}`)
7777
}
7878
}
79+
80+
exports.requireAny = (...modules) => {
81+
for (let m of modules) {
82+
try {
83+
return require(m)
84+
} catch(e) {}
85+
}
86+
throw new Error(`Cannot find any of modules: ${modules}`)
87+
}

Diff for: test/utils.test.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const {requireAny} = require('../src/utils')
2+
3+
describe('utils - requireAny', () => {
4+
it('should throw error when none exist', () => {
5+
expect(() => {
6+
requireAny('_1', '_2')
7+
}).toThrow('_1,_2');
8+
})
9+
10+
it('should not throw error when any exist', () => {
11+
expect(requireAny('_1', 'node-sass', '_2')).toBe(require('node-sass'));
12+
})
13+
})

0 commit comments

Comments
 (0)