diff --git a/.eslintrc.yml b/.eslintrc.yml index 401c6cd4f..1cc73c6aa 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -31,11 +31,3 @@ rules: - error - never - exceptRange: true -overrides: - - files: - - website/playground/** - env: - es6: true - browser: true - parserOptions: - sourceType: module diff --git a/website/playground/.eslintrc.yml b/website/playground/.eslintrc.yml new file mode 100644 index 000000000..495baa1fb --- /dev/null +++ b/website/playground/.eslintrc.yml @@ -0,0 +1,5 @@ +env: + es6: true + browser: true +parserOptions: + sourceType: module diff --git a/website/static/worker.js b/website/static/worker.js index d33e4cf64..0eeb57885 100644 --- a/website/static/worker.js +++ b/website/static/worker.js @@ -4,6 +4,7 @@ var parsersLoaded = {}; // "Polyfills" in order for all the code to run +/* eslint-disable no-undef, no-global-assign */ self.global = self; self.util = {}; self.path = {}; @@ -56,6 +57,7 @@ self.require = function require(path) { return self[path]; }; +/* eslint-enable */ var prettier; importScripts("lib/index.js"); @@ -67,79 +69,74 @@ if (typeof prettier === "undefined") { } self.onmessage = function(event) { - var uid = event.data.uid; - var message = event.data.message; - switch (message.type) { - case "meta": - self.postMessage({ - uid: uid, - message: { - type: "meta", - supportInfo: JSON.parse(JSON.stringify(prettier.getSupportInfo())), - version: prettier.version - } - }); - break; - - case "format": - var options = message.options || {}; - - delete options.ast; - delete options.doc; - delete options.output2; - - const response = { - formatted: formatCode(message.code, options), - debugAst: null, - debugDoc: null, - reformatted: null - }; - - if (message.debugAst) { - var ast; - var errored = false; - try { - ast = JSON.stringify( - prettier.__debug.parse(message.code, options).ast - ); - } catch (e) { - errored = true; - ast = String(e); - } - - if (!errored) { - try { - ast = formatCode(ast, { parser: "json" }); - } catch (e) { - ast = JSON.stringify(actualAst, null, 2); - } - } - response.debugAst = ast; - } - - if (message.debugDoc) { - try { - response.debugDoc = prettier.__debug.formatDoc( - prettier.__debug.printToDoc(message.code, options), - { parser: "babylon" } - ); - } catch (e) { - response.debugDoc = String(e); - } - } - - if (message.secondFormat) { - response.reformatted = formatCode(response.formatted, options) - } - - self.postMessage({ - uid: uid, - message: response - }); - break; - } + self.postMessage({ + uid: event.data.uid, + message: handleMessage(event.data.message) + }); }; +function handleMessage(message) { + if (message.type === "meta") { + return { + type: "meta", + supportInfo: JSON.parse(JSON.stringify(prettier.getSupportInfo())), + version: prettier.version + }; + } + + if (message.type === "format") { + var options = message.options || {}; + + delete options.ast; + delete options.doc; + delete options.output2; + + var response = { + formatted: formatCode(message.code, options), + debugAst: null, + debugDoc: null, + reformatted: null + }; + + if (message.debugAst) { + var ast; + var errored = false; + try { + ast = JSON.stringify(prettier.__debug.parse(message.code, options).ast); + } catch (e) { + errored = true; + ast = String(e); + } + + if (!errored) { + try { + ast = formatCode(ast, { parser: "json" }); + } catch (e) { + ast = JSON.stringify(ast, null, 2); + } + } + response.debugAst = ast; + } + + if (message.debugDoc) { + try { + response.debugDoc = prettier.__debug.formatDoc( + prettier.__debug.printToDoc(message.code, options), + { parser: "babylon" } + ); + } catch (e) { + response.debugDoc = String(e); + } + } + + if (message.secondFormat) { + response.reformatted = formatCode(response.formatted, options); + } + + return response; + } +} + function formatCode(text, options) { try { return prettier.format(text, options);