create-payload-app 0.3.34 → 0.4.1

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.
Files changed (30) hide show
  1. package/dist/lib/create-project.js +33 -87
  2. package/dist/lib/create-project.test.js +37 -52
  3. package/dist/lib/templates.js +38 -71
  4. package/dist/lib/write-env-file.js +27 -20
  5. package/dist/main.js +14 -2
  6. package/dist/utils/messages.js +2 -1
  7. package/package.json +1 -1
  8. package/dist/lib/common-files/Dockerfile.template +0 -26
  9. package/dist/lib/common-files/README.template.md +0 -19
  10. package/dist/lib/common-files/docker-compose.template.yml +0 -35
  11. package/dist/lib/common-files/gitignore.template +0 -166
  12. package/dist/lib/common-files/nodemon.json +0 -4
  13. package/dist/lib/common-files/package.template.json +0 -30
  14. package/dist/lib/common-files/tsconfig.json +0 -34
  15. package/dist/lib/write-common-files.js +0 -124
  16. package/dist/templates/blank/src/collections/Examples.ts +0 -17
  17. package/dist/templates/blank/src/collections/Users.ts +0 -15
  18. package/dist/templates/blank/src/payload.config.ts +0 -22
  19. package/dist/templates/blank/src/server.ts +0 -28
  20. package/dist/templates/blog/src/collections/Categories.ts +0 -20
  21. package/dist/templates/blog/src/collections/Media.ts +0 -28
  22. package/dist/templates/blog/src/collections/Posts.ts +0 -62
  23. package/dist/templates/blog/src/collections/Tags.ts +0 -20
  24. package/dist/templates/blog/src/collections/Users.ts +0 -18
  25. package/dist/templates/blog/src/payload.config.ts +0 -21
  26. package/dist/templates/blog/src/server.ts +0 -28
  27. package/dist/templates/todo/src/collections/TodoLists.ts +0 -38
  28. package/dist/templates/todo/src/collections/Users.ts +0 -15
  29. package/dist/templates/todo/src/payload.config.ts +0 -18
  30. package/dist/templates/todo/src/server.ts +0 -28
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.createProject = exports.updatePayloadVersion = exports.getLatestPayloadVersion = void 0;
42
+ exports.createProject = exports.updatePackageJSONName = void 0;
43
43
  var path_1 = __importDefault(require("path"));
44
44
  var chalk_1 = __importDefault(require("chalk"));
45
45
  var fs_extra_1 = __importDefault(require("fs-extra"));
@@ -47,7 +47,6 @@ var execa_1 = __importDefault(require("execa"));
47
47
  var ora_1 = __importDefault(require("ora"));
48
48
  var degit_1 = __importDefault(require("degit"));
49
49
  var log_1 = require("../utils/log");
50
- var write_common_files_1 = require("./write-common-files");
51
50
  function createOrFindProjectDir(projectDir) {
52
51
  return __awaiter(this, void 0, void 0, function () {
53
52
  var pathExists;
@@ -66,13 +65,14 @@ function createOrFindProjectDir(projectDir) {
66
65
  });
67
66
  });
68
67
  }
69
- function installDeps(args, dir, packageManager) {
68
+ function installDeps(args) {
70
69
  return __awaiter(this, void 0, void 0, function () {
71
- var cmd, err_1;
70
+ var cliArgs, projectDir, packageManager, cmd, err_1;
72
71
  return __generator(this, function (_a) {
73
72
  switch (_a.label) {
74
73
  case 0:
75
- if (args['--no-deps']) {
74
+ cliArgs = args.cliArgs, projectDir = args.projectDir, packageManager = args.packageManager;
75
+ if (cliArgs['--no-deps']) {
76
76
  return [2 /*return*/, true];
77
77
  }
78
78
  cmd = packageManager === 'yarn' ? 'yarn' : 'npm install --legacy-peer-deps';
@@ -80,90 +80,57 @@ function installDeps(args, dir, packageManager) {
80
80
  case 1:
81
81
  _a.trys.push([1, 3, , 4]);
82
82
  return [4 /*yield*/, execa_1.default.command(cmd, {
83
- cwd: path_1.default.resolve(dir),
83
+ cwd: path_1.default.resolve(projectDir),
84
84
  })];
85
85
  case 2:
86
86
  _a.sent();
87
87
  return [2 /*return*/, true];
88
88
  case 3:
89
89
  err_1 = _a.sent();
90
+ console.log({ err: err_1 });
90
91
  return [2 /*return*/, false];
91
92
  case 4: return [2 /*return*/];
92
93
  }
93
94
  });
94
95
  });
95
96
  }
96
- function getLatestPayloadVersion(betaFlag) {
97
- if (betaFlag === void 0) { betaFlag = false; }
97
+ function updatePackageJSONName(args) {
98
98
  return __awaiter(this, void 0, void 0, function () {
99
- var packageWithTag, stdout, err_2;
99
+ var projectName, projectDir, packageJsonPath, packageObj, err_2;
100
100
  return __generator(this, function (_a) {
101
101
  switch (_a.label) {
102
102
  case 0:
103
- _a.trys.push([0, 2, , 3]);
104
- packageWithTag = 'payload';
105
- if (betaFlag)
106
- packageWithTag += '@beta';
107
- return [4 /*yield*/, (0, execa_1.default)("npm info ".concat(packageWithTag, " version"), [], {
108
- shell: true,
109
- })];
110
- case 1:
111
- stdout = (_a.sent()).stdout;
112
- return [2 /*return*/, "^".concat(stdout)];
113
- case 2:
114
- err_2 = _a.sent();
115
- if (err_2 instanceof Error) {
116
- console.error(err_2.message);
117
- console.error(err_2.stack);
118
- }
119
- return [2 /*return*/, false];
120
- case 3: return [2 /*return*/];
121
- }
122
- });
123
- });
124
- }
125
- exports.getLatestPayloadVersion = getLatestPayloadVersion;
126
- function updatePayloadVersion(projectDir, betaFlag) {
127
- if (betaFlag === void 0) { betaFlag = false; }
128
- return __awaiter(this, void 0, void 0, function () {
129
- var payloadVersion, packageJsonPath, packageObj, err_3;
130
- return __generator(this, function (_a) {
131
- switch (_a.label) {
132
- case 0: return [4 /*yield*/, getLatestPayloadVersion(betaFlag)];
133
- case 1:
134
- payloadVersion = _a.sent();
135
- if (!payloadVersion) {
136
- (0, log_1.warning)('Error retrieving latest Payload version. Please update your package.json manually.');
137
- return [2 /*return*/];
138
- }
103
+ projectName = args.projectName, projectDir = args.projectDir;
139
104
  packageJsonPath = path_1.default.resolve(projectDir, 'package.json');
140
- _a.label = 2;
141
- case 2:
142
- _a.trys.push([2, 5, , 6]);
105
+ _a.label = 1;
106
+ case 1:
107
+ _a.trys.push([1, 4, , 5]);
143
108
  return [4 /*yield*/, fs_extra_1.default.readJson(packageJsonPath)];
144
- case 3:
109
+ case 2:
145
110
  packageObj = _a.sent();
146
- packageObj.dependencies.payload = payloadVersion;
111
+ packageObj.name = projectName;
147
112
  return [4 /*yield*/, fs_extra_1.default.writeJson(packageJsonPath, packageObj, { spaces: 2 })];
148
- case 4:
113
+ case 3:
149
114
  _a.sent();
150
- return [3 /*break*/, 6];
151
- case 5:
152
- err_3 = _a.sent();
153
- (0, log_1.warning)('Unable to write Payload version to package.json. Please update your package.json manually.');
154
- return [3 /*break*/, 6];
155
- case 6: return [2 /*return*/];
115
+ return [3 /*break*/, 5];
116
+ case 4:
117
+ err_2 = _a.sent();
118
+ (0, log_1.warning)('Unable to update name in package.json');
119
+ return [3 /*break*/, 5];
120
+ case 5: return [2 /*return*/];
156
121
  }
157
122
  });
158
123
  });
159
124
  }
160
- exports.updatePayloadVersion = updatePayloadVersion;
161
- function createProject(args, projectDir, template, packageManager) {
125
+ exports.updatePackageJSONName = updatePackageJSONName;
126
+ function createProject(args) {
162
127
  return __awaiter(this, void 0, void 0, function () {
163
- var emitter, templateDir, err_4, msg, spinner, result;
128
+ var cliArgs, projectName, projectDir, template, packageManager, emitter, spinner, result;
164
129
  return __generator(this, function (_a) {
165
130
  switch (_a.label) {
166
- case 0: return [4 /*yield*/, createOrFindProjectDir(projectDir)];
131
+ case 0:
132
+ cliArgs = args.cliArgs, projectName = args.projectName, projectDir = args.projectDir, template = args.template, packageManager = args.packageManager;
133
+ return [4 /*yield*/, createOrFindProjectDir(projectDir)];
167
134
  case 1:
168
135
  _a.sent();
169
136
  console.log("\n Creating project in ".concat(chalk_1.default.green(path_1.default.resolve(projectDir)), "\n"));
@@ -172,36 +139,15 @@ function createProject(args, projectDir, template, packageManager) {
172
139
  return [4 /*yield*/, emitter.clone(projectDir)];
173
140
  case 2:
174
141
  _a.sent();
175
- return [3 /*break*/, 7];
142
+ _a.label = 3;
176
143
  case 3:
177
- _a.trys.push([3, 6, , 7]);
178
- templateDir = path_1.default.resolve(__dirname, "../templates/".concat(template.directory));
179
- return [4 /*yield*/, fs_extra_1.default.copy(templateDir, projectDir, { recursive: true })];
180
- case 4:
181
- _a.sent();
182
- return [4 /*yield*/, (0, write_common_files_1.writeCommonFiles)(projectDir, template, packageManager)];
183
- case 5:
184
- _a.sent();
185
- (0, log_1.success)('Project directory created');
186
- return [3 /*break*/, 7];
187
- case 6:
188
- err_4 = _a.sent();
189
- msg = 'Unable to copy template files. Please check template name or directory permissions.';
190
- (0, log_1.error)(msg);
191
- console.error({ err: err_4 });
192
- process.exit(1);
193
- return [3 /*break*/, 7];
194
- case 7:
195
144
  spinner = (0, ora_1.default)('Checking latest Payload version...').start();
196
- if (!(template.type === 'static')) return [3 /*break*/, 9];
197
- return [4 /*yield*/, updatePayloadVersion(projectDir, args['--beta'])];
198
- case 8:
145
+ return [4 /*yield*/, updatePackageJSONName({ projectName: projectName, projectDir: projectDir })];
146
+ case 4:
199
147
  _a.sent();
200
- _a.label = 9;
201
- case 9:
202
148
  spinner.text = 'Installing dependencies...';
203
- return [4 /*yield*/, installDeps(args, projectDir, packageManager)];
204
- case 10:
149
+ return [4 /*yield*/, installDeps({ cliArgs: cliArgs, projectDir: projectDir, packageManager: packageManager })];
150
+ case 5:
205
151
  result = _a.sent();
206
152
  spinner.stop();
207
153
  spinner.clear();
@@ -61,78 +61,63 @@ describe('createProject', function () {
61
61
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
62
62
  var args = { _: ['project-name'], '--no-deps': true };
63
63
  var packageManager = 'yarn';
64
- it('creates static project', function () { return __awaiter(void 0, void 0, void 0, function () {
65
- var expectedPayloadVersion, templateName, template, packageJsonPath, packageJson;
64
+ it('creates starter project', function () { return __awaiter(void 0, void 0, void 0, function () {
65
+ var projectName, template, packageJsonPath, packageJson;
66
66
  return __generator(this, function (_a) {
67
67
  switch (_a.label) {
68
- case 0: return [4 /*yield*/, (0, create_project_1.getLatestPayloadVersion)()];
69
- case 1:
70
- expectedPayloadVersion = _a.sent();
71
- templateName = 'todo';
68
+ case 0:
69
+ projectName = 'starter-project';
72
70
  template = {
73
- name: templateName,
74
- type: 'static',
75
- directory: 'todo',
71
+ name: 'blank',
72
+ type: 'starter',
73
+ url: 'https://github.com/payloadcms/payload/templates/blank',
74
+ description: 'Blank Template',
76
75
  };
77
- return [4 /*yield*/, (0, create_project_1.createProject)(args, projectDir, template, packageManager)];
78
- case 2:
76
+ return [4 /*yield*/, (0, create_project_1.createProject)({
77
+ cliArgs: args,
78
+ projectName: projectName,
79
+ projectDir: projectDir,
80
+ template: template,
81
+ packageManager: packageManager,
82
+ })];
83
+ case 1:
79
84
  _a.sent();
80
85
  packageJsonPath = path_1.default.resolve(projectDir, 'package.json');
81
86
  packageJson = fs_extra_1.default.readJsonSync(packageJsonPath);
82
- expect(packageJson.dependencies.payload).toBe(expectedPayloadVersion);
83
87
  // Check package name and description
84
- expect(packageJson.name).toEqual(path_1.default.basename(projectDir));
85
- expect(packageJson.description).toContain(templateName);
86
- // Check all common files are create
87
- assertProjectFileExists('.gitignore');
88
- assertProjectFileExists('nodemon.json');
89
- assertProjectFileExists('README.md');
90
- assertProjectFileExists('tsconfig.json');
91
- assertProjectFileExists('docker-compose.yml');
88
+ expect(packageJson.name).toEqual(projectName);
92
89
  return [2 /*return*/];
93
90
  }
94
91
  });
95
92
  }); });
96
- });
97
- describe('#updatePayloadVersion', function () {
98
- it('updates payload version in package.json', function () { return __awaiter(void 0, void 0, void 0, function () {
99
- var packageJsonPath, modified;
93
+ it('creates plugin template', function () { return __awaiter(void 0, void 0, void 0, function () {
94
+ var projectName, template, packageJsonPath, packageJson;
100
95
  return __generator(this, function (_a) {
101
96
  switch (_a.label) {
102
97
  case 0:
103
- packageJsonPath = path_1.default.resolve(projectDir, 'package.json');
104
- return [4 /*yield*/, fs_extra_1.default.mkdir(projectDir)];
98
+ projectName = 'plugin';
99
+ template = {
100
+ name: 'plugin',
101
+ type: 'plugin',
102
+ url: 'https://github.com/payloadcms/payload-plugin-template',
103
+ description: 'Template for creating a Payload plugin',
104
+ };
105
+ return [4 /*yield*/, (0, create_project_1.createProject)({
106
+ cliArgs: args,
107
+ projectName: projectName,
108
+ projectDir: projectDir,
109
+ template: template,
110
+ packageManager: packageManager,
111
+ })];
105
112
  case 1:
106
113
  _a.sent();
107
- return [4 /*yield*/, fs_extra_1.default.writeJson(packageJsonPath, { dependencies: { payload: '0.0.1' } }, { spaces: 2 })];
108
- case 2:
109
- _a.sent();
110
- return [4 /*yield*/, (0, create_project_1.updatePayloadVersion)(projectDir)];
111
- case 3:
112
- _a.sent();
113
- return [4 /*yield*/, fs_extra_1.default.readJson(packageJsonPath)];
114
- case 4:
115
- modified = _a.sent();
116
- expect(modified.dependencies.payload).not.toBe('0.0.1');
114
+ packageJsonPath = path_1.default.resolve(projectDir, 'package.json');
115
+ packageJson = fs_extra_1.default.readJsonSync(packageJsonPath);
116
+ // Check package name and description
117
+ expect(packageJson.name).toEqual(projectName);
117
118
  return [2 /*return*/];
118
119
  }
119
120
  });
120
121
  }); });
121
122
  });
122
123
  });
123
- function assertProjectFileExists(fileName) {
124
- return __awaiter(this, void 0, void 0, function () {
125
- var filePath, _a;
126
- return __generator(this, function (_b) {
127
- switch (_b.label) {
128
- case 0:
129
- filePath = path_1.default.resolve(projectDir, fileName);
130
- _a = expect;
131
- return [4 /*yield*/, fs_extra_1.default.pathExists(filePath)];
132
- case 1:
133
- _a.apply(void 0, [_b.sent()]).toBe(true);
134
- return [2 /*return*/];
135
- }
136
- });
137
- });
138
- }
@@ -35,15 +35,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
- if (ar || !(i in from)) {
41
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
- ar[i] = from[i];
43
- }
44
- }
45
- return to.concat(ar || Array.prototype.slice.call(from));
46
- };
47
38
  Object.defineProperty(exports, "__esModule", { value: true });
48
39
  exports.getValidTemplates = exports.validateTemplate = void 0;
49
40
  var log_1 = require("../utils/log");
@@ -68,69 +59,45 @@ function validateTemplate(templateName) {
68
59
  exports.validateTemplate = validateTemplate;
69
60
  function getValidTemplates() {
70
61
  return __awaiter(this, void 0, void 0, function () {
71
- var templates, starters, pluginTemplates;
72
62
  return __generator(this, function (_a) {
73
- templates = [
74
- {
75
- name: 'blank',
76
- type: 'static',
77
- description: 'Blank',
78
- directory: 'blank',
79
- },
80
- {
81
- name: 'todo',
82
- type: 'static',
83
- description: 'Todo list',
84
- directory: 'todo',
85
- },
86
- {
87
- name: 'blog',
88
- type: 'static',
89
- description: 'Blog',
90
- directory: 'blog',
91
- },
92
- ];
93
- starters = [
94
- {
95
- name: 'payload-demo',
96
- type: 'starter',
97
- url: 'https://github.com/payloadcms/public-demo',
98
- description: 'Payload demo site at https://demo.payloadcms.com',
99
- },
100
- {
101
- name: 'payload-website',
102
- type: 'starter',
103
- url: 'https://github.com/payloadcms/website-cms',
104
- description: 'Payload website CMS at https://payloadcms.com',
105
- },
106
- {
107
- name: 'cloud-template-blank',
108
- type: 'starter',
109
- url: 'https://github.com/payloadcms/template-blank',
110
- description: 'Blank template for Payload Cloud',
111
- },
112
- {
113
- name: 'cloud-template-website',
114
- type: 'starter',
115
- url: 'https://github.com/payloadcms/template-website',
116
- description: 'Website template for Payload Cloud',
117
- },
118
- {
119
- name: 'cloud-template-ecommerce',
120
- type: 'starter',
121
- url: 'https://github.com/payloadcms/template-ecommerce',
122
- description: 'E-commerce template for Payload Cloud',
123
- },
124
- ];
125
- pluginTemplates = [
126
- {
127
- name: 'plugin',
128
- type: 'plugin',
129
- url: 'https://github.com/payloadcms/payload-plugin-template',
130
- description: 'Template for creating a Payload plugin',
131
- },
132
- ];
133
- return [2 /*return*/, __spreadArray(__spreadArray(__spreadArray([], templates, true), starters, true), pluginTemplates, true)];
63
+ return [2 /*return*/, [
64
+ {
65
+ name: 'blank',
66
+ type: 'starter',
67
+ url: 'https://github.com/payloadcms/payload/templates/blank',
68
+ description: 'Blank Template',
69
+ },
70
+ {
71
+ name: 'website',
72
+ type: 'starter',
73
+ url: 'https://github.com/payloadcms/payload/templates/website',
74
+ description: 'Website Template',
75
+ },
76
+ {
77
+ name: 'ecommerce',
78
+ type: 'starter',
79
+ url: 'https://github.com/payloadcms/payload/templates/ecommerce',
80
+ description: 'E-commerce Template',
81
+ },
82
+ {
83
+ name: 'plugin',
84
+ type: 'plugin',
85
+ url: 'https://github.com/payloadcms/payload-plugin-template',
86
+ description: 'Template for creating a Payload plugin',
87
+ },
88
+ {
89
+ name: 'payload-demo',
90
+ type: 'starter',
91
+ url: 'https://github.com/payloadcms/public-demo',
92
+ description: 'Payload demo site at https://demo.payloadcms.com',
93
+ },
94
+ {
95
+ name: 'payload-website',
96
+ type: 'starter',
97
+ url: 'https://github.com/payloadcms/website-cms',
98
+ description: 'Payload website CMS at https://payloadcms.com',
99
+ },
100
+ ]];
134
101
  });
135
102
  });
136
103
  }
@@ -43,56 +43,63 @@ exports.writeEnvFile = void 0;
43
43
  var path_1 = __importDefault(require("path"));
44
44
  var fs_extra_1 = __importDefault(require("fs-extra"));
45
45
  var log_1 = require("../utils/log");
46
+ /** Parse and swap .env.example values and write .env */
46
47
  function writeEnvFile(args) {
47
48
  return __awaiter(this, void 0, void 0, function () {
48
- var databaseUri, payloadSecret, template, projectDir, envFile, envFileLines, envFilePairs, newEnvFilePairs, newEnvFileLines, content, err_1;
49
+ var databaseUri, payloadSecret, template, projectDir, envFile, envWithValues, content, err_1;
49
50
  return __generator(this, function (_a) {
50
51
  switch (_a.label) {
51
52
  case 0:
52
53
  databaseUri = args.databaseUri, payloadSecret = args.payloadSecret, template = args.template, projectDir = args.projectDir;
53
54
  _a.label = 1;
54
55
  case 1:
55
- _a.trys.push([1, 6, , 7]);
56
+ _a.trys.push([1, 7, , 8]);
56
57
  if (!(template.type === 'starter' &&
57
58
  fs_extra_1.default.existsSync(path_1.default.join(projectDir, '.env.example')))) return [3 /*break*/, 4];
58
59
  return [4 /*yield*/, fs_extra_1.default.readFile(path_1.default.join(projectDir, '.env.example'), 'utf8')];
59
60
  case 2:
60
61
  envFile = _a.sent();
61
- envFileLines = envFile.split('\n').filter(function (e) { return e; });
62
- envFilePairs = envFileLines.map(function (line) {
63
- var _a = line.split('='), key = _a[0], value = _a[1];
64
- return { key: key, value: value };
65
- });
66
- newEnvFilePairs = envFilePairs.map(function (pair) {
67
- if (pair.key === 'MONGODB_URI' || pair.key === 'MONGO_URL') {
68
- return { key: pair.key, value: databaseUri };
62
+ envWithValues = envFile
63
+ .split('\n')
64
+ .filter(function (e) { return e; })
65
+ .map(function (line) {
66
+ if (line.startsWith('#') || !line.includes('='))
67
+ return line;
68
+ var split = line.split('=');
69
+ var key = split[0];
70
+ var value = split[1];
71
+ if (key === 'MONGODB_URI' || key === 'MONGO_URL') {
72
+ value = databaseUri;
69
73
  }
70
- if (pair.key === 'PAYLOAD_SECRET' || pair.key === 'PAYLOAD_SECRET_KEY') {
71
- return { key: pair.key, value: payloadSecret };
74
+ if (key === 'PAYLOAD_SECRET' || key === 'PAYLOAD_SECRET_KEY') {
75
+ value = payloadSecret;
72
76
  }
73
- return pair;
77
+ return "".concat(key, "=").concat(value);
74
78
  });
75
- newEnvFileLines = newEnvFilePairs.map(function (pair) { return "".concat(pair.key, "=").concat(pair.value); });
76
- return [4 /*yield*/, fs_extra_1.default.writeFile(path_1.default.join(projectDir, '.env'), newEnvFileLines.join('\n'))];
79
+ // Write new .env file
80
+ return [4 /*yield*/, fs_extra_1.default.writeFile(path_1.default.join(projectDir, '.env'), envWithValues.join('\n'))];
77
81
  case 3:
82
+ // Write new .env file
78
83
  _a.sent();
79
- return [2 /*return*/];
84
+ return [3 /*break*/, 6];
80
85
  case 4:
81
86
  content = "MONGODB_URI=".concat(databaseUri, "\nPAYLOAD_SECRET=").concat(payloadSecret);
82
87
  return [4 /*yield*/, fs_extra_1.default.outputFile("".concat(projectDir, "/.env"), content)];
83
88
  case 5:
84
89
  _a.sent();
85
- (0, log_1.success)('.env file created');
86
- return [3 /*break*/, 7];
90
+ _a.label = 6;
87
91
  case 6:
92
+ (0, log_1.success)('.env file created');
93
+ return [3 /*break*/, 8];
94
+ case 7:
88
95
  err_1 = _a.sent();
89
96
  (0, log_1.error)('Unable to write .env file');
90
97
  if (err_1 instanceof Error) {
91
98
  (0, log_1.error)(err_1.message);
92
99
  }
93
100
  process.exit(1);
94
- return [3 /*break*/, 7];
95
- case 7: return [2 /*return*/];
101
+ return [3 /*break*/, 8];
102
+ case 8: return [2 /*return*/];
96
103
  }
97
104
  });
98
105
  });
package/dist/main.js CHANGED
@@ -120,7 +120,13 @@ var Main = /** @class */ (function () {
120
120
  case 11:
121
121
  payloadSecret = _e.sent();
122
122
  if (!!this.args['--dry-run']) return [3 /*break*/, 14];
123
- return [4 /*yield*/, (0, create_project_1.createProject)(this.args, projectDir, template, packageManager)];
123
+ return [4 /*yield*/, (0, create_project_1.createProject)({
124
+ cliArgs: this.args,
125
+ projectName: projectName,
126
+ projectDir: projectDir,
127
+ template: template,
128
+ packageManager: packageManager,
129
+ })];
124
130
  case 12:
125
131
  _e.sent();
126
132
  return [4 /*yield*/, (0, write_env_file_1.writeEnvFile)({
@@ -135,7 +141,13 @@ var Main = /** @class */ (function () {
135
141
  case 14: return [3 /*break*/, 17];
136
142
  case 15:
137
143
  if (!!this.args['--dry-run']) return [3 /*break*/, 17];
138
- return [4 /*yield*/, (0, create_project_1.createProject)(this.args, projectDir, template, packageManager)];
144
+ return [4 /*yield*/, (0, create_project_1.createProject)({
145
+ cliArgs: this.args,
146
+ projectName: projectName,
147
+ projectDir: projectDir,
148
+ template: template,
149
+ packageManager: packageManager,
150
+ })];
139
151
  case 16:
140
152
  _e.sent();
141
153
  _e.label = 17;
@@ -48,6 +48,7 @@ var chalk_1 = __importDefault(require("chalk"));
48
48
  var figures_1 = __importDefault(require("figures"));
49
49
  var terminal_link_1 = __importDefault(require("terminal-link"));
50
50
  var templates_1 = require("../lib/templates");
51
+ var path_1 = __importDefault(require("path"));
51
52
  var header = function (message) {
52
53
  return "".concat(chalk_1.default.yellow(figures_1.default.star), " ").concat(chalk_1.default.bold(message));
53
54
  };
@@ -73,7 +74,7 @@ function formatTemplates(templates) {
73
74
  .join("\n".concat(spacer)));
74
75
  }
75
76
  function successMessage(projectDir, packageManager) {
76
- return "\n ".concat(header('Launch Application:'), "\n\n - cd ").concat(projectDir, "\n - ").concat(packageManager === 'yarn' ? 'yarn' : 'npm run', " dev\n\n ").concat(header('Documentation:'), "\n\n - ").concat(createTerminalLink('Getting Started', 'https://payloadcms.com/docs/getting-started/what-is-payload'), "\n - ").concat(createTerminalLink('Configuration', 'https://payloadcms.com/docs/configuration/overview'), "\n\n");
77
+ return "\n ".concat(header('Launch Application:'), "\n\n - cd ").concat(projectDir, "\n - ").concat(packageManager === 'yarn' ? 'yarn' : 'npm run', " dev or follow directions in ").concat(createTerminalLink('README.md', "file://".concat(path_1.default.resolve(projectDir, 'README.md'))), "\n\n ").concat(header('Documentation:'), "\n\n - ").concat(createTerminalLink('Getting Started', 'https://payloadcms.com/docs/getting-started/what-is-payload'), "\n - ").concat(createTerminalLink('Configuration', 'https://payloadcms.com/docs/configuration/overview'), "\n\n");
77
78
  }
78
79
  exports.successMessage = successMessage;
79
80
  // Create terminalLink with fallback for unsupported terminals
package/package.json CHANGED
@@ -37,7 +37,7 @@
37
37
  "prompts": "^2.4.2",
38
38
  "terminal-link": "^2.1.1"
39
39
  },
40
- "version": "0.3.34",
40
+ "version": "0.4.1",
41
41
  "devDependencies": {
42
42
  "@types/command-exists": "^1.2.0",
43
43
  "@types/degit": "^2.8.3",
@@ -1,26 +0,0 @@
1
- FROM node:18.8-alpine as base
2
-
3
- FROM base as builder
4
-
5
- WORKDIR /home/node/app
6
- COPY package*.json ./
7
-
8
- COPY . .
9
- RUN {{installCmd}}
10
- RUN {{buildCmd}}
11
-
12
- FROM base as runtime
13
-
14
- ENV NODE_ENV=production
15
- ENV PAYLOAD_CONFIG_PATH=dist/payload.config.js
16
-
17
- WORKDIR /home/node/app
18
- COPY package*.json ./
19
-
20
- RUN {{installCmd}} --production
21
- COPY --from=builder /home/node/app/dist ./dist
22
- COPY --from=builder /home/node/app/build ./build
23
-
24
- EXPOSE 3000
25
-
26
- CMD ["node", "dist/server.js"]
@@ -1,19 +0,0 @@
1
- # {{projectName}}
2
-
3
- This project was created using create-payload-app using the {{templateName}} template.
4
-
5
- ## How to Use
6
-
7
- `yarn dev` will start up your application and reload on any changes.
8
-
9
- ### Docker
10
-
11
- If you have docker and docker-compose installed, you can run `docker-compose up`
12
-
13
- To build the docker image, run `docker build -t my-tag .`
14
-
15
- Ensure you are passing all needed environment variables when starting up your container via `--env-file` or setting them with your deployment.
16
-
17
- The 3 typical env vars will be `MONGODB_URI`, `PAYLOAD_SECRET`, and `PAYLOAD_CONFIG_PATH`
18
-
19
- `docker run --env-file .env -p 3000:3000 my-tag`