From 4f328f9e916d56519bc53f59cf03f562753f4aa4 Mon Sep 17 00:00:00 2001 From: Evan Liu Date: Wed, 12 Feb 2025 22:48:04 +1300 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20[editor]=20User=20prettier=20to?= =?UTF-8?q?=20format=20the=20output=20JSON?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/package-lock.json | 16 ++++++++++++++++ docs/package.json | 1 + docs/src/editor/karabiner.worker.ts | 17 ++++++++++++++--- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 7bd8e82..c00250e 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -15,6 +15,7 @@ "clsx": "^2.1.1", "esbuild-wasm": "^0.25.0", "monaco-editor": "^0.52.2", + "prettier": "^3.5.0", "prism-react-renderer": "^2.4.1", "react": "^19.0.0", "react-dom": "^19.0.0" @@ -15631,6 +15632,21 @@ "postcss": "^8.4.31" } }, + "node_modules/prettier": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.0.tgz", + "integrity": "sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", diff --git a/docs/package.json b/docs/package.json index 1468447..458ae03 100644 --- a/docs/package.json +++ b/docs/package.json @@ -22,6 +22,7 @@ "clsx": "^2.1.1", "esbuild-wasm": "^0.25.0", "monaco-editor": "^0.52.2", + "prettier": "^3.5.0", "prism-react-renderer": "^2.4.1", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/docs/src/editor/karabiner.worker.ts b/docs/src/editor/karabiner.worker.ts index 43e59dd..a9d8b2c 100644 --- a/docs/src/editor/karabiner.worker.ts +++ b/docs/src/editor/karabiner.worker.ts @@ -1,4 +1,7 @@ import * as esbuild from 'esbuild-wasm' +import { format } from 'prettier' +import prettierBabelPlugin from 'prettier/plugins/babel' +import prettierEstreePlugin from 'prettier/plugins/estree' import * as lib from '../../../dist/index' @@ -26,9 +29,17 @@ self.onmessage = async (event) => { }), { description: '', manipulators: [] }, ) - self.postMessage({ input, output: JSON.stringify(config, null, 2) }) + format(JSON.stringify(config), { + parser: 'json', + plugins: [prettierBabelPlugin, prettierEstreePlugin], + }).then( + (output) => self.postMessage({ input, output }), + (error) => self.postMessage({ input, output: error?.message }), + ) } catch (e) { - let error = (e as Error)?.message || 'Unknown Error' - self.postMessage({ input, output: JSON.stringify({ error }, null, 2) }) + self.postMessage({ + input, + output: (e as Error)?.message || 'Unknown Error', + }) } }