UNPKG

create-jd-app

Version:

Create modern type safed Solid web application within seconds

91 lines (86 loc) 3.09 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.modifyConfigIfNeeded = exports.getAppConfig = void 0; const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const prettier_1 = __importDefault(require("prettier")); const getAppConfig = (ctx) => __awaiter(void 0, void 0, void 0, function* () { const usePrisma = ctx.installers.includes("Prisma"); const usePRPC = ctx.installers.includes("pRPC"); const useAuth = ctx.installers.includes("AuthJS"); if (usePRPC) { return yield prettier_1.default.format(`import { withPRPC } from "@solid-mediakit/prpc-plugin"; const config = withPRPC( { ssr: true,${useAuth ? "\n middleware: './src/middleware.ts'," : ""}${usePrisma ? `\n vite: { ssr: { external: ["@prisma/client"], }, },` : ""}${ctx.vercel ? `\n server: { preset: 'vercel', },` : ""} },${useAuth ? `\n { auth: "authjs", authCfg: { configName: "authOptions", source: "~/server/auth", }, }` : ""} ); export default config; declare module "@solid-mediakit/prpc" { interface Settings { config: typeof config; } } `, { parser: "typescript", }); } return yield prettier_1.default.format(`import { defineConfig } from "@solidjs/start/config";${useAuth ? `\nimport { authVite } from "@solid-mediakit/auth-plugin";` : ""} export default defineConfig({ ssr: true,${usePrisma ? `\n vite: { ${usePrisma ? `ssr: { external: ["@prisma/client"], },` : ""} },` : ""}${ctx.vercel ? `\n server: { preset: 'vercel', },` : ""} }); `, { parser: "typescript", }); }); exports.getAppConfig = getAppConfig; const modifyConfigIfNeeded = (ctx) => __awaiter(void 0, void 0, void 0, function* () { if (ctx.vercel || ctx.installers.includes("pRPC") || ctx.installers.includes("Prisma")) { yield fs_extra_1.default.writeFile(path_1.default.join(ctx.userDir, "app.config.ts"), yield (0, exports.getAppConfig)(ctx)); } }); exports.modifyConfigIfNeeded = modifyConfigIfNeeded;