Skip to content

Commit fb35b13

Browse files
committed
Merge branch 'update_copyright_2025' of https://github.com/NodeSecure/cli into update_copyright_2025
2 parents 8549360 + 7aa3349 commit fb35b13

File tree

11 files changed

+111
-115
lines changed

11 files changed

+111
-115
lines changed

bin/index.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ dotenv.config();
66
import path from "node:path";
77
import { createRequire } from "node:module";
88
import { fileURLToPath } from "node:url";
9+
import { styleText } from "node:util";
910

1011
// Import Third-party Dependencies
11-
import kleur from "kleur";
1212
import sade from "sade";
1313
import semver from "semver";
1414
import * as i18n from "@nodesecure/i18n";
@@ -30,11 +30,13 @@ await i18n.extendFromSystemPath(
3030
path.join(__dirname, "..", "i18n")
3131
);
3232

33-
console.log(kleur.grey().bold(`\n > ${i18n.getTokenSync("cli.executing_at")}: ${kleur.yellow().bold(process.cwd())}\n`));
33+
console.log(
34+
styleText(["gray", "bold"], `\n > ${i18n.getTokenSync("cli.executing_at")}: ${styleText(["yellow", "bold"], process.cwd())}\n`)
35+
);
3436

3537
const minVersion = semver.minVersion(manifest.engines.node);
3638
if (semver.lt(process.versions.node, minVersion)) {
37-
console.log(kleur.red().bold(` [!] ${i18n.getTokenSync("cli.min_nodejs_version", minVersion)}\n`));
39+
console.log(styleText(["red", "bold"], ` [!] ${i18n.getTokenSync("cli.min_nodejs_version", minVersion)}\n`));
3840
process.exit(0);
3941
}
4042

@@ -138,10 +140,10 @@ function defaultScannerCommand(name, options = {}) {
138140

139141
function checkNodeSecureToken() {
140142
if (!process.env.NODE_SECURE_TOKEN) {
141-
const varEnvName = kleur.yellow().bold("NODE_SECURE_TOKEN");
143+
const varEnvName = styleText(["yellow", "bold"], "NODE_SECURE_TOKEN");
142144

143145
console.log(
144-
kleur.red().bold(`${i18n.getTokenSync("cli.missingEnv", varEnvName)}\n`)
146+
styleText(["red", "bold"], `${i18n.getTokenSync("cli.missingEnv", varEnvName)}\n`)
145147
);
146148
}
147149
}

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@
101101
"filenamify": "^6.0.0",
102102
"highlightjs-line-numbers.js": "^2.8.0",
103103
"ini": "^5.0.0",
104-
"kleur": "^4.1.5",
105104
"ms": "^2.1.3",
106105
"open": "^10.1.0",
107106
"pino": "^9.3.2",

src/commands/config.js

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import os from "node:os";
33
import path from "node:path";
44
import fs from "node:fs/promises";
55
import { existsSync } from "node:fs";
6+
import { styleText } from "node:util";
67

78
// Import Third-party Dependencies
89
import * as RC from "@nodesecure/rc";
9-
import kleur from "kleur";
1010
import { spawn } from "node:child_process";
1111

1212
const K_HOME_PATH = path.join(os.homedir(), "nodesecure");
@@ -19,20 +19,12 @@ function spawnCodeAtNodeSecureRc(path, isCwd = false) {
1919
}
2020

2121
console.log(
22-
kleur
23-
.white()
24-
.bold(
25-
`\n ${kleur.yellow().bold(`There is no .nodesecurerc here: ${path}`)}`
26-
)
22+
styleText(["white", "bold"], `\n ${styleText(["yellow", "bold"], `There is no .nodesecurerc here: ${path}`)}`)
2723
);
2824

2925
if (isCwd) {
3026
console.log(
31-
kleur
32-
.white()
33-
.bold(
34-
`\n ${kleur.yellow().bold("You must try to run nsecure config create")}`
35-
)
27+
styleText(["white", "bold"], `\n ${styleText(["yellow", "bold"], "You must try to run nsecure config create")}`)
3628
);
3729
}
3830

@@ -43,12 +35,9 @@ export function editConfigFile() {
4335
console.log("");
4436

4537
console.log(
46-
kleur
47-
.white()
48-
.bold(
49-
`\n ${kleur.yellow().bold("Try to opened up your Nodesecure configuration in vscode")}`
50-
)
51-
);
38+
styleText(
39+
["white", "bold"], `\n ${styleText(["yellow", "bold"], "Try to opened up your Nodesecure configuration in vscode")}`
40+
));
5241

5342
const isNodeSecureRcAtHomeDir = spawnCodeAtNodeSecureRc(path.join(K_HOME_PATH, RC.CONSTANTS.CONFIGURATION_NAME));
5443

@@ -63,12 +52,9 @@ export async function createConfigFile(configuration = "minimal", opts) {
6352
const pathConfigFile = cwd ? process.cwd() : K_HOME_PATH;
6453
console.log("");
6554
console.log(
66-
kleur
67-
.white()
68-
.bold(
69-
`\n ${kleur.yellow().bold(`We are going to create the Nodesecure configuration file at: ${pathConfigFile}`)}`
70-
)
71-
);
55+
styleText(["white", "bold"],
56+
`\n ${styleText(["yellow", "bold"], `We are going to create the Nodesecure configuration file at: ${pathConfigFile}`)}`
57+
));
7258
await fs.mkdir(pathConfigFile, { recursive: true });
7359

7460
await RC.read(pathConfigFile, { createIfDoesNotExist: true, createMode: configuration });

src/commands/http.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// Import Node.js Dependencies
22
import fs from "node:fs";
33
import path from "node:path";
4+
import { styleText } from "node:util";
45

56
// Import Third-party Dependencies
67
import * as SemVer from "semver";
7-
import kleur from "kleur";
88
import * as i18n from "@nodesecure/i18n";
99

1010
// Import Internal Dependencies
@@ -47,13 +47,13 @@ function assertScannerVersion(
4747
if (!SemVer.satisfies(scannerVersion, kRequiredScannerRange)) {
4848
const error = i18n.getTokenSync(
4949
"cli.startHttp.invalidScannerVersion",
50-
kleur.yellow(scannerVersion),
51-
kleur.yellow(kRequiredScannerRange)
50+
styleText("yellow", scannerVersion),
51+
styleText("yellow", kRequiredScannerRange)
5252
);
5353
const regenerate = i18n.getTokenSync("cli.startHttp.regenerate");
5454

5555
console.log(" > " + path.basename(dataFilePath));
56-
console.log(" > " + kleur.red().bold(error));
56+
console.log(" > " + styleText(["red", "bold"], error));
5757
console.log(` > ${regenerate}`);
5858
console.log();
5959

src/commands/lang.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1+
// Import Node.js Dependencies
2+
import { styleText } from "node:util";
3+
14
// Import Third-party Dependencies
25
import * as i18n from "@nodesecure/i18n";
36
import { select } from "@topcli/prompts";
4-
import kleur from "kleur";
57

68
export async function set() {
79
const langs = await i18n.getLanguages();
810
const selectedLang = await select(
9-
kleur.green().bold(` ${i18n.getTokenSync("cli.commands.lang.question_text")}`),
11+
styleText(["green", "bold"], ` ${i18n.getTokenSync("cli.commands.lang.question_text")}`),
1012
{
1113
choices: langs
1214
}
@@ -16,7 +18,8 @@ export async function set() {
1618
await i18n.getLocalLang();
1719

1820
console.log(
19-
kleur.white().bold(`\n ${i18n.getTokenSync("cli.commands.lang.new_selection", kleur.yellow().bold(selectedLang))}`)
20-
);
21+
styleText(
22+
["white", "bold"], `\n ${i18n.getTokenSync("cli.commands.lang.new_selection", styleText(["yellow", "bold"], selectedLang))}`
23+
));
2124
console.log();
2225
}

src/commands/scanner.js

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import fs from "node:fs";
33
import path from "node:path";
44
import events from "node:events";
5+
import { styleText } from "node:util";
56

67
// Import Third-party Dependencies
7-
import kleur from "kleur";
88
import filenamify from "filenamify";
99
import { Spinner } from "@topcli/spinner";
1010
import ms from "ms";
@@ -108,11 +108,13 @@ function initLogger(spec, verbose = true) {
108108

109109
if (eventName === "fetchManifest") {
110110
spinner[eventName]
111-
.start(kleur.white().bold(i18n.getTokenSync(spinner.i18n.start[eventName], kleur.green().bold(spec))));
111+
.start(
112+
styleText(["white", "bold"], i18n.getTokenSync(spinner.i18n.start[eventName], styleText(["green", "bold"], spec)))
113+
);
112114
}
113115
else {
114116
spinner[eventName]
115-
.start(kleur.white().bold(i18n.getTokenSync(spinner.i18n.start[eventName])));
117+
.start(styleText(["white", "bold"], i18n.getTokenSync(spinner.i18n.start[eventName])));
116118
}
117119
});
118120

@@ -121,8 +123,10 @@ function initLogger(spec, verbose = true) {
121123
return;
122124
}
123125

124-
const stats = kleur.gray().bold(`[${kleur.yellow().bold(logger.count(eventName))}/${logger.count("walkTree")}]`);
125-
spinner[eventName].text = kleur.white().bold(`${i18n.getTokenSync(spinner.i18n.tick[eventName])} ${stats}`);
126+
const stats = styleText(
127+
["white", "bold"], `[${styleText(["yellow", "bold"], logger.count(eventName))}/${logger.count("walkTree")}]`
128+
);
129+
spinner[eventName].text = styleText(["white", "bold"], `${i18n.getTokenSync(spinner.i18n.tick[eventName])} ${stats}`);
126130
});
127131

128132
logger.on("end", (eventName) => {
@@ -132,20 +136,23 @@ function initLogger(spec, verbose = true) {
132136

133137
const spin = spinner[eventName];
134138
const tokenName = spinner.i18n.end[eventName];
135-
const execTime = kleur.cyan().bold(ms(Number(spin.elapsedTime.toFixed(2))));
139+
const execTime = styleText(["cyan", "bold"], ms(Number(spin.elapsedTime.toFixed(2))));
136140

137141
if (eventName === "walkTree") {
138-
spin.succeed(kleur.white().bold(
139-
i18n.getTokenSync(tokenName, kleur.yellow().bold(i18n.getTokenSync("depWalker.dep_tree")), execTime)));
142+
spin.succeed(styleText(["white", "bold"],
143+
i18n.getTokenSync(tokenName, styleText(["yellow", "bold"], i18n.getTokenSync("depWalker.dep_tree")), execTime)));
140144
}
141145
else if (eventName === "registry") {
142-
spin.succeed(kleur.white().bold(i18n.getTokenSync(tokenName)));
146+
spin.succeed(styleText(["white", "bold"], i18n.getTokenSync(tokenName)));
143147
}
144148
else if (eventName === "tarball") {
145-
spin.succeed(kleur.white().bold(i18n.getTokenSync(tokenName, kleur.green().bold(logger.count("walkTree")), execTime)));
149+
spin.succeed(
150+
styleText(["white", "bold"],
151+
i18n.getTokenSync(tokenName, styleText(["green", "bold"], logger.count("walkTree")), execTime)));
146152
}
147153
else if (eventName === "fetchManifest") {
148-
spin.succeed(kleur.white().bold(i18n.getTokenSync(tokenName, kleur.green().bold(spec), execTime)));
154+
spin.succeed(
155+
styleText(["white", "bold"], i18n.getTokenSync(tokenName, styleText(["green", "bold"], spec), execTime)));
149156
console.log("");
150157
}
151158
});
@@ -161,9 +168,9 @@ function logAndWrite(payload, output = "nsecure-result") {
161168
}
162169

163170
if (payload.warnings.length > 0) {
164-
console.log(`\n ${kleur.yellow().underline().bold("Global Warning:")}\n`);
171+
console.log(`\n ${styleText(["yellow", "underline", "bold"], "Global Warning:")}\n`);
165172
for (const warning of payload.warnings) {
166-
console.log(kleur.red().bold(warning));
173+
console.log(styleText(["red", "bold"], warning));
167174
}
168175
}
169176

@@ -176,7 +183,8 @@ function logAndWrite(payload, output = "nsecure-result") {
176183
fs.writeFileSync(filePath, ret);
177184

178185
console.log("");
179-
console.log(kleur.white().bold(i18n.getTokenSync("cli.successfully_written_json", kleur.green().bold(filePath))));
186+
console.log(
187+
styleText(["white", "bold"], i18n.getTokenSync("cli.successfully_written_json", styleText(["green", "bold"], filePath))));
180188
console.log("");
181189

182190
return filePath;

src/commands/scorecard.js

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
// Import Node.js Dependencies
22
import fs from "node:fs";
3+
import { styleText } from "node:util";
34

45
// Import Third-party Dependencies
56
import cliui from "@topcli/cliui";
6-
import kleur from "kleur";
77
import * as scorecard from "@nodesecure/ossf-scorecard-sdk";
88
import ini from "ini";
99
import { Ok, Err } from "@openally/result";
10-
// VARS
11-
const { yellow, grey, cyan, white } = kleur;
1210

1311
function separatorLine() {
14-
return grey("-".repeat(80));
12+
return styleText("grey", "-".repeat(80));
1513
}
1614

1715
export function getCurrentRepository(vcs = "github") {
@@ -44,7 +42,7 @@ export async function main(repo, opts) {
4442
platform = vcs.slice(-4) === ".com" ? vcs : `${vcs}.com`;
4543
}
4644
catch (error) {
47-
console.log(white().bold(result.err));
45+
console.log(styleText(["white", "bold"], result.err));
4846

4947
process.exit();
5048
}
@@ -58,17 +56,14 @@ export async function main(repo, opts) {
5856
}
5957
catch (error) {
6058
console.log(
61-
kleur
62-
.white()
63-
.bold(white().bold(`${repository} is not part of the OSSF Scorecard BigQuery public dataset.`))
64-
);
59+
styleText(["white", "bold"], `${repository} is not part of the OSSF Scorecard BigQuery public dataset.`));
6560

6661
process.exit();
6762
}
6863

6964
const ui = cliui({ width: 80 });
7065

71-
ui.div({ text: cyan("OSSF Scorecard"), align: "center", padding: [1, 1, 1, 1] });
66+
ui.div({ text: styleText("cyan", "OSSF Scorecard"), align: "center", padding: [1, 1, 1, 1] });
7267

7368
ui.div(
7469
{ text: "Repository", width: 20 },
@@ -87,7 +82,7 @@ export async function main(repo, opts) {
8782
for (const check of data.checks) {
8883
const { score, name, reason } = check;
8984
ui.div(
90-
{ text: yellow(name), width: 77 },
85+
{ text: styleText("yellow", name), width: 77 },
9186
{ text: !score || score < 0 ? 0 : score, width: 3, align: "right" }
9287
);
9388

0 commit comments

Comments
 (0)