1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-26 08:11:17 +02:00

add prettier support for js,css,markdown fixes #234

This commit is contained in:
Kushagra Gour
2018-10-14 16:30:28 +05:30
parent ee06e8c546
commit 41ae269d9b
6 changed files with 104 additions and 9 deletions

View File

@@ -3,6 +3,7 @@ import { trackEvent } from './analytics';
import { computeHtml, computeCss, computeJs } from './computes';
import { JsModes } from './codeModes';
import { deferred } from './deferred';
import { getExtensionFromFileName } from './fileUtils';
const esprima = require('esprima');
window.DEBUG = document.cookie.indexOf('wmdebug') > -1;
@@ -465,3 +466,34 @@ if (window.IS_EXTENSION) {
} else {
document.body.classList.add('is-app');
}
export function prettify(file) {
const prettier = require('prettier/standalone');
const fileExtension = getExtensionFromFileName(file.name);
let plugins, parser;
switch (fileExtension) {
case 'js':
parser = 'babylon';
plugins = [require('prettier/parser-babylon')];
break;
case 'css':
parser = 'css';
plugins = [require('prettier/parser-postcss')];
break;
case 'md':
case 'markdown':
parser = 'markdown';
plugins = [require('prettier/parser-markdown')];
break;
}
if (!parser) {
return file.content;
}
return prettier.format(file.content, {
parser,
plugins
});
}