@contentstack/cli-cm-bootstrap 1.15.0 → 2.0.0-beta
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/README.md +10 -7
- package/lib/bootstrap/index.d.ts +1 -0
- package/lib/bootstrap/index.js +45 -1
- package/lib/bootstrap/interactive.d.ts +1 -0
- package/lib/bootstrap/interactive.js +11 -1
- package/lib/bootstrap/utils.js +23 -1
- package/lib/commands/cm/bootstrap.js +14 -5
- package/lib/config.js +48 -13
- package/messages/index.json +25 -17
- package/oclif.manifest.json +14 -6
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ $ npm install -g @contentstack/cli-cm-bootstrap
|
|
|
15
15
|
$ csdx COMMAND
|
|
16
16
|
running command...
|
|
17
17
|
$ csdx (--version)
|
|
18
|
-
@contentstack/cli-cm-bootstrap/
|
|
18
|
+
@contentstack/cli-cm-bootstrap/2.0.0-beta linux-x64 node-v22.20.0
|
|
19
19
|
$ csdx --help [COMMAND]
|
|
20
20
|
USAGE
|
|
21
21
|
$ csdx COMMAND
|
|
@@ -45,18 +45,19 @@ Bootstrap contentstack apps
|
|
|
45
45
|
```
|
|
46
46
|
USAGE
|
|
47
47
|
$ csdx cm:bootstrap [--app-name <value>] [--project-dir <value>] [-k <value> | --org <value> | -n <value>] [-y
|
|
48
|
-
<value>] [-a <value>]
|
|
48
|
+
<value>] [--run-dev-server] [-a <value>]
|
|
49
49
|
|
|
50
50
|
FLAGS
|
|
51
51
|
-a, --alias=<value> Alias of the management token
|
|
52
52
|
-k, --stack-api-key=<value> Provide stack API key to seed content
|
|
53
53
|
-n, --stack-name=<value> Name of the new stack that will be created.
|
|
54
54
|
-y, --yes=<value> [Optional] Skip stack confirmation
|
|
55
|
-
--app-name=<value> App name,
|
|
56
|
-
|
|
55
|
+
--app-name=<value> App name, kickstart-next, kickstart-next-ssr, kickstart-next-ssg, kickstart-next-graphql,
|
|
56
|
+
kickstart-next-middleware, kickstart-nuxt, kickstart-nuxt-ssr
|
|
57
57
|
--org=<value> Provide organization UID to create a new stack
|
|
58
58
|
--project-dir=<value> Directory to setup the project. If directory name has a space then provide the path as a
|
|
59
59
|
string or escap the space using back slash eg: "../../test space" or ../../test\ space
|
|
60
|
+
--run-dev-server Automatically start the development server after setup
|
|
60
61
|
|
|
61
62
|
DESCRIPTION
|
|
62
63
|
Bootstrap contentstack apps
|
|
@@ -66,11 +67,13 @@ EXAMPLES
|
|
|
66
67
|
|
|
67
68
|
$ csdx cm:bootstrap --project-dir <path/to/setup/the/app>
|
|
68
69
|
|
|
69
|
-
$ csdx cm:bootstrap --app-name "
|
|
70
|
+
$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app>
|
|
70
71
|
|
|
71
|
-
$ csdx cm:bootstrap --app-name "
|
|
72
|
+
$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app> --stack-api-key "stack-api-key"
|
|
72
73
|
|
|
73
|
-
$ csdx cm:bootstrap --app-name "
|
|
74
|
+
$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app> --org "your-org-uid" --stack-name "stack-name"
|
|
75
|
+
|
|
76
|
+
$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app> --run-dev-server
|
|
74
77
|
```
|
|
75
78
|
|
|
76
79
|
_See code: [src/commands/cm/bootstrap.ts](https://github.com/contentstack/cli/blob/main/packages/contentstack-bootstrap/src/commands/cm/bootstrap.ts)_
|
package/lib/bootstrap/index.d.ts
CHANGED
package/lib/bootstrap/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ENGLISH_LOCALE = void 0;
|
|
4
4
|
const path = require("path");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
5
6
|
const cli_utilities_1 = require("@contentstack/cli-utilities");
|
|
6
7
|
const seed_1 = require("@contentstack/cli-cm-seed/lib/commands/cm/stacks/seed");
|
|
7
8
|
const messages_1 = require("../messages");
|
|
@@ -75,11 +76,54 @@ class Bootstrap {
|
|
|
75
76
|
throw new Error(messages_1.default.parse('CLI_BOOTSTRAP_NO_API_KEY_FOUND'));
|
|
76
77
|
}
|
|
77
78
|
if (this.options.livePreviewEnabled) {
|
|
78
|
-
cli_utilities_1.cliux.print('
|
|
79
|
+
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_SUCCESS_LIVE_PREVIEW_NOTE'), {
|
|
79
80
|
color: 'yellow',
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
83
|
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_SUCCESS'));
|
|
84
|
+
// Install dependencies and start development server if requested (after all other operations)
|
|
85
|
+
if (this.options.runDevServer) {
|
|
86
|
+
// Install project dependencies
|
|
87
|
+
cli_utilities_1.cliux.loader(messages_1.default.parse('CLI_BOOTSTRAP_INSTALLING_DEPENDENCIES'));
|
|
88
|
+
try {
|
|
89
|
+
(0, child_process_1.execSync)('npm install', {
|
|
90
|
+
cwd: this.cloneDirectory,
|
|
91
|
+
stdio: 'inherit'
|
|
92
|
+
});
|
|
93
|
+
cli_utilities_1.cliux.loader();
|
|
94
|
+
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_DEPENDENCIES_INSTALLED'));
|
|
95
|
+
// Start development server
|
|
96
|
+
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_STARTING_DEV_SERVER'));
|
|
97
|
+
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_DEV_SERVER_STARTED'));
|
|
98
|
+
cli_utilities_1.cliux.print('You can now access your application. Check the output above for the local URL.');
|
|
99
|
+
// Run npm run dev using spawn for long-running process
|
|
100
|
+
const devProcess = (0, child_process_1.spawn)('npm', ['run', 'dev'], {
|
|
101
|
+
cwd: this.cloneDirectory,
|
|
102
|
+
stdio: 'inherit',
|
|
103
|
+
shell: true
|
|
104
|
+
});
|
|
105
|
+
devProcess.on('error', (error) => {
|
|
106
|
+
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_DEV_SERVER_FAILED'), {
|
|
107
|
+
color: 'yellow',
|
|
108
|
+
});
|
|
109
|
+
console.error('Failed to start dev server:', error);
|
|
110
|
+
});
|
|
111
|
+
// Handle process exit
|
|
112
|
+
devProcess.on('exit', (code) => {
|
|
113
|
+
if (code !== 0 && code !== null) {
|
|
114
|
+
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_DEV_SERVER_FAILED'), {
|
|
115
|
+
color: 'yellow',
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
catch (installError) {
|
|
121
|
+
cli_utilities_1.cliux.loader();
|
|
122
|
+
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_DEPENDENCIES_INSTALL_FAILED'), {
|
|
123
|
+
color: 'yellow',
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
83
127
|
}
|
|
84
128
|
catch (error) {
|
|
85
129
|
cli_utilities_1.cliux.error(messages_1.default.parse('CLI_BOOTSTRAP_STACK_CREATION_FAILED', this.appConfig.stack));
|
|
@@ -9,4 +9,5 @@ export declare function inquireCloneDirectory(): Promise<string>;
|
|
|
9
9
|
export declare function inquireGithubAccessToken(): Promise<any>;
|
|
10
10
|
export declare function inquireAppType(): Promise<string>;
|
|
11
11
|
export declare function inquireLivePreviewSupport(): Promise<any>;
|
|
12
|
+
export declare function inquireRunDevServer(): Promise<any>;
|
|
12
13
|
export declare function continueBootstrapCommand(): Promise<any>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.continueBootstrapCommand = exports.inquireLivePreviewSupport = exports.inquireAppType = exports.inquireGithubAccessToken = exports.inquireCloneDirectory = exports.inquireApp = void 0;
|
|
3
|
+
exports.continueBootstrapCommand = exports.inquireRunDevServer = exports.inquireLivePreviewSupport = exports.inquireAppType = exports.inquireGithubAccessToken = exports.inquireCloneDirectory = exports.inquireApp = void 0;
|
|
4
4
|
const inquirer = require('inquirer');
|
|
5
5
|
const cli_utilities_1 = require("@contentstack/cli-utilities");
|
|
6
6
|
const messages_1 = require("../messages");
|
|
@@ -95,6 +95,16 @@ async function inquireLivePreviewSupport() {
|
|
|
95
95
|
return livePreviewEnabled;
|
|
96
96
|
}
|
|
97
97
|
exports.inquireLivePreviewSupport = inquireLivePreviewSupport;
|
|
98
|
+
async function inquireRunDevServer() {
|
|
99
|
+
const { runDevServer } = await inquirer.prompt({
|
|
100
|
+
type: 'confirm',
|
|
101
|
+
name: 'runDevServer',
|
|
102
|
+
message: messages_1.default.parse('CLI_BOOTSTRAP_RUN_DEV_SERVER_ENQUIRY'),
|
|
103
|
+
default: true,
|
|
104
|
+
});
|
|
105
|
+
return runDevServer;
|
|
106
|
+
}
|
|
107
|
+
exports.inquireRunDevServer = inquireRunDevServer;
|
|
98
108
|
async function continueBootstrapCommand() {
|
|
99
109
|
const { shouldContinue } = await inquirer.prompt({
|
|
100
110
|
type: 'list',
|
package/lib/bootstrap/utils.js
CHANGED
|
@@ -110,7 +110,6 @@ const setupEnvironments = async (managementAPIClient, api_key, appConfig, cloned
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
catch (error) {
|
|
113
|
-
console.log('error', error);
|
|
114
113
|
cli_utilities_1.cliux.print(messages_1.default.parse('CLI_BOOTSTRAP_APP_FAILED_TO_CREATE_ENV_FILE_FOR_ENV', environment.name));
|
|
115
114
|
}
|
|
116
115
|
}
|
|
@@ -162,8 +161,31 @@ const envFileHandler = async (appConfigKey, environmentVariables, clonedDirector
|
|
|
162
161
|
if (regionName !== 'eu' && !isUSRegion) {
|
|
163
162
|
customHost = (_f = region === null || region === void 0 ? void 0 : region.cma) === null || _f === void 0 ? void 0 : _f.substring(8);
|
|
164
163
|
}
|
|
164
|
+
// Construct image hostname based on the actual host being used
|
|
165
|
+
let imageHostname = '*-images.contentstack.com'; // default fallback
|
|
166
|
+
if (region === null || region === void 0 ? void 0 : region.cda) {
|
|
167
|
+
const baseHost = region.cda.replace(/^https?:\/\//, '').replace(/^[^.]+\./, '');
|
|
168
|
+
imageHostname = `*-images.${baseHost}`;
|
|
169
|
+
}
|
|
165
170
|
const production = environmentVariables.environment === 'production' ? true : false;
|
|
166
171
|
switch (appConfigKey) {
|
|
172
|
+
case 'kickstart-next':
|
|
173
|
+
case 'kickstart-next-ssr':
|
|
174
|
+
case 'kickstart-next-ssg':
|
|
175
|
+
case 'kickstart-next-middleware':
|
|
176
|
+
case 'kickstart-next-graphql':
|
|
177
|
+
fileName = `.env`;
|
|
178
|
+
filePath = (0, cli_utilities_1.pathValidator)(path.join((0, cli_utilities_1.sanitizePath)(clonedDirectory), (0, cli_utilities_1.sanitizePath)(fileName)));
|
|
179
|
+
content = `NEXT_PUBLIC_CONTENTSTACK_API_KEY=${environmentVariables.api_key}\nNEXT_PUBLIC_CONTENTSTACK_DELIVERY_TOKEN=${environmentVariables.deliveryToken}\nNEXT_PUBLIC_CONTENTSTACK_PREVIEW_TOKEN=${environmentVariables.preview_token || ''}\nNEXT_PUBLIC_CONTENTSTACK_ENVIRONMENT=${environmentVariables.environment}\nNEXT_PUBLIC_CONTENTSTACK_REGION=${regionName}\nNEXT_PUBLIC_CONTENTSTACK_PREVIEW=${livePreviewEnabled ? 'true' : 'false'}\nNEXT_PUBLIC_CONTENTSTACK_CONTENT_DELIVERY = ${cdnHost}\nNEXT_PUBLIC_CONTENTSTACK_CONTENT_APPLICATION = ${appHost}\nNEXT_PUBLIC_CONTENTSTACK_PREVIEW_HOST = ${previewHost}\nNEXT_PUBLIC_CONTENTSTACK_IMAGE_HOSTNAME=${imageHostname}`;
|
|
180
|
+
result = await writeEnvFile(content, filePath);
|
|
181
|
+
break;
|
|
182
|
+
case 'kickstart-nuxt':
|
|
183
|
+
case 'kickstart-nuxt-ssr':
|
|
184
|
+
fileName = `.env`;
|
|
185
|
+
filePath = (0, cli_utilities_1.pathValidator)(path.join((0, cli_utilities_1.sanitizePath)(clonedDirectory), (0, cli_utilities_1.sanitizePath)(fileName)));
|
|
186
|
+
content = `NUXT_CONTENTSTACK_API_KEY=${environmentVariables.api_key}\nNUXT_CONTENTSTACK_DELIVERY_TOKEN=${environmentVariables.deliveryToken}\nNUXT_CONTENTSTACK_PREVIEW_TOKEN=${environmentVariables.preview_token || ''}\nNUXT_CONTENTSTACK_ENVIRONMENT=${environmentVariables.environment}\nNUXT_CONTENTSTACK_REGION=${region.name}\nNUXT_CONTENTSTACK_PREVIEW=${livePreviewEnabled ? 'true' : 'false'}\nNUXT_CONTENTSTACK_CONTENT_DELIVERY = ${cdnHost}\nNUXT_CONTENTSTACK_CONTENT_APPLICATION = ${appHost}\nNUXT_CONTENTSTACK_PREVIEW_HOST = ${previewHost}`;
|
|
187
|
+
result = await writeEnvFile(content, filePath);
|
|
188
|
+
break;
|
|
167
189
|
case 'reactjs':
|
|
168
190
|
case 'reactjs-starter':
|
|
169
191
|
fileName = `.env.${environmentVariables.environment}.local`;
|
|
@@ -55,6 +55,8 @@ class BootstrapCommand extends cli_command_1.Command {
|
|
|
55
55
|
}
|
|
56
56
|
cloneDirectory = (0, path_1.resolve)(cloneDirectory);
|
|
57
57
|
const livePreviewEnabled = bootstrapCommandFlags.yes ? true : await (0, interactive_1.inquireLivePreviewSupport)();
|
|
58
|
+
const runDevServer = bootstrapCommandFlags['run-dev-server'] ||
|
|
59
|
+
(bootstrapCommandFlags.yes ? false : await (0, interactive_1.inquireRunDevServer)());
|
|
58
60
|
const seedParams = {};
|
|
59
61
|
const stackAPIKey = bootstrapCommandFlags['stack-api-key'];
|
|
60
62
|
const org = bootstrapCommandFlags.org;
|
|
@@ -82,6 +84,7 @@ class BootstrapCommand extends cli_command_1.Command {
|
|
|
82
84
|
region: this.region,
|
|
83
85
|
appType,
|
|
84
86
|
livePreviewEnabled,
|
|
87
|
+
runDevServer,
|
|
85
88
|
master_locale,
|
|
86
89
|
};
|
|
87
90
|
const bootstrap = new bootstrap_1.default(options);
|
|
@@ -97,13 +100,14 @@ BootstrapCommand.description = 'Bootstrap contentstack apps';
|
|
|
97
100
|
BootstrapCommand.examples = [
|
|
98
101
|
'$ csdx cm:bootstrap',
|
|
99
102
|
'$ csdx cm:bootstrap --project-dir <path/to/setup/the/app>',
|
|
100
|
-
'$ csdx cm:bootstrap --app-name "
|
|
101
|
-
'$ csdx cm:bootstrap --app-name "
|
|
102
|
-
'$ csdx cm:bootstrap --app-name "
|
|
103
|
+
'$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app>',
|
|
104
|
+
'$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app> --stack-api-key "stack-api-key"',
|
|
105
|
+
'$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app> --org "your-org-uid" --stack-name "stack-name"',
|
|
106
|
+
'$ csdx cm:bootstrap --app-name "kickstart-next" --project-dir <path/to/setup/the/app> --run-dev-server',
|
|
103
107
|
];
|
|
104
108
|
BootstrapCommand.flags = {
|
|
105
109
|
'app-name': cli_utilities_1.flags.string({
|
|
106
|
-
description: 'App name,
|
|
110
|
+
description: 'App name, kickstart-next, kickstart-next-ssr, kickstart-next-ssg, kickstart-next-graphql, kickstart-next-middleware, kickstart-nuxt, kickstart-nuxt-ssr',
|
|
107
111
|
multiple: false,
|
|
108
112
|
required: false,
|
|
109
113
|
}),
|
|
@@ -143,10 +147,15 @@ BootstrapCommand.flags = {
|
|
|
143
147
|
char: 'y',
|
|
144
148
|
required: false,
|
|
145
149
|
}),
|
|
150
|
+
'run-dev-server': cli_utilities_1.flags.boolean({
|
|
151
|
+
description: 'Automatically start the development server after setup',
|
|
152
|
+
required: false,
|
|
153
|
+
default: false,
|
|
154
|
+
}),
|
|
146
155
|
// To be deprecated
|
|
147
156
|
appName: cli_utilities_1.flags.string({
|
|
148
157
|
char: 'a',
|
|
149
|
-
description: 'App name,
|
|
158
|
+
description: 'App name, kickstart-next, kickstart-next-ssr, kickstart-next-ssg, kickstart-next-graphql, kickstart-next-middleware, kickstart-nuxt, kickstart-nuxt-ssr',
|
|
150
159
|
multiple: false,
|
|
151
160
|
required: false,
|
|
152
161
|
hidden: true,
|
package/lib/config.js
CHANGED
|
@@ -4,23 +4,58 @@ exports.getAppLevelConfigByName = void 0;
|
|
|
4
4
|
const messages_1 = require("./messages");
|
|
5
5
|
const config = {
|
|
6
6
|
sampleApps: [
|
|
7
|
-
{ displayName: 'React JS', configKey: 'reactjs' },
|
|
8
|
-
{ displayName: 'Next JS', configKey: 'nextjs' },
|
|
9
|
-
{ displayName: 'Gatsby', configKey: 'gatsby' },
|
|
10
|
-
{ displayName: 'Angular', configKey: 'angular' },
|
|
7
|
+
{ displayName: 'React JS (Deprecated)', configKey: 'reactjs' },
|
|
8
|
+
{ displayName: 'Next JS (Deprecated)', configKey: 'nextjs' },
|
|
9
|
+
{ displayName: 'Gatsby (Deprecated)', configKey: 'gatsby' },
|
|
10
|
+
{ displayName: 'Angular (Deprecated)', configKey: 'angular' },
|
|
11
11
|
],
|
|
12
12
|
starterApps: [
|
|
13
|
-
{ displayName: '
|
|
14
|
-
{ displayName: 'Next
|
|
15
|
-
{ displayName: '
|
|
16
|
-
{ displayName: '
|
|
17
|
-
{ displayName: '
|
|
18
|
-
{ displayName: '
|
|
19
|
-
{ displayName: '
|
|
20
|
-
{ displayName: '
|
|
21
|
-
{ displayName: '
|
|
13
|
+
{ displayName: 'Compass App', configKey: 'compass-app' },
|
|
14
|
+
{ displayName: 'Kickstart Next.js', configKey: 'kickstart-next' },
|
|
15
|
+
{ displayName: 'Kickstart Next.js SSR', configKey: 'kickstart-next-ssr' },
|
|
16
|
+
{ displayName: 'Kickstart Next.js SSG', configKey: 'kickstart-next-ssg' },
|
|
17
|
+
{ displayName: 'Kickstart Next.js GraphQL', configKey: 'kickstart-next-graphql' },
|
|
18
|
+
{ displayName: 'Kickstart Next.js Middleware', configKey: 'kickstart-next-middleware' },
|
|
19
|
+
{ displayName: 'Kickstart NuxtJS', configKey: 'kickstart-next-nuxt' },
|
|
20
|
+
{ displayName: 'Kickstart NuxtJS SSR', configKey: 'kickstart-next-nuxt-ssr' },
|
|
21
|
+
{ displayName: 'React JS (Deprecated)', configKey: 'reactjs-starter' },
|
|
22
|
+
{ displayName: 'Next JS (Deprecated)', configKey: 'nextjs-starter' },
|
|
23
|
+
{ displayName: 'Gatsby (Deprecated)', configKey: 'gatsby-starter' },
|
|
24
|
+
{ displayName: 'Angular (Deprecated)', configKey: 'angular-starter' },
|
|
25
|
+
{ displayName: 'Nuxt JS (Deprecated)', configKey: 'nuxt-starter' },
|
|
26
|
+
{ displayName: 'Vue JS (Deprecated)', configKey: 'vue-starter' },
|
|
27
|
+
{ displayName: 'Stencil (Deprecated)', configKey: 'stencil-starter' },
|
|
28
|
+
{ displayName: 'Nuxt3 (Deprecated)', configKey: 'nuxt3-starter' },
|
|
22
29
|
],
|
|
23
30
|
appLevelConfig: {
|
|
31
|
+
'kickstart-next': {
|
|
32
|
+
source: 'contentstack/kickstart-next',
|
|
33
|
+
stack: 'contentstack/kickstart-stack-seed',
|
|
34
|
+
},
|
|
35
|
+
'kickstart-next-ssr': {
|
|
36
|
+
source: 'contentstack/kickstart-next-ssr',
|
|
37
|
+
stack: 'contentstack/kickstart-stack-seed',
|
|
38
|
+
},
|
|
39
|
+
'kickstart-next-ssg': {
|
|
40
|
+
source: 'contentstack/kickstart-next-ssg',
|
|
41
|
+
stack: 'contentstack/kickstart-stack-seed',
|
|
42
|
+
},
|
|
43
|
+
'kickstart-next-graphql': {
|
|
44
|
+
source: 'contentstack/kickstart-next-graphql',
|
|
45
|
+
stack: 'contentstack/kickstart-stack-seed',
|
|
46
|
+
},
|
|
47
|
+
'kickstart-next-middleware': {
|
|
48
|
+
source: 'contentstack/kickstart-next-middleware',
|
|
49
|
+
stack: 'contentstack/kickstart-stack-seed',
|
|
50
|
+
},
|
|
51
|
+
'kickstart-next-nuxt': {
|
|
52
|
+
source: 'contentstack/kickstart-next-nuxt',
|
|
53
|
+
stack: 'contentstack/kickstart-stack-seed',
|
|
54
|
+
},
|
|
55
|
+
'kickstart-next-nuxt-ssr': {
|
|
56
|
+
source: 'contentstack/kickstart-next-nuxt-ssr',
|
|
57
|
+
stack: 'contentstack/kickstart-stack-seed',
|
|
58
|
+
},
|
|
24
59
|
nextjs: {
|
|
25
60
|
source: 'contentstack/contentstack-nextjs-react-universal-demo',
|
|
26
61
|
stack: 'contentstack/stack-contentstack-nextjs-react-universal-demo',
|
package/messages/index.json
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
2
|
+
"CLI_BOOTSTRAP_INVALID_APP_NAME": "Invalid app name received, use cm:bootstrap see the list of apps supported",
|
|
3
|
+
"CLI_BOOTSTRAP_LOGIN_FAILED": "You need to login, first. See: auth:login --help",
|
|
4
|
+
"CLI_BOOTSTRAP_GITHUB_ACCESS_NOT_FOUND": "No Github access token found",
|
|
5
|
+
"CLI_BOOTSTRAP_START_CLONE_APP": "Cloning the selected app",
|
|
6
|
+
"CLI_BOOTSTRAP_REPO_NOT_FOUND": "Unable to find a repo for \"%s\"",
|
|
7
|
+
"CLI_BOOTSTRAP_NO_API_KEY_FOUND": "No API key generated for the stack",
|
|
8
|
+
"CLI_BOOTSTRAP_STACK_CREATION_FAILED": "Unable to create stack for content \"%s\"",
|
|
9
|
+
"CLI_BOOTSTRAP_APP_SELECTION_ENQUIRY": "Select an App",
|
|
10
|
+
"CLI_BOOTSTRAP_APP_COPY_SOURCE_CODE_DESTINATION_TYPE_ENQUIRY": "Choose the location where you want to copy the source code",
|
|
11
|
+
"CLI_BOOTSTRAP_APP_COPY_SOURCE_CODE_DESTINATION_ENQUIRY": "Enter destination path",
|
|
12
|
+
"CLI_BOOTSTRAP_NO_ACCESS_TOKEN_CREATED": "Note: Access token not created already, check out this link https://github.com/settings/tokens \n Provide github access token",
|
|
13
|
+
"CLI_BOOTSTRAP_TYPE_OF_APP_ENQUIRY": "Choose the type of app you want to clone",
|
|
14
|
+
"CLI_BOOTSTRAP_APP_FAILED_TO_CREATE_TOKEN_FOR_ENV": "Failed to create delivery token for env \"%s\"",
|
|
15
|
+
"CLI_BOOTSTRAP_APP_FAILED_TO_CREATE_ENV_FILE_FOR_ENV": "Failed to setup env file for \"%s\"",
|
|
16
|
+
"CLI_BOOTSTRAP_APP_ENV_NOT_FOUND_FOR_THE_STACK": "No environments found for the stack",
|
|
17
|
+
"CLI_BOOTSTRAP_SUCCESS": "Project setup is successful!",
|
|
18
|
+
"CLI_BOOTSTRAP_SUCCESS_LIVE_PREVIEW_NOTE": "Note: Before running the app, please turn on Live Preview in the CMS: Stack Settings > Live Preview > Enable Live Preview",
|
|
19
|
+
"CLI_BOOTSTRAP_INSTALLING_DEPENDENCIES": "Installing local dependencies with NPM",
|
|
20
|
+
"CLI_BOOTSTRAP_DEPENDENCIES_INSTALLED": "NPM dependencies installed successfully!",
|
|
21
|
+
"CLI_BOOTSTRAP_DEPENDENCIES_INSTALL_FAILED": "Failed to install NPM dependencies.",
|
|
22
|
+
"CLI_BOOTSTRAP_RUN_DEV_SERVER_ENQUIRY": "Do you want to install dependencies and run the app locally (npm install && npm run dev)?",
|
|
23
|
+
"CLI_BOOTSTRAP_STARTING_DEV_SERVER": "Starting development server...",
|
|
24
|
+
"CLI_BOOTSTRAP_DEV_SERVER_STARTED": "Development server started successfully! Check your terminal for more details.",
|
|
25
|
+
"CLI_BOOTSTRAP_DEV_SERVER_FAILED": "Failed to start development server. You can start it manually with 'npm run dev' in the project directory."
|
|
26
|
+
}
|
package/oclif.manifest.json
CHANGED
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
"examples": [
|
|
8
8
|
"$ csdx cm:bootstrap",
|
|
9
9
|
"$ csdx cm:bootstrap --project-dir <path/to/setup/the/app>",
|
|
10
|
-
"$ csdx cm:bootstrap --app-name \"
|
|
11
|
-
"$ csdx cm:bootstrap --app-name \"
|
|
12
|
-
"$ csdx cm:bootstrap --app-name \"
|
|
10
|
+
"$ csdx cm:bootstrap --app-name \"kickstart-next\" --project-dir <path/to/setup/the/app>",
|
|
11
|
+
"$ csdx cm:bootstrap --app-name \"kickstart-next\" --project-dir <path/to/setup/the/app> --stack-api-key \"stack-api-key\"",
|
|
12
|
+
"$ csdx cm:bootstrap --app-name \"kickstart-next\" --project-dir <path/to/setup/the/app> --org \"your-org-uid\" --stack-name \"stack-name\"",
|
|
13
|
+
"$ csdx cm:bootstrap --app-name \"kickstart-next\" --project-dir <path/to/setup/the/app> --run-dev-server"
|
|
13
14
|
],
|
|
14
15
|
"flags": {
|
|
15
16
|
"app-name": {
|
|
16
|
-
"description": "App name,
|
|
17
|
+
"description": "App name, kickstart-next, kickstart-next-ssr, kickstart-next-ssg, kickstart-next-graphql, kickstart-next-middleware, kickstart-nuxt, kickstart-nuxt-ssr",
|
|
17
18
|
"name": "app-name",
|
|
18
19
|
"required": false,
|
|
19
20
|
"hasDynamicHelp": false,
|
|
@@ -82,9 +83,16 @@
|
|
|
82
83
|
"multiple": false,
|
|
83
84
|
"type": "option"
|
|
84
85
|
},
|
|
86
|
+
"run-dev-server": {
|
|
87
|
+
"description": "Automatically start the development server after setup",
|
|
88
|
+
"name": "run-dev-server",
|
|
89
|
+
"required": false,
|
|
90
|
+
"allowNo": false,
|
|
91
|
+
"type": "boolean"
|
|
92
|
+
},
|
|
85
93
|
"appName": {
|
|
86
94
|
"char": "a",
|
|
87
|
-
"description": "App name,
|
|
95
|
+
"description": "App name, kickstart-next, kickstart-next-ssr, kickstart-next-ssg, kickstart-next-graphql, kickstart-next-middleware, kickstart-nuxt, kickstart-nuxt-ssr",
|
|
88
96
|
"hidden": true,
|
|
89
97
|
"name": "appName",
|
|
90
98
|
"required": false,
|
|
@@ -137,5 +145,5 @@
|
|
|
137
145
|
]
|
|
138
146
|
}
|
|
139
147
|
},
|
|
140
|
-
"version": "
|
|
148
|
+
"version": "2.0.0-beta"
|
|
141
149
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentstack/cli-cm-bootstrap",
|
|
3
3
|
"description": "Bootstrap contentstack apps",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.0-beta",
|
|
5
5
|
"author": "Contentstack",
|
|
6
6
|
"bugs": "https://github.com/contentstack/cli/issues",
|
|
7
7
|
"scripts": {
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"test:report": "nyc --reporter=lcov mocha \"test/**/*.test.js\""
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@contentstack/cli-cm-seed": "~
|
|
20
|
-
"@contentstack/cli-command": "~1.6.
|
|
21
|
-
"@contentstack/cli-utilities": "~1.
|
|
19
|
+
"@contentstack/cli-cm-seed": "~2.0.0-beta",
|
|
20
|
+
"@contentstack/cli-command": "~1.6.1",
|
|
21
|
+
"@contentstack/cli-utilities": "~1.14.1",
|
|
22
22
|
"@oclif/core": "^4.3.0",
|
|
23
23
|
"@oclif/plugin-help": "^6.2.28",
|
|
24
24
|
"inquirer": "8.2.6",
|