UNPKG

create-elysiajs

Version:

Scaffolding your Elysia project with the environment with easy!

46 lines (45 loc) 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getVSCodeExtensions = getVSCodeExtensions; exports.getVSCodeSettings = getVSCodeSettings; const linterExtensionTag = { ESLint: "dbaeumer.vscode-eslint", Biome: "biomejs.biome", }; function getVSCodeExtensions({ linter, packageManager, docker, orm, }) { const extensionsFile = { // just best general purpose extensions and i guess they useful recommendations: [ "usernamehw.errorlens", "YoavBls.pretty-ts-errors", "meganrogge.template-string-converter", ], }; if (packageManager === "bun") extensionsFile.recommendations.push("oven.bun-vscode"); if (linter !== "None") extensionsFile.recommendations.push(linterExtensionTag[linter]); if (docker) extensionsFile.recommendations.push("ms-azuretools.vscode-docker"); if (orm === "Drizzle") extensionsFile.recommendations.push("rphlmr.vscode-drizzle-orm"); if (orm === "Prisma") extensionsFile.recommendations.push("Prisma.prisma"); return JSON.stringify(extensionsFile, null, 2); } function getVSCodeSettings({ linter }) { let settingsFile = { "editor.formatOnSave": true, }; if (linter !== "None") settingsFile = { ...settingsFile, "[javascript]": { "editor.defaultFormatter": linterExtensionTag[linter], }, "[typescript]": { "editor.defaultFormatter": linterExtensionTag[linter], }, }; return JSON.stringify(settingsFile, null, 2); }