You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.0 KiB
47 lines
1.0 KiB
'use strict' |
|
|
|
const req = require('./req.js') |
|
|
|
/** |
|
* Load Options |
|
* |
|
* @private |
|
* @method options |
|
* |
|
* @param {Object} config PostCSS Config |
|
* |
|
* @return {Object} options PostCSS Options |
|
*/ |
|
const options = (config, file) => { |
|
if (config.parser && typeof config.parser === 'string') { |
|
try { |
|
config.parser = req(config.parser, file) |
|
} catch (err) { |
|
throw new Error(`Loading PostCSS Parser failed: ${err.message}\n\n(@${file})`) |
|
} |
|
} |
|
|
|
if (config.syntax && typeof config.syntax === 'string') { |
|
try { |
|
config.syntax = req(config.syntax, file) |
|
} catch (err) { |
|
throw new Error(`Loading PostCSS Syntax failed: ${err.message}\n\n(@${file})`) |
|
} |
|
} |
|
|
|
if (config.stringifier && typeof config.stringifier === 'string') { |
|
try { |
|
config.stringifier = req(config.stringifier, file) |
|
} catch (err) { |
|
throw new Error(`Loading PostCSS Stringifier failed: ${err.message}\n\n(@${file})`) |
|
} |
|
} |
|
|
|
if (config.plugins) { |
|
delete config.plugins |
|
} |
|
|
|
return config |
|
} |
|
|
|
module.exports = options
|
|
|