83 lines
2.3 KiB
JavaScript
83 lines
2.3 KiB
JavaScript
"use strict";
|
|
|
|
const prettier = require("../../index");
|
|
const stringify = require("json-stable-stringify");
|
|
const util = require("./util");
|
|
|
|
function run(args) {
|
|
const context = util.createContext(args);
|
|
|
|
try {
|
|
util.initContext(context);
|
|
|
|
context.logger.debug(`normalized argv: ${JSON.stringify(context.argv)}`);
|
|
|
|
if (context.argv["check"] && context.argv["list-different"]) {
|
|
context.logger.error("Cannot use --check and --list-different together.");
|
|
process.exit(1);
|
|
}
|
|
|
|
if (context.argv["write"] && context.argv["debug-check"]) {
|
|
context.logger.error("Cannot use --write and --debug-check together.");
|
|
process.exit(1);
|
|
}
|
|
|
|
if (context.argv["find-config-path"] && context.filePatterns.length) {
|
|
context.logger.error("Cannot use --find-config-path with multiple files");
|
|
process.exit(1);
|
|
}
|
|
|
|
if (context.argv["file-info"] && context.filePatterns.length) {
|
|
context.logger.error("Cannot use --file-info with multiple files");
|
|
process.exit(1);
|
|
}
|
|
|
|
if (context.argv["version"]) {
|
|
context.logger.log(prettier.version);
|
|
process.exit(0);
|
|
}
|
|
|
|
if (context.argv["help"] !== undefined) {
|
|
context.logger.log(
|
|
typeof context.argv["help"] === "string" && context.argv["help"] !== ""
|
|
? util.createDetailedUsage(context, context.argv["help"])
|
|
: util.createUsage(context)
|
|
);
|
|
process.exit(0);
|
|
}
|
|
|
|
if (context.argv["support-info"]) {
|
|
context.logger.log(
|
|
prettier.format(stringify(prettier.getSupportInfo()), {
|
|
parser: "json"
|
|
})
|
|
);
|
|
process.exit(0);
|
|
}
|
|
|
|
const hasFilePatterns = context.filePatterns.length !== 0;
|
|
const useStdin =
|
|
context.argv["stdin"] || (!hasFilePatterns && !process.stdin.isTTY);
|
|
|
|
if (context.argv["find-config-path"]) {
|
|
util.logResolvedConfigPathOrDie(context);
|
|
} else if (context.argv["file-info"]) {
|
|
util.logFileInfoOrDie(context);
|
|
} else if (useStdin) {
|
|
util.formatStdin(context);
|
|
} else if (hasFilePatterns) {
|
|
util.formatFiles(context);
|
|
} else {
|
|
context.logger.log(util.createUsage(context));
|
|
process.exit(1);
|
|
}
|
|
} catch (error) {
|
|
context.logger.error(error.message);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
run
|
|
};
|