Don't break when options._flags is undefined entirely
This commit is contained in:
parent
92bcf4fdca
commit
3efa28c9f1
|
@ -18,7 +18,7 @@ module.exports = function (state) {
|
|||
let allCss = "";
|
||||
let loaderItem;
|
||||
|
||||
let entryPoint = (options._flags.entries != null)
|
||||
let entryPoint = (options._flags != null && options._flags.entries != null)
|
||||
// Get the (absolute!) path of the folder containing the initial entry file, as a reference point for relative paths in the output
|
||||
? path.dirname(path.resolve(options._flags.entries[0]))
|
||||
// ... or, if no entry file is specified, go off the current working directory
|
||||
|
@ -27,13 +27,13 @@ module.exports = function (state) {
|
|||
return stream((item) => {
|
||||
// And the same for the loader shim path. All this relative-path stuff is to prevent absolute filesystem URLs from leaking into the output, as those might contain sensitive information.
|
||||
let relativeLoaderPath = path.relative(path.dirname(item.file), loaderShimPath);
|
||||
|
||||
|
||||
if (isCss(item)) {
|
||||
return Promise.try(() => {
|
||||
return processFile(item);
|
||||
}).then(({ result, icssExports }) => {
|
||||
allCss += `/* from ${path.relative(entryPoint, item.file)} */\n\n${result.css}\n\n`;
|
||||
|
||||
|
||||
if (!item.__icssify__discardable) {
|
||||
return {
|
||||
... item,
|
||||
|
@ -56,6 +56,7 @@ module.exports = function (state) {
|
|||
source: loaderItem.source.replace('"## CONTENT MARKER ##"', JSON.stringify(allCss))
|
||||
};
|
||||
} else {
|
||||
// FIXME: Can occur if some dependency also gets processed and require()s a CSS file, but does not specify icssify as a transform (but the using project does) -- like with ui-lib + site-builder
|
||||
throw new Error("Processed CSS, but global loader was not encountered. This should never happen, please report it as a bug!");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue