imod
Version:
A bundler for tiny modules, powered by Rollup.
52 lines • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const path = require("path");
const utils_1 = require("./utils");
const jsonuri = require("jsonuri");
exports.default = (cwd) => {
// 寻找顺序:imod.config.js -> imod.config.json -> imodconfig.js -> imodconfig.json -> ${package.json}.config.imod
const pkg = require(path.resolve(cwd, 'package.json'));
const defaultConfig = {
name: utils_1.safeVariableName(pkg.name),
banner: '',
outDir: 'dist',
compilerOptions: [
{
format: 'esm',
extName: '.mjs',
target: 'esnext'
},
{
format: 'cjs',
extName: '.js',
target: 'es5'
},
{
format: 'umd',
extName: '.min.js',
target: 'es5'
}
]
};
const configList = [
path.resolve(cwd, 'imod.config.js'),
path.resolve(cwd, 'imod.config.json'),
path.resolve(cwd, 'imodconfig.js'),
path.resolve(cwd, 'imodconfig.json')
];
let config;
for (let path of configList) {
try {
config = utils_1.mRequire(require(path));
if (config)
break;
}
catch ( /* */_a) { /* */ }
}
if (!config) {
config = jsonuri.get(pkg, 'config/imod') || jsonuri.get(pkg, 'config/iMod') || jsonuri.get(pkg, 'imod') || jsonuri.get(pkg, 'iMod') || {};
}
config = Object.assign(Object.assign({}, defaultConfig), config);
return config;
};
//# sourceMappingURL=getUserOptions.js.map