Skip to content

Commit 7b06a9a

Browse files
author
Simen Daehlin
committed
refactor(reset.js): refactored reset.js so we get the correct questions
1 parent 99c3561 commit 7b06a9a

File tree

5 files changed

+34
-50
lines changed

5 files changed

+34
-50
lines changed

cli/reset.js

+18-40
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ const {
44
constants,
55
spinner,
66
chalk,
7-
setConfig,
8-
config
7+
config,
8+
setConfig
99
} = require(`../utils`);
1010
const { destroyHerokuApp } = require(`../providers/heroku`);
11+
const { herokuQuestions } = require(`../core`);
12+
const { getProviders } = require(`../core/questions`);
1113
const prompts = require(`prompts`);
12-
1314
const FILES_TO_REMOVE = [
1415
{
1516
directory: `${process.cwd()}`,
@@ -92,50 +93,27 @@ const _resetProvider = async () => {
9293
name: `provider`,
9394
message: `What provider do you want to reset?`,
9495
warn: `Not enabled yet`,
95-
choices: [
96-
{
97-
title: `Heroku`,
98-
value: `heroku`,
99-
description: `Heroku Platform`
100-
},
101-
{
102-
title: `Render`,
103-
value: `render`,
104-
description: `Render`
105-
},
106-
{
107-
title: `AWS`,
108-
value: `aws`,
109-
description: `Amazon Web Services`,
110-
disabled: true
111-
},
112-
{
113-
title: `Digital Ocean`,
114-
value: `digitalocean`,
115-
description: `Digital Ocean App Platform`,
116-
disabled: true
117-
},
118-
{
119-
title: `Google`,
120-
value: `Google`,
121-
description: `Google Cloud Platform`,
122-
disabled: true
123-
}
124-
]
125-
},
126-
{
127-
type: prev => (prev === `heroku` ? `text` : null),
128-
name: `projectName`,
129-
message: `Project Name`,
130-
validate: value => (value ? true : `Project name is required`)
96+
choices: getProviders()
13197
}
13298
])
13399
);
100+
134101
const { provider } = config;
102+
135103
switch (provider) {
136104
case `heroku`:
137-
await _resetFiles();
105+
setConfig(
106+
await prompts([
107+
{
108+
type: `text`,
109+
name: `projectName`,
110+
message: `Project Name`,
111+
validate: value => (value ? true : `Project name is required`)
112+
}
113+
])
114+
);
138115
await destroyHerokuApp(config.providers.heroku);
116+
await _resetFiles();
139117
break;
140118
case `render`:
141119
await _resetFiles();

core/index.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ const installDependecies = require(`./dependencies`);
33
const {
44
genericQuestions,
55
herokuQuestions,
6-
renderQuestions
6+
renderQuestions,
7+
getProviders
78
} = require(`./questions`);
89
const { generateServer, generateDatabase } = require(`./generateFiles`);
910
const { configSetup } = require(`./configSetup`);
@@ -17,5 +18,6 @@ module.exports = {
1718
renderQuestions,
1819
generateServer,
1920
configSetup,
20-
useTool
21+
useTool,
22+
getProviders
2123
};

core/questions.js

+10-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const genericQuestions = async () => {
99
name: `provider`,
1010
message: `What provider do you want to use?`,
1111
warn: `Not enabled yet`,
12-
choices: _getProviders()
12+
choices: getProviders()
1313
},
1414
{
1515
type: `text`,
@@ -55,12 +55,12 @@ const genericQuestions = async () => {
5555
});
5656
};
5757

58-
const herokuQuestions = async () => {
58+
const herokuQuestions = async action => {
5959
const questions = await prompts([
6060
{
6161
type: `select`,
6262
name: `region`,
63-
message: `What region do you want to deploy to? 🌍`,
63+
message: `What region do you want to ${action}? 🌍`,
6464
choices: _getRegions()
6565
}
6666
]);
@@ -85,7 +85,7 @@ const renderQuestions = async () => {
8585
});
8686
};
8787

88-
const _getProviders = () => {
88+
const getProviders = () => {
8989
let providerChoices = [];
9090
for (const providerKey in config.providers) {
9191
const provider = config.providers[providerKey];
@@ -102,8 +102,12 @@ const _getProviders = () => {
102102

103103
const _getRegions = () => {
104104
const providerConfig = config.providers[config.provider];
105-
console.log(providerConfig);
106105
return providerConfig.regions;
107106
};
108107

109-
module.exports = { genericQuestions, herokuQuestions, renderQuestions };
108+
module.exports = {
109+
genericQuestions,
110+
herokuQuestions,
111+
renderQuestions,
112+
getProviders
113+
};

providers/heroku/heroku.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ module.exports = {
8888
async prebuild() {
8989
await message(`This tool will only create NEW project on heroku`);
9090
await detectHerokuCLI();
91-
await herokuQuestions();
91+
await herokuQuestions(`deploy to`);
9292
},
9393
async build(herokuConfig) {
9494
await createHerokuFile(herokuConfig);

utils/config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const _config = {
1717
packageManager: `yarn`,
1818
projectType: `js`,
1919
projectName: ``,
20-
region: `eu`,
20+
region: `global`,
2121
files: [`server`, `database`],
2222

2323
strapiSecrets: {

0 commit comments

Comments
 (0)