Skip to content

Commit

Permalink
Refactor: Add a wrapped normalizeCliOptions version for CLI usage (p…
Browse files Browse the repository at this point in the history
  • Loading branch information
fisker authored and medikoo committed Jan 2, 2024
1 parent c88db7e commit ac5be9c
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 16 deletions.
8 changes: 3 additions & 5 deletions src/cli/options/get-options-for-file.js
@@ -1,14 +1,12 @@
"use strict";

const dashify = require("dashify");
const leven = require("leven");
// eslint-disable-next-line no-restricted-modules
const { default: chalk } = require("../../../vendors/chalk.js");
// eslint-disable-next-line no-restricted-modules
const prettier = require("../../index.js");
const { optionsNormalizer } = require("../prettier-internal.js");
const minimist = require("./minimist.js");
const createMinimistOptions = require("./create-minimist-options.js");
const normalizeCliOptions = require("./normalize-cli-options.js");

function getOptions(argv, detailedOptions) {
return Object.fromEntries(
Expand Down Expand Up @@ -45,14 +43,14 @@ function parseArgsToOptions(context, overrideDefaults) {
context.detailedOptions
);
return getOptions(
optionsNormalizer.normalizeCliOptions(
normalizeCliOptions(
minimist(context.rawArguments, {
string: minimistOptions.string,
boolean: minimistOptions.boolean,
default: cliifyOptions(overrideDefaults, apiDetailedOptionMap),
}),
context.detailedOptions,
{ logger: false, colorsModule: chalk, levenshteinDistance: leven }
{ logger: false }
),
context.detailedOptions
);
Expand Down
16 changes: 16 additions & 0 deletions src/cli/options/normalize-cli-options.js
@@ -0,0 +1,16 @@
"use strict";

const leven = require("leven");
const { optionsNormalizer } = require("../prettier-internal.js");
// eslint-disable-next-line no-restricted-modules
const { default: chalk } = require("../../../vendors/chalk.js");

function normalizeCliOptions(options, optionInfos, opts) {
return optionsNormalizer.normalizeCliOptions(options, optionInfos, {
colorsModule: chalk,
levenshteinDistance: leven,
...opts,
});
}

module.exports = normalizeCliOptions;
13 changes: 2 additions & 11 deletions src/cli/options/parse-cli-arguments.js
@@ -1,15 +1,10 @@
"use strict";
const pick = require("lodash/pick");
const camelCase = require("camelcase");
const leven = require("leven");
// eslint-disable-next-line no-restricted-modules
const { default: chalk } = require("../../../vendors/chalk.js");
const {
optionsNormalizer: { normalizeCliOptions },
} = require("../prettier-internal.js");
const getContextOptions = require("./get-context-options.js");
const minimist = require("./minimist.js");
const createMinimistOptions = require("./create-minimist-options.js");
const normalizeCliOptions = require("./normalize-cli-options.js");

function parseArgv(rawArguments, detailedOptions, logger, keys) {
const minimistOptions = createMinimistOptions(detailedOptions);
Expand All @@ -26,11 +21,7 @@ function parseArgv(rawArguments, detailedOptions, logger, keys) {
argv = pick(argv, keys);
}

const normalized = normalizeCliOptions(argv, detailedOptions, {
logger,
colorsModule: chalk,
levenshteinDistance: leven,
});
const normalized = normalizeCliOptions(argv, detailedOptions, { logger });

return {
...Object.fromEntries(
Expand Down
1 change: 1 addition & 0 deletions tsconfig.json
Expand Up @@ -33,6 +33,7 @@
"src/cli/options/get-options-for-file.js",
"src/cli/options/option-map.js",
"src/cli/options/parse-cli-arguments.js",
"src/cli/options/normalize-cli-options.js",
"src/cli/usage.js",
"src/cli/constant.js",
"src/cli/prettier-internal.js",
Expand Down

0 comments on commit ac5be9c

Please sign in to comment.