Skip to content

Commit 7c43ace

Browse files
authored
Merge pull request #40 from selemondev/feat/migrate-chalk-to-picocolors
feat: migrate from chalk to pico-colors
2 parents 713537c + fc33111 commit 7c43ace

File tree

5 files changed

+78
-77
lines changed

5 files changed

+78
-77
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@
5252
"typescript": "^5.3.3"
5353
},
5454
"dependencies": {
55-
"chalk": "^5.3.0",
5655
"commander": "^12.0.0",
5756
"ejs": "^3.1.9",
5857
"fs-extra": "^11.2.0",
59-
"prompts": "^2.4.2",
60-
"prettier": "^3.2.5",
6158
"ora": "^8.0.1",
59+
"picocolors": "^1.1.1",
60+
"prettier": "^3.2.5",
61+
"prompts": "^2.4.2",
6262
"validate-npm-package-name": "^5.0.0"
6363
}
6464
}

pnpm-lock.yaml

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 50 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,62 @@
1-
import fs from 'fs-extra'
2-
import path from 'node:path'
3-
import options from '../../../core/utils/vue/options'
4-
import { ejsRender } from '../../../utils/ejsRender'
5-
import chalk from "chalk"
6-
import { templateFilesMap } from '../../../core/utils/vue/templateFile'
7-
import { getFilterFile } from '../../../filter/filterFiles'
8-
import { fileURLToPath } from 'node:url';
9-
import { dirname } from 'node:path';
10-
import ora from 'ora'
1+
import fs from "fs-extra";
2+
import path from "node:path";
3+
import options from "../../../core/utils/vue/options";
4+
import { ejsRender } from "../../../utils/ejsRender";
5+
import pc from "picocolors";
6+
import { templateFilesMap } from "../../../core/utils/vue/templateFile";
7+
import { getFilterFile } from "../../../filter/filterFiles";
8+
import { fileURLToPath } from "node:url";
9+
import { dirname } from "node:path";
10+
import ora from "ora";
1111

1212
async function copyTemplate() {
13-
const __filename = fileURLToPath(import.meta.url);
13+
const __filename = fileURLToPath(import.meta.url);
1414

15-
const __dirname = dirname(__filename);
15+
const __dirname = dirname(__filename);
1616

17-
const spinner = ora('Copying template...').start();
17+
const spinner = ora("Copying template...").start();
1818

19-
const language = options.useTypeScript ? 'vue-ts' : 'vue-js';
19+
const language = options.useTypeScript ? "vue-ts" : "vue-js";
2020

21-
options.src = path.resolve(__dirname, `../template/${language}`);
21+
options.src = path.resolve(__dirname, `../template/${language}`);
2222

23-
const dest = options.name && path.resolve(process.cwd(), options.name)
24-
25-
options.dest = dest
23+
const dest = options.name && path.resolve(process.cwd(), options.name);
2624

27-
const templatePath = path.resolve(
28-
__dirname,
29-
`../../../../template/${language}`
30-
);
31-
options.templatePath = templatePath
25+
options.dest = dest;
3226

33-
const filterFileFn = getFilterFile()
27+
const templatePath = path.resolve(
28+
__dirname,
29+
`../../../../template/${language}`,
30+
);
31+
options.templatePath = templatePath;
3432

35-
async function copy() {
36-
const targetDirectory = path.resolve(__dirname, '../');
37-
if(!dest) {
38-
return;
39-
};
40-
await fs.copy(`${targetDirectory}/template/${language}`, dest)
33+
const filterFileFn = getFilterFile();
34+
35+
async function copy() {
36+
const targetDirectory = path.resolve(__dirname, "../");
37+
if (!dest) {
38+
return;
4139
}
42-
await copy();
43-
44-
filterFileFn && await filterFileFn();
45-
46-
options.dest && await fs.move(
47-
path.resolve(options.dest, '.gitignore.ejs'),
48-
path.resolve(options.dest, '.gitignore'),
49-
{ overwrite: true }
50-
);
51-
52-
await Promise.all(
53-
templateFilesMap
54-
.get('vue')()
55-
.map((file: string) => options.name && ejsRender(file, options.name))
56-
)
57-
spinner.text = chalk.green('Template successfully copied!');
58-
59-
spinner.succeed()
40+
await fs.copy(`${targetDirectory}/template/${language}`, dest);
41+
}
42+
await copy();
43+
44+
filterFileFn && (await filterFileFn());
45+
46+
options.dest &&
47+
(await fs.move(
48+
path.resolve(options.dest, ".gitignore.ejs"),
49+
path.resolve(options.dest, ".gitignore"),
50+
{ overwrite: true },
51+
));
52+
53+
await Promise.all(
54+
templateFilesMap
55+
.get("vue")()
56+
.map((file: string) => options.name && ejsRender(file, options.name)),
57+
);
58+
spinner.text = pc.green("Template successfully copied!");
59+
60+
spinner.succeed();
6061
}
61-
export default copyTemplate
62+
export default copyTemplate;

src/core/command/create-vue-next/install.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import options from "../../../core/utils/vue/options";
22
import { logger } from "../../../utils/logger";
33
import { createSpawnCmd } from "../../../utils/createSpawnCmd";
44
import ora from "ora";
5-
import chalk from "chalk";
5+
import pc from "picocolors";
66
import { packageManagerExecutable } from "../../../utils/package-manager-executable";
77
async function installDeps() {
88
// No output will be shown in the console
@@ -24,19 +24,19 @@ async function installDeps() {
2424
await cmdIgnore(packageManagerExecutable(options.package), [
2525
"npm-check-updates",
2626
]);
27-
spinner.text = chalk.green(
27+
spinner.text = pc.green(
2828
`Checking for dependency updates with ${options.package}.`,
2929
);
3030
spinner.succeed();
3131
spinner.start(`Updating dependencies.`);
3232
await cmdIgnore(packageManagerExecutable(options.package), [
3333
"npm-check-updates -u",
3434
]);
35-
spinner.text = chalk.green(`Updating dependencies.`);
35+
spinner.text = pc.green(`Updating dependencies.`);
3636
spinner.succeed();
3737
spinner.start(`Installing the latest dependencies.`);
3838
await cmdIgnore(options.package, ["install"]);
39-
spinner.text = chalk.green(`Installing the latest dependencies.`);
39+
spinner.text = pc.green(`Installing the latest dependencies.`);
4040
spinner.succeed();
4141
}
4242

src/utils/logger.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
import chalk from "chalk";
1+
import pc from "picocolors";
22

33
export const logger = {
4-
info: (...args: any[]) => {
5-
console.log(chalk.cyan(...args))
6-
},
4+
info: (...args: string[]) => {
5+
console.log(pc.cyan(args.map(String).join(" ")));
6+
},
77

8-
error: (...args: any[]) => {
9-
console.log(chalk.red(...args))
10-
},
8+
error: (...args: string[]) => {
9+
console.log(pc.red(args.map(String).join(" ")));
10+
},
1111

12-
warning: (...args: any[]) => {
13-
console.log(chalk.yellow(...args))
14-
},
12+
warning: (...args: string[]) => {
13+
console.log(pc.yellow(args.map(String).join(" ")));
14+
},
1515

16-
success: (...args: any[]) => {
17-
console.log(chalk.green(...args))
18-
}
19-
};
16+
success: (...args: string[]) => {
17+
console.log(pc.green(args.map(String).join(" ")));
18+
},
19+
};

0 commit comments

Comments
 (0)