UNPKG

1.01 kBJavaScriptView Raw
1const fs = require('fs').promises;
2const { exists } = require('../util/helpers');
3
4const templateInfo = [
5 {
6 name: 'postcss',
7 filepath: '.postcssrc.js',
8 template: `\
9const { combineConfigSync } = require('@gera2ld/plaid/util/helpers');
10const precss = require('@gera2ld/plaid/postcss/precss');
11
12module.exports = combineConfigSync({}, [precss]);`,
13 successMessage: 'PostCSS config is generated successfully at .postcssrc.js',
14 },
15];
16
17
18async function generate(cmd, name) {
19 const info = templateInfo.find(info => info.name === name);
20 if (info) {
21 await handleConflict(info.filepath, info.template);
22 console.info(info.successMessage);
23 return;
24 }
25 throw new Error(`Unknown type to generate: ${name}`);
26}
27
28async function handleConflict(filepath, content) {
29 if (await exists(filepath, { file: true })) {
30 throw new Error(`File already exists: ${filepath}`);
31 }
32 return fs.writeFile(filepath, content, 'utf8');
33}
34
35generate.templateInfo = templateInfo;
36module.exports = generate;