All files / src/commands add-makefile.js

16.67% Statements 1/6
100% Branches 0/0
0% Functions 0/5
16.67% Lines 1/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32          5x                                                    
import {allDoExist, allDoExistSync, allDoNotExist, MakefileEditor} from '../api';
/**
 * @type {task[]}
 * @see https://www.gnu.org/software/make/manual/html_node/Simple-Makefile.html#Simple-Makefile
 */
export const addMakefile = [
    {
        text: 'Create Makefile',
        task: async () => {
            await (new MakefileEditor())
                .create()
                .write('# Makefile built with tomo')
                .commit();
        },
        condition: () => allDoNotExist('Makefile')
    },
    {
        text: 'Import tasks from package.json scripts',
        task: async () => {
            await (new MakefileEditor())
                .delete()
                .create()
                .importScripts()
                .appendScripts()
                .appendHelpTask()
                .commit();
        },
        condition: () => allDoExist('Makefile', 'package.json'),
        optional: () => allDoExistSync('Makefile', 'package.json')
    }
];
export default addMakefile;