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

more prettier to worker, migrating change from master branch

This commit is contained in:
Kushagra Gour
2018-10-26 13:38:11 +05:30
parent 834536e315
commit 03e8e3e463
6 changed files with 44 additions and 108 deletions

View File

@@ -461,12 +461,16 @@ export function getFilenameFromUrl(url) {
return url.match(/\/([^/]*)$/)[1];
}
export function prettify(content, type = 'js') {
export function prettify({ file, content, type }) {
const d = deferred();
if (file) {
type = getExtensionFromFileName(file.name);
content = file.content;
}
const worker = new Worker(
chrome.extension
? chrome.extension.getURL('lib/prettier-worker.js')
: `${BASE_PATH}/lib/prettier-worker.js`
: `${BASE_PATH !== '/' ? BASE_PATH : ''}/lib/prettier-worker.js`
);
worker.postMessage({ content, type });
worker.addEventListener('message', e => {
@@ -481,41 +485,3 @@ 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 'json':
parser = 'json';
plugins = [require('prettier/parser-babylon')];
break;
case 'css':
case 'scss':
case 'sass':
case 'less':
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
});
}