Skip to content

Commit 9400c89

Browse files
fiskersosukesuzuki
authored andcommitted
Refactor: Add a wrapped normalizeCliOptions version for CLI usage (#12573)
1 parent 5e3de48 commit 9400c89

File tree

4 files changed

+22
-16
lines changed

4 files changed

+22
-16
lines changed

src/cli/options/get-options-for-file.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
"use strict";
22

33
const dashify = require("dashify");
4-
const leven = require("leven");
5-
// eslint-disable-next-line no-restricted-modules
6-
const { default: chalk } = require("../../../vendors/chalk.js");
74
// eslint-disable-next-line no-restricted-modules
85
const prettier = require("../../index.js");
96
const { optionsNormalizer } = require("../prettier-internal.js");
107
const minimist = require("./minimist.js");
118
const createMinimistOptions = require("./create-minimist-options.js");
9+
const normalizeCliOptions = require("./normalize-cli-options.js");
1210

1311
function getOptions(argv, detailedOptions) {
1412
return Object.fromEntries(
@@ -45,14 +43,14 @@ function parseArgsToOptions(context, overrideDefaults) {
4543
context.detailedOptions
4644
);
4745
return getOptions(
48-
optionsNormalizer.normalizeCliOptions(
46+
normalizeCliOptions(
4947
minimist(context.rawArguments, {
5048
string: minimistOptions.string,
5149
boolean: minimistOptions.boolean,
5250
default: cliifyOptions(overrideDefaults, apiDetailedOptionMap),
5351
}),
5452
context.detailedOptions,
55-
{ logger: false, colorsModule: chalk, levenshteinDistance: leven }
53+
{ logger: false }
5654
),
5755
context.detailedOptions
5856
);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use strict";
2+
3+
const leven = require("leven");
4+
const { optionsNormalizer } = require("../prettier-internal.js");
5+
// eslint-disable-next-line no-restricted-modules
6+
const { default: chalk } = require("../../../vendors/chalk.js");
7+
8+
function normalizeCliOptions(options, optionInfos, opts) {
9+
return optionsNormalizer.normalizeCliOptions(options, optionInfos, {
10+
colorsModule: chalk,
11+
levenshteinDistance: leven,
12+
...opts,
13+
});
14+
}
15+
16+
module.exports = normalizeCliOptions;

src/cli/options/parse-cli-arguments.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
11
"use strict";
22
const pick = require("lodash/pick");
33
const camelCase = require("camelcase");
4-
const leven = require("leven");
5-
// eslint-disable-next-line no-restricted-modules
6-
const { default: chalk } = require("../../../vendors/chalk.js");
7-
const {
8-
optionsNormalizer: { normalizeCliOptions },
9-
} = require("../prettier-internal.js");
104
const getContextOptions = require("./get-context-options.js");
115
const minimist = require("./minimist.js");
126
const createMinimistOptions = require("./create-minimist-options.js");
7+
const normalizeCliOptions = require("./normalize-cli-options.js");
138

149
function parseArgv(rawArguments, detailedOptions, logger, keys) {
1510
const minimistOptions = createMinimistOptions(detailedOptions);
@@ -26,11 +21,7 @@ function parseArgv(rawArguments, detailedOptions, logger, keys) {
2621
argv = pick(argv, keys);
2722
}
2823

29-
const normalized = normalizeCliOptions(argv, detailedOptions, {
30-
logger,
31-
colorsModule: chalk,
32-
levenshteinDistance: leven,
33-
});
24+
const normalized = normalizeCliOptions(argv, detailedOptions, { logger });
3425

3526
return {
3627
...Object.fromEntries(

tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"src/cli/options/get-options-for-file.js",
3434
"src/cli/options/option-map.js",
3535
"src/cli/options/parse-cli-arguments.js",
36+
"src/cli/options/normalize-cli-options.js",
3637
"src/cli/usage.js",
3738
"src/cli/constant.js",
3839
"src/cli/prettier-internal.js",

0 commit comments

Comments
 (0)