astro-ghostcms/.pnpm-store/v3/files/f5/be1f7d23fcd1cebc0e49ff7e712...

47 lines
1.9 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "findAtConfigPath", {
enumerable: true,
get: function() {
return findAtConfigPath;
}
});
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function findAtConfigPath(root, result) {
let configPath = null;
let relativeTo = null;
root.walkAtRules("config", (rule)=>{
var _rule_source;
var _rule_source_input_file, _ref;
relativeTo = (_ref = (_rule_source_input_file = (_rule_source = rule.source) === null || _rule_source === void 0 ? void 0 : _rule_source.input.file) !== null && _rule_source_input_file !== void 0 ? _rule_source_input_file : result.opts.from) !== null && _ref !== void 0 ? _ref : null;
if (relativeTo === null) {
throw rule.error("The `@config` directive cannot be used without setting `from` in your PostCSS config.");
}
if (configPath) {
throw rule.error("Only one `@config` directive is allowed per file.");
}
let matches = rule.params.match(/(['"])(.*?)\1/);
if (!matches) {
throw rule.error("A path is required when using the `@config` directive.");
}
let inputPath = matches[2];
if (_path.default.isAbsolute(inputPath)) {
throw rule.error("The `@config` directive cannot be used with an absolute path.");
}
configPath = _path.default.resolve(_path.default.dirname(relativeTo), inputPath);
if (!_fs.default.existsSync(configPath)) {
throw rule.error(`The config file at "${inputPath}" does not exist. Make sure the path is correct and the file exists.`);
}
rule.remove();
});
return configPath ? configPath : null;
}