@mometa/materials-resolver
Version:
Resolve materials config
46 lines • 1.71 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import findUp from 'find-up';
import * as nps from 'path';
function isModFile(filename, mod) {
const base = nps.basename(filename);
// if (base === 'package.json') {
// return !!require(filename)[mod]
// }
return base.includes(mod);
}
export const materialExplorer = {
search(dir) {
return __awaiter(this, void 0, void 0, function* () {
const filepath = yield materialExplorer.findUp(dir);
if (!filepath) {
return {
filepath,
isEmpty: true,
config: null
};
}
return {
filepath,
isEmpty: false,
config: require(filepath)
};
});
},
findUp(dir) {
return findUp('mometa-material.config.js', {
cwd: dir
});
}
};
export function isMaterialsFile(filename) {
return isModFile(filename, 'mometa-material');
}
//# sourceMappingURL=search-core.js.map