diff --git a/package.json b/package.json index 0c511052..7e764504 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "package-json": "^8.1.0", "ponse": "^7.0.0", "pullout": "^4.0.0", - "putout": "^33.13.3", + "putout": "^34.0.7", "redzip": "^3.0.0", "rendy": "^4.1.3", "restafary": "^11.0.0", diff --git a/server/user-menu.js b/server/user-menu.js index badd3b22..da3f1ec6 100644 --- a/server/user-menu.js +++ b/server/user-menu.js @@ -22,56 +22,56 @@ const DEFAULT_MENU_PATH = join(__dirname, '../static/user-menu.js'); module.exports = currify(async ({menuName}, req, res, next) => { if (req.url.indexOf(URL)) return next(); - + const {method} = req; - + if (method === 'GET') return await onGET({ req, res, menuName, }); - + next(); }); async function onGET({req, res, menuName}) { const {dir} = req.query; const url = req.url.replace(URL, ''); - + if (url === '/default') return sendDefaultMenu(res); - + const {findUp} = await import('find-up'); - + const [errorFind, currentMenuPath] = await tryToCatch(findUp, [menuName], { cwd: dir, }); - + if (errorFind && errorFind.code !== 'ENOENT') return res .status(404) .send(errorFind.message); - + const homeMenuPath = join(homedir(), menuName); const menuPath = currentMenuPath || homeMenuPath; const [e, source] = await tryToCatch(readFile, menuPath, 'utf8'); - + if (e && e.code !== 'ENOENT') return res .status(404) .send(e.message); - + if (e) return sendDefaultMenu(res); - + const [parseError, result] = await transpile(source); - + if (parseError) return res .type('js') .send(getError(parseError, source)); - + res .type('js') .send(result.code); @@ -84,9 +84,9 @@ function getError(error, source) { source, highlightCode: false, })}\`); - + e.code = 'frame'; - + throw e; `; } @@ -104,7 +104,6 @@ async function transpile(source) { }, plugins: [ 'nodejs', - 'strict-mode', 'cloudcmd', ], });