second commit
This commit is contained in:
59
node_modules/postcss-import/lib/process-content.js
generated
vendored
Normal file
59
node_modules/postcss-import/lib/process-content.js
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
"use strict"
|
||||
|
||||
// builtin tooling
|
||||
const path = require("path")
|
||||
|
||||
// placeholder tooling
|
||||
let sugarss
|
||||
|
||||
module.exports = function processContent(
|
||||
result,
|
||||
content,
|
||||
filename,
|
||||
options,
|
||||
postcss
|
||||
) {
|
||||
const { plugins } = options
|
||||
const ext = path.extname(filename)
|
||||
|
||||
const parserList = []
|
||||
|
||||
// SugarSS support:
|
||||
if (ext === ".sss") {
|
||||
if (!sugarss) {
|
||||
try {
|
||||
sugarss = require("sugarss")
|
||||
} catch {} // Ignore
|
||||
}
|
||||
if (sugarss)
|
||||
return runPostcss(postcss, content, filename, plugins, [sugarss])
|
||||
}
|
||||
|
||||
// Syntax support:
|
||||
if (result.opts.syntax?.parse) {
|
||||
parserList.push(result.opts.syntax.parse)
|
||||
}
|
||||
|
||||
// Parser support:
|
||||
if (result.opts.parser) parserList.push(result.opts.parser)
|
||||
// Try the default as a last resort:
|
||||
parserList.push(null)
|
||||
|
||||
return runPostcss(postcss, content, filename, plugins, parserList)
|
||||
}
|
||||
|
||||
function runPostcss(postcss, content, filename, plugins, parsers, index) {
|
||||
if (!index) index = 0
|
||||
return postcss(plugins)
|
||||
.process(content, {
|
||||
from: filename,
|
||||
parser: parsers[index],
|
||||
})
|
||||
.catch(err => {
|
||||
// If there's an error, try the next parser
|
||||
index++
|
||||
// If there are no parsers left, throw it
|
||||
if (index === parsers.length) throw err
|
||||
return runPostcss(postcss, content, filename, plugins, parsers, index)
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user