Skip to content

Commit e3b43bd

Browse files
committed
Fix: lib cleanup - building blocks
1 parent 49e9b36 commit e3b43bd

File tree

13 files changed

+131
-94
lines changed

13 files changed

+131
-94
lines changed

bin/create-collabo-app

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,15 @@
22

33
var require = require('esm')(module /*, options */);
44

5-
const { readdirSync, access, constants } = require('fs');
5+
const { access, constants } = require('fs');
66
const { promisify } = require('util');
77
const { join } = require('path');
8-
const { warning, error } = require('../lib/helpers');
8+
const { warning, error } = require('../lib/js/helpers/prettify');
9+
const { folder } = require('../lib/nodejs/helpers/folder');
910

1011
const { argv, env } = process;
1112
const fs_access = promisify(access);
1213

13-
const folder = {
14-
content: {
15-
/* ---------------------------------------------------
16-
Returns: Array of strings
17-
Description: Lists the files and/or folders in the
18-
folder supplied
19-
----------------------------------------------------*/
20-
list: ({ targetFolder }) => {
21-
const folderContent = readdirSync(targetFolder, (err, filesAndFolders) => {
22-
if (err) {
23-
throw err;
24-
}
25-
return filesAndFolders;
26-
});
27-
return folderContent;
28-
},
29-
/* -----------------------------------------------------
30-
Returns: boolean
31-
Description: Confirms the existence of a single file
32-
or folder, inside the folder supplied
33-
-------------------------------------------------------*/
34-
exists: ({ searchFolder, searchFor }) => {
35-
const folderContent = folder.content.list({ targetFolder: searchFolder });
36-
return folderContent.some(folder => folder === searchFor);
37-
},
38-
},
39-
};
40-
4114
const rootFolder = './';
4215

4316
const devMode = folder.content.exists({ searchFolder: rootFolder, searchFor: 'dev' });

dev/cleanup.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { readdirSync, rmdirSync } from 'fs';
22
import { repo } from './developer';
33
const { cwd, chdir } = process;
4-
import { success, warning, error, consoleLog } from '../lib/helpers';
4+
import { success, warning, error, prettify } from '../lib/js/helpers/prettify';
55

66
// cd into repo root
77
chdir('../');
@@ -32,7 +32,7 @@ if (filterContentToGetTheOnesGeneratedByCLI.length) {
3232
success(`✔ ${folder} folder deleted successfully`);
3333
return rmdirSync(folder, { recursive: true, force: true });
3434
});
35-
consoleLog('');
35+
prettify.log.color.none('');
3636
} catch (err) {
3737
error(err);
3838
}

dev/customize/startMessage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
import { success } from '../../lib/helpers';
1+
import { success } from '../../lib/js/helpers/prettify';
22

33
success('\nℹ create-collabo-app: running in dev mode...\n');

dev/customize/testMessage.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
import { cyanBrightLog } from '../../lib/helpers';
1+
import { prettify } from '../../lib/js/helpers/prettify';
22

3-
cyanBrightLog('\nℹ create-collabo-app: running jasmine tests...\n');
3+
prettify.log.color.cyanBright('\nℹ create-collabo-app: running jasmine tests...\n');

lib/helpers/index.js

Lines changed: 0 additions & 43 deletions
This file was deleted.

lib/js/helpers/prettify.js

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import chalk from 'chalk';
2+
3+
/* eslint-disable no-console */
4+
5+
const prettify = {
6+
/* -------------------------------
7+
Apply color to the whole message
8+
in console.log()
9+
--------------------------------*/
10+
log: {
11+
success: (message) => {
12+
console.log( prettify.text.success(message) );
13+
},
14+
warning: (message) => {
15+
console.log( prettify.text.warning(message) );
16+
},
17+
error: (message) => {
18+
console.log( prettify.text.error(message) );
19+
},
20+
color: {
21+
none: (message) => {
22+
console.log(message);
23+
},
24+
//----------------------------------
25+
redBold: (message, err) => {
26+
console.log( prettify.text.color.redBold(message), err );
27+
},
28+
//----------------------------------
29+
cyanBright: (message) => {
30+
console.log( prettify.text.color.cyanBright(message) );
31+
},
32+
green: (message) => {
33+
return prettify.text.color.green(message);
34+
}
35+
},
36+
},
37+
/* ------------------------------------------
38+
Helpers for coloring all text within methods
39+
that use console.log() or for coloring some
40+
part of console message text
41+
-------------------------------------------*/
42+
text: {
43+
success: (message) => {
44+
return chalk.greenBright(message);
45+
},
46+
warning: (message) => {
47+
return chalk.yellowBright(message);
48+
},
49+
error: (message) => {
50+
return chalk.redBright(message);
51+
},
52+
color: {
53+
redBold: (message) => {
54+
return chalk.red.bold(message);
55+
},
56+
cyanBright: (message) => {
57+
return chalk.cyanBright(message);
58+
},
59+
green: (message) => {
60+
return chalk.green(message);
61+
}
62+
}
63+
}
64+
}
65+
66+
const { log } = prettify;
67+
const { success, warning, error } = log;
68+
69+
export {
70+
prettify,
71+
success,
72+
warning,
73+
error,
74+
};

lib/nodejs/helpers/folder.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
const { readdirSync } = require('fs');
2+
3+
const folder = {
4+
content: {
5+
/* ---------------------------------------------------
6+
Returns: Array of strings
7+
Description: Lists the files and/or folders in the
8+
folder supplied
9+
----------------------------------------------------*/
10+
list: ({ targetFolder }) => {
11+
const folderContent = readdirSync(targetFolder, (err, filesAndFolders) => {
12+
if (err) {
13+
throw err;
14+
}
15+
return filesAndFolders;
16+
});
17+
return folderContent;
18+
},
19+
/* -----------------------------------------------------
20+
Returns: boolean
21+
Description: Confirms the existence of a single file
22+
or folder, inside the folder supplied
23+
-------------------------------------------------------*/
24+
exists: ({ searchFolder, searchFor }) => {
25+
const folderContent = folder.content.list({ targetFolder: searchFolder });
26+
return folderContent.some(folder => folder === searchFor);
27+
},
28+
},
29+
};
30+
31+
export {
32+
folder,
33+
};

src/cli.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { folderNameMissingOptionPrompt } from './prompts/foldername';
55
import { templateMissingOptionPrompt } from './prompts/template';
66
import { downloadTemplateKit } from './main';
77
import { Ioptions } from './interfaces';
8-
import { consoleLog, redBoldLog } from '../lib/helpers';
8+
import { prettify } from '../lib/js/helpers/prettify';
99

1010
let parseArgumentsIntoOptions = (rawArgs: string[]) => {
1111

@@ -81,7 +81,7 @@ let otherOptions = async (options: Ioptions) => {
8181
try {
8282
await downloadTemplateKit(options);
8383
} catch (err) {
84-
redBoldLog('ERROR', err);
84+
prettify.log.color.redBold('ERROR', err);
8585
}
8686
}
8787

@@ -97,6 +97,6 @@ export let cli = async (args: string[]) => {
9797
await otherOptions(options as Ioptions);
9898
}
9999
} catch (err) {
100-
consoleLog('');
100+
prettify.log.color.none('');
101101
}
102102
}

src/help.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { warning, consoleLog } from '../lib/helpers';
1+
import { prettify, warning } from '../lib/js/helpers/prettify';
22

33
export const help = () => {
4-
consoleLog(
4+
prettify.log.color.none(
55
`
66
Usage:
77
collabo-be <folder_name> <template>
@@ -55,7 +55,7 @@ folder name used already exists.
5555
}
5656

5757
export const notRecognised = () => {
58-
consoleLog(
58+
prettify.log.color.none(
5959
`
6060
Flag(s) not recognised. Use any of the help command below for more info:
6161

src/main.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Listr from 'listr';
77
import { spawn } from 'child_process';
88
import { userSupport } from './help';
99
import { Ioptions, ItemplateOptions } from './interfaces';
10-
import { greenNoConsole, redBoldNoConsole } from '../lib/helpers';
10+
import { prettify } from '../lib/js/helpers/prettify';
1111

1212
const access = promisify(fs.access);
1313
const copy = promisify(ncp);
@@ -110,7 +110,7 @@ export let downloadTemplateKit = async (options: Ioptions) => {
110110
}).stdout?.pipe(process.stdout);
111111
});
112112
} catch (err) {
113-
console.error(`\n%s Template name or directory path is (probably) incorrect`, redBoldNoConsole('ERROR'));
113+
console.error(`\n%s Template name or directory path is (probably) incorrect`, prettify.text.color.redBold('ERROR'));
114114
userSupport();
115115
process.exit(1);
116116
}
@@ -123,7 +123,7 @@ export let downloadTemplateKit = async (options: Ioptions) => {
123123

124124
const listrTasks = new Listr([
125125
{
126-
title: `${greenNoConsole(`${options.template} template`)} copied into the generated folder ${greenNoConsole(`=> ${options.folderName}`)}`,
126+
title: `${prettify.text.color.green(`${options.template} template`)} copied into the generated folder ${prettify.text.color.green(`=> ${options.folderName}`)}`,
127127
task: () => copyTemplateFolderContent(options)
128128
},
129129
{

0 commit comments

Comments
 (0)