create-payload-app 3.38.0 → 3.39.0-canary.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.
@@ -1 +1 @@
1
- {"version":3,"file":"manage-env-files.d.ts","sourceRoot":"","sources":["../../src/lib/manage-env-files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAwDnE,wDAAwD;AACxD,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFhB"}
1
+ {"version":3,"file":"manage-env-files.d.ts","sourceRoot":"","sources":["../../src/lib/manage-env-files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AA0DnE,wDAAwD;AACxD,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFhB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/manage-env-files.ts"],"sourcesContent":["import fs from 'fs-extra'\nimport path from 'path'\n\nimport type { CliArgs, DbType, ProjectTemplate } from '../types.js'\n\nimport { debug, error } from '../utils/log.js'\nimport { dbChoiceRecord } from './select-db.js'\n\nconst updateEnvExampleVariables = (\n contents: string,\n databaseType: DbType | undefined,\n payloadSecret?: string,\n databaseUri?: string,\n): string => {\n const seenKeys = new Set<string>()\n const updatedEnv = contents\n .split('\\n')\n .map((line) => {\n if (line.startsWith('#') || !line.includes('=')) {\n return line\n }\n\n const [key] = line.split('=')\n\n if (!key) {return}\n\n if (key === 'DATABASE_URI' || key === 'POSTGRES_URL' || key === 'MONGODB_URI') {\n const dbChoice = databaseType ? dbChoiceRecord[databaseType] : null\n if (dbChoice) {\n const placeholderUri = databaseUri\n ? databaseUri\n : `${dbChoice.dbConnectionPrefix}your-database-name${dbChoice.dbConnectionSuffix || ''}`\n line =\n databaseType === 'vercel-postgres'\n ? `POSTGRES_URL=${placeholderUri}`\n : `DATABASE_URI=${placeholderUri}`\n }\n }\n\n if (key === 'PAYLOAD_SECRET' || key === 'PAYLOAD_SECRET_KEY') {\n line = `PAYLOAD_SECRET=${payloadSecret || 'YOUR_SECRET_HERE'}`\n }\n\n // handles dupes\n if (seenKeys.has(key)) {\n return null\n }\n\n seenKeys.add(key)\n\n return line\n })\n .filter(Boolean)\n .reverse()\n .join('\\n')\n\n return updatedEnv\n}\n\n/** Parse and swap .env.example values and write .env */\nexport async function manageEnvFiles(args: {\n cliArgs: CliArgs\n databaseType?: DbType\n databaseUri: string\n payloadSecret: string\n projectDir: string\n template?: ProjectTemplate\n}): Promise<void> {\n const { cliArgs, databaseType, databaseUri, payloadSecret, projectDir, template } = args\n\n const debugFlag = cliArgs['--debug']\n\n if (cliArgs['--dry-run']) {\n debug(`DRY RUN: Environment files managed`)\n return\n }\n\n const envExamplePath = path.join(projectDir, '.env.example')\n const envPath = path.join(projectDir, '.env')\n const emptyEnvContent = `# Added by Payload\\nDATABASE_URI=your-connection-string-here\\nPAYLOAD_SECRET=YOUR_SECRET_HERE\\n`\n try {\n let updatedExampleContents: string\n\n if (template?.type === 'plugin') {\n if (debugFlag) {\n debug(`plugin template detected - no .env added .env.example added`)\n }\n return\n }\n\n if (!fs.existsSync(envExamplePath)) {\n updatedExampleContents = updateEnvExampleVariables(\n emptyEnvContent,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n\n await fs.writeFile(envExamplePath, updatedExampleContents)\n if (debugFlag) {\n debug(`.env.example file successfully created`)\n }\n } else {\n const envExampleContents = await fs.readFile(envExamplePath, 'utf8')\n const mergedEnvs = envExampleContents + '\\n' + emptyEnvContent\n updatedExampleContents = updateEnvExampleVariables(\n mergedEnvs,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n\n await fs.writeFile(envExamplePath, updatedExampleContents)\n if (debugFlag) {\n debug(`.env.example file successfully updated`)\n }\n }\n\n if (!fs.existsSync(envPath)) {\n const envContent = updateEnvExampleVariables(\n emptyEnvContent,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n await fs.writeFile(envPath, envContent)\n\n if (debugFlag) {\n debug(`.env file successfully created`)\n }\n } else {\n const envContents = await fs.readFile(envPath, 'utf8')\n const mergedEnvs = envContents + '\\n' + emptyEnvContent\n const updatedEnvContents = updateEnvExampleVariables(\n mergedEnvs,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n\n await fs.writeFile(envPath, updatedEnvContents)\n if (debugFlag) {\n debug(`.env file successfully updated`)\n }\n }\n } catch (err: unknown) {\n error('Unable to manage environment files')\n if (err instanceof Error) {\n error(err.message)\n }\n process.exit(1)\n }\n}\n"],"names":["fs","path","debug","error","dbChoiceRecord","updateEnvExampleVariables","contents","databaseType","payloadSecret","databaseUri","seenKeys","Set","updatedEnv","split","map","line","startsWith","includes","key","dbChoice","placeholderUri","dbConnectionPrefix","dbConnectionSuffix","has","add","filter","Boolean","reverse","join","manageEnvFiles","args","cliArgs","projectDir","template","debugFlag","envExamplePath","envPath","emptyEnvContent","updatedExampleContents","type","existsSync","writeFile","envExampleContents","readFile","mergedEnvs","envContent","envContents","updatedEnvContents","err","Error","message","process","exit"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/lib/manage-env-files.ts"],"sourcesContent":["import fs from 'fs-extra'\nimport path from 'path'\n\nimport type { CliArgs, DbType, ProjectTemplate } from '../types.js'\n\nimport { debug, error } from '../utils/log.js'\nimport { dbChoiceRecord } from './select-db.js'\n\nconst updateEnvExampleVariables = (\n contents: string,\n databaseType: DbType | undefined,\n payloadSecret?: string,\n databaseUri?: string,\n): string => {\n const seenKeys = new Set<string>()\n const updatedEnv = contents\n .split('\\n')\n .map((line) => {\n if (line.startsWith('#') || !line.includes('=')) {\n return line\n }\n\n const [key] = line.split('=')\n\n if (!key) {\n return\n }\n\n if (key === 'DATABASE_URI' || key === 'POSTGRES_URL' || key === 'MONGODB_URI') {\n const dbChoice = databaseType ? dbChoiceRecord[databaseType] : null\n if (dbChoice) {\n const placeholderUri = databaseUri\n ? databaseUri\n : `${dbChoice.dbConnectionPrefix}your-database-name${dbChoice.dbConnectionSuffix || ''}`\n line =\n databaseType === 'vercel-postgres'\n ? `POSTGRES_URL=${placeholderUri}`\n : `DATABASE_URI=${placeholderUri}`\n }\n }\n\n if (key === 'PAYLOAD_SECRET' || key === 'PAYLOAD_SECRET_KEY') {\n line = `PAYLOAD_SECRET=${payloadSecret || 'YOUR_SECRET_HERE'}`\n }\n\n // handles dupes\n if (seenKeys.has(key)) {\n return null\n }\n\n seenKeys.add(key)\n\n return line\n })\n .filter(Boolean)\n .reverse()\n .join('\\n')\n\n return updatedEnv\n}\n\n/** Parse and swap .env.example values and write .env */\nexport async function manageEnvFiles(args: {\n cliArgs: CliArgs\n databaseType?: DbType\n databaseUri: string\n payloadSecret: string\n projectDir: string\n template?: ProjectTemplate\n}): Promise<void> {\n const { cliArgs, databaseType, databaseUri, payloadSecret, projectDir, template } = args\n\n const debugFlag = cliArgs['--debug']\n\n if (cliArgs['--dry-run']) {\n debug(`DRY RUN: Environment files managed`)\n return\n }\n\n const envExamplePath = path.join(projectDir, '.env.example')\n const envPath = path.join(projectDir, '.env')\n const emptyEnvContent = `# Added by Payload\\nDATABASE_URI=your-connection-string-here\\nPAYLOAD_SECRET=YOUR_SECRET_HERE\\n`\n try {\n let updatedExampleContents: string\n\n if (template?.type === 'plugin') {\n if (debugFlag) {\n debug(`plugin template detected - no .env added .env.example added`)\n }\n return\n }\n\n if (!fs.existsSync(envExamplePath)) {\n updatedExampleContents = updateEnvExampleVariables(\n emptyEnvContent,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n\n await fs.writeFile(envExamplePath, updatedExampleContents)\n if (debugFlag) {\n debug(`.env.example file successfully created`)\n }\n } else {\n const envExampleContents = await fs.readFile(envExamplePath, 'utf8')\n const mergedEnvs = envExampleContents + '\\n' + emptyEnvContent\n updatedExampleContents = updateEnvExampleVariables(\n mergedEnvs,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n\n await fs.writeFile(envExamplePath, updatedExampleContents)\n if (debugFlag) {\n debug(`.env.example file successfully updated`)\n }\n }\n\n if (!fs.existsSync(envPath)) {\n const envContent = updateEnvExampleVariables(\n emptyEnvContent,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n await fs.writeFile(envPath, envContent)\n\n if (debugFlag) {\n debug(`.env file successfully created`)\n }\n } else {\n const envContents = await fs.readFile(envPath, 'utf8')\n const mergedEnvs = envContents + '\\n' + emptyEnvContent\n const updatedEnvContents = updateEnvExampleVariables(\n mergedEnvs,\n databaseType,\n payloadSecret,\n databaseUri,\n )\n\n await fs.writeFile(envPath, updatedEnvContents)\n if (debugFlag) {\n debug(`.env file successfully updated`)\n }\n }\n } catch (err: unknown) {\n error('Unable to manage environment files')\n if (err instanceof Error) {\n error(err.message)\n }\n process.exit(1)\n }\n}\n"],"names":["fs","path","debug","error","dbChoiceRecord","updateEnvExampleVariables","contents","databaseType","payloadSecret","databaseUri","seenKeys","Set","updatedEnv","split","map","line","startsWith","includes","key","dbChoice","placeholderUri","dbConnectionPrefix","dbConnectionSuffix","has","add","filter","Boolean","reverse","join","manageEnvFiles","args","cliArgs","projectDir","template","debugFlag","envExamplePath","envPath","emptyEnvContent","updatedExampleContents","type","existsSync","writeFile","envExampleContents","readFile","mergedEnvs","envContent","envContents","updatedEnvContents","err","Error","message","process","exit"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-payload-app",
3
- "version": "3.38.0",
3
+ "version": "3.39.0-canary.0",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",