@strapi/generate-new
Version:
Generate a new Strapi application.
1 lines • 2.55 kB
Source Map (JSON)
{"version":3,"file":"parse-db-arguments.mjs","sources":["../../src/utils/parse-db-arguments.ts"],"sourcesContent":["import chalk from 'chalk';\nimport stopProcess from './stop-process';\nimport type { Scope, DatabaseInfo, NewOptions } from '../types';\n\ninterface Options {\n scope: Scope;\n args: Partial<NewOptions>;\n}\n\nconst DB_ARGS = ['dbclient', 'dbhost', 'dbport', 'dbname', 'dbusername', 'dbpassword'];\n\nconst VALID_CLIENTS = ['sqlite', 'mysql', 'postgres'];\n\nexport default function parseDatabaseArguments({ scope, args }: Options) {\n const argKeys = Object.keys(args);\n const matchingArgs = DB_ARGS.filter((key) => argKeys.includes(key));\n const missingArgs = DB_ARGS.filter((key) => !argKeys.includes(key));\n\n if (matchingArgs.length === 0) return;\n\n if (matchingArgs.length !== DB_ARGS.length && args.dbclient !== 'sqlite') {\n return stopProcess(`Required database arguments are missing: ${missingArgs.join(', ')}.`);\n }\n\n if (!args.dbclient || !VALID_CLIENTS.includes(args.dbclient)) {\n return stopProcess(\n `Invalid client ${chalk.yellow(args.dbclient)}. Possible choices: ${VALID_CLIENTS.join(\n ', '\n )}.`\n );\n }\n\n scope.dbforce = args.dbforce !== undefined;\n\n const database: DatabaseInfo = {\n client: args.dbclient,\n connection: {\n host: args.dbhost,\n port: args.dbport,\n database: args.dbname,\n username: args.dbusername,\n password: args.dbpassword,\n filename: args.dbfile,\n },\n };\n\n if (args.dbssl !== undefined) {\n database.connection.ssl = args.dbssl === 'true';\n }\n\n scope.database = database;\n}\n"],"names":[],"mappings":";;AASA,MAAM,UAAU,CAAC,YAAY,UAAU,UAAU,UAAU,cAAc,YAAY;AAErF,MAAM,gBAAgB,CAAC,UAAU,SAAS,UAAU;AAEpD,SAAwB,uBAAuB,EAAE,OAAO,QAAiB;AACjE,QAAA,UAAU,OAAO,KAAK,IAAI;AAC1B,QAAA,eAAe,QAAQ,OAAO,CAAC,QAAQ,QAAQ,SAAS,GAAG,CAAC;AAC5D,QAAA,cAAc,QAAQ,OAAO,CAAC,QAAQ,CAAC,QAAQ,SAAS,GAAG,CAAC;AAElE,MAAI,aAAa,WAAW;AAAG;AAE/B,MAAI,aAAa,WAAW,QAAQ,UAAU,KAAK,aAAa,UAAU;AACxE,WAAO,YAAY,4CAA4C,YAAY,KAAK,IAAI,CAAC,GAAG;AAAA,EAC1F;AAEI,MAAA,CAAC,KAAK,YAAY,CAAC,cAAc,SAAS,KAAK,QAAQ,GAAG;AACrD,WAAA;AAAA,MACL,kBAAkB,MAAM,OAAO,KAAK,QAAQ,CAAC,uBAAuB,cAAc;AAAA,QAChF;AAAA,MACD,CAAA;AAAA,IAAA;AAAA,EAEL;AAEM,QAAA,UAAU,KAAK,YAAY;AAEjC,QAAM,WAAyB;AAAA,IAC7B,QAAQ,KAAK;AAAA,IACb,YAAY;AAAA,MACV,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,IACjB;AAAA,EAAA;AAGE,MAAA,KAAK,UAAU,QAAW;AACnB,aAAA,WAAW,MAAM,KAAK,UAAU;AAAA,EAC3C;AAEA,QAAM,WAAW;AACnB;"}