@hubspot/cli 6.2.0 → 6.2.2-experimental.0
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/bin/cli.d.ts +2 -0
- package/bin/cli.js +107 -128
- package/commands/accounts/clean.d.ts +4 -0
- package/commands/accounts/clean.js +80 -116
- package/commands/accounts/info.d.ts +4 -0
- package/commands/accounts/info.js +30 -43
- package/commands/accounts/list.d.ts +4 -0
- package/commands/accounts/list.js +63 -92
- package/commands/accounts/remove.d.ts +4 -0
- package/commands/accounts/remove.js +41 -73
- package/commands/accounts/rename.d.ts +4 -0
- package/commands/accounts/rename.js +24 -41
- package/commands/accounts/use.d.ts +4 -0
- package/commands/accounts/use.js +34 -57
- package/commands/accounts.d.ts +3 -0
- package/commands/accounts.js +14 -18
- package/commands/auth.d.ts +4 -0
- package/commands/auth.js +131 -200
- package/commands/cms/convertFields.d.ts +4 -0
- package/commands/cms/convertFields.js +64 -81
- package/commands/cms/lighthouseScore.d.ts +4 -0
- package/commands/cms/lighthouseScore.js +234 -298
- package/commands/cms/reactModules.d.ts +4 -0
- package/commands/cms/reactModules.js +44 -53
- package/commands/cms.d.ts +3 -0
- package/commands/cms.js +9 -13
- package/commands/config/set/allowUsageTracking.d.ts +4 -0
- package/commands/config/set/allowUsageTracking.js +31 -38
- package/commands/config/set/defaultMode.d.ts +4 -0
- package/commands/config/set/defaultMode.js +32 -43
- package/commands/config/set/httpTimeout.d.ts +4 -0
- package/commands/config/set/httpTimeout.js +21 -30
- package/commands/config/set.d.ts +4 -0
- package/commands/config/set.js +61 -76
- package/commands/config.d.ts +3 -0
- package/commands/config.js +5 -9
- package/commands/create/api-sample.d.ts +13 -0
- package/commands/create/api-sample.js +52 -74
- package/commands/create/app.d.ts +10 -0
- package/commands/create/app.js +6 -7
- package/commands/create/function.d.ts +6 -0
- package/commands/create/function.js +13 -14
- package/commands/create/index.d.ts +109 -0
- package/commands/create/index.js +10 -9
- package/commands/create/module.d.ts +11 -0
- package/commands/create/module.js +19 -19
- package/commands/create/react-app.d.ts +9 -0
- package/commands/create/react-app.js +5 -6
- package/commands/create/template.d.ts +12 -0
- package/commands/create/template.js +21 -24
- package/commands/create/vue-app.d.ts +9 -0
- package/commands/create/vue-app.js +5 -6
- package/commands/create/webpack-serverless.d.ts +9 -0
- package/commands/create/webpack-serverless.js +5 -6
- package/commands/create/website-theme.d.ts +9 -0
- package/commands/create/website-theme.js +13 -15
- package/commands/create.d.ts +4 -0
- package/commands/create.js +62 -80
- package/commands/customObject/create.d.ts +4 -0
- package/commands/customObject/create.js +31 -47
- package/commands/customObject/schema/create.d.ts +4 -0
- package/commands/customObject/schema/create.js +40 -67
- package/commands/customObject/schema/delete.d.ts +4 -0
- package/commands/customObject/schema/delete.js +26 -39
- package/commands/customObject/schema/fetch-all.d.ts +4 -0
- package/commands/customObject/schema/fetch-all.js +28 -39
- package/commands/customObject/schema/fetch.d.ts +4 -0
- package/commands/customObject/schema/fetch.js +46 -63
- package/commands/customObject/schema/list.d.ts +3 -0
- package/commands/customObject/schema/list.js +12 -17
- package/commands/customObject/schema/update.d.ts +4 -0
- package/commands/customObject/schema/update.js +44 -72
- package/commands/customObject/schema.d.ts +3 -0
- package/commands/customObject/schema.js +10 -12
- package/commands/customObject.d.ts +3 -0
- package/commands/customObject.js +12 -22
- package/commands/feedback.d.ts +4 -0
- package/commands/feedback.js +23 -33
- package/commands/fetch.d.ts +4 -0
- package/commands/fetch.js +51 -78
- package/commands/filemanager/fetch.d.ts +4 -0
- package/commands/filemanager/fetch.js +36 -56
- package/commands/filemanager/upload.d.ts +4 -0
- package/commands/filemanager/upload.js +86 -128
- package/commands/filemanager.d.ts +3 -0
- package/commands/filemanager.js +10 -18
- package/commands/functions/deploy.d.ts +4 -0
- package/commands/functions/deploy.js +74 -99
- package/commands/functions/list.d.ts +4 -0
- package/commands/functions/list.js +29 -47
- package/commands/functions/server.d.ts +4 -0
- package/commands/functions/server.js +48 -65
- package/commands/functions.d.ts +3 -0
- package/commands/functions.js +11 -15
- package/commands/hubdb/clear.d.ts +4 -0
- package/commands/hubdb/clear.js +35 -56
- package/commands/hubdb/create.d.ts +4 -0
- package/commands/hubdb/create.js +32 -57
- package/commands/hubdb/delete.d.ts +4 -0
- package/commands/hubdb/delete.js +27 -44
- package/commands/hubdb/fetch.d.ts +4 -0
- package/commands/hubdb/fetch.js +28 -46
- package/commands/hubdb.d.ts +3 -0
- package/commands/hubdb.js +10 -14
- package/commands/init.d.ts +4 -0
- package/commands/init.js +101 -160
- package/commands/lint.d.ts +4 -0
- package/commands/lint.js +32 -45
- package/commands/list.d.ts +4 -0
- package/commands/list.js +72 -101
- package/commands/logs.d.ts +4 -0
- package/commands/logs.js +96 -121
- package/commands/module/marketplace-validate.d.ts +4 -0
- package/commands/module/marketplace-validate.js +30 -57
- package/commands/module.d.ts +3 -0
- package/commands/module.js +5 -9
- package/commands/mv.d.ts +4 -0
- package/commands/mv.js +51 -71
- package/commands/open.d.ts +4 -0
- package/commands/open.js +46 -62
- package/commands/project/add.d.ts +4 -0
- package/commands/project/add.js +45 -70
- package/commands/project/cloneApp.d.ts +4 -0
- package/commands/project/cloneApp.js +117 -180
- package/commands/project/create.d.ts +4 -0
- package/commands/project/create.js +47 -81
- package/commands/project/deploy.d.ts +4 -0
- package/commands/project/deploy.js +103 -182
- package/commands/project/dev.d.ts +4 -0
- package/commands/project/dev.js +123 -227
- package/commands/project/download.d.ts +4 -0
- package/commands/project/download.js +71 -123
- package/commands/project/installDeps.d.ts +6 -0
- package/commands/project/installDeps.js +50 -59
- package/commands/project/listBuilds.d.ts +4 -0
- package/commands/project/listBuilds.js +95 -139
- package/commands/project/logs.d.ts +4 -0
- package/commands/project/logs.js +84 -128
- package/commands/project/migrateApp.d.ts +4 -0
- package/commands/project/migrateApp.js +156 -248
- package/commands/project/open.d.ts +4 -0
- package/commands/project/open.js +42 -68
- package/commands/project/upload.d.ts +4 -0
- package/commands/project/upload.js +70 -116
- package/commands/project/watch.d.ts +4 -0
- package/commands/project/watch.js +92 -152
- package/commands/project.d.ts +3 -0
- package/commands/project.js +19 -23
- package/commands/remove.d.ts +4 -0
- package/commands/remove.js +26 -43
- package/commands/sandbox/create.d.ts +4 -0
- package/commands/sandbox/create.js +141 -187
- package/commands/sandbox/delete.d.ts +4 -0
- package/commands/sandbox/delete.js +164 -221
- package/commands/sandbox.d.ts +3 -0
- package/commands/sandbox.js +8 -12
- package/commands/secrets/addSecret.d.ts +4 -0
- package/commands/secrets/addSecret.js +32 -52
- package/commands/secrets/deleteSecret.d.ts +4 -0
- package/commands/secrets/deleteSecret.js +31 -50
- package/commands/secrets/listSecrets.d.ts +4 -0
- package/commands/secrets/listSecrets.js +26 -42
- package/commands/secrets/updateSecret.d.ts +4 -0
- package/commands/secrets/updateSecret.js +33 -53
- package/commands/secrets.d.ts +3 -0
- package/commands/secrets.js +10 -13
- package/commands/theme/generate-selectors.d.ts +4 -0
- package/commands/theme/generate-selectors.js +127 -192
- package/commands/theme/marketplace-validate.d.ts +4 -0
- package/commands/theme/marketplace-validate.js +30 -57
- package/commands/theme/preview.d.ts +4 -0
- package/commands/theme/preview.js +161 -196
- package/commands/theme.d.ts +3 -0
- package/commands/theme.js +7 -11
- package/commands/upload.d.ts +4 -0
- package/commands/upload.js +197 -287
- package/commands/watch.d.ts +4 -0
- package/commands/watch.js +126 -172
- package/lang/en.lyaml +2 -3
- package/lib/DevServerManager.d.ts +35 -0
- package/lib/DevServerManager.js +97 -124
- package/lib/LocalDevManager.d.ts +41 -0
- package/lib/LocalDevManager.js +320 -490
- package/lib/accountTypes.d.ts +6 -0
- package/lib/accountTypes.js +16 -32
- package/lib/buildAccount.d.ts +22 -0
- package/lib/buildAccount.js +130 -179
- package/lib/commonOpts.d.ts +20 -0
- package/lib/commonOpts.js +58 -91
- package/lib/constants.d.ts +83 -0
- package/lib/constants.js +61 -71
- package/lib/debugInfo.d.ts +3 -0
- package/lib/debugInfo.js +12 -13
- package/lib/dependencyManagement.d.ts +7 -0
- package/lib/dependencyManagement.js +90 -132
- package/lib/developerTestAccounts.d.ts +7 -0
- package/lib/developerTestAccounts.js +65 -91
- package/lib/enums/exitCodes.d.ts +5 -0
- package/lib/enums/exitCodes.js +5 -7
- package/lib/environment.d.ts +1 -0
- package/lib/environment.js +10 -10
- package/lib/errorHandlers/index.d.ts +19 -0
- package/lib/errorHandlers/index.js +64 -80
- package/lib/errorHandlers/suppressError.d.ts +1 -0
- package/lib/errorHandlers/suppressError.js +64 -106
- package/lib/filesystem.d.ts +2 -0
- package/lib/filesystem.js +16 -24
- package/lib/generate-selectors.d.ts +6 -0
- package/lib/generate-selectors.js +99 -137
- package/lib/getFunctionArrays.d.ts +1 -0
- package/lib/getFunctionArrays.js +12 -13
- package/lib/hasFeature.d.ts +1 -0
- package/lib/hasFeature.js +5 -11
- package/lib/hasFlag.d.ts +2 -0
- package/lib/hasFlag.js +6 -10
- package/lib/hublValidate.d.ts +4 -0
- package/lib/hublValidate.js +20 -24
- package/lib/interpolation.d.ts +10 -0
- package/lib/interpolation.js +48 -92
- package/lib/interpolationHelpers.d.ts +6 -0
- package/lib/interpolationHelpers.js +19 -19
- package/lib/lang.d.ts +3 -0
- package/lib/lang.js +50 -78
- package/lib/links.d.ts +127 -0
- package/lib/links.js +92 -114
- package/lib/localDev.d.ts +11 -0
- package/lib/localDev.js +283 -433
- package/lib/marketplace-validate.d.ts +5 -0
- package/lib/marketplace-validate.js +103 -126
- package/lib/oauth.d.ts +1 -0
- package/lib/oauth.js +62 -78
- package/lib/polling.d.ts +1 -0
- package/lib/polling.js +24 -26
- package/lib/process.d.ts +2 -0
- package/lib/process.js +39 -53
- package/lib/projectLogsManager.d.ts +19 -0
- package/lib/projectLogsManager.js +76 -130
- package/lib/projectStructure.d.ts +13 -0
- package/lib/projectStructure.js +87 -109
- package/lib/projects.d.ts +40 -0
- package/lib/projects.js +589 -957
- package/lib/projectsWatch.d.ts +1 -0
- package/lib/projectsWatch.js +122 -228
- package/lib/prompts/accountNamePrompt.d.ts +11 -0
- package/lib/prompts/accountNamePrompt.js +58 -65
- package/lib/prompts/accountsPrompt.d.ts +3 -0
- package/lib/prompts/accountsPrompt.js +31 -37
- package/lib/prompts/activeInstallConfirmationPrompt.d.ts +1 -0
- package/lib/prompts/activeInstallConfirmationPrompt.js +11 -13
- package/lib/prompts/cleanUploadPrompt.d.ts +1 -0
- package/lib/prompts/cleanUploadPrompt.js +11 -13
- package/lib/prompts/cmsFieldPrompt.d.ts +1 -0
- package/lib/prompts/cmsFieldPrompt.js +35 -39
- package/lib/prompts/createApiSamplePrompt.d.ts +1 -0
- package/lib/prompts/createApiSamplePrompt.js +47 -52
- package/lib/prompts/createFunctionPrompt.d.ts +1 -0
- package/lib/prompts/createFunctionPrompt.js +55 -56
- package/lib/prompts/createModulePrompt.d.ts +1 -0
- package/lib/prompts/createModulePrompt.js +45 -50
- package/lib/prompts/createProjectPrompt.d.ts +1 -0
- package/lib/prompts/createProjectPrompt.js +88 -127
- package/lib/prompts/createTemplatePrompt.d.ts +1 -0
- package/lib/prompts/createTemplatePrompt.js +16 -19
- package/lib/prompts/deployBuildIdPrompt.d.ts +1 -0
- package/lib/prompts/deployBuildIdPrompt.js +13 -15
- package/lib/prompts/downloadProjectPrompt.d.ts +1 -0
- package/lib/prompts/downloadProjectPrompt.js +36 -40
- package/lib/prompts/feedbackPrompt.d.ts +2 -0
- package/lib/prompts/feedbackPrompt.js +27 -30
- package/lib/prompts/folderOverwritePrompt.d.ts +1 -0
- package/lib/prompts/folderOverwritePrompt.js +8 -10
- package/lib/prompts/installPublicAppPrompt.d.ts +1 -0
- package/lib/prompts/installPublicAppPrompt.js +27 -42
- package/lib/prompts/personalAccessKeyPrompt.d.ts +69 -0
- package/lib/prompts/personalAccessKeyPrompt.js +102 -110
- package/lib/prompts/previewPrompt.d.ts +2 -0
- package/lib/prompts/previewPrompt.js +44 -47
- package/lib/prompts/projectAddPrompt.d.ts +1 -0
- package/lib/prompts/projectAddPrompt.js +35 -38
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +4 -0
- package/lib/prompts/projectDevTargetAccountPrompt.js +148 -193
- package/lib/prompts/projectNamePrompt.d.ts +1 -0
- package/lib/prompts/projectNamePrompt.js +23 -25
- package/lib/prompts/projectsLogsPrompt.d.ts +5 -0
- package/lib/prompts/projectsLogsPrompt.js +19 -27
- package/lib/prompts/promptUtils.d.ts +2 -0
- package/lib/prompts/promptUtils.js +15 -17
- package/lib/prompts/sandboxesPrompt.d.ts +2 -0
- package/lib/prompts/sandboxesPrompt.js +48 -59
- package/lib/prompts/secretPrompt.d.ts +1 -0
- package/lib/prompts/secretPrompt.js +13 -16
- package/lib/prompts/selectPublicAppPrompt.d.ts +5 -0
- package/lib/prompts/selectPublicAppPrompt.js +55 -81
- package/lib/prompts/setAsDefaultAccountPrompt.d.ts +1 -0
- package/lib/prompts/setAsDefaultAccountPrompt.js +17 -24
- package/lib/prompts/uploadPrompt.d.ts +1 -0
- package/lib/prompts/uploadPrompt.js +28 -30
- package/lib/regex.d.ts +1 -0
- package/lib/regex.js +2 -2
- package/lib/sandboxSync.d.ts +8 -0
- package/lib/sandboxSync.js +98 -166
- package/lib/sandboxes.d.ts +40 -0
- package/lib/sandboxes.js +199 -316
- package/lib/schema.d.ts +2 -0
- package/lib/schema.js +20 -26
- package/lib/serverlessLogs.d.ts +8 -0
- package/lib/serverlessLogs.js +128 -172
- package/lib/ui/SpinniesManager.d.ts +61 -0
- package/lib/ui/SpinniesManager.js +196 -254
- package/lib/ui/git.d.ts +1 -0
- package/lib/ui/git.js +18 -19
- package/lib/ui/index.d.ts +36 -0
- package/lib/ui/index.js +115 -167
- package/lib/ui/serverlessFunctionLogs.d.ts +1 -0
- package/lib/ui/serverlessFunctionLogs.js +51 -70
- package/lib/ui/spinniesUtils.d.ts +60 -0
- package/lib/ui/spinniesUtils.js +109 -133
- package/lib/ui/supportHyperlinks.d.ts +3 -0
- package/lib/ui/supportHyperlinks.js +46 -61
- package/lib/ui/supportsColor.d.ts +13 -0
- package/lib/ui/supportsColor.js +78 -108
- package/lib/ui/table.d.ts +2 -0
- package/lib/ui/table.js +47 -55
- package/lib/upload.d.ts +1 -0
- package/lib/upload.js +37 -42
- package/lib/usageTracking.d.ts +6 -0
- package/lib/usageTracking.js +131 -155
- package/lib/validation.d.ts +16 -0
- package/lib/validation.js +142 -203
- package/package.json +78 -48
- package/CHANGELOG.md +0 -16
- package/LICENSE +0 -12
- package/README.md +0 -154
- package/commands/__tests__/projects.test.js +0 -105
- package/commands/project/__tests__/deploy.test.js +0 -443
- package/commands/project/__tests__/installDeps.test.js +0 -168
- package/commands/project/__tests__/logs.test.js +0 -304
- package/hubspot.sample.config.yml +0 -28
- package/jest.config.js +0 -4
- package/lib/__tests__/commonOpts.test.js +0 -83
- package/lib/__tests__/dependencyManagement.test.js +0 -243
- package/lib/__tests__/downloadProjectPrompt.test.js +0 -31
- package/lib/__tests__/projectLogsManager.test.js +0 -212
- package/lib/__tests__/projects.test.js +0 -140
- package/lib/__tests__/serverlessLogs.test.js +0 -162
- package/lib/__tests__/validation.test.js +0 -140
- package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -46
|
@@ -1,20 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
const { promptUser } = require('./promptUtils');
|
|
2
3
|
const { i18n } = require('../lang');
|
|
3
|
-
|
|
4
4
|
const i18nKey = 'lib.prompts.cleanUploadPrompt';
|
|
5
|
-
|
|
6
5
|
const cleanUploadPrompt = async (accountId, filePath) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
const promptAnswer = await promptUser([
|
|
7
|
+
{
|
|
8
|
+
name: 'cleanUpload',
|
|
9
|
+
message: i18n(`${i18nKey}.message`, { accountId, filePath }),
|
|
10
|
+
type: 'confirm',
|
|
11
|
+
default: false,
|
|
12
|
+
},
|
|
13
|
+
]);
|
|
14
|
+
return promptAnswer.cleanUpload;
|
|
16
15
|
};
|
|
17
|
-
|
|
18
16
|
module.exports = {
|
|
19
|
-
|
|
17
|
+
cleanUploadPrompt,
|
|
20
18
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function fieldsJsPrompt(filePath: any, projectDir: any, skipFiles?: any[]): Promise<any[]>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
const path = require('path');
|
|
2
3
|
const fs = require('fs');
|
|
3
4
|
const { promptUser } = require('./promptUtils');
|
|
@@ -5,46 +6,41 @@ const { i18n } = require('../lang');
|
|
|
5
6
|
const escapeRegExp = require('@hubspot/local-dev-lib/escapeRegExp');
|
|
6
7
|
const i18nKey = 'lib.prompts.uploadPrompt';
|
|
7
8
|
const FIELDS_FILES = ['fields.json', 'fields.js', 'fields.cjs', 'fields.mjs'];
|
|
8
|
-
|
|
9
9
|
const fieldsJsPrompt = async (filePath, projectDir, skipFiles = []) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
value: fileChoice,
|
|
10
|
+
const dirName = path.dirname(filePath);
|
|
11
|
+
// Get a list of all field files in the directory, resolve their absolute path, and remove the ones that we already skipped.
|
|
12
|
+
const fileChoices = fs
|
|
13
|
+
.readdirSync(dirName)
|
|
14
|
+
.filter(file => FIELDS_FILES.includes(file))
|
|
15
|
+
.map(file => path.resolve(dirName, file))
|
|
16
|
+
.filter(file => !skipFiles.includes(file));
|
|
17
|
+
if (!fileChoices.length)
|
|
18
|
+
return [filePath, []];
|
|
19
|
+
if (fileChoices.length == 1)
|
|
20
|
+
return [fileChoices[0], []];
|
|
21
|
+
// We get the directory above the project one so that relative paths are printed with the root of the project dir attached.
|
|
22
|
+
projectDir = projectDir.substring(0, projectDir.lastIndexOf('/'));
|
|
23
|
+
const projectDirRegex = new RegExp(`^${escapeRegExp(projectDir)}`);
|
|
24
|
+
const fileDir = path.dirname(fileChoices[0]).replace(projectDirRegex, '');
|
|
25
|
+
const selection = [];
|
|
26
|
+
fileChoices.forEach(fileChoice => {
|
|
27
|
+
selection.push({
|
|
28
|
+
name: fileChoice.replace(projectDirRegex, ''),
|
|
29
|
+
value: fileChoice,
|
|
30
|
+
});
|
|
32
31
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
skipFiles.push(...notPicked);
|
|
47
|
-
return [choice, skipFiles];
|
|
32
|
+
const promptVal = await promptUser([
|
|
33
|
+
{
|
|
34
|
+
message: i18n(`${i18nKey}.fieldsPrompt`, { dir: fileDir }),
|
|
35
|
+
type: 'list',
|
|
36
|
+
name: 'filePathChoice',
|
|
37
|
+
choices: selection,
|
|
38
|
+
},
|
|
39
|
+
]);
|
|
40
|
+
const choice = promptVal.filePathChoice;
|
|
41
|
+
// Add the ones that were not picked to skip files array.
|
|
42
|
+
const notPicked = fileChoices.filter(item => item !== choice);
|
|
43
|
+
skipFiles.push(...notPicked);
|
|
44
|
+
return [choice, skipFiles];
|
|
48
45
|
};
|
|
49
|
-
|
|
50
46
|
module.exports = { fieldsJsPrompt };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function createApiSamplePrompt(samplesConfig: any): Promise<any>;
|
|
@@ -1,62 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
const { promptUser } = require('./promptUtils');
|
|
2
3
|
const { i18n } = require('../lang');
|
|
3
|
-
|
|
4
4
|
const i18nKey = 'lib.prompts.createApiSamplePrompt';
|
|
5
|
-
|
|
6
5
|
const getSampleTypesPrompt = choices => ({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
type: 'rawlist',
|
|
7
|
+
name: 'sampleType',
|
|
8
|
+
message: i18n(`${i18nKey}.selectApiSampleApp`),
|
|
9
|
+
choices: choices.map(choice => ({
|
|
10
|
+
name: `${choice.name} - ${choice.description}`,
|
|
11
|
+
value: choice.id,
|
|
12
|
+
})),
|
|
13
|
+
validate: input => {
|
|
14
|
+
return new Promise(function (resolve, reject) {
|
|
15
|
+
if (input.length > 0) {
|
|
16
|
+
resolve(true);
|
|
17
|
+
}
|
|
18
|
+
reject(i18n(`${i18nKey}.errors.apiSampleAppRequired`));
|
|
19
|
+
});
|
|
20
|
+
},
|
|
22
21
|
});
|
|
23
|
-
|
|
24
22
|
const getLanguagesPrompt = choices => ({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
23
|
+
type: 'rawlist',
|
|
24
|
+
name: 'sampleLanguage',
|
|
25
|
+
message: i18n(`${i18nKey}.selectLanguage`),
|
|
26
|
+
choices: choices.map(choice => ({
|
|
27
|
+
name: choice,
|
|
28
|
+
value: choice,
|
|
29
|
+
})),
|
|
30
|
+
validate: input => {
|
|
31
|
+
return new Promise(function (resolve, reject) {
|
|
32
|
+
if (input.length > 0) {
|
|
33
|
+
resolve(true);
|
|
34
|
+
}
|
|
35
|
+
reject(i18n(`${i18nKey}.errors.languageRequired`));
|
|
36
|
+
});
|
|
37
|
+
},
|
|
40
38
|
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return {};
|
|
57
|
-
}
|
|
39
|
+
const createApiSamplePrompt = async (samplesConfig) => {
|
|
40
|
+
try {
|
|
41
|
+
const { samples } = samplesConfig;
|
|
42
|
+
const sampleTypeAnswer = await promptUser(getSampleTypesPrompt(samples));
|
|
43
|
+
const chosenSample = samples.find(sample => sample.id === sampleTypeAnswer.sampleType);
|
|
44
|
+
const { languages } = chosenSample;
|
|
45
|
+
const languagesAnswer = await promptUser(getLanguagesPrompt(languages));
|
|
46
|
+
return {
|
|
47
|
+
...sampleTypeAnswer,
|
|
48
|
+
...languagesAnswer,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
return {};
|
|
53
|
+
}
|
|
58
54
|
};
|
|
59
|
-
|
|
60
55
|
module.exports = {
|
|
61
|
-
|
|
56
|
+
createApiSamplePrompt,
|
|
62
57
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function createFunctionPrompt(): Promise<any>;
|
|
@@ -1,72 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
const { promptUser } = require('./promptUtils');
|
|
2
3
|
const { i18n } = require('../lang');
|
|
3
|
-
|
|
4
4
|
const { STRING_WITH_NO_SPACES_REGEX } = require('../regex');
|
|
5
|
-
|
|
6
5
|
const i18nKey = 'lib.prompts.createFunctionPrompt';
|
|
7
|
-
|
|
8
6
|
const FUNCTIONS_FOLDER_PROMPT = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
name: 'functionsFolder',
|
|
8
|
+
message: i18n(`${i18nKey}.enterFolder`),
|
|
9
|
+
validate(val) {
|
|
10
|
+
if (typeof val !== 'string') {
|
|
11
|
+
return i18n(`${i18nKey}.errors.invalid`);
|
|
12
|
+
}
|
|
13
|
+
else if (!val.length) {
|
|
14
|
+
return i18n(`${i18nKey}.errors.blank`);
|
|
15
|
+
}
|
|
16
|
+
else if (!STRING_WITH_NO_SPACES_REGEX.test(val)) {
|
|
17
|
+
return i18n(`${i18nKey}.errors.space`);
|
|
18
|
+
}
|
|
19
|
+
return true;
|
|
20
|
+
},
|
|
21
21
|
};
|
|
22
|
-
|
|
23
22
|
const FUNCTION_FILENAME_PROMPT = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
name: 'filename',
|
|
24
|
+
message: i18n(`${i18nKey}.enterFilename`),
|
|
25
|
+
validate(val) {
|
|
26
|
+
if (typeof val !== 'string') {
|
|
27
|
+
return i18n(`${i18nKey}.errors.invalid`);
|
|
28
|
+
}
|
|
29
|
+
else if (!val.length) {
|
|
30
|
+
return i18n(`${i18nKey}.errors.blank`);
|
|
31
|
+
}
|
|
32
|
+
else if (!STRING_WITH_NO_SPACES_REGEX.test(val)) {
|
|
33
|
+
return i18n(`${i18nKey}.errors.space`);
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
},
|
|
36
37
|
};
|
|
37
|
-
|
|
38
38
|
const ENDPOINT_METHOD_PROMPT = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
type: 'list',
|
|
40
|
+
name: 'endpointMethod',
|
|
41
|
+
message: i18n(`${i18nKey}.selectEndpointMethod`),
|
|
42
|
+
default: 'GET',
|
|
43
|
+
choices: ['DELETE', 'GET', 'PATCH', 'POST', 'PUT'],
|
|
44
44
|
};
|
|
45
|
-
|
|
46
45
|
const ENDPOINT_PATH_PROMPT = {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
name: 'endpointPath',
|
|
47
|
+
message: i18n(`${i18nKey}.enterEndpointPath`),
|
|
48
|
+
validate(val) {
|
|
49
|
+
if (typeof val !== 'string') {
|
|
50
|
+
return i18n(`${i18nKey}.errors.invalid`);
|
|
51
|
+
}
|
|
52
|
+
else if (!val.length) {
|
|
53
|
+
return i18n(`${i18nKey}.errors.blank`);
|
|
54
|
+
}
|
|
55
|
+
else if (!STRING_WITH_NO_SPACES_REGEX.test(val)) {
|
|
56
|
+
return i18n(`${i18nKey}.errors.space`);
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
},
|
|
59
60
|
};
|
|
60
|
-
|
|
61
61
|
function createFunctionPrompt() {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
return promptUser([
|
|
63
|
+
FUNCTIONS_FOLDER_PROMPT,
|
|
64
|
+
FUNCTION_FILENAME_PROMPT,
|
|
65
|
+
ENDPOINT_METHOD_PROMPT,
|
|
66
|
+
ENDPOINT_PATH_PROMPT,
|
|
67
|
+
]);
|
|
68
68
|
}
|
|
69
|
-
|
|
70
69
|
module.exports = {
|
|
71
|
-
|
|
70
|
+
createFunctionPrompt,
|
|
72
71
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function createModulePrompt(): Promise<any>;
|
|
@@ -1,65 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
const { promptUser } = require('./promptUtils');
|
|
2
3
|
const { i18n } = require('../lang');
|
|
3
|
-
|
|
4
4
|
const i18nKey = 'lib.prompts.createModulePrompt';
|
|
5
|
-
|
|
6
5
|
const MODULE_LABEL_PROMPT = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
name: 'moduleLabel',
|
|
7
|
+
message: i18n(`${i18nKey}.enterLabel`),
|
|
8
|
+
validate(val) {
|
|
9
|
+
if (typeof val !== 'string') {
|
|
10
|
+
return i18n(`${i18nKey}.errors.invalidLabel`);
|
|
11
|
+
}
|
|
12
|
+
else if (!val.length) {
|
|
13
|
+
return i18n(`${i18nKey}.errors.labelRequired`);
|
|
14
|
+
}
|
|
15
|
+
return true;
|
|
16
|
+
},
|
|
17
17
|
};
|
|
18
|
-
|
|
19
18
|
const REACT_TYPE_PROMPT = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
type: 'confirm',
|
|
20
|
+
name: 'reactType',
|
|
21
|
+
message: i18n(`${i18nKey}.selectReactType`),
|
|
22
|
+
default: false,
|
|
24
23
|
};
|
|
25
|
-
|
|
26
24
|
const CONTENT_TYPES_PROMPT = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
25
|
+
type: 'checkbox',
|
|
26
|
+
name: 'contentTypes',
|
|
27
|
+
message: i18n(`${i18nKey}.selectContentType`),
|
|
28
|
+
default: ['PAGE'],
|
|
29
|
+
choices: [
|
|
30
|
+
{ name: 'Page', value: 'PAGE' },
|
|
31
|
+
{ name: 'Blog post', value: 'BLOG_POST' },
|
|
32
|
+
{ name: 'Blog listing', value: 'BLOG_LISTING' },
|
|
33
|
+
{ name: 'Email', value: 'EMAIL' },
|
|
34
|
+
],
|
|
35
|
+
validate: input => {
|
|
36
|
+
return new Promise(function (resolve, reject) {
|
|
37
|
+
if (input.length > 0) {
|
|
38
|
+
resolve(true);
|
|
39
|
+
}
|
|
40
|
+
reject(i18n(`${i18nKey}.errors.contentTypeRequired`));
|
|
41
|
+
});
|
|
42
|
+
},
|
|
45
43
|
};
|
|
46
|
-
|
|
47
44
|
const GLOBAL_PROMPT = {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
type: 'confirm',
|
|
46
|
+
name: 'global',
|
|
47
|
+
message: i18n(`${i18nKey}.confirmGlobal`),
|
|
48
|
+
default: false,
|
|
52
49
|
};
|
|
53
|
-
|
|
54
50
|
function createModulePrompt() {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
return promptUser([
|
|
52
|
+
MODULE_LABEL_PROMPT,
|
|
53
|
+
REACT_TYPE_PROMPT,
|
|
54
|
+
CONTENT_TYPES_PROMPT,
|
|
55
|
+
GLOBAL_PROMPT,
|
|
56
|
+
]);
|
|
61
57
|
}
|
|
62
|
-
|
|
63
58
|
module.exports = {
|
|
64
|
-
|
|
59
|
+
createModulePrompt,
|
|
65
60
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function createProjectPrompt(githubRef: any, promptOptions?: {}, skipTemplatePrompt?: boolean): Promise<any>;
|