create-payload-app 0.3.28 → 0.3.29-beta.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.
@@ -160,13 +160,12 @@ function updatePayloadVersion(projectDir, betaFlag) {
|
|
160
160
|
exports.updatePayloadVersion = updatePayloadVersion;
|
161
161
|
function createProject(args, projectDir, template, packageManager) {
|
162
162
|
return __awaiter(this, void 0, void 0, function () {
|
163
|
-
var
|
163
|
+
var emitter, templateDir, err_4, msg, spinner, result;
|
164
164
|
return __generator(this, function (_a) {
|
165
165
|
switch (_a.label) {
|
166
166
|
case 0: return [4 /*yield*/, createOrFindProjectDir(projectDir)];
|
167
167
|
case 1:
|
168
168
|
_a.sent();
|
169
|
-
templateDir = path_1.default.resolve(__dirname, "../templates/".concat(template.name));
|
170
169
|
console.log("\n Creating a new Payload app in ".concat(chalk_1.default.green(path_1.default.resolve(projectDir)), "\n"));
|
171
170
|
if (!(template.type === 'starter')) return [3 /*break*/, 3];
|
172
171
|
emitter = (0, degit_1.default)(template.url);
|
@@ -176,6 +175,7 @@ function createProject(args, projectDir, template, packageManager) {
|
|
176
175
|
return [3 /*break*/, 7];
|
177
176
|
case 3:
|
178
177
|
_a.trys.push([3, 6, , 7]);
|
178
|
+
templateDir = path_1.default.resolve(__dirname, "../templates/".concat(template.directory));
|
179
179
|
return [4 /*yield*/, fs_extra_1.default.copy(templateDir, projectDir, { recursive: true })];
|
180
180
|
case 4:
|
181
181
|
_a.sent();
|
@@ -188,19 +188,20 @@ function createProject(args, projectDir, template, packageManager) {
|
|
188
188
|
err_4 = _a.sent();
|
189
189
|
msg = 'Unable to copy template files. Please check template name or directory permissions.';
|
190
190
|
(0, log_1.error)(msg);
|
191
|
-
|
192
|
-
console.error({ err: err_4 });
|
193
|
-
}
|
191
|
+
console.error({ err: err_4 });
|
194
192
|
process.exit(1);
|
195
193
|
return [3 /*break*/, 7];
|
196
194
|
case 7:
|
197
195
|
spinner = (0, ora_1.default)('Checking latest Payload version...').start();
|
196
|
+
if (!(template.type === 'static')) return [3 /*break*/, 9];
|
198
197
|
return [4 /*yield*/, updatePayloadVersion(projectDir, args['--beta'])];
|
199
198
|
case 8:
|
200
199
|
_a.sent();
|
200
|
+
_a.label = 9;
|
201
|
+
case 9:
|
201
202
|
spinner.text = 'Installing dependencies...';
|
202
203
|
return [4 /*yield*/, installDeps(args, projectDir, packageManager)];
|
203
|
-
case
|
204
|
+
case 10:
|
204
205
|
result = _a.sent();
|
205
206
|
spinner.stop();
|
206
207
|
spinner.clear();
|
@@ -43,7 +43,7 @@ exports.parseTemplate = void 0;
|
|
43
43
|
var prompts_1 = __importDefault(require("prompts"));
|
44
44
|
function parseTemplate(args, validTemplates) {
|
45
45
|
return __awaiter(this, void 0, void 0, function () {
|
46
|
-
var templateName_1, template_1,
|
46
|
+
var templateName_1, template_1, response, template;
|
47
47
|
return __generator(this, function (_a) {
|
48
48
|
switch (_a.label) {
|
49
49
|
case 0:
|
@@ -54,13 +54,16 @@ function parseTemplate(args, validTemplates) {
|
|
54
54
|
throw new Error('Invalid template given');
|
55
55
|
return [2 /*return*/, template_1];
|
56
56
|
}
|
57
|
-
filteredTemplates = validTemplates.map(function (t) { return t.name; });
|
58
57
|
return [4 /*yield*/, (0, prompts_1.default)({
|
59
58
|
type: 'select',
|
60
59
|
name: 'value',
|
61
60
|
message: 'Choose project template',
|
62
|
-
choices:
|
63
|
-
return {
|
61
|
+
choices: validTemplates.map(function (p) {
|
62
|
+
return {
|
63
|
+
title: p.name,
|
64
|
+
value: p.name,
|
65
|
+
description: p.description,
|
66
|
+
};
|
64
67
|
}),
|
65
68
|
validate: function (value) { return !!value.length; },
|
66
69
|
}, {
|
package/dist/lib/templates.js
CHANGED
@@ -35,13 +35,17 @@ 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
|
39
|
-
|
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));
|
40
46
|
};
|
41
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
42
48
|
exports.getValidTemplates = exports.validateTemplate = void 0;
|
43
|
-
var path_1 = __importDefault(require("path"));
|
44
|
-
var fs_1 = __importDefault(require("fs"));
|
45
49
|
var log_1 = require("../utils/log");
|
46
50
|
function validateTemplate(templateName) {
|
47
51
|
return __awaiter(this, void 0, void 0, function () {
|
@@ -53,7 +57,7 @@ function validateTemplate(templateName) {
|
|
53
57
|
validTemplates = _a.sent();
|
54
58
|
if (!validTemplates.map(function (t) { return t.name; }).includes(templateName)) {
|
55
59
|
(0, log_1.error)("'".concat(templateName, "' is not a valid template."));
|
56
|
-
(0, log_1.info)("Valid templates: ".concat(validTemplates.join(', ')));
|
60
|
+
(0, log_1.info)("Valid templates: ".concat(validTemplates.map(function (t) { return t.name; }).join(', ')));
|
57
61
|
return [2 /*return*/, false];
|
58
62
|
}
|
59
63
|
return [2 /*return*/, true];
|
@@ -64,23 +68,62 @@ function validateTemplate(templateName) {
|
|
64
68
|
exports.validateTemplate = validateTemplate;
|
65
69
|
function getValidTemplates() {
|
66
70
|
return __awaiter(this, void 0, void 0, function () {
|
67
|
-
var
|
71
|
+
var templates, starters;
|
68
72
|
return __generator(this, function (_a) {
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
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',
|
74
88
|
type: 'static',
|
75
|
-
|
76
|
-
|
77
|
-
|
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
|
+
return [2 /*return*/, __spreadArray(__spreadArray([], templates, true), starters, true)];
|
78
126
|
});
|
79
127
|
});
|
80
128
|
}
|
81
129
|
exports.getValidTemplates = getValidTemplates;
|
82
|
-
function getDirectories(dir) {
|
83
|
-
return fs_1.default.readdirSync(dir).filter(function (file) {
|
84
|
-
return fs_1.default.statSync("".concat(dir, "/").concat(file)).isDirectory();
|
85
|
-
});
|
86
|
-
}
|
@@ -40,34 +40,59 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
40
|
};
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
42
42
|
exports.writeEnvFile = void 0;
|
43
|
-
var
|
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
|
-
function writeEnvFile(
|
46
|
+
function writeEnvFile(args) {
|
47
47
|
return __awaiter(this, void 0, void 0, function () {
|
48
|
-
var
|
48
|
+
var databaseUri, payloadSecret, template, projectDir, envFile, envFileLines, envFilePairs, newEnvFilePairs, newEnvFileLines, content, err_1;
|
49
49
|
return __generator(this, function (_a) {
|
50
50
|
switch (_a.label) {
|
51
51
|
case 0:
|
52
|
-
|
52
|
+
databaseUri = args.databaseUri, payloadSecret = args.payloadSecret, template = args.template, projectDir = args.projectDir;
|
53
53
|
_a.label = 1;
|
54
54
|
case 1:
|
55
|
-
_a.trys.push([1,
|
56
|
-
|
57
|
-
|
55
|
+
_a.trys.push([1, 6, , 7]);
|
56
|
+
if (!(template.type === 'starter' &&
|
57
|
+
fs_extra_1.default.existsSync(path_1.default.join(projectDir, '.env.example')))) return [3 /*break*/, 4];
|
58
|
+
return [4 /*yield*/, fs_extra_1.default.readFile(path_1.default.join(projectDir, '.env.example'), 'utf8')];
|
58
59
|
case 2:
|
60
|
+
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 };
|
69
|
+
}
|
70
|
+
if (pair.key === 'PAYLOAD_SECRET' || pair.key === 'PAYLOAD_SECRET_KEY') {
|
71
|
+
return { key: pair.key, value: payloadSecret };
|
72
|
+
}
|
73
|
+
return pair;
|
74
|
+
});
|
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'))];
|
77
|
+
case 3:
|
78
|
+
_a.sent();
|
79
|
+
return [2 /*return*/];
|
80
|
+
case 4:
|
81
|
+
content = "MONGODB_URI=".concat(databaseUri, "\nPAYLOAD_SECRET=").concat(payloadSecret);
|
82
|
+
return [4 /*yield*/, fs_extra_1.default.outputFile("".concat(projectDir, "/.env"), content)];
|
83
|
+
case 5:
|
59
84
|
_a.sent();
|
60
85
|
(0, log_1.success)('.env file created');
|
61
|
-
return [3 /*break*/,
|
62
|
-
case
|
86
|
+
return [3 /*break*/, 7];
|
87
|
+
case 6:
|
63
88
|
err_1 = _a.sent();
|
64
89
|
(0, log_1.error)('Unable to write .env file');
|
65
90
|
if (err_1 instanceof Error) {
|
66
91
|
(0, log_1.error)(err_1.message);
|
67
92
|
}
|
68
93
|
process.exit(1);
|
69
|
-
return [3 /*break*/,
|
70
|
-
case
|
94
|
+
return [3 /*break*/, 7];
|
95
|
+
case 7: return [2 /*return*/];
|
71
96
|
}
|
72
97
|
});
|
73
98
|
});
|
package/dist/main.js
CHANGED
@@ -122,7 +122,12 @@ var Main = /** @class */ (function () {
|
|
122
122
|
return [4 /*yield*/, (0, create_project_1.createProject)(this.args, projectDir, template, packageManager)];
|
123
123
|
case 12:
|
124
124
|
_e.sent();
|
125
|
-
return [4 /*yield*/, (0, write_env_file_1.writeEnvFile)(
|
125
|
+
return [4 /*yield*/, (0, write_env_file_1.writeEnvFile)({
|
126
|
+
databaseUri: databaseUri,
|
127
|
+
payloadSecret: payloadSecret,
|
128
|
+
template: template,
|
129
|
+
projectDir: projectDir,
|
130
|
+
})];
|
126
131
|
case 13:
|
127
132
|
_e.sent();
|
128
133
|
_e.label = 14;
|
package/dist/utils/messages.js
CHANGED
@@ -52,6 +52,7 @@ var header = function (message) {
|
|
52
52
|
return "".concat(chalk_1.default.yellow(figures_1.default.star), " ").concat(chalk_1.default.bold(message));
|
53
53
|
};
|
54
54
|
exports.welcomeMessage = (0, chalk_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n {green Welcome to Payload. Let's create a project! }\n"], ["\n {green Welcome to Payload. Let's create a project! }\n"])));
|
55
|
+
var spacer = ' '.repeat(8);
|
55
56
|
function helpMessage() {
|
56
57
|
return __awaiter(this, void 0, void 0, function () {
|
57
58
|
var validTemplates;
|
@@ -60,12 +61,17 @@ function helpMessage() {
|
|
60
61
|
case 0: return [4 /*yield*/, (0, templates_1.getValidTemplates)()];
|
61
62
|
case 1:
|
62
63
|
validTemplates = _a.sent();
|
63
|
-
return [2 /*return*/, (0, chalk_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n {bold USAGE}\n\n {dim $} {bold npx create-payload-app}\n\n {bold OPTIONS}\n\n
|
64
|
+
return [2 /*return*/, (0, chalk_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n {bold USAGE}\n\n {dim $} {bold npx create-payload-app}\n {dim $} {bold npx create-payload-app} my-project\n {dim $} {bold npx create-payload-app} -n my-project -t blog\n\n {bold OPTIONS}\n\n -n {underline my-payload-app} Set project name\n -t {underline template_name} Choose specific template\n\n {dim Available templates: ", "}\n\n --use-npm Use npm to install dependencies\n --no-deps Do not install any dependencies\n -h Show help\n"], ["\n {bold USAGE}\n\n {dim $} {bold npx create-payload-app}\n {dim $} {bold npx create-payload-app} my-project\n {dim $} {bold npx create-payload-app} -n my-project -t blog\n\n {bold OPTIONS}\n\n -n {underline my-payload-app} Set project name\n -t {underline template_name} Choose specific template\n\n {dim Available templates: ", "}\n\n --use-npm Use npm to install dependencies\n --no-deps Do not install any dependencies\n -h Show help\n"])), formatTemplates(validTemplates))];
|
64
65
|
}
|
65
66
|
});
|
66
67
|
});
|
67
68
|
}
|
68
69
|
exports.helpMessage = helpMessage;
|
70
|
+
function formatTemplates(templates) {
|
71
|
+
return "\n\n".concat(spacer).concat(templates
|
72
|
+
.map(function (t) { return "".concat(t.name).concat(' '.repeat(18 - t.name.length)).concat(t.description); })
|
73
|
+
.join("\n".concat(spacer)));
|
74
|
+
}
|
69
75
|
function successMessage(projectDir, packageManager) {
|
70
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");
|
71
77
|
}
|
package/package.json
CHANGED
@@ -34,17 +34,17 @@
|
|
34
34
|
"fs-extra": "^9.0.1",
|
35
35
|
"handlebars": "^4.7.7",
|
36
36
|
"ora": "^5.1.0",
|
37
|
-
"prompts": "^2.4.
|
37
|
+
"prompts": "^2.4.2",
|
38
38
|
"terminal-link": "^2.1.1"
|
39
39
|
},
|
40
|
-
"version": "0.3.
|
40
|
+
"version": "0.3.29-beta.1",
|
41
41
|
"devDependencies": {
|
42
42
|
"@types/command-exists": "^1.2.0",
|
43
43
|
"@types/degit": "^2.8.3",
|
44
44
|
"@types/fs-extra": "^9.0.12",
|
45
45
|
"@types/jest": "^27.0.3",
|
46
46
|
"@types/node": "^16.6.2",
|
47
|
-
"@types/prompts": "^2.4.
|
47
|
+
"@types/prompts": "^2.4.1",
|
48
48
|
"@typescript-eslint/eslint-plugin": "^5.41.0",
|
49
49
|
"@typescript-eslint/parser": "^5.41.0",
|
50
50
|
"copyfiles": "^2.4.1",
|