@solidstarters/create-solid-app 1.2.36 → 1.2.37
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/helpers.js +14 -3
- package/package.json +1 -1
- package/setup-questions.bkp.js +144 -0
- package/setup-questions.js +28 -170
package/helpers.js
CHANGED
|
@@ -32,8 +32,13 @@ export async function copyAndInstallTemplate(source, target, showLogs) {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
async function installTemplate(target, showLogs) {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
try {
|
|
36
|
+
const output = await execa('npm', ['install'], { stdio: showLogs ? "inherit" : "ignore", cwd: target });
|
|
37
|
+
return output;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error(chalk.red('Error during npm install in', target, error));
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
export async function copyTemplate(source, target, excludedDirs = []) {
|
|
@@ -69,6 +74,12 @@ export async function handleCopy(source, target, excludedDirs = []) {
|
|
|
69
74
|
normalizedPath === dir || normalizedPath.startsWith(`${dir}/`)
|
|
70
75
|
);
|
|
71
76
|
|
|
77
|
+
// Exclude package-lock.json files and node_modules directories
|
|
78
|
+
const filename = path.basename(src);
|
|
79
|
+
if (filename === 'package-lock.json' || filename === 'node_modules') {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
|
|
72
83
|
return !isExcluded;
|
|
73
84
|
},
|
|
74
85
|
});
|
|
@@ -161,7 +172,7 @@ export function getBackendEnvConfig(answers) {
|
|
|
161
172
|
DEFAULT_DATABASE_NAME: answers.solidApiDatabaseName,
|
|
162
173
|
DEFAULT_DATABASE_PORT: answers.solidApiDatabasePort,
|
|
163
174
|
DEFAULT_DATABASE_HOST: answers.solidApiDatabaseHost,
|
|
164
|
-
DEFAULT_DATABASE_SYNCHRONIZE: answers.solidApiDatabaseSynchronize,
|
|
175
|
+
DEFAULT_DATABASE_SYNCHRONIZE: answers.solidApiDatabaseSynchronize === 'Yes' ? true : false,
|
|
165
176
|
DEFAULT_DATABASE_LOGGING: false,
|
|
166
177
|
},
|
|
167
178
|
"IAM Registration": {
|
package/package.json
CHANGED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
// 6. Do you want to enable caching yes/no i.e default no ??
|
|
2
|
+
// - Choose your default cache provider? redis i.e default redis
|
|
3
|
+
// - Please provide hostname
|
|
4
|
+
// - Please provide port
|
|
5
|
+
// {
|
|
6
|
+
// type: 'confirm',
|
|
7
|
+
// name: 'solidApiEnableCaching',
|
|
8
|
+
// message: 'Do you want to enable caching?',
|
|
9
|
+
// default: false,
|
|
10
|
+
// },
|
|
11
|
+
// 7. Do you want to enable queues yes/ no i.e default no ??
|
|
12
|
+
// - Choose your default queue broker rabbitmq i.e default rabbitmq
|
|
13
|
+
// - Please provide your broker url
|
|
14
|
+
// {
|
|
15
|
+
// type: 'confirm',
|
|
16
|
+
// name: 'solidApiEnableQueues',
|
|
17
|
+
// message: 'Do you want to enable queues?',
|
|
18
|
+
// default: false,
|
|
19
|
+
// },
|
|
20
|
+
// 8. Do you want to enable mongodb yes / no i.e default no ??
|
|
21
|
+
// - Please provide your mongodb connection string
|
|
22
|
+
// {
|
|
23
|
+
// type: 'confirm',
|
|
24
|
+
// name: 'solidApiEnableMongo',
|
|
25
|
+
// message: 'Do you want to enable mongodb?',
|
|
26
|
+
// default: false,
|
|
27
|
+
// },
|
|
28
|
+
// 9. Do you want to enable s3 i.e default no ??
|
|
29
|
+
// - Please provide AWS region name?
|
|
30
|
+
// - Please provide AWS access key?
|
|
31
|
+
// - Please provide AWS secret key?
|
|
32
|
+
// - Please provide bucket name? i.e default radix-dev-public
|
|
33
|
+
// {
|
|
34
|
+
// type: 'confirm',
|
|
35
|
+
// name: 'solidApiEnableS3',
|
|
36
|
+
// message: 'Do you want to enable s3?',
|
|
37
|
+
// default: false,
|
|
38
|
+
// },
|
|
39
|
+
// 9. Choose your default Email provider type i.e SMTP/API
|
|
40
|
+
// - Please provide SMTP username?
|
|
41
|
+
// - Please provide SMTP password?
|
|
42
|
+
// - Please provide SMTP host?
|
|
43
|
+
// - Please provide SMTP port? i.e default 587
|
|
44
|
+
// - Please provide your default from email address
|
|
45
|
+
// {
|
|
46
|
+
// type: 'list',
|
|
47
|
+
// name: 'solidApiEmailProvider',
|
|
48
|
+
// message: 'Choose your default Email provider type',
|
|
49
|
+
// choices: ['SMTP', 'API'],
|
|
50
|
+
// default: 'SMTP',
|
|
51
|
+
// },
|
|
52
|
+
// {
|
|
53
|
+
// type: 'input',
|
|
54
|
+
// name: 'solidApiEmailUsername',
|
|
55
|
+
// message: 'Please provide SMTP username',
|
|
56
|
+
// },
|
|
57
|
+
// {
|
|
58
|
+
// type: 'password',
|
|
59
|
+
// name: 'solidApiEmailPassword',
|
|
60
|
+
// message: 'Please provide SMTP password',
|
|
61
|
+
// },
|
|
62
|
+
// {
|
|
63
|
+
// type: 'input',
|
|
64
|
+
// name: 'solidApiEmailHost',
|
|
65
|
+
// message: 'Please provide SMTP host',
|
|
66
|
+
// },
|
|
67
|
+
// {
|
|
68
|
+
// type: 'input',
|
|
69
|
+
// name: 'solidApiEmailPort',
|
|
70
|
+
// message: 'Please provide SMTP port',
|
|
71
|
+
// default: '587',
|
|
72
|
+
// },
|
|
73
|
+
// {
|
|
74
|
+
// type: 'input',
|
|
75
|
+
// name: 'solidApiEmailFrom',
|
|
76
|
+
// message: 'Please provide your default from email address',
|
|
77
|
+
// },
|
|
78
|
+
// 10. Choose your default SMS provider i.e MSG91
|
|
79
|
+
// - Please provide SMS API url
|
|
80
|
+
// - Please provide SMS API key
|
|
81
|
+
// {
|
|
82
|
+
// type: 'list',
|
|
83
|
+
// name: 'solidApiSmsProvider',
|
|
84
|
+
// message: 'Choose your default SMS provider',
|
|
85
|
+
// choices: ['MSG91', 'Twilio'],
|
|
86
|
+
// },
|
|
87
|
+
// {
|
|
88
|
+
// type: 'input',
|
|
89
|
+
// name: 'solidApiSmsApiUrl',
|
|
90
|
+
// message: 'Please provide SMS API url',
|
|
91
|
+
// },
|
|
92
|
+
// {
|
|
93
|
+
// type: 'input',
|
|
94
|
+
// name: 'solidApiSmsApiKey',
|
|
95
|
+
// message: 'Please provide SMS API key',
|
|
96
|
+
// },
|
|
97
|
+
// 11. Do you want to enable Whatsapp i.e default no
|
|
98
|
+
// - Choose your default Whatsapp provider i.e MSG91
|
|
99
|
+
// - Please provide your api key
|
|
100
|
+
// - Please provide your whatsapp integrated number
|
|
101
|
+
// {
|
|
102
|
+
// type: 'confirm',
|
|
103
|
+
// name: 'solidApiEnableWhatsapp',
|
|
104
|
+
// message: 'Do you want to enable Whatsapp?',
|
|
105
|
+
// default: false,
|
|
106
|
+
// },
|
|
107
|
+
// 12. Do you want to enable link shortener i.e default no
|
|
108
|
+
// - Choose your default link shortner service i.e tinyurl
|
|
109
|
+
// - Please provide your api url
|
|
110
|
+
// - Please provide your api key
|
|
111
|
+
// - Please provide your short url domain
|
|
112
|
+
// {
|
|
113
|
+
// type: 'confirm',
|
|
114
|
+
// name: 'solidApiEnableLinkShortener',
|
|
115
|
+
// message: 'Do you want to enable link shortener?',
|
|
116
|
+
// default: false,
|
|
117
|
+
// },
|
|
118
|
+
// 13. Do you want to enable oauth i.e default no ??
|
|
119
|
+
// - Choose your default oauth provider i.e google
|
|
120
|
+
// - Please provide your client id
|
|
121
|
+
// - Please provide your client secret
|
|
122
|
+
// {
|
|
123
|
+
// type: 'confirm',
|
|
124
|
+
// name: 'solidApiEnableOauth',
|
|
125
|
+
// message: 'Do you want to enable oauth?',
|
|
126
|
+
// default: false,
|
|
127
|
+
// },
|
|
128
|
+
// {
|
|
129
|
+
// type: 'list',
|
|
130
|
+
// name: 'solidApiOauthProvider',
|
|
131
|
+
// message: 'Choose your default oauth provider',
|
|
132
|
+
// choices: ['google', 'facebook'],
|
|
133
|
+
// },
|
|
134
|
+
// {
|
|
135
|
+
// type: 'input',
|
|
136
|
+
// name: 'solidApiOauthClientId',
|
|
137
|
+
// message: 'Please provide your client id',
|
|
138
|
+
// },
|
|
139
|
+
// {
|
|
140
|
+
// type: 'input',
|
|
141
|
+
// name: 'solidApiOauthClientSecret',
|
|
142
|
+
// message: 'Please provide your client secret',
|
|
143
|
+
// }
|
|
144
|
+
// Choose your frontend app portname
|
package/setup-questions.js
CHANGED
|
@@ -3,206 +3,64 @@ export const setupQuestions = [
|
|
|
3
3
|
type: 'input',
|
|
4
4
|
name: 'projectName',
|
|
5
5
|
message: 'What is the name of your project?',
|
|
6
|
-
default: 'my-solid-app',
|
|
6
|
+
default: 'my-solid-app',
|
|
7
7
|
},
|
|
8
|
-
// 2. Choose your backend api port name i.e default 3000
|
|
9
8
|
{
|
|
10
9
|
type: 'input',
|
|
11
10
|
name: 'solidApiPort',
|
|
12
|
-
message: '
|
|
11
|
+
message: 'Enter your backend api port',
|
|
13
12
|
default: '3000',
|
|
14
13
|
},
|
|
15
14
|
{
|
|
16
15
|
type: 'list',
|
|
17
16
|
name: 'solidApiDatabaseClient',
|
|
18
|
-
message: '
|
|
19
|
-
choices: ['
|
|
20
|
-
default: '
|
|
17
|
+
message: 'Select your database?',
|
|
18
|
+
choices: ['PostgreSQL', 'MSSQL'],
|
|
19
|
+
default: 'PostgreSQL',
|
|
21
20
|
},
|
|
22
21
|
{
|
|
23
22
|
type: 'input',
|
|
24
|
-
name: '
|
|
25
|
-
message: '
|
|
23
|
+
name: 'solidApiDatabaseHost',
|
|
24
|
+
message: 'Enter your database host',
|
|
25
|
+
default: 'localhost',
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
type: '
|
|
29
|
-
name: '
|
|
30
|
-
message: '
|
|
28
|
+
type: 'input',
|
|
29
|
+
name: 'solidApiDatabasePort',
|
|
30
|
+
message: 'Enter your database port',
|
|
31
|
+
default: (answers) => {
|
|
32
|
+
return answers.solidApiDatabaseClient === 'PostgreSQL' ? '5432' : '1433';
|
|
33
|
+
},
|
|
31
34
|
},
|
|
32
35
|
{
|
|
33
36
|
type: 'input',
|
|
34
37
|
name: 'solidApiDatabaseName',
|
|
35
|
-
message: '
|
|
38
|
+
message: 'Enter your database name',
|
|
39
|
+
default: 'solidx_app_db',
|
|
36
40
|
},
|
|
37
|
-
// 6. Please provide your database host? i.e default localhost
|
|
38
41
|
{
|
|
39
42
|
type: 'input',
|
|
40
|
-
name: '
|
|
41
|
-
message: '
|
|
42
|
-
default: '
|
|
43
|
+
name: 'solidApiDatabaseUsername',
|
|
44
|
+
message: 'Enter your database username',
|
|
45
|
+
default: 'solidx_app_user',
|
|
43
46
|
},
|
|
44
|
-
// 7. Please provide your database port? i.e default 5432
|
|
45
47
|
{
|
|
46
|
-
type: '
|
|
47
|
-
name: '
|
|
48
|
-
message: '
|
|
49
|
-
default: '
|
|
48
|
+
type: 'password',
|
|
49
|
+
name: 'solidApiDatabasePassword',
|
|
50
|
+
message: 'Enter your database password',
|
|
51
|
+
default: 'strongpassword',
|
|
50
52
|
},
|
|
51
|
-
// 8. Do you want to keep your models and database synchronized i.e default true (highlight the risks)
|
|
52
53
|
{
|
|
53
|
-
type: '
|
|
54
|
+
type: 'list',
|
|
54
55
|
name: 'solidApiDatabaseSynchronize',
|
|
55
|
-
message: '
|
|
56
|
-
|
|
56
|
+
message: 'Automatically update database schema when models change? (Not recommended for production)',
|
|
57
|
+
choices: ['Yes', 'No'],
|
|
58
|
+
default: 'Yes',
|
|
57
59
|
},
|
|
58
|
-
// 6. Do you want to enable caching yes/no i.e default no ??
|
|
59
|
-
// - Choose your default cache provider? redis i.e default redis
|
|
60
|
-
// - Please provide hostname
|
|
61
|
-
// - Please provide port
|
|
62
|
-
// {
|
|
63
|
-
// type: 'confirm',
|
|
64
|
-
// name: 'solidApiEnableCaching',
|
|
65
|
-
// message: 'Do you want to enable caching?',
|
|
66
|
-
// default: false,
|
|
67
|
-
// },
|
|
68
|
-
// 7. Do you want to enable queues yes/ no i.e default no ??
|
|
69
|
-
// - Choose your default queue broker rabbitmq i.e default rabbitmq
|
|
70
|
-
// - Please provide your broker url
|
|
71
|
-
// {
|
|
72
|
-
// type: 'confirm',
|
|
73
|
-
// name: 'solidApiEnableQueues',
|
|
74
|
-
// message: 'Do you want to enable queues?',
|
|
75
|
-
// default: false,
|
|
76
|
-
// },
|
|
77
|
-
// 8. Do you want to enable mongodb yes / no i.e default no ??
|
|
78
|
-
// - Please provide your mongodb connection string
|
|
79
|
-
// {
|
|
80
|
-
// type: 'confirm',
|
|
81
|
-
// name: 'solidApiEnableMongo',
|
|
82
|
-
// message: 'Do you want to enable mongodb?',
|
|
83
|
-
// default: false,
|
|
84
|
-
// },
|
|
85
|
-
// 9. Do you want to enable s3 i.e default no ??
|
|
86
|
-
// - Please provide AWS region name?
|
|
87
|
-
// - Please provide AWS access key?
|
|
88
|
-
// - Please provide AWS secret key?
|
|
89
|
-
// - Please provide bucket name? i.e default radix-dev-public
|
|
90
|
-
// {
|
|
91
|
-
// type: 'confirm',
|
|
92
|
-
// name: 'solidApiEnableS3',
|
|
93
|
-
// message: 'Do you want to enable s3?',
|
|
94
|
-
// default: false,
|
|
95
|
-
// },
|
|
96
|
-
// 9. Choose your default Email provider type i.e SMTP/API
|
|
97
|
-
// - Please provide SMTP username?
|
|
98
|
-
// - Please provide SMTP password?
|
|
99
|
-
// - Please provide SMTP host?
|
|
100
|
-
// - Please provide SMTP port? i.e default 587
|
|
101
|
-
// - Please provide your default from email address
|
|
102
|
-
// {
|
|
103
|
-
// type: 'list',
|
|
104
|
-
// name: 'solidApiEmailProvider',
|
|
105
|
-
// message: 'Choose your default Email provider type',
|
|
106
|
-
// choices: ['SMTP', 'API'],
|
|
107
|
-
// default: 'SMTP',
|
|
108
|
-
// },
|
|
109
|
-
// {
|
|
110
|
-
// type: 'input',
|
|
111
|
-
// name: 'solidApiEmailUsername',
|
|
112
|
-
// message: 'Please provide SMTP username',
|
|
113
|
-
// },
|
|
114
|
-
// {
|
|
115
|
-
// type: 'password',
|
|
116
|
-
// name: 'solidApiEmailPassword',
|
|
117
|
-
// message: 'Please provide SMTP password',
|
|
118
|
-
// },
|
|
119
|
-
// {
|
|
120
|
-
// type: 'input',
|
|
121
|
-
// name: 'solidApiEmailHost',
|
|
122
|
-
// message: 'Please provide SMTP host',
|
|
123
|
-
// },
|
|
124
|
-
// {
|
|
125
|
-
// type: 'input',
|
|
126
|
-
// name: 'solidApiEmailPort',
|
|
127
|
-
// message: 'Please provide SMTP port',
|
|
128
|
-
// default: '587',
|
|
129
|
-
// },
|
|
130
|
-
// {
|
|
131
|
-
// type: 'input',
|
|
132
|
-
// name: 'solidApiEmailFrom',
|
|
133
|
-
// message: 'Please provide your default from email address',
|
|
134
|
-
// },
|
|
135
|
-
// 10. Choose your default SMS provider i.e MSG91
|
|
136
|
-
// - Please provide SMS API url
|
|
137
|
-
// - Please provide SMS API key
|
|
138
|
-
// {
|
|
139
|
-
// type: 'list',
|
|
140
|
-
// name: 'solidApiSmsProvider',
|
|
141
|
-
// message: 'Choose your default SMS provider',
|
|
142
|
-
// choices: ['MSG91', 'Twilio'],
|
|
143
|
-
// },
|
|
144
|
-
// {
|
|
145
|
-
// type: 'input',
|
|
146
|
-
// name: 'solidApiSmsApiUrl',
|
|
147
|
-
// message: 'Please provide SMS API url',
|
|
148
|
-
// },
|
|
149
|
-
// {
|
|
150
|
-
// type: 'input',
|
|
151
|
-
// name: 'solidApiSmsApiKey',
|
|
152
|
-
// message: 'Please provide SMS API key',
|
|
153
|
-
// },
|
|
154
|
-
// 11. Do you want to enable Whatsapp i.e default no
|
|
155
|
-
// - Choose your default Whatsapp provider i.e MSG91
|
|
156
|
-
// - Please provide your api key
|
|
157
|
-
// - Please provide your whatsapp integrated number
|
|
158
|
-
// {
|
|
159
|
-
// type: 'confirm',
|
|
160
|
-
// name: 'solidApiEnableWhatsapp',
|
|
161
|
-
// message: 'Do you want to enable Whatsapp?',
|
|
162
|
-
// default: false,
|
|
163
|
-
// },
|
|
164
|
-
// 12. Do you want to enable link shortener i.e default no
|
|
165
|
-
// - Choose your default link shortner service i.e tinyurl
|
|
166
|
-
// - Please provide your api url
|
|
167
|
-
// - Please provide your api key
|
|
168
|
-
// - Please provide your short url domain
|
|
169
|
-
// {
|
|
170
|
-
// type: 'confirm',
|
|
171
|
-
// name: 'solidApiEnableLinkShortener',
|
|
172
|
-
// message: 'Do you want to enable link shortener?',
|
|
173
|
-
// default: false,
|
|
174
|
-
// },
|
|
175
|
-
// 13. Do you want to enable oauth i.e default no ??
|
|
176
|
-
// - Choose your default oauth provider i.e google
|
|
177
|
-
// - Please provide your client id
|
|
178
|
-
// - Please provide your client secret
|
|
179
|
-
// {
|
|
180
|
-
// type: 'confirm',
|
|
181
|
-
// name: 'solidApiEnableOauth',
|
|
182
|
-
// message: 'Do you want to enable oauth?',
|
|
183
|
-
// default: false,
|
|
184
|
-
// },
|
|
185
|
-
// {
|
|
186
|
-
// type: 'list',
|
|
187
|
-
// name: 'solidApiOauthProvider',
|
|
188
|
-
// message: 'Choose your default oauth provider',
|
|
189
|
-
// choices: ['google', 'facebook'],
|
|
190
|
-
// },
|
|
191
|
-
// {
|
|
192
|
-
// type: 'input',
|
|
193
|
-
// name: 'solidApiOauthClientId',
|
|
194
|
-
// message: 'Please provide your client id',
|
|
195
|
-
// },
|
|
196
|
-
// {
|
|
197
|
-
// type: 'input',
|
|
198
|
-
// name: 'solidApiOauthClientSecret',
|
|
199
|
-
// message: 'Please provide your client secret',
|
|
200
|
-
// }
|
|
201
|
-
// Choose your frontend app portname
|
|
202
60
|
{
|
|
203
61
|
type: 'input',
|
|
204
62
|
name: 'solidUiPort',
|
|
205
|
-
message: '
|
|
63
|
+
message: 'Enter your frontend app port',
|
|
206
64
|
default: '3001',
|
|
207
65
|
}
|
|
208
66
|
];
|