create-payload-app 3.91.0-internal.c1569dc → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/README.md +5 -0
- package/dist/commands.d.ts +4 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +5 -0
- package/dist/commands.js.map +1 -0
- package/dist/lib/agent-config.d.ts +12 -0
- package/dist/lib/agent-config.d.ts.map +1 -0
- package/dist/lib/agent-config.js +15 -0
- package/dist/lib/agent-config.js.map +1 -0
- package/dist/lib/ast/adapter-config.d.ts.map +1 -1
- package/dist/lib/ast/adapter-config.js +0 -10
- package/dist/lib/ast/adapter-config.js.map +1 -1
- package/dist/lib/ast/package-json.d.ts +9 -0
- package/dist/lib/ast/package-json.d.ts.map +1 -1
- package/dist/lib/ast/package-json.js +34 -8
- package/dist/lib/ast/package-json.js.map +1 -1
- package/dist/lib/ast/payload-config.js +1 -1
- package/dist/lib/ast/payload-config.js.map +1 -1
- package/dist/lib/ast/types.d.ts +3 -3
- package/dist/lib/ast/types.d.ts.map +1 -1
- package/dist/lib/ast/types.js +0 -1
- package/dist/lib/ast/types.js.map +1 -1
- package/dist/lib/configure-payload-tsconfig.d.ts +5 -0
- package/dist/lib/configure-payload-tsconfig.d.ts.map +1 -0
- package/dist/lib/configure-payload-tsconfig.js +26 -0
- package/dist/lib/configure-payload-tsconfig.js.map +1 -0
- package/dist/lib/create-project.d.ts +1 -2
- package/dist/lib/create-project.d.ts.map +1 -1
- package/dist/lib/create-project.js +64 -79
- package/dist/lib/create-project.js.map +1 -1
- package/dist/lib/generate-secret.js +1 -1
- package/dist/lib/generate-secret.js.map +1 -1
- package/dist/lib/get-package-manager.d.ts +9 -0
- package/dist/lib/get-package-manager.d.ts.map +1 -1
- package/dist/lib/get-package-manager.js +20 -0
- package/dist/lib/get-package-manager.js.map +1 -1
- package/dist/lib/init-next.d.ts +6 -1
- package/dist/lib/init-next.d.ts.map +1 -1
- package/dist/lib/init-next.js +34 -41
- package/dist/lib/init-next.js.map +1 -1
- package/dist/lib/init-tanstack.d.ts +18 -0
- package/dist/lib/init-tanstack.d.ts.map +1 -0
- package/dist/lib/init-tanstack.js +149 -0
- package/dist/lib/init-tanstack.js.map +1 -0
- package/dist/lib/tanstack/detect.d.ts +5 -0
- package/dist/lib/tanstack/detect.d.ts.map +1 -0
- package/dist/lib/tanstack/detect.js +131 -0
- package/dist/lib/tanstack/detect.js.map +1 -0
- package/dist/lib/tanstack/prepare.d.ts +23 -0
- package/dist/lib/tanstack/prepare.d.ts.map +1 -0
- package/dist/lib/tanstack/prepare.js +114 -0
- package/dist/lib/tanstack/prepare.js.map +1 -0
- package/dist/lib/tanstack/template-files.d.ts +50 -0
- package/dist/lib/tanstack/template-files.d.ts.map +1 -0
- package/dist/lib/tanstack/template-files.js +64 -0
- package/dist/lib/tanstack/template-files.js.map +1 -0
- package/dist/lib/tanstack/transform-root-route.d.ts +7 -0
- package/dist/lib/tanstack/transform-root-route.d.ts.map +1 -0
- package/dist/lib/tanstack/transform-root-route.js +747 -0
- package/dist/lib/tanstack/transform-root-route.js.map +1 -0
- package/dist/lib/tanstack/transform-router.d.ts +5 -0
- package/dist/lib/tanstack/transform-router.d.ts.map +1 -0
- package/dist/lib/tanstack/transform-router.js +301 -0
- package/dist/lib/tanstack/transform-router.js.map +1 -0
- package/dist/lib/tanstack/transform-vite-config.d.ts +14 -0
- package/dist/lib/tanstack/transform-vite-config.d.ts.map +1 -0
- package/dist/lib/tanstack/transform-vite-config.js +576 -0
- package/dist/lib/tanstack/transform-vite-config.js.map +1 -0
- package/dist/lib/templates.d.ts.map +1 -1
- package/dist/lib/templates.js +11 -5
- package/dist/lib/templates.js.map +1 -1
- package/dist/lib/update-payload-in-project.d.ts +18 -3
- package/dist/lib/update-payload-in-project.d.ts.map +1 -1
- package/dist/lib/update-payload-in-project.js +102 -21
- package/dist/lib/update-payload-in-project.js.map +1 -1
- package/dist/lib/wrap-next-config.d.ts.map +1 -1
- package/dist/main.d.ts +20 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +127 -36
- package/dist/main.js.map +1 -1
- package/dist/scripts/pack-template-files.js +18 -0
- package/dist/scripts/pack-template-files.js.map +1 -1
- package/dist/template/src/app/(frontend)/page.tsx +7 -4
- package/dist/template/src/app/(frontend)/styles.css +8 -1
- package/dist/template/src/app/(payload)/admin/[[...segments]]/not-found.tsx +1 -2
- package/dist/template/src/app/(payload)/admin/[[...segments]]/page.tsx +1 -2
- package/dist/template/src/app/(payload)/admin/importMap.js +30 -2
- package/dist/template/src/app/(payload)/api/[...slug]/route.ts +1 -2
- package/dist/template/src/app/(payload)/api/graphql/route.ts +1 -2
- package/dist/template/src/app/(payload)/api/graphql-playground/route.ts +1 -2
- package/dist/template/src/app/(payload)/custom.css +0 -0
- package/dist/template/src/app/(payload)/layout.tsx +9 -4
- package/dist/template/src/collections/Folders.ts +16 -0
- package/dist/template/src/collections/Media.ts +4 -0
- package/dist/template/src/collections/Tags.ts +16 -0
- package/dist/template/src/collections/Users.ts +1 -0
- package/dist/template/src/payload-types.ts +63 -9
- package/dist/template/src/payload.config.ts +14 -4
- package/dist/template-tanstack/routes/_payload/admin.$.tsx +25 -0
- package/dist/template-tanstack/routes/_payload/admin.index.tsx +25 -0
- package/dist/template-tanstack/routes/_payload/api.$.ts +11 -0
- package/dist/template-tanstack/routes/_payload/importMap.js +32 -0
- package/dist/template-tanstack/routes/_payload/server.functions.ts +50 -0
- package/dist/template-tanstack/routes/_payload.tsx +29 -0
- package/dist/template-tanstack/src/collections/Folders.ts +16 -0
- package/dist/template-tanstack/src/collections/Media.ts +20 -0
- package/dist/template-tanstack/src/collections/Tags.ts +16 -0
- package/dist/template-tanstack/src/collections/Users.ts +14 -0
- package/dist/template-tanstack/src/payload.config.ts +38 -0
- package/dist/types.d.ts +23 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/messages.d.ts +1 -0
- package/dist/utils/messages.d.ts.map +1 -1
- package/dist/utils/messages.js +10 -6
- package/dist/utils/messages.js.map +1 -1
- package/dist/utils/resolvePackageVersion.d.ts +35 -0
- package/dist/utils/resolvePackageVersion.d.ts.map +1 -0
- package/dist/utils/resolvePackageVersion.js +62 -0
- package/dist/utils/resolvePackageVersion.js.map +1 -0
- package/package.json +8 -8
- package/dist/ast-integration.spec.js +0 -132
- package/dist/ast-integration.spec.js.map +0 -1
- package/dist/lib/ast/package-json.spec.js +0 -67
- package/dist/lib/ast/package-json.spec.js.map +0 -1
- package/dist/lib/ast/payload-config.spec.js +0 -365
- package/dist/lib/ast/payload-config.spec.js.map +0 -1
- package/dist/lib/ast/utils.spec.js +0 -226
- package/dist/lib/ast/utils.spec.js.map +0 -1
- package/dist/lib/create-project.spec.js +0 -190
- package/dist/lib/create-project.spec.js.map +0 -1
- package/dist/lib/download-skill.d.ts +0 -8
- package/dist/lib/download-skill.d.ts.map +0 -1
- package/dist/lib/download-skill.js +0 -35
- package/dist/lib/download-skill.js.map +0 -1
- package/dist/lib/manage-env-files.spec.js +0 -118
- package/dist/lib/manage-env-files.spec.js.map +0 -1
- package/dist/lib/select-agent.d.ts +0 -16
- package/dist/lib/select-agent.d.ts.map +0 -1
- package/dist/lib/select-agent.js +0 -67
- package/dist/lib/select-agent.js.map +0 -1
- package/dist/lib/wrap-next-config.spec.js +0 -167
- package/dist/lib/wrap-next-config.spec.js.map +0 -1
- package/dist/utils/getLatestPackageVersion.d.ts +0 -17
- package/dist/utils/getLatestPackageVersion.d.ts.map +0 -1
- package/dist/utils/getLatestPackageVersion.js +0 -20
- package/dist/utils/getLatestPackageVersion.js.map +0 -1
- /package/dist/{template/src/app/(payload)/custom.scss → template-tanstack/routes/_payload/custom.css} +0 -0
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.ts"],"sourcesContent":["import * as p from '@clack/prompts'\nimport slugify from '@sindresorhus/slugify'\nimport arg from 'arg'\nimport chalk from 'chalk'\nimport figures from 'figures'\nimport path from 'path'\n\nimport type { CliArgs } from './types.js'\n\nimport { configurePayloadConfig } from './lib/configure-payload-config.js'\nimport { createProject } from './lib/create-project.js'\nimport { parseExample } from './lib/examples.js'\nimport { generateSecret } from './lib/generate-secret.js'\nimport { getPackageManager } from './lib/get-package-manager.js'\nimport { getNextAppDetails, initNext } from './lib/init-next.js'\nimport { manageEnvFiles } from './lib/manage-env-files.js'\nimport { parseProjectName } from './lib/parse-project-name.js'\nimport { parseTemplate } from './lib/parse-template.js'\nimport { selectAgent } from './lib/select-agent.js'\nimport { selectDb } from './lib/select-db.js'\nimport { getValidTemplates, validateTemplate } from './lib/templates.js'\nimport { updatePayloadInProject } from './lib/update-payload-in-project.js'\nimport { getLatestPackageVersion } from './utils/getLatestPackageVersion.js'\nimport { debug, error, info } from './utils/log.js'\nimport {\n feedbackOutro,\n helpMessage,\n moveMessage,\n successfulNextInit,\n successMessage,\n} from './utils/messages.js'\n\nexport class Main {\n args: CliArgs\n\n constructor() {\n // @ts-expect-error bad typings\n this.args = arg(\n {\n '--agent': String,\n '--branch': String,\n '--db': String,\n '--db-accept-recommended': Boolean,\n '--db-connection-string': String,\n '--example': String,\n '--help': Boolean,\n '--local-template': String,\n '--name': String,\n '--secret': String,\n '--template': String,\n '--version': String, // Allows overriding the installed Payload version instead of installing the latest\n\n // Next.js\n '--init-next': Boolean, // TODO: Is this needed if we detect if inside Next.js project?\n\n // Agent\n '--no-agent': Boolean,\n\n // Package manager\n '--no-deps': Boolean,\n '--use-bun': Boolean,\n '--use-npm': Boolean,\n '--use-pnpm': Boolean,\n '--use-yarn': Boolean,\n\n // Other\n '--no-git': Boolean,\n\n // Flags\n '--beta': Boolean,\n '--debug': Boolean,\n '--dry-run': Boolean,\n\n // Aliases\n '-a': '--agent',\n '-d': '--db',\n '-e': '--example',\n '-h': '--help',\n '-n': '--name',\n '-t': '--template',\n },\n { permissive: true },\n )\n }\n\n async init(): Promise<void> {\n try {\n const debugFlag = this.args['--debug']\n\n // Set DEBUG env var for logger utility\n if (debugFlag) {\n process.env.DEBUG = 'true'\n }\n\n const LATEST_VERSION = await getLatestPackageVersion({\n debug: debugFlag,\n packageName: 'payload',\n })\n\n if (this.args['--help']) {\n helpMessage()\n process.exit(0)\n }\n\n // eslint-disable-next-line no-console\n console.log('\\n')\n p.intro(chalk.bgCyan(chalk.black(' create-payload-app ')))\n p.note(\"Welcome to Payload. Let's create a project!\")\n\n // Detect if inside Next.js project\n const nextAppDetails = await getNextAppDetails(process.cwd())\n const {\n hasTopLevelLayout,\n isPayloadInstalled,\n isSupportedNextVersion,\n nextAppDir,\n nextConfigPath,\n nextVersion,\n } = nextAppDetails\n\n if (nextConfigPath && !isSupportedNextVersion) {\n p.log.warn(\n `Next.js v${nextVersion} is unsupported. Next.js >= 15 is required to use Payload.`,\n )\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n // Upgrade Payload in existing project\n if (isPayloadInstalled && nextConfigPath) {\n p.log.warn(`Payload installation detected in current project.`)\n const shouldUpdate = await p.confirm({\n initialValue: false,\n message: chalk.bold(`Upgrade Payload in this project?`),\n })\n\n if (!p.isCancel(shouldUpdate) && shouldUpdate) {\n const { message, success: updateSuccess } = await updatePayloadInProject(nextAppDetails)\n if (updateSuccess) {\n info(message)\n } else {\n error(message)\n }\n }\n\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n if (nextConfigPath) {\n this.args['--name'] = slugify(path.basename(path.dirname(nextConfigPath)))\n }\n\n const projectName = await parseProjectName(this.args)\n const projectDir = nextConfigPath\n ? path.dirname(nextConfigPath)\n : path.resolve(process.cwd(), slugify(projectName))\n\n const packageManager = await getPackageManager({ cliArgs: this.args, projectDir })\n\n if (nextConfigPath) {\n p.log.step(\n chalk.bold(`${chalk.bgBlack(` ${figures.triangleUp} Next.js `)} project detected!`),\n )\n\n const proceed = await p.confirm({\n initialValue: true,\n message: chalk.bold(`Install ${chalk.green('Payload')} in this project?`),\n })\n if (p.isCancel(proceed) || !proceed) {\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n // Check for top-level layout.tsx\n if (nextAppDir && hasTopLevelLayout) {\n p.log.warn(moveMessage({ nextAppDir, projectDir }))\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n const dbDetails = await selectDb(this.args, projectName)\n\n const result = await initNext({\n ...this.args,\n dbType: dbDetails.type,\n nextAppDetails,\n packageManager,\n projectDir,\n })\n\n if (result.success === false) {\n p.outro(feedbackOutro())\n process.exit(1)\n }\n\n await configurePayloadConfig({\n dbType: dbDetails?.type,\n projectDirOrConfigPath: {\n payloadConfigPath: result.payloadConfigPath,\n },\n })\n\n await manageEnvFiles({\n cliArgs: this.args,\n databaseType: dbDetails.type,\n databaseUri: dbDetails.dbUri,\n payloadSecret: generateSecret(),\n projectDir,\n })\n\n info('Payload project successfully initialized!')\n p.note(successfulNextInit(), chalk.bgGreen(chalk.black(' Documentation ')))\n p.outro(feedbackOutro())\n return\n }\n\n const templateArg = this.args['--template']\n if (templateArg) {\n const valid = validateTemplate({ templateName: templateArg })\n if (!valid) {\n helpMessage()\n process.exit(1)\n }\n }\n\n const exampleArg = this.args['--example']\n\n if (exampleArg) {\n const example = await parseExample({\n name: exampleArg,\n branch: this.args['--branch'] ?? '3.x',\n })\n\n if (!example) {\n helpMessage()\n process.exit(1)\n }\n\n const agentType = await selectAgent({ cliArgs: this.args })\n\n await createProject({\n agentType,\n cliArgs: this.args,\n example,\n packageManager,\n projectDir,\n projectName,\n })\n }\n\n if (debugFlag) {\n debug(`Using ${exampleArg ? 'examples' : 'templates'} from git tag: v${LATEST_VERSION}`)\n }\n\n if (!exampleArg) {\n const validTemplates = getValidTemplates()\n const template = await parseTemplate(this.args, validTemplates)\n if (!template) {\n p.log.error('Invalid template given')\n p.outro(feedbackOutro())\n process.exit(1)\n }\n\n switch (template.type) {\n case 'plugin': {\n const agentType = await selectAgent({ cliArgs: this.args })\n await createProject({\n agentType,\n cliArgs: this.args,\n packageManager,\n projectDir,\n projectName,\n template,\n })\n break\n }\n case 'starter': {\n const dbDetails = await selectDb(this.args, projectName, template)\n const agentType = await selectAgent({ cliArgs: this.args })\n\n await createProject({\n agentType,\n cliArgs: this.args,\n dbDetails,\n packageManager,\n projectDir,\n projectName,\n template,\n })\n\n break\n }\n }\n }\n\n info('Payload project successfully created!')\n p.log.step(chalk.bgGreen(chalk.black(' Next Steps ')))\n p.log.message(successMessage(projectDir, packageManager))\n p.outro(feedbackOutro())\n } catch (err: unknown) {\n error(err instanceof Error ? err.message : 'An error occurred')\n }\n }\n}\n"],"names":["p","slugify","arg","chalk","figures","path","configurePayloadConfig","createProject","parseExample","generateSecret","getPackageManager","getNextAppDetails","initNext","manageEnvFiles","parseProjectName","parseTemplate","selectAgent","selectDb","getValidTemplates","validateTemplate","updatePayloadInProject","getLatestPackageVersion","debug","error","info","feedbackOutro","helpMessage","moveMessage","successfulNextInit","successMessage","Main","args","String","Boolean","permissive","init","debugFlag","process","env","DEBUG","LATEST_VERSION","packageName","exit","console","log","intro","bgCyan","black","note","nextAppDetails","cwd","hasTopLevelLayout","isPayloadInstalled","isSupportedNextVersion","nextAppDir","nextConfigPath","nextVersion","warn","outro","shouldUpdate","confirm","initialValue","message","bold","isCancel","success","updateSuccess","basename","dirname","projectName","projectDir","resolve","packageManager","cliArgs","step","bgBlack","triangleUp","proceed","green","dbDetails","result","dbType","type","projectDirOrConfigPath","payloadConfigPath","databaseType","databaseUri","dbUri","payloadSecret","bgGreen","templateArg","valid","templateName","exampleArg","example","name","branch","agentType","validTemplates","template","err","Error"],"mappings":"AAAA,YAAYA,OAAO,iBAAgB;AACnC,OAAOC,aAAa,wBAAuB;AAC3C,OAAOC,SAAS,MAAK;AACrB,OAAOC,WAAW,QAAO;AACzB,OAAOC,aAAa,UAAS;AAC7B,OAAOC,UAAU,OAAM;AAIvB,SAASC,sBAAsB,QAAQ,oCAAmC;AAC1E,SAASC,aAAa,QAAQ,0BAAyB;AACvD,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,iBAAiB,QAAQ,+BAA8B;AAChE,SAASC,iBAAiB,EAAEC,QAAQ,QAAQ,qBAAoB;AAChE,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,gBAAgB,QAAQ,8BAA6B;AAC9D,SAASC,aAAa,QAAQ,0BAAyB;AACvD,SAASC,WAAW,QAAQ,wBAAuB;AACnD,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,qBAAoB;AACxE,SAASC,sBAAsB,QAAQ,qCAAoC;AAC3E,SAASC,uBAAuB,QAAQ,qCAAoC;AAC5E,SAASC,KAAK,EAAEC,KAAK,EAAEC,IAAI,QAAQ,iBAAgB;AACnD,SACEC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,kBAAkB,EAClBC,cAAc,QACT,sBAAqB;AAE5B,OAAO,MAAMC;IACXC,KAAa;IAEb,aAAc;QACZ,+BAA+B;QAC/B,IAAI,CAACA,IAAI,GAAG7B,IACV;YACE,WAAW8B;YACX,YAAYA;YACZ,QAAQA;YACR,2BAA2BC;YAC3B,0BAA0BD;YAC1B,aAAaA;YACb,UAAUC;YACV,oBAAoBD;YACpB,UAAUA;YACV,YAAYA;YACZ,cAAcA;YACd,aAAaA;YAEb,UAAU;YACV,eAAeC;YAEf,QAAQ;YACR,cAAcA;YAEd,kBAAkB;YAClB,aAAaA;YACb,aAAaA;YACb,aAAaA;YACb,cAAcA;YACd,cAAcA;YAEd,QAAQ;YACR,YAAYA;YAEZ,QAAQ;YACR,UAAUA;YACV,WAAWA;YACX,aAAaA;YAEb,UAAU;YACV,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;QACR,GACA;YAAEC,YAAY;QAAK;IAEvB;IAEA,MAAMC,OAAsB;QAC1B,IAAI;YACF,MAAMC,YAAY,IAAI,CAACL,IAAI,CAAC,UAAU;YAEtC,uCAAuC;YACvC,IAAIK,WAAW;gBACbC,QAAQC,GAAG,CAACC,KAAK,GAAG;YACtB;YAEA,MAAMC,iBAAiB,MAAMnB,wBAAwB;gBACnDC,OAAOc;gBACPK,aAAa;YACf;YAEA,IAAI,IAAI,CAACV,IAAI,CAAC,SAAS,EAAE;gBACvBL;gBACAW,QAAQK,IAAI,CAAC;YACf;YAEA,sCAAsC;YACtCC,QAAQC,GAAG,CAAC;YACZ5C,EAAE6C,KAAK,CAAC1C,MAAM2C,MAAM,CAAC3C,MAAM4C,KAAK,CAAC;YACjC/C,EAAEgD,IAAI,CAAC;YAEP,mCAAmC;YACnC,MAAMC,iBAAiB,MAAMtC,kBAAkB0B,QAAQa,GAAG;YAC1D,MAAM,EACJC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,EACtBC,UAAU,EACVC,cAAc,EACdC,WAAW,EACZ,GAAGP;YAEJ,IAAIM,kBAAkB,CAACF,wBAAwB;gBAC7CrD,EAAE4C,GAAG,CAACa,IAAI,CACR,CAAC,SAAS,EAAED,YAAY,0DAA0D,CAAC;gBAErFxD,EAAE0D,KAAK,CAACjC;gBACRY,QAAQK,IAAI,CAAC;YACf;YAEA,sCAAsC;YACtC,IAAIU,sBAAsBG,gBAAgB;gBACxCvD,EAAE4C,GAAG,CAACa,IAAI,CAAC,CAAC,iDAAiD,CAAC;gBAC9D,MAAME,eAAe,MAAM3D,EAAE4D,OAAO,CAAC;oBACnCC,cAAc;oBACdC,SAAS3D,MAAM4D,IAAI,CAAC,CAAC,gCAAgC,CAAC;gBACxD;gBAEA,IAAI,CAAC/D,EAAEgE,QAAQ,CAACL,iBAAiBA,cAAc;oBAC7C,MAAM,EAAEG,OAAO,EAAEG,SAASC,aAAa,EAAE,GAAG,MAAM9C,uBAAuB6B;oBACzE,IAAIiB,eAAe;wBACjB1C,KAAKsC;oBACP,OAAO;wBACLvC,MAAMuC;oBACR;gBACF;gBAEA9D,EAAE0D,KAAK,CAACjC;gBACRY,QAAQK,IAAI,CAAC;YACf;YAEA,IAAIa,gBAAgB;gBAClB,IAAI,CAACxB,IAAI,CAAC,SAAS,GAAG9B,QAAQI,KAAK8D,QAAQ,CAAC9D,KAAK+D,OAAO,CAACb;YAC3D;YAEA,MAAMc,cAAc,MAAMvD,iBAAiB,IAAI,CAACiB,IAAI;YACpD,MAAMuC,aAAaf,iBACflD,KAAK+D,OAAO,CAACb,kBACblD,KAAKkE,OAAO,CAAClC,QAAQa,GAAG,IAAIjD,QAAQoE;YAExC,MAAMG,iBAAiB,MAAM9D,kBAAkB;gBAAE+D,SAAS,IAAI,CAAC1C,IAAI;gBAAEuC;YAAW;YAEhF,IAAIf,gBAAgB;gBAClBvD,EAAE4C,GAAG,CAAC8B,IAAI,CACRvE,MAAM4D,IAAI,CAAC,GAAG5D,MAAMwE,OAAO,CAAC,CAAC,CAAC,EAAEvE,QAAQwE,UAAU,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;gBAGpF,MAAMC,UAAU,MAAM7E,EAAE4D,OAAO,CAAC;oBAC9BC,cAAc;oBACdC,SAAS3D,MAAM4D,IAAI,CAAC,CAAC,QAAQ,EAAE5D,MAAM2E,KAAK,CAAC,WAAW,iBAAiB,CAAC;gBAC1E;gBACA,IAAI9E,EAAEgE,QAAQ,CAACa,YAAY,CAACA,SAAS;oBACnC7E,EAAE0D,KAAK,CAACjC;oBACRY,QAAQK,IAAI,CAAC;gBACf;gBAEA,iCAAiC;gBACjC,IAAIY,cAAcH,mBAAmB;oBACnCnD,EAAE4C,GAAG,CAACa,IAAI,CAAC9B,YAAY;wBAAE2B;wBAAYgB;oBAAW;oBAChDtE,EAAE0D,KAAK,CAACjC;oBACRY,QAAQK,IAAI,CAAC;gBACf;gBAEA,MAAMqC,YAAY,MAAM9D,SAAS,IAAI,CAACc,IAAI,EAAEsC;gBAE5C,MAAMW,SAAS,MAAMpE,SAAS;oBAC5B,GAAG,IAAI,CAACmB,IAAI;oBACZkD,QAAQF,UAAUG,IAAI;oBACtBjC;oBACAuB;oBACAF;gBACF;gBAEA,IAAIU,OAAOf,OAAO,KAAK,OAAO;oBAC5BjE,EAAE0D,KAAK,CAACjC;oBACRY,QAAQK,IAAI,CAAC;gBACf;gBAEA,MAAMpC,uBAAuB;oBAC3B2E,QAAQF,WAAWG;oBACnBC,wBAAwB;wBACtBC,mBAAmBJ,OAAOI,iBAAiB;oBAC7C;gBACF;gBAEA,MAAMvE,eAAe;oBACnB4D,SAAS,IAAI,CAAC1C,IAAI;oBAClBsD,cAAcN,UAAUG,IAAI;oBAC5BI,aAAaP,UAAUQ,KAAK;oBAC5BC,eAAe/E;oBACf6D;gBACF;gBAEA9C,KAAK;gBACLxB,EAAEgD,IAAI,CAACpB,sBAAsBzB,MAAMsF,OAAO,CAACtF,MAAM4C,KAAK,CAAC;gBACvD/C,EAAE0D,KAAK,CAACjC;gBACR;YACF;YAEA,MAAMiE,cAAc,IAAI,CAAC3D,IAAI,CAAC,aAAa;YAC3C,IAAI2D,aAAa;gBACf,MAAMC,QAAQxE,iBAAiB;oBAAEyE,cAAcF;gBAAY;gBAC3D,IAAI,CAACC,OAAO;oBACVjE;oBACAW,QAAQK,IAAI,CAAC;gBACf;YACF;YAEA,MAAMmD,aAAa,IAAI,CAAC9D,IAAI,CAAC,YAAY;YAEzC,IAAI8D,YAAY;gBACd,MAAMC,UAAU,MAAMtF,aAAa;oBACjCuF,MAAMF;oBACNG,QAAQ,IAAI,CAACjE,IAAI,CAAC,WAAW,IAAI;gBACnC;gBAEA,IAAI,CAAC+D,SAAS;oBACZpE;oBACAW,QAAQK,IAAI,CAAC;gBACf;gBAEA,MAAMuD,YAAY,MAAMjF,YAAY;oBAAEyD,SAAS,IAAI,CAAC1C,IAAI;gBAAC;gBAEzD,MAAMxB,cAAc;oBAClB0F;oBACAxB,SAAS,IAAI,CAAC1C,IAAI;oBAClB+D;oBACAtB;oBACAF;oBACAD;gBACF;YACF;YAEA,IAAIjC,WAAW;gBACbd,MAAM,CAAC,MAAM,EAAEuE,aAAa,aAAa,YAAY,gBAAgB,EAAErD,gBAAgB;YACzF;YAEA,IAAI,CAACqD,YAAY;gBACf,MAAMK,iBAAiBhF;gBACvB,MAAMiF,WAAW,MAAMpF,cAAc,IAAI,CAACgB,IAAI,EAAEmE;gBAChD,IAAI,CAACC,UAAU;oBACbnG,EAAE4C,GAAG,CAACrB,KAAK,CAAC;oBACZvB,EAAE0D,KAAK,CAACjC;oBACRY,QAAQK,IAAI,CAAC;gBACf;gBAEA,OAAQyD,SAASjB,IAAI;oBACnB,KAAK;wBAAU;4BACb,MAAMe,YAAY,MAAMjF,YAAY;gCAAEyD,SAAS,IAAI,CAAC1C,IAAI;4BAAC;4BACzD,MAAMxB,cAAc;gCAClB0F;gCACAxB,SAAS,IAAI,CAAC1C,IAAI;gCAClByC;gCACAF;gCACAD;gCACA8B;4BACF;4BACA;wBACF;oBACA,KAAK;wBAAW;4BACd,MAAMpB,YAAY,MAAM9D,SAAS,IAAI,CAACc,IAAI,EAAEsC,aAAa8B;4BACzD,MAAMF,YAAY,MAAMjF,YAAY;gCAAEyD,SAAS,IAAI,CAAC1C,IAAI;4BAAC;4BAEzD,MAAMxB,cAAc;gCAClB0F;gCACAxB,SAAS,IAAI,CAAC1C,IAAI;gCAClBgD;gCACAP;gCACAF;gCACAD;gCACA8B;4BACF;4BAEA;wBACF;gBACF;YACF;YAEA3E,KAAK;YACLxB,EAAE4C,GAAG,CAAC8B,IAAI,CAACvE,MAAMsF,OAAO,CAACtF,MAAM4C,KAAK,CAAC;YACrC/C,EAAE4C,GAAG,CAACkB,OAAO,CAACjC,eAAeyC,YAAYE;YACzCxE,EAAE0D,KAAK,CAACjC;QACV,EAAE,OAAO2E,KAAc;YACrB7E,MAAM6E,eAAeC,QAAQD,IAAItC,OAAO,GAAG;QAC7C;IACF;AACF"}
|
|
1
|
+
{"version":3,"sources":["../src/main.ts"],"sourcesContent":["import * as p from '@clack/prompts'\nimport slugify from '@sindresorhus/slugify'\nimport arg from 'arg'\nimport chalk from 'chalk'\nimport figures from 'figures'\nimport path from 'path'\n\nimport type {\n CliArgs,\n NextAppDetails,\n TanStackAppDetails,\n TanStackDetectionResult,\n} from './types.js'\n\nimport { configurePayloadConfig } from './lib/configure-payload-config.js'\nimport { createProject } from './lib/create-project.js'\nimport { parseExample } from './lib/examples.js'\nimport { generateSecret } from './lib/generate-secret.js'\nimport { getPackageManager } from './lib/get-package-manager.js'\nimport { getNextAppDetails, initNext, minimumNextVersion } from './lib/init-next.js'\nimport { initTanStack } from './lib/init-tanstack.js'\nimport { manageEnvFiles } from './lib/manage-env-files.js'\nimport { parseProjectName } from './lib/parse-project-name.js'\nimport { parseTemplate } from './lib/parse-template.js'\nimport { selectDb } from './lib/select-db.js'\nimport { getTanStackAppDetails } from './lib/tanstack/detect.js'\nimport { getValidTemplates, validateTemplate } from './lib/templates.js'\nimport {\n updatePayloadInNextProject,\n updatePayloadInTanStackProject,\n} from './lib/update-payload-in-project.js'\nimport { debug, error, info } from './utils/log.js'\nimport {\n feedbackOutro,\n helpMessage,\n moveMessage,\n successfulNextInit,\n successfulTanStackInit,\n successMessage,\n} from './utils/messages.js'\nimport {\n DEFAULT_PAYLOAD_VERSION_TAG,\n resolvePackageVersion,\n} from './utils/resolvePackageVersion.js'\n\nexport class Main {\n args: CliArgs\n\n constructor() {\n // @ts-expect-error bad typings\n this.args = arg(\n {\n '--branch': String,\n '--db': String,\n '--db-accept-recommended': Boolean,\n '--db-connection-string': String,\n '--example': String,\n '--help': Boolean,\n '--local-template': String,\n '--name': String,\n '--payload-version': String, // Install a specific Payload version or npm dist-tag (e.g. 3.40.0 or beta; default: this CLI's own dist-tag)\n '--secret': String,\n '--template': String,\n\n // Next.js\n '--init-next': Boolean, // TODO: Is this needed if we detect if inside Next.js project?\n\n // Agent\n '--no-agent': Boolean,\n\n // Package manager\n '--no-deps': Boolean,\n '--use-bun': Boolean,\n '--use-npm': Boolean,\n '--use-pnpm': Boolean,\n '--use-yarn': Boolean,\n\n // Other\n '--no-git': Boolean,\n\n // Flags\n '--beta': Boolean,\n '--debug': Boolean,\n '--dry-run': Boolean,\n\n // Aliases\n '-d': '--db',\n '-e': '--example',\n '-h': '--help',\n '-n': '--name',\n '-t': '--template',\n },\n { permissive: true },\n )\n }\n\n async init(): Promise<void> {\n try {\n const debugFlag = this.args['--debug']\n\n // Set DEBUG env var for logger utility\n if (debugFlag) {\n process.env.DEBUG = 'true'\n }\n\n const LATEST_VERSION = await resolvePackageVersion({\n debug: debugFlag,\n packageName: 'payload',\n versionOrTag: this.args['--payload-version'] ?? DEFAULT_PAYLOAD_VERSION_TAG,\n })\n\n if (this.args['--help']) {\n helpMessage()\n process.exit(0)\n }\n\n // eslint-disable-next-line no-console\n console.log('\\n')\n p.intro(chalk.bgCyan(chalk.black(' create-payload-app ')))\n p.note(\"Welcome to Payload. Let's create a project!\")\n\n const tanStackDetection = await getTanStackAppDetails({ projectDir: process.cwd() })\n const nextAppDetails = await getNextAppDetails(process.cwd())\n const appFramework = resolveAppFramework({ nextAppDetails, tanStackDetection })\n\n if (appFramework.kind === 'ambiguous') {\n p.log.warn(\n 'Both Next.js and TanStack project markers were detected. Remove one framework before installing Payload.',\n )\n p.outro(feedbackOutro())\n return\n }\n\n if (appFramework.kind === 'unsupported-tanstack') {\n p.log.warn(appFramework.reason)\n p.outro(feedbackOutro())\n return\n }\n\n if (appFramework.kind === 'next' && !appFramework.appDetails.isSupportedNextVersion) {\n p.log.warn(\n `Next.js v${appFramework.appDetails.nextVersion} is unsupported. Next.js >= ${minimumNextVersion.major}.${minimumNextVersion.minor} is required to use Payload.`,\n )\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n const hasPayload = appFramework.kind !== 'none' && appFramework.appDetails.isPayloadInstalled\n\n if (hasPayload) {\n p.log.warn(`Payload installation detected in current project.`)\n const shouldUpdate = await p.confirm({\n initialValue: false,\n message: chalk.bold(`Upgrade Payload in this project?`),\n })\n\n if (!p.isCancel(shouldUpdate) && shouldUpdate) {\n const versionOrTag = this.args['--payload-version'] ?? DEFAULT_PAYLOAD_VERSION_TAG\n const updateResult =\n appFramework.kind === 'next'\n ? await updatePayloadInNextProject({\n appDetails: appFramework.appDetails,\n versionOrTag,\n })\n : await updatePayloadInTanStackProject({\n appDetails: appFramework.appDetails,\n versionOrTag,\n })\n\n const { message, success: updateSuccess } = updateResult\n if (updateSuccess) {\n info(message)\n } else {\n error(message)\n }\n }\n\n p.outro(feedbackOutro())\n return\n }\n\n if (appFramework.kind === 'next') {\n this.args['--name'] = slugify(\n path.basename(path.dirname(appFramework.appDetails.nextConfigPath!)),\n )\n } else if (appFramework.kind === 'tanstack') {\n this.args['--name'] = slugify(path.basename(appFramework.appDetails.projectDir))\n }\n\n const projectName = await parseProjectName(this.args)\n let projectDir: string\n if (appFramework.kind === 'next') {\n projectDir = path.dirname(appFramework.appDetails.nextConfigPath!)\n } else if (appFramework.kind === 'tanstack') {\n projectDir = appFramework.appDetails.projectDir\n } else {\n projectDir = path.resolve(process.cwd(), slugify(projectName))\n }\n\n const packageManager = await getPackageManager({ cliArgs: this.args, projectDir })\n\n if (appFramework.kind === 'next') {\n const { hasTopLevelLayout, nextAppDir } = appFramework.appDetails\n\n p.log.step(\n chalk.bold(`${chalk.bgBlack(` ${figures.triangleUp} Next.js `)} project detected!`),\n )\n\n const proceed = await p.confirm({\n initialValue: true,\n message: chalk.bold(`Install ${chalk.green('Payload')} in this project?`),\n })\n if (p.isCancel(proceed) || !proceed) {\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n // Check for top-level layout.tsx\n if (nextAppDir && hasTopLevelLayout) {\n p.log.warn(moveMessage({ nextAppDir, projectDir }))\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n const dbDetails = await selectDb(this.args, projectName)\n\n const result = await initNext({\n ...this.args,\n dbType: dbDetails.type,\n nextAppDetails: appFramework.appDetails,\n packageManager,\n projectDir,\n })\n\n if (result.success === false) {\n p.outro(feedbackOutro())\n process.exit(1)\n }\n\n await configurePayloadConfig({\n dbType: dbDetails?.type,\n projectDirOrConfigPath: {\n payloadConfigPath: result.payloadConfigPath,\n },\n })\n\n await manageEnvFiles({\n cliArgs: this.args,\n databaseType: dbDetails.type,\n databaseUri: dbDetails.dbUri,\n payloadSecret: generateSecret(),\n projectDir,\n })\n\n info('Payload project successfully initialized!')\n p.note(successfulNextInit(), chalk.bgGreen(chalk.black(' Documentation ')))\n p.outro(feedbackOutro())\n return\n }\n\n if (appFramework.kind === 'tanstack') {\n const frameworkName =\n appFramework.appDetails.kind === 'start' ? 'TanStack Start' : 'TanStack Router'\n p.log.step(chalk.bold(`${chalk.bgBlack(` ${frameworkName} `)} project detected!`))\n\n const proceed = await p.confirm({\n initialValue: true,\n message: chalk.bold(\n appFramework.appDetails.kind === 'start'\n ? 'Install Payload in this TanStack Start project?'\n : 'Convert this project to TanStack Start and install Payload?',\n ),\n })\n if (p.isCancel(proceed) || !proceed) {\n p.outro(feedbackOutro())\n process.exit(0)\n }\n\n const dbDetails = await selectDb(this.args, projectName)\n const result = await initTanStack({\n ...this.args,\n appDetails: appFramework.appDetails,\n dbType: dbDetails.type,\n packageManager,\n projectDir,\n })\n\n if (result.success === false) {\n p.log.error(result.reason)\n p.outro(feedbackOutro())\n process.exit(1)\n }\n\n await configurePayloadConfig({\n dbType: dbDetails.type,\n projectDirOrConfigPath: {\n payloadConfigPath: result.payloadConfigPath,\n },\n })\n\n await manageEnvFiles({\n cliArgs: this.args,\n databaseType: dbDetails.type,\n databaseUri: dbDetails.dbUri,\n payloadSecret: generateSecret(),\n projectDir,\n })\n\n info('Payload project successfully initialized!')\n p.note(successfulTanStackInit(), chalk.bgGreen(chalk.black(' TanStack Start initialized ')))\n p.outro(feedbackOutro())\n return\n }\n\n const templateArg = this.args['--template']\n if (templateArg) {\n const valid = validateTemplate({ templateName: templateArg })\n if (!valid) {\n helpMessage()\n process.exit(1)\n }\n }\n\n const exampleArg = this.args['--example']\n\n if (exampleArg) {\n const example = await parseExample({\n name: exampleArg,\n branch: this.args['--branch'] ?? 'main',\n })\n\n if (!example) {\n helpMessage()\n process.exit(1)\n }\n\n await createProject({\n cliArgs: this.args,\n example,\n packageManager,\n projectDir,\n projectName,\n })\n }\n\n if (debugFlag) {\n debug(`Using ${exampleArg ? 'examples' : 'templates'} from git tag: v${LATEST_VERSION}`)\n }\n\n if (!exampleArg) {\n const validTemplates = getValidTemplates()\n const template = await parseTemplate(this.args, validTemplates)\n if (!template) {\n p.log.error('Invalid template given')\n p.outro(feedbackOutro())\n process.exit(1)\n }\n\n switch (template.type) {\n case 'plugin': {\n await createProject({\n cliArgs: this.args,\n packageManager,\n projectDir,\n projectName,\n template,\n })\n break\n }\n case 'starter': {\n const dbDetails = await selectDb(this.args, projectName, template)\n await createProject({\n cliArgs: this.args,\n dbDetails,\n packageManager,\n projectDir,\n projectName,\n template,\n })\n\n break\n }\n }\n }\n\n info('Payload project successfully created!')\n p.log.step(chalk.bgGreen(chalk.black(' Next Steps ')))\n p.log.message(successMessage(projectDir, packageManager))\n p.outro(feedbackOutro())\n } catch (err: unknown) {\n error(err instanceof Error ? err.message : 'An error occurred')\n }\n }\n}\n\ntype AppFramework =\n | { appDetails: NextAppDetails; kind: 'next' }\n | { appDetails: TanStackAppDetails; kind: 'tanstack' }\n | { kind: 'ambiguous' }\n | { kind: 'none' }\n | { kind: 'unsupported-tanstack'; reason: string }\n\nexport function resolveAppFramework({\n nextAppDetails,\n tanStackDetection,\n}: {\n nextAppDetails: NextAppDetails\n tanStackDetection: TanStackDetectionResult\n}): AppFramework {\n if (nextAppDetails.nextConfigPath && tanStackDetection.detected) {\n return { kind: 'ambiguous' }\n }\n\n if (nextAppDetails.nextConfigPath) {\n return { appDetails: nextAppDetails, kind: 'next' }\n }\n\n if (!tanStackDetection.detected) {\n return { kind: 'none' }\n }\n\n if (!tanStackDetection.compatible) {\n return { kind: 'unsupported-tanstack', reason: tanStackDetection.reason }\n }\n\n return { appDetails: tanStackDetection.details, kind: 'tanstack' }\n}\n"],"names":["p","slugify","arg","chalk","figures","path","configurePayloadConfig","createProject","parseExample","generateSecret","getPackageManager","getNextAppDetails","initNext","minimumNextVersion","initTanStack","manageEnvFiles","parseProjectName","parseTemplate","selectDb","getTanStackAppDetails","getValidTemplates","validateTemplate","updatePayloadInNextProject","updatePayloadInTanStackProject","debug","error","info","feedbackOutro","helpMessage","moveMessage","successfulNextInit","successfulTanStackInit","successMessage","DEFAULT_PAYLOAD_VERSION_TAG","resolvePackageVersion","Main","args","String","Boolean","permissive","init","debugFlag","process","env","DEBUG","LATEST_VERSION","packageName","versionOrTag","exit","console","log","intro","bgCyan","black","note","tanStackDetection","projectDir","cwd","nextAppDetails","appFramework","resolveAppFramework","kind","warn","outro","reason","appDetails","isSupportedNextVersion","nextVersion","major","minor","hasPayload","isPayloadInstalled","shouldUpdate","confirm","initialValue","message","bold","isCancel","updateResult","success","updateSuccess","basename","dirname","nextConfigPath","projectName","resolve","packageManager","cliArgs","hasTopLevelLayout","nextAppDir","step","bgBlack","triangleUp","proceed","green","dbDetails","result","dbType","type","projectDirOrConfigPath","payloadConfigPath","databaseType","databaseUri","dbUri","payloadSecret","bgGreen","frameworkName","templateArg","valid","templateName","exampleArg","example","name","branch","validTemplates","template","err","Error","detected","compatible","details"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import fsp from 'fs/promises';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import path from 'path';
|
|
5
|
+
import { TANSTACK_TEMPLATE_FILES } from '../lib/tanstack/template-files.js';
|
|
5
6
|
const filename = fileURLToPath(import.meta.url);
|
|
6
7
|
const dirname = path.dirname(filename);
|
|
7
8
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
@@ -14,6 +15,8 @@ main();
|
|
|
14
15
|
const root = path.resolve(dirname, '../../../../');
|
|
15
16
|
const outputPath = path.resolve(dirname, '../../dist/template');
|
|
16
17
|
const sourceTemplatePath = path.resolve(root, 'templates/blank');
|
|
18
|
+
const tanStackOutputPath = path.resolve(dirname, '../../dist/template-tanstack');
|
|
19
|
+
const tanStackSourcePath = path.resolve(root, 'templates/blank-tanstack/src');
|
|
17
20
|
if (!fs.existsSync(sourceTemplatePath)) {
|
|
18
21
|
throw new Error(`Source path does not exist: ${sourceTemplatePath}`);
|
|
19
22
|
}
|
|
@@ -29,6 +32,21 @@ main();
|
|
|
29
32
|
await fsp.cp(srcPath, distSrcPath, {
|
|
30
33
|
recursive: true
|
|
31
34
|
});
|
|
35
|
+
if (!fs.existsSync(tanStackSourcePath)) {
|
|
36
|
+
throw new Error(`Source path does not exist: ${tanStackSourcePath}`);
|
|
37
|
+
}
|
|
38
|
+
await Promise.all(TANSTACK_TEMPLATE_FILES.map(({ sourcePath })=>fsp.access(path.join(tanStackSourcePath, sourcePath))));
|
|
39
|
+
await fsp.rm(tanStackOutputPath, {
|
|
40
|
+
force: true,
|
|
41
|
+
recursive: true
|
|
42
|
+
});
|
|
43
|
+
await Promise.all(TANSTACK_TEMPLATE_FILES.map(async ({ destination, relativePath, sourcePath })=>{
|
|
44
|
+
const outputFilePath = path.join(tanStackOutputPath, destination, relativePath);
|
|
45
|
+
await fsp.mkdir(path.dirname(outputFilePath), {
|
|
46
|
+
recursive: true
|
|
47
|
+
});
|
|
48
|
+
await fsp.copyFile(path.join(tanStackSourcePath, sourcePath), outputFilePath);
|
|
49
|
+
}));
|
|
32
50
|
}
|
|
33
51
|
|
|
34
52
|
//# sourceMappingURL=pack-template-files.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/scripts/pack-template-files.ts"],"sourcesContent":["import fs from 'fs'\nimport fsp from 'fs/promises'\nimport { fileURLToPath } from 'node:url'\nimport path from 'path'\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\nmain()\n\n/**\n * Copy the necessary template files from `templates/blank` to `dist/template`\n *\n * Eventually, this should be replaced with using tar.x to stream from the git repo\n */\n\nasync function main() {\n const root = path.resolve(dirname, '../../../../')\n const outputPath = path.resolve(dirname, '../../dist/template')\n const sourceTemplatePath = path.resolve(root, 'templates/blank')\n\n if (!fs.existsSync(sourceTemplatePath)) {\n throw new Error(`Source path does not exist: ${sourceTemplatePath}`)\n }\n\n if (!fs.existsSync(outputPath)) {\n fs.mkdirSync(outputPath, { recursive: true })\n }\n\n // Copy the src directory from `templates/blank` to `dist`\n const srcPath = path.resolve(sourceTemplatePath, 'src')\n const distSrcPath = path.resolve(outputPath, 'src')\n // Copy entire file structure from src to dist\n await fsp.cp(srcPath, distSrcPath, { recursive: true })\n}\n"],"names":["fs","fsp","fileURLToPath","path","filename","url","dirname","main","root","resolve","outputPath","sourceTemplatePath","existsSync","Error","mkdirSync","recursive","srcPath","distSrcPath","cp"],"mappings":"AAAA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,SAAS,cAAa;AAC7B,SAASC,aAAa,QAAQ,WAAU;AACxC,OAAOC,UAAU,OAAM;
|
|
1
|
+
{"version":3,"sources":["../../src/scripts/pack-template-files.ts"],"sourcesContent":["import fs from 'fs'\nimport fsp from 'fs/promises'\nimport { fileURLToPath } from 'node:url'\nimport path from 'path'\n\nimport { TANSTACK_TEMPLATE_FILES } from '../lib/tanstack/template-files.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\nmain()\n\n/**\n * Copy the necessary template files from `templates/blank` to `dist/template`\n *\n * Eventually, this should be replaced with using tar.x to stream from the git repo\n */\n\nasync function main() {\n const root = path.resolve(dirname, '../../../../')\n const outputPath = path.resolve(dirname, '../../dist/template')\n const sourceTemplatePath = path.resolve(root, 'templates/blank')\n const tanStackOutputPath = path.resolve(dirname, '../../dist/template-tanstack')\n const tanStackSourcePath = path.resolve(root, 'templates/blank-tanstack/src')\n\n if (!fs.existsSync(sourceTemplatePath)) {\n throw new Error(`Source path does not exist: ${sourceTemplatePath}`)\n }\n\n if (!fs.existsSync(outputPath)) {\n fs.mkdirSync(outputPath, { recursive: true })\n }\n\n // Copy the src directory from `templates/blank` to `dist`\n const srcPath = path.resolve(sourceTemplatePath, 'src')\n const distSrcPath = path.resolve(outputPath, 'src')\n // Copy entire file structure from src to dist\n await fsp.cp(srcPath, distSrcPath, { recursive: true })\n\n if (!fs.existsSync(tanStackSourcePath)) {\n throw new Error(`Source path does not exist: ${tanStackSourcePath}`)\n }\n\n await Promise.all(\n TANSTACK_TEMPLATE_FILES.map(({ sourcePath }) =>\n fsp.access(path.join(tanStackSourcePath, sourcePath)),\n ),\n )\n await fsp.rm(tanStackOutputPath, { force: true, recursive: true })\n await Promise.all(\n TANSTACK_TEMPLATE_FILES.map(async ({ destination, relativePath, sourcePath }) => {\n const outputFilePath = path.join(tanStackOutputPath, destination, relativePath)\n\n await fsp.mkdir(path.dirname(outputFilePath), { recursive: true })\n await fsp.copyFile(path.join(tanStackSourcePath, sourcePath), outputFilePath)\n }),\n )\n}\n"],"names":["fs","fsp","fileURLToPath","path","TANSTACK_TEMPLATE_FILES","filename","url","dirname","main","root","resolve","outputPath","sourceTemplatePath","tanStackOutputPath","tanStackSourcePath","existsSync","Error","mkdirSync","recursive","srcPath","distSrcPath","cp","Promise","all","map","sourcePath","access","join","rm","force","destination","relativePath","outputFilePath","mkdir","copyFile"],"mappings":"AAAA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,SAAS,cAAa;AAC7B,SAASC,aAAa,QAAQ,WAAU;AACxC,OAAOC,UAAU,OAAM;AAEvB,SAASC,uBAAuB,QAAQ,oCAAmC;AAE3E,MAAMC,WAAWH,cAAc,YAAYI,GAAG;AAC9C,MAAMC,UAAUJ,KAAKI,OAAO,CAACF;AAE7B,mEAAmE;AACnEG;AAEA;;;;CAIC,GAED,eAAeA;IACb,MAAMC,OAAON,KAAKO,OAAO,CAACH,SAAS;IACnC,MAAMI,aAAaR,KAAKO,OAAO,CAACH,SAAS;IACzC,MAAMK,qBAAqBT,KAAKO,OAAO,CAACD,MAAM;IAC9C,MAAMI,qBAAqBV,KAAKO,OAAO,CAACH,SAAS;IACjD,MAAMO,qBAAqBX,KAAKO,OAAO,CAACD,MAAM;IAE9C,IAAI,CAACT,GAAGe,UAAU,CAACH,qBAAqB;QACtC,MAAM,IAAII,MAAM,CAAC,4BAA4B,EAAEJ,oBAAoB;IACrE;IAEA,IAAI,CAACZ,GAAGe,UAAU,CAACJ,aAAa;QAC9BX,GAAGiB,SAAS,CAACN,YAAY;YAAEO,WAAW;QAAK;IAC7C;IAEA,0DAA0D;IAC1D,MAAMC,UAAUhB,KAAKO,OAAO,CAACE,oBAAoB;IACjD,MAAMQ,cAAcjB,KAAKO,OAAO,CAACC,YAAY;IAC7C,8CAA8C;IAC9C,MAAMV,IAAIoB,EAAE,CAACF,SAASC,aAAa;QAAEF,WAAW;IAAK;IAErD,IAAI,CAAClB,GAAGe,UAAU,CAACD,qBAAqB;QACtC,MAAM,IAAIE,MAAM,CAAC,4BAA4B,EAAEF,oBAAoB;IACrE;IAEA,MAAMQ,QAAQC,GAAG,CACfnB,wBAAwBoB,GAAG,CAAC,CAAC,EAAEC,UAAU,EAAE,GACzCxB,IAAIyB,MAAM,CAACvB,KAAKwB,IAAI,CAACb,oBAAoBW;IAG7C,MAAMxB,IAAI2B,EAAE,CAACf,oBAAoB;QAAEgB,OAAO;QAAMX,WAAW;IAAK;IAChE,MAAMI,QAAQC,GAAG,CACfnB,wBAAwBoB,GAAG,CAAC,OAAO,EAAEM,WAAW,EAAEC,YAAY,EAAEN,UAAU,EAAE;QAC1E,MAAMO,iBAAiB7B,KAAKwB,IAAI,CAACd,oBAAoBiB,aAAaC;QAElE,MAAM9B,IAAIgC,KAAK,CAAC9B,KAAKI,OAAO,CAACyB,iBAAiB;YAAEd,WAAW;QAAK;QAChE,MAAMjB,IAAIiC,QAAQ,CAAC/B,KAAKwB,IAAI,CAACb,oBAAoBW,aAAaO;IAChE;AAEJ"}
|
|
@@ -19,16 +19,19 @@ export default async function HomePage() {
|
|
|
19
19
|
<div className="home">
|
|
20
20
|
<div className="content">
|
|
21
21
|
<picture>
|
|
22
|
-
<source srcSet="https://raw.githubusercontent.com/payloadcms/payload/
|
|
22
|
+
<source srcSet="https://raw.githubusercontent.com/payloadcms/payload/main/packages/ui/src/assets/payload-favicon.svg" />
|
|
23
23
|
<Image
|
|
24
24
|
alt="Payload Logo"
|
|
25
25
|
height={65}
|
|
26
|
-
src="https://raw.githubusercontent.com/payloadcms/payload/
|
|
26
|
+
src="https://raw.githubusercontent.com/payloadcms/payload/main/packages/ui/src/assets/payload-favicon.svg"
|
|
27
27
|
width={65}
|
|
28
28
|
/>
|
|
29
29
|
</picture>
|
|
30
|
-
{!user
|
|
31
|
-
|
|
30
|
+
{!user || !('email' in user) ? (
|
|
31
|
+
<h1>Welcome to your new project.</h1>
|
|
32
|
+
) : (
|
|
33
|
+
<h1>Welcome back, {user.email}</h1>
|
|
34
|
+
)}
|
|
32
35
|
<div className="links">
|
|
33
36
|
<a
|
|
34
37
|
className="admin"
|
|
@@ -28,6 +28,7 @@ body {
|
|
|
28
28
|
margin: 0;
|
|
29
29
|
color: rgb(1000, 1000, 1000);
|
|
30
30
|
|
|
31
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
31
32
|
@media (max-width: 1024px) {
|
|
32
33
|
font-size: 15px;
|
|
33
34
|
line-height: 24px;
|
|
@@ -46,17 +47,20 @@ h1 {
|
|
|
46
47
|
line-height: 70px;
|
|
47
48
|
font-weight: bold;
|
|
48
49
|
|
|
50
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
49
51
|
@media (max-width: 1024px) {
|
|
50
52
|
margin: 24px 0;
|
|
51
53
|
font-size: 42px;
|
|
52
54
|
line-height: 42px;
|
|
53
55
|
}
|
|
54
56
|
|
|
57
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
55
58
|
@media (max-width: 768px) {
|
|
56
59
|
font-size: 38px;
|
|
57
60
|
line-height: 38px;
|
|
58
61
|
}
|
|
59
62
|
|
|
63
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
60
64
|
@media (max-width: 400px) {
|
|
61
65
|
font-size: 32px;
|
|
62
66
|
line-height: 32px;
|
|
@@ -66,8 +70,9 @@ h1 {
|
|
|
66
70
|
p {
|
|
67
71
|
margin: 24px 0;
|
|
68
72
|
|
|
73
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
69
74
|
@media (max-width: 1024px) {
|
|
70
|
-
margin:
|
|
75
|
+
margin: var(--spacer-3) 0;
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
78
|
|
|
@@ -100,6 +105,7 @@ svg {
|
|
|
100
105
|
margin: 0 auto;
|
|
101
106
|
overflow: hidden;
|
|
102
107
|
|
|
108
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
103
109
|
@media (max-width: 400px) {
|
|
104
110
|
padding: 24px;
|
|
105
111
|
}
|
|
@@ -145,6 +151,7 @@ svg {
|
|
|
145
151
|
align-items: center;
|
|
146
152
|
gap: 8px;
|
|
147
153
|
|
|
154
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
148
155
|
@media (max-width: 1024px) {
|
|
149
156
|
flex-direction: column;
|
|
150
157
|
gap: 6px;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
|
|
2
|
-
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
3
2
|
import type { Metadata } from 'next'
|
|
4
3
|
|
|
5
4
|
import config from '@payload-config'
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
|
|
2
|
-
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
3
2
|
import type { Metadata } from 'next'
|
|
4
3
|
|
|
5
4
|
import config from '@payload-config'
|
|
@@ -1,6 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NullField as NullField_3817bf644402e67bfe6577f60ef982de } from '@payloadcms/ui'
|
|
2
|
+
import { HierarchyField as HierarchyField_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
3
|
+
import { HierarchyButton as HierarchyButton_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
4
|
+
import { FolderIcon as FolderIcon_3817bf644402e67bfe6577f60ef982de } from '@payloadcms/ui'
|
|
5
|
+
import { HierarchySidebarTabServer as HierarchySidebarTabServer_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
6
|
+
import { TagIcon as TagIcon_3817bf644402e67bfe6577f60ef982de } from '@payloadcms/ui'
|
|
7
|
+
import { WelcomeWidget as WelcomeWidget_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
8
|
+
import { CollectionCards as CollectionCards_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
9
|
+
import { CollectionQueryWidget as CollectionQueryWidget_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
10
|
+
import { QueryPresetsWhereField as QueryPresetsWhereField_3817bf644402e67bfe6577f60ef982de } from '@payloadcms/ui'
|
|
11
|
+
import { CollectionQuerySortField as CollectionQuerySortField_3817bf644402e67bfe6577f60ef982de } from '@payloadcms/ui'
|
|
12
|
+
import { RecentlyViewedWidget as RecentlyViewedWidget_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
13
|
+
import { RecentlyViewedCollectionsField as RecentlyViewedCollectionsField_3817bf644402e67bfe6577f60ef982de } from '@payloadcms/ui'
|
|
2
14
|
|
|
3
15
|
/** @type import('payload').ImportMap */
|
|
4
16
|
export const importMap = {
|
|
5
|
-
'@payloadcms/
|
|
17
|
+
'@payloadcms/ui#NullField': NullField_3817bf644402e67bfe6577f60ef982de,
|
|
18
|
+
'@payloadcms/ui/rsc#HierarchyField': HierarchyField_ab83ff7e88da8d3530831f296ec4756a,
|
|
19
|
+
'@payloadcms/ui/rsc#HierarchyButton': HierarchyButton_ab83ff7e88da8d3530831f296ec4756a,
|
|
20
|
+
'@payloadcms/ui#FolderIcon': FolderIcon_3817bf644402e67bfe6577f60ef982de,
|
|
21
|
+
'@payloadcms/ui/rsc#HierarchySidebarTabServer':
|
|
22
|
+
HierarchySidebarTabServer_ab83ff7e88da8d3530831f296ec4756a,
|
|
23
|
+
'@payloadcms/ui#TagIcon': TagIcon_3817bf644402e67bfe6577f60ef982de,
|
|
24
|
+
'@payloadcms/ui/rsc#WelcomeWidget': WelcomeWidget_ab83ff7e88da8d3530831f296ec4756a,
|
|
25
|
+
'@payloadcms/ui/rsc#CollectionCards': CollectionCards_ab83ff7e88da8d3530831f296ec4756a,
|
|
26
|
+
'@payloadcms/ui/rsc#CollectionQueryWidget':
|
|
27
|
+
CollectionQueryWidget_ab83ff7e88da8d3530831f296ec4756a,
|
|
28
|
+
'@payloadcms/ui#QueryPresetsWhereField': QueryPresetsWhereField_3817bf644402e67bfe6577f60ef982de,
|
|
29
|
+
'@payloadcms/ui#CollectionQuerySortField':
|
|
30
|
+
CollectionQuerySortField_3817bf644402e67bfe6577f60ef982de,
|
|
31
|
+
'@payloadcms/ui/rsc#RecentlyViewedWidget': RecentlyViewedWidget_ab83ff7e88da8d3530831f296ec4756a,
|
|
32
|
+
'@payloadcms/ui#RecentlyViewedCollectionsField':
|
|
33
|
+
RecentlyViewedCollectionsField_3817bf644402e67bfe6577f60ef982de,
|
|
6
34
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
|
|
2
|
-
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
3
2
|
import config from '@payload-config'
|
|
4
3
|
import '@payloadcms/next/css'
|
|
5
4
|
import {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
|
|
2
|
-
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
3
2
|
import config from '@payload-config'
|
|
4
3
|
import { GRAPHQL_POST, REST_OPTIONS } from '@payloadcms/next/routes'
|
|
5
4
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
|
|
2
|
-
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
3
2
|
import config from '@payload-config'
|
|
4
3
|
import '@payloadcms/next/css'
|
|
5
4
|
import { GRAPHQL_PLAYGROUND_GET } from '@payloadcms/next/routes'
|
|
File without changes
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
|
|
2
|
-
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
3
2
|
import config from '@payload-config'
|
|
4
3
|
import '@payloadcms/next/css'
|
|
5
4
|
import type { ServerFunctionClient } from 'payload'
|
|
6
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
generatePayloadViewport,
|
|
7
|
+
handleServerFunctions,
|
|
8
|
+
RootLayout,
|
|
9
|
+
} from '@payloadcms/next/layouts'
|
|
7
10
|
import React from 'react'
|
|
8
11
|
|
|
9
12
|
import { importMap } from './admin/importMap.js'
|
|
10
|
-
import './custom.
|
|
13
|
+
import './custom.css'
|
|
14
|
+
|
|
15
|
+
export const generateViewport = generatePayloadViewport
|
|
11
16
|
|
|
12
17
|
type Args = {
|
|
13
18
|
children: React.ReactNode
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CollectionConfig } from 'payload'
|
|
2
|
+
|
|
3
|
+
export const Folders: CollectionConfig = {
|
|
4
|
+
slug: 'folders',
|
|
5
|
+
admin: {
|
|
6
|
+
useAsTitle: 'name',
|
|
7
|
+
},
|
|
8
|
+
folders: true,
|
|
9
|
+
fields: [
|
|
10
|
+
{
|
|
11
|
+
name: 'name',
|
|
12
|
+
type: 'text',
|
|
13
|
+
required: true,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { CollectionConfig } from 'payload'
|
|
2
2
|
|
|
3
|
+
import { createFolderField, createTagField } from 'payload'
|
|
4
|
+
|
|
3
5
|
export const Media: CollectionConfig = {
|
|
4
6
|
slug: 'media',
|
|
5
7
|
access: {
|
|
@@ -11,6 +13,8 @@ export const Media: CollectionConfig = {
|
|
|
11
13
|
type: 'text',
|
|
12
14
|
required: true,
|
|
13
15
|
},
|
|
16
|
+
createFolderField({ relationTo: 'folders' }),
|
|
17
|
+
createTagField({ relationTo: 'tags' }),
|
|
14
18
|
],
|
|
15
19
|
upload: true,
|
|
16
20
|
}
|
|
@@ -69,6 +69,8 @@ export interface Config {
|
|
|
69
69
|
collections: {
|
|
70
70
|
users: User;
|
|
71
71
|
media: Media;
|
|
72
|
+
folders: Folder;
|
|
73
|
+
tags: Tag;
|
|
72
74
|
'payload-kv': PayloadKv;
|
|
73
75
|
'payload-locked-documents': PayloadLockedDocument;
|
|
74
76
|
'payload-preferences': PayloadPreference;
|
|
@@ -78,6 +80,8 @@ export interface Config {
|
|
|
78
80
|
collectionsSelect: {
|
|
79
81
|
users: UsersSelect<false> | UsersSelect<true>;
|
|
80
82
|
media: MediaSelect<false> | MediaSelect<true>;
|
|
83
|
+
folders: FoldersSelect<false> | FoldersSelect<true>;
|
|
84
|
+
tags: TagsSelect<false> | TagsSelect<true>;
|
|
81
85
|
'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
|
|
82
86
|
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
|
|
83
87
|
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
|
|
@@ -86,10 +90,10 @@ export interface Config {
|
|
|
86
90
|
db: {
|
|
87
91
|
defaultIDType: string;
|
|
88
92
|
};
|
|
89
|
-
fallbackLocale: null;
|
|
93
|
+
fallbackLocale: ('false' | 'none' | 'null') | false | null | 'en' | 'en'[];
|
|
90
94
|
globals: {};
|
|
91
95
|
globalsSelect: {};
|
|
92
|
-
locale:
|
|
96
|
+
locale: 'en';
|
|
93
97
|
widgets: {
|
|
94
98
|
collections: CollectionsWidget;
|
|
95
99
|
};
|
|
@@ -117,10 +121,6 @@ export interface UserAuthOperations {
|
|
|
117
121
|
password: string;
|
|
118
122
|
};
|
|
119
123
|
}
|
|
120
|
-
/**
|
|
121
|
-
* This interface was referenced by `Config`'s JSON-Schema
|
|
122
|
-
* via the `definition` "users".
|
|
123
|
-
*/
|
|
124
124
|
export interface User {
|
|
125
125
|
id: string;
|
|
126
126
|
updatedAt: string;
|
|
@@ -149,6 +149,8 @@ export interface User {
|
|
|
149
149
|
export interface Media {
|
|
150
150
|
id: string;
|
|
151
151
|
alt: string;
|
|
152
|
+
_h_folders?: (string | null) | Folder;
|
|
153
|
+
_h_tags?: (string | Tag)[] | null;
|
|
152
154
|
updatedAt: string;
|
|
153
155
|
createdAt: string;
|
|
154
156
|
url?: string | null;
|
|
@@ -163,8 +165,30 @@ export interface Media {
|
|
|
163
165
|
}
|
|
164
166
|
/**
|
|
165
167
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
166
|
-
* via the `definition` "
|
|
168
|
+
* via the `definition` "folders".
|
|
167
169
|
*/
|
|
170
|
+
export interface Folder {
|
|
171
|
+
id: string;
|
|
172
|
+
_h_folders?: (string | null) | Folder;
|
|
173
|
+
name: string;
|
|
174
|
+
updatedAt: string;
|
|
175
|
+
createdAt: string;
|
|
176
|
+
_h_slugPath?: string | null;
|
|
177
|
+
_h_titlePath?: string | null;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* This interface was referenced by `Config`'s JSON-Schema
|
|
181
|
+
* via the `definition` "tags".
|
|
182
|
+
*/
|
|
183
|
+
export interface Tag {
|
|
184
|
+
id: string;
|
|
185
|
+
_h_tags?: (string | null) | Tag;
|
|
186
|
+
name: string;
|
|
187
|
+
updatedAt: string;
|
|
188
|
+
createdAt: string;
|
|
189
|
+
_h_slugPath?: string | null;
|
|
190
|
+
_h_titlePath?: string | null;
|
|
191
|
+
}
|
|
168
192
|
export interface PayloadKv {
|
|
169
193
|
id: string;
|
|
170
194
|
key: string;
|
|
@@ -192,6 +216,14 @@ export interface PayloadLockedDocument {
|
|
|
192
216
|
| ({
|
|
193
217
|
relationTo: 'media';
|
|
194
218
|
value: string | Media;
|
|
219
|
+
} | null)
|
|
220
|
+
| ({
|
|
221
|
+
relationTo: 'folders';
|
|
222
|
+
value: string | Folder;
|
|
223
|
+
} | null)
|
|
224
|
+
| ({
|
|
225
|
+
relationTo: 'tags';
|
|
226
|
+
value: string | Tag;
|
|
195
227
|
} | null);
|
|
196
228
|
globalSlug?: string | null;
|
|
197
229
|
user: {
|
|
@@ -263,6 +295,8 @@ export interface UsersSelect<T extends boolean = true> {
|
|
|
263
295
|
*/
|
|
264
296
|
export interface MediaSelect<T extends boolean = true> {
|
|
265
297
|
alt?: T;
|
|
298
|
+
_h_folders?: T;
|
|
299
|
+
_h_tags?: T;
|
|
266
300
|
updatedAt?: T;
|
|
267
301
|
createdAt?: T;
|
|
268
302
|
url?: T;
|
|
@@ -277,8 +311,28 @@ export interface MediaSelect<T extends boolean = true> {
|
|
|
277
311
|
}
|
|
278
312
|
/**
|
|
279
313
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
280
|
-
* via the `definition` "
|
|
314
|
+
* via the `definition` "folders_select".
|
|
281
315
|
*/
|
|
316
|
+
export interface FoldersSelect<T extends boolean = true> {
|
|
317
|
+
_h_folders?: T;
|
|
318
|
+
name?: T;
|
|
319
|
+
updatedAt?: T;
|
|
320
|
+
createdAt?: T;
|
|
321
|
+
_h_slugPath?: T;
|
|
322
|
+
_h_titlePath?: T;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* This interface was referenced by `Config`'s JSON-Schema
|
|
326
|
+
* via the `definition` "tags_select".
|
|
327
|
+
*/
|
|
328
|
+
export interface TagsSelect<T extends boolean = true> {
|
|
329
|
+
_h_tags?: T;
|
|
330
|
+
name?: T;
|
|
331
|
+
updatedAt?: T;
|
|
332
|
+
createdAt?: T;
|
|
333
|
+
_h_slugPath?: T;
|
|
334
|
+
_h_titlePath?: T;
|
|
335
|
+
}
|
|
282
336
|
export interface PayloadKvSelect<T extends boolean = true> {
|
|
283
337
|
key?: T;
|
|
284
338
|
data?: T;
|
|
@@ -336,4 +390,4 @@ export interface Auth {
|
|
|
336
390
|
|
|
337
391
|
declare module 'payload' {
|
|
338
392
|
export interface GeneratedTypes extends Config {}
|
|
339
|
-
}
|
|
393
|
+
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { mongooseAdapter } from '@payloadcms/db-mongodb'
|
|
2
|
+
import { mcpPlugin } from '@payloadcms/plugin-mcp'
|
|
2
3
|
import { lexicalEditor } from '@payloadcms/richtext-lexical'
|
|
4
|
+
import { sharpTransformer } from '@payloadcms/transformer-sharp'
|
|
3
5
|
import path from 'path'
|
|
4
6
|
import { buildConfig } from 'payload'
|
|
5
7
|
import { fileURLToPath } from 'url'
|
|
6
|
-
import sharp from 'sharp'
|
|
7
8
|
|
|
8
9
|
import { Users } from './collections/Users'
|
|
9
10
|
import { Media } from './collections/Media'
|
|
11
|
+
import { Folders } from './collections/Folders'
|
|
12
|
+
import { Tags } from './collections/Tags'
|
|
10
13
|
|
|
11
14
|
const filename = fileURLToPath(import.meta.url)
|
|
12
15
|
const dirname = path.dirname(filename)
|
|
@@ -18,7 +21,7 @@ export default buildConfig({
|
|
|
18
21
|
baseDir: path.resolve(dirname),
|
|
19
22
|
},
|
|
20
23
|
},
|
|
21
|
-
collections: [Users, Media],
|
|
24
|
+
collections: [Users, Media, Folders, Tags],
|
|
22
25
|
editor: lexicalEditor(),
|
|
23
26
|
secret: process.env.PAYLOAD_SECRET || '',
|
|
24
27
|
typescript: {
|
|
@@ -27,6 +30,13 @@ export default buildConfig({
|
|
|
27
30
|
db: mongooseAdapter({
|
|
28
31
|
url: process.env.DATABASE_URL || '',
|
|
29
32
|
}),
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
localization: {
|
|
34
|
+
locales: [{ code: 'en', label: 'English' }],
|
|
35
|
+
fallback: true,
|
|
36
|
+
defaultLocale: 'en',
|
|
37
|
+
},
|
|
38
|
+
plugins: [mcpPlugin({})],
|
|
39
|
+
upload: {
|
|
40
|
+
transformers: [sharpTransformer()],
|
|
41
|
+
},
|
|
32
42
|
})
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
2
|
+
import payloadStyles from '@payloadcms/ui/css/app.css?url'
|
|
3
|
+
import { payloadAdminSplatRoute } from '@payloadcms/tanstack-start/client'
|
|
4
|
+
import { createFileRoute } from '@tanstack/react-router'
|
|
5
|
+
|
|
6
|
+
import customStyles from './custom.css?url'
|
|
7
|
+
import { loadAdminPageRSC } from './server.functions.js'
|
|
8
|
+
|
|
9
|
+
const adminRoute = payloadAdminSplatRoute({ load: loadAdminPageRSC })
|
|
10
|
+
|
|
11
|
+
export const Route = createFileRoute('/_payload/admin/$')({
|
|
12
|
+
...adminRoute,
|
|
13
|
+
head: (context) => {
|
|
14
|
+
const adminHead = adminRoute.head(context)
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
...adminHead,
|
|
18
|
+
links: [
|
|
19
|
+
...adminHead.links,
|
|
20
|
+
{ rel: 'stylesheet', href: payloadStyles },
|
|
21
|
+
{ rel: 'stylesheet', href: customStyles },
|
|
22
|
+
],
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
})
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. MODIFY AT YOUR OWN RISK. */
|
|
2
|
+
import payloadStyles from '@payloadcms/ui/css/app.css?url'
|
|
3
|
+
import { payloadAdminIndexRoute } from '@payloadcms/tanstack-start/client'
|
|
4
|
+
import { createFileRoute } from '@tanstack/react-router'
|
|
5
|
+
|
|
6
|
+
import customStyles from './custom.css?url'
|
|
7
|
+
import { loadAdminPageRSC } from './server.functions.js'
|
|
8
|
+
|
|
9
|
+
const adminRoute = payloadAdminIndexRoute({ load: loadAdminPageRSC })
|
|
10
|
+
|
|
11
|
+
export const Route = createFileRoute('/_payload/admin/')({
|
|
12
|
+
...adminRoute,
|
|
13
|
+
head: (context) => {
|
|
14
|
+
const adminHead = adminRoute.head(context)
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
...adminHead,
|
|
18
|
+
links: [
|
|
19
|
+
...adminHead.links,
|
|
20
|
+
{ rel: 'stylesheet', href: payloadStyles },
|
|
21
|
+
{ rel: 'stylesheet', href: customStyles },
|
|
22
|
+
],
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
})
|