UNPKG

874 BJavaScriptView Raw
1const path = require('path');
2const { logInfo } = require('./log');
3const { resolveFile, getPackageJson } = require('./utils');
4
5async function getInitFor(templateFile) {
6 const initPath = await resolveFile(path.join('templates', `${templateFile}.init.js`));
7 if (initPath) { return require(initPath); }
8}
9
10async function initTemplate(templateFile) {
11 const init = await getInitFor(templateFile);
12 if (!init) { throw new Error(`Unable to generate file ${templateFile}.`); }
13 await init();
14}
15
16module.exports = async () => {
17 const { name, version } = getPackageJson({ throwErrorIfNotFound: true });
18 logInfo(`Initialising package: ${name} v${version}`);
19 await initTemplate('.eslintrc');
20 await initTemplate('wallaby');
21 await initTemplate('gitignore');
22 await initTemplate('tsconfig');
23 logInfo('Finished initialising this package.');
24};