Fix cli format command

This commit is contained in:
Simon Prévost 2022-11-16 20:28:41 -05:00
parent d40d32dbbb
commit 26d574a19b
2 changed files with 9 additions and 3 deletions

View File

@ -21,11 +21,12 @@ export default class Format extends Command {
'order-by': flags.string({
default: 'index',
description: 'Order of the keys',
options: ['index', 'key'],
options: ['index', 'key', '-index', '-key'],
}),
};
async run() {
const {flags} = this.parse(Format);
const documents = this.projectConfig.files();
const t0 = process.hrtime();
const formattedPaths: FormattedFile[] = [];
@ -44,7 +45,7 @@ export default class Format extends Command {
if (fs.existsSync(path)) {
const beforeContent = fs.readFileSync(path);
await document.format(path, language);
await document.format(path, language, flags);
const unchanged = fs.readFileSync(path).equals(beforeContent);
formattedPaths.push({path, unchanged});

View File

@ -25,6 +25,10 @@ const throwOnServerError = async (response: Response) => {
}
};
interface FormatOptions {
'order-by': string;
}
export default class Document {
paths: string[];
readonly apiKey: string;
@ -46,7 +50,7 @@ export default class Document {
this.paths = new Tree(this.config).list();
}
async format(file: string, language: string) {
async format(file: string, language: string, options: FormatOptions) {
const formData = new FormData();
formData.append('file', fs.createReadStream(file));
@ -54,6 +58,7 @@ export default class Document {
formData.append('document_format', this.config.format);
formData.append('language', language);
if (this.projectId) formData.append('project_id', this.projectId);
if (options['order-by']) formData.append('order_by', options['order-by']);
const url = `${this.apiUrl}/format`;