@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.57 kB
Source Map (JSON)
{"version":3,"file":"migrate-new.mjs","names":["constants","cliLogger"],"sources":["../../../../src/libs/cli/commands/migrate-new.ts"],"sourcesContent":["import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport constants from \"../../../constants/constants.js\";\nimport getConfigPath from \"../../config/get-config-path.js\";\nimport cliLogger from \"../logger.js\";\n\nconst migrationTemplate = `import { defineMigration } from \"@lucidcms/core/plugin\";\n\nexport default defineMigration((ctx) => ({\n\tasync up(db) {\n\t\t// await db.schema\n\t\t// \t.createTable(\"example\")\n\t\t// \t.addColumn(\"id\", ctx.adapter.getDataType(\"primary\"), (col) =>\n\t\t// \t\tctx.adapter.primaryKeyColumnBuilder(col),\n\t\t// \t)\n\t\t// \t.execute();\n\t},\n\tasync down(db) {\n\t\t// await db.schema.dropTable(\"example\").execute();\n\t},\n}));\n`;\n\nconst migrateNewCommand = async (name: string) => {\n\ttry {\n\t\tif (!/^[a-z0-9][a-z0-9-_]*$/.test(name)) {\n\t\t\tcliLogger.error(\n\t\t\t\t`Invalid migration name \"${name}\". Migration names must only contain lowercase letters, numbers, hyphens and underscores.`,\n\t\t\t);\n\t\t\tprocess.exit(1);\n\t\t}\n\n\t\tconst projectRoot = path.dirname(getConfigPath(process.cwd()));\n\t\tconst directory = path.join(\n\t\t\tprojectRoot,\n\t\t\tconstants.db.externalMigrationDirectory,\n\t\t);\n\t\tconst fileName = `${Date.now()}-${name}.ts`;\n\t\tconst filePath = path.join(directory, fileName);\n\n\t\tawait fs.mkdir(directory, { recursive: true });\n\t\tawait fs.writeFile(filePath, migrationTemplate, { flag: \"wx\" });\n\n\t\tcliLogger.success(\n\t\t\t\"Created migration\",\n\t\t\tcliLogger.color.cyan(path.relative(process.cwd(), filePath)),\n\t\t);\n\t\tprocess.exit(0);\n\t} catch (error) {\n\t\tcliLogger.error(\n\t\t\t\"Failed to create migration\",\n\t\t\terror instanceof Error ? error.message : \"Unknown error\",\n\t\t);\n\t\tprocess.exit(1);\n\t}\n};\n\nexport default migrateNewCommand;\n"],"mappings":"sLAMA,MAiBM,EAAoB,KAAO,IAAiB,CACjD,GAAI,CACE,wBAAwB,KAAK,CAAI,IACrC,EAAU,MACT,2BAA2B,EAAK,0FACjC,EACA,QAAQ,KAAK,CAAC,GAGf,IAAM,EAAc,EAAK,QAAQ,EAAc,QAAQ,IAAI,CAAC,CAAC,EACvD,EAAY,EAAK,KACtB,EACAA,EAAU,GAAG,0BACd,EACM,EAAW,GAAG,KAAK,IAAI,EAAE,GAAG,EAAK,KACjC,EAAW,EAAK,KAAK,EAAW,CAAQ,EAE9C,MAAM,EAAG,MAAM,EAAW,CAAE,UAAW,EAAK,CAAC,EAC7C,MAAM,EAAG,UAAU,EAAU;;;;;;;;;;;;;;;EAAmB,CAAE,KAAM,IAAK,CAAC,EAE9D,EAAU,QACT,oBACAC,EAAU,MAAM,KAAK,EAAK,SAAS,QAAQ,IAAI,EAAG,CAAQ,CAAC,CAC5D,EACA,QAAQ,KAAK,CAAC,CACf,OAAS,EAAO,CACf,EAAU,MACT,6BACA,aAAiB,MAAQ,EAAM,QAAU,eAC1C,EACA,QAAQ,KAAK,CAAC,CACf,CACD"}