@suitegeezus/suitecloud-cli 3.1.4

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.
Files changed (157) hide show
  1. package/CONTRIBUTING.md +7 -0
  2. package/DELTA.md +235 -0
  3. package/README.md +107 -0
  4. package/docs/Command.md +299 -0
  5. package/messages.json +317 -0
  6. package/package.json +51 -0
  7. package/postinstall.js +8 -0
  8. package/resources/FUTC-LICENSE.txt +115 -0
  9. package/src/ApplicationConstants.js +87 -0
  10. package/src/CLI.js +202 -0
  11. package/src/CLIException.js +21 -0
  12. package/src/ExecutionEnvironmentContext.js +39 -0
  13. package/src/SdkExecutionContext.js +90 -0
  14. package/src/SdkExecutor.js +160 -0
  15. package/src/commands/Command.js +158 -0
  16. package/src/commands/account/manageauth/ManageAccountAction.js +126 -0
  17. package/src/commands/account/manageauth/ManageAccountCommand.js +20 -0
  18. package/src/commands/account/manageauth/ManageAccountInputHandler.js +215 -0
  19. package/src/commands/account/manageauth/ManageAccountOutputHandler.js +30 -0
  20. package/src/commands/account/setup/SetupAction.js +39 -0
  21. package/src/commands/account/setup/SetupCommand.js +21 -0
  22. package/src/commands/account/setup/SetupInputHandler.js +169 -0
  23. package/src/commands/account/setup/SetupOutputHandler.js +65 -0
  24. package/src/commands/account/setupci/AccountSetupCiAction.js +58 -0
  25. package/src/commands/account/setupci/AccountSetupCiCommand.js +20 -0
  26. package/src/commands/account/setupci/AccountSetupCiConstants.js +21 -0
  27. package/src/commands/account/setupci/AccountSetupCiOutputHandler.js +40 -0
  28. package/src/commands/account/setupci/AccountSetupCiValidation.js +100 -0
  29. package/src/commands/base/BaseAction.js +37 -0
  30. package/src/commands/base/BaseInputHandler.js +24 -0
  31. package/src/commands/base/BaseOutputHandler.js +30 -0
  32. package/src/commands/custom/hello/Action.js +58 -0
  33. package/src/commands/custom/hello/Command.js +20 -0
  34. package/src/commands/custom/hello/Handler.js +26 -0
  35. package/src/commands/custom/hello/README.md +78 -0
  36. package/src/commands/custom/hook/Action.js +28 -0
  37. package/src/commands/custom/hook/Command.js +22 -0
  38. package/src/commands/custom/hook/InputHandler.js +8 -0
  39. package/src/commands/custom/hook/OutputHandler.js +8 -0
  40. package/src/commands/custom/hook/README.md +32 -0
  41. package/src/commands/file/create/CreateFileAction.js +89 -0
  42. package/src/commands/file/create/CreateFileCommand.js +20 -0
  43. package/src/commands/file/create/CreateFileInputHandler.js +175 -0
  44. package/src/commands/file/create/CreateFileOutputHandler.js +22 -0
  45. package/src/commands/file/import/ImportFilesAction.js +112 -0
  46. package/src/commands/file/import/ImportFilesCommand.js +22 -0
  47. package/src/commands/file/import/ImportFilesInputHandler.js +130 -0
  48. package/src/commands/file/import/ImportFilesOutputHandler.js +53 -0
  49. package/src/commands/file/list/ListFilesAction.js +55 -0
  50. package/src/commands/file/list/ListFilesCommand.js +20 -0
  51. package/src/commands/file/list/ListFilesInputHandler.js +55 -0
  52. package/src/commands/file/list/ListFilesOutputHandler.js +24 -0
  53. package/src/commands/file/upload/UploadFilesAction.js +67 -0
  54. package/src/commands/file/upload/UploadFilesCommand.js +20 -0
  55. package/src/commands/file/upload/UploadFilesInputHandler.js +125 -0
  56. package/src/commands/file/upload/UploadFilesOutputHandler.js +49 -0
  57. package/src/commands/object/create/CreateObjectAction.js +33 -0
  58. package/src/commands/object/create/CreateObjectCommand.js +19 -0
  59. package/src/commands/object/create/CreateObjectInputHandler.js +82 -0
  60. package/src/commands/object/import/ImportObjectsAction.js +225 -0
  61. package/src/commands/object/import/ImportObjectsCommand.js +20 -0
  62. package/src/commands/object/import/ImportObjectsInputHandler.js +310 -0
  63. package/src/commands/object/import/ImportObjectsOutputHandler.js +114 -0
  64. package/src/commands/object/list/ListObjectsAction.js +62 -0
  65. package/src/commands/object/list/ListObjectsCommand.js +20 -0
  66. package/src/commands/object/list/ListObjectsInputHandler.js +148 -0
  67. package/src/commands/object/list/ListObjectsOutputHandler.js +29 -0
  68. package/src/commands/object/update/UpdateAction.js +138 -0
  69. package/src/commands/object/update/UpdateCommand.js +20 -0
  70. package/src/commands/object/update/UpdateInputHandler.js +170 -0
  71. package/src/commands/object/update/UpdateOutputHandler.js +61 -0
  72. package/src/commands/project/adddependencies/AddDependenciesAction.js +55 -0
  73. package/src/commands/project/adddependencies/AddDependenciesCommand.js +19 -0
  74. package/src/commands/project/adddependencies/AddDependenciesOutputHandler.js +114 -0
  75. package/src/commands/project/create/CreateProjectAction.js +370 -0
  76. package/src/commands/project/create/CreateProjectCommand.js +20 -0
  77. package/src/commands/project/create/CreateProjectInputHandler.js +169 -0
  78. package/src/commands/project/create/CreateProjectOutputHandler.js +36 -0
  79. package/src/commands/project/deploy/DeployAction.js +161 -0
  80. package/src/commands/project/deploy/DeployCommand.js +20 -0
  81. package/src/commands/project/deploy/DeployInputHandler.js +100 -0
  82. package/src/commands/project/deploy/DeployOutputHandler.js +49 -0
  83. package/src/commands/project/package/PackageAction.js +59 -0
  84. package/src/commands/project/package/PackageCommand.js +18 -0
  85. package/src/commands/project/package/PackageOutputHandler.js +18 -0
  86. package/src/commands/project/validate/ValidateAction.js +106 -0
  87. package/src/commands/project/validate/ValidateCommand.js +20 -0
  88. package/src/commands/project/validate/ValidateInputHandler.js +92 -0
  89. package/src/commands/project/validate/ValidateOutputHandler.js +74 -0
  90. package/src/core/CommandActionExecutor.js +347 -0
  91. package/src/core/CommandAuthentication.js +13 -0
  92. package/src/core/CommandOptionsValidator.js +42 -0
  93. package/src/core/CommandRegistrationService.js +130 -0
  94. package/src/core/CommandsMetadataService.js +104 -0
  95. package/src/core/extensibility/CLIConfigurationService.js +192 -0
  96. package/src/core/extensibility/CommandUserExtension.js +64 -0
  97. package/src/core/sdksetup/SdkDownloadService.js +109 -0
  98. package/src/core/sdksetup/SdkLicense.js +39 -0
  99. package/src/core/sdksetup/SdkProperties.js +51 -0
  100. package/src/loggers/ConsoleLogger.js +32 -0
  101. package/src/loggers/LoggerFontFormatter.mjs +17 -0
  102. package/src/loggers/LoggerOsConstants.js +12 -0
  103. package/src/loggers/NodeConsoleLogger.js +47 -0
  104. package/src/metadata/CommandGenerators.json +92 -0
  105. package/src/metadata/NodeCommandsMetadata.json +139 -0
  106. package/src/metadata/ObjectTypesMetadata.js +615 -0
  107. package/src/metadata/SdkCommandsMetadata.json +846 -0
  108. package/src/metadata/SdkCommandsMetadataPatch.json +130 -0
  109. package/src/metadata/SuiteScriptModulesMetadata.js +152 -0
  110. package/src/metadata/SuiteScriptTypesMetadata.js +64 -0
  111. package/src/services/AccountFileCabinetService.js +86 -0
  112. package/src/services/EnvironmentInformationService.js +31 -0
  113. package/src/services/ExecutionContextService.js +108 -0
  114. package/src/services/FileCabinetService.js +65 -0
  115. package/src/services/FileSystemService.js +245 -0
  116. package/src/services/NodeTranslationService.js +22 -0
  117. package/src/services/NpmInstallRunner.js +33 -0
  118. package/src/services/ProjectInfoService.js +209 -0
  119. package/src/services/SuiteCloudAuthProxyService.js +469 -0
  120. package/src/services/TranslationKeys.js +506 -0
  121. package/src/services/TranslationService.js +30 -0
  122. package/src/services/actionresult/ActionResult.js +129 -0
  123. package/src/services/actionresult/AuthenticateActionResult.js +85 -0
  124. package/src/services/actionresult/CreateProjectActionResult.js +100 -0
  125. package/src/services/actionresult/DeployActionResult.js +69 -0
  126. package/src/services/actionresult/HelloActionResult.js +13 -0
  127. package/src/services/actionresult/ManageAccountActionResult.js +70 -0
  128. package/src/services/settings/CLISettings.js +46 -0
  129. package/src/services/settings/CLISettingsService.js +132 -0
  130. package/src/suitecloud.js +33 -0
  131. package/src/templates/TemplateKeys.js +25 -0
  132. package/src/templates/objects/commerceextension.xml +9 -0
  133. package/src/templates/projectconfigs/default_gitignore.template +47 -0
  134. package/src/templates/projectconfigs/sdf.config.js +4 -0
  135. package/src/templates/projectconfigs/suitecloud.config.js +4 -0
  136. package/src/templates/scripts/blankscript.js +3 -0
  137. package/src/templates/unittest/jest.config.js.template +7 -0
  138. package/src/templates/unittest/jsconfig.json.template +5 -0
  139. package/src/templates/unittest/package.json.template +12 -0
  140. package/src/templates/unittest/sample-test.js.template +37 -0
  141. package/src/templates/unittest/suitecloud.config.js.template +15 -0
  142. package/src/ui/CliSpinner.js +34 -0
  143. package/src/utils/AccountCredentialsFormatter.js +62 -0
  144. package/src/utils/AccountSpecificValuesUtils.js +55 -0
  145. package/src/utils/ActionResultUtils.js +47 -0
  146. package/src/utils/ApplyInstallationPreferencesUtils.js +41 -0
  147. package/src/utils/AuthenticationUtils.js +262 -0
  148. package/src/utils/CommandUtils.js +50 -0
  149. package/src/utils/CryptoUtils.js +41 -0
  150. package/src/utils/ExceptionUtils.js +33 -0
  151. package/src/utils/FileUtils.js +43 -0
  152. package/src/utils/SdkOperationResult.js +68 -0
  153. package/src/utils/SdkOperationResultUtils.js +20 -0
  154. package/src/utils/ValidationErrorsFormatter.js +23 -0
  155. package/src/utils/http/HttpConstants.js +39 -0
  156. package/src/utils/http/ProxyAgent.js +110 -0
  157. package/src/validation/InteractiveAnswersValidator.js +205 -0
@@ -0,0 +1,846 @@
1
+ {
2
+ "project:adddependencies": {
3
+ "name": "project:adddependencies",
4
+ "sdkCommand": "adddependencies",
5
+ "usage": "",
6
+ "description": "Adds the missing dependencies to the manifest file.",
7
+ "isSetupRequired": false,
8
+ "options": {
9
+ "all": {
10
+ "name": "all",
11
+ "option": "all",
12
+ "description": "Adds all missing dependencies to the SuiteCloud project. When specified, ensure that you do not use the -feature, -file, and -object options.",
13
+ "mandatory": false,
14
+ "type": "FLAG",
15
+ "usage": "",
16
+ "defaultOption": false,
17
+ "disableInIntegrationMode": true
18
+ },
19
+ "feature": {
20
+ "name": "feature",
21
+ "option": "feature",
22
+ "description": "Specifies the feature dependency references to add to the project. Each reference is a name:value pair that is delimited by a space. For example, CUSTOMRECORD:required. When specified, ensure that you do not use the -all option.",
23
+ "mandatory": false,
24
+ "type": "MULTIPLE",
25
+ "usage": "CUSTOMRECORD:required [...]",
26
+ "defaultOption": false,
27
+ "disableInIntegrationMode": true
28
+ },
29
+ "file": {
30
+ "name": "file",
31
+ "option": "file",
32
+ "description": "Specifies the files to add to the project. When specified, ensure that you do not use the -all option.",
33
+ "mandatory": false,
34
+ "type": "MULTIPLE",
35
+ "usage": "\/js\/test.js [...]",
36
+ "defaultOption": false,
37
+ "disableInIntegrationMode": true
38
+ },
39
+ "object": {
40
+ "name": "object",
41
+ "option": "object",
42
+ "description": "Specifies the object script IDs to add to the project. When specified, ensure that you do not use the -all option.",
43
+ "mandatory": false,
44
+ "type": "MULTIPLE",
45
+ "usage": "scriptid [...]",
46
+ "defaultOption": false,
47
+ "disableInIntegrationMode": true
48
+ },
49
+ "project": {
50
+ "name": "project",
51
+ "env": "SUITECLOUD_PROJECT_FOLDER",
52
+ "option": "project",
53
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
54
+ "mandatory": true,
55
+ "type": "SINGLE",
56
+ "usage": "c:\/project\/",
57
+ "defaultOption": false,
58
+ "disableInIntegrationMode": true
59
+ }
60
+ }
61
+ },
62
+ "account:setup:ci": {
63
+ "name": "account:setup:ci",
64
+ "sdkCommand": "authenticateci",
65
+ "usage": "",
66
+ "description": "Grants authorization for SuiteCloud SDK to access NetSuite with an account-role combination. It does not require browser-based login to NetSuite.",
67
+ "isSetupRequired": false,
68
+ "options": {
69
+ "account": {
70
+ "name": "account",
71
+ "option": "account",
72
+ "description": "References the NetSuite account ID.",
73
+ "mandatory": true,
74
+ "type": "SINGLE",
75
+ "usage": "",
76
+ "defaultOption": false,
77
+ "disableInIntegrationMode": false
78
+ },
79
+ "authid": {
80
+ "name": "authid",
81
+ "env": "SUITECLOUD_AUTHID",
82
+ "option": "authid",
83
+ "description": "References the custom alias you give to a specific account-role combination.",
84
+ "mandatory": true,
85
+ "type": "SINGLE",
86
+ "usage": "",
87
+ "defaultOption": false,
88
+ "disableInIntegrationMode": false
89
+ },
90
+ "certificateid": {
91
+ "name": "certificateid",
92
+ "option": "certificateid",
93
+ "description": "References the certificate ID obtained from NetSuite after uploading the public key file.",
94
+ "mandatory": true,
95
+ "type": "SINGLE",
96
+ "usage": "",
97
+ "defaultOption": false,
98
+ "disableInIntegrationMode": false
99
+ },
100
+ "url": {
101
+ "name": "url",
102
+ "option": "url",
103
+ "description": "References the NetSuite domain of the account you want to use. It only needs to be specified if you want to use a customized NetSuite domain.",
104
+ "mandatory": false,
105
+ "type": "SINGLE",
106
+ "usage": "",
107
+ "defaultOption": false,
108
+ "disableInIntegrationMode": false
109
+ },
110
+ "privatekeypath": {
111
+ "name": "privatekeypath",
112
+ "option": "privatekeypath",
113
+ "description": "References the local path to the private key file matching the certificate in NetSuite. For example: \"d:\/path\/private-key.pem\".",
114
+ "mandatory": true,
115
+ "type": "SINGLE",
116
+ "usage": "",
117
+ "defaultOption": false,
118
+ "disableInIntegrationMode": false
119
+ }
120
+ }
121
+ },
122
+ "custom:hello": {
123
+ "name": "custom:hello",
124
+ "sdkCommand": null,
125
+ "usage": "",
126
+ "description": "A test",
127
+ "isSetupRequired": false,
128
+ "options": {
129
+ "authid": {
130
+ "name": "authid",
131
+ "env": "SUITECLOUD_AUTHID",
132
+ "option": "authid",
133
+ "description": "References the custom alias you give to a specific account-role combination.",
134
+ "mandatory": false,
135
+ "type": "SINGLE",
136
+ "usage": "\"prompt\" to be prompted or \"MY-PROD\"",
137
+ "defaultOption": "prompt",
138
+ "disableInIntegrationMode": false
139
+ },
140
+ "debug": {
141
+ "name": "debug",
142
+ "option": "debug",
143
+ "description": "Whether to print some extra configuration information on screen or not",
144
+ "mandatory": false,
145
+ "type": "FLAG",
146
+ "usage": "",
147
+ "defaultOption": false,
148
+ "disableInIntegrationMode": false
149
+ },
150
+ "phrase": {
151
+ "name": "phrase",
152
+ "option": "phrase",
153
+ "description": "Is the phrase you want to add",
154
+ "mandatory": true,
155
+ "type": "SINGLE",
156
+ "usage": "Some example phrase",
157
+ "defaultOption": false,
158
+ "disableInIntegrationMode": false
159
+ }
160
+ }
161
+ },
162
+ "file:create": {
163
+ "name": "file:create",
164
+ "sdkCommand": "createfile",
165
+ "usage": "",
166
+ "description": "Creates a SuiteScript file.",
167
+ "isSetupRequired": false,
168
+ "options": {
169
+ "type": {
170
+ "name": "type",
171
+ "option": "type",
172
+ "description": "Specifies the type of the SuiteScript file that you want to create. For example, \"ClientScript\"",
173
+ "mandatory": false,
174
+ "type": "SINGLE",
175
+ "usage": "ClientScript",
176
+ "defaultOption": false,
177
+ "disableInIntegrationMode": false
178
+ },
179
+ "module": {
180
+ "name": "module",
181
+ "option": "module",
182
+ "description": "Specifies the SuiteScript modules you want to add to the SuiteScript file. For example, \"N\/record\"",
183
+ "mandatory": false,
184
+ "type": "MULTIPLE",
185
+ "usage": "N\/record [...]",
186
+ "defaultOption": false,
187
+ "disableInIntegrationMode": false
188
+ },
189
+ "path": {
190
+ "name": "path",
191
+ "option": "path",
192
+ "description": "Specifies the File Cabinet path of the SuiteScript file to create. For example, \"\/SuiteScripts\/ClientScipt.js\".",
193
+ "mandatory": true,
194
+ "type": "SINGLE",
195
+ "usage": "\"\/SuiteScripts\/ClientScript.js\"",
196
+ "defaultOption": false,
197
+ "disableInIntegrationMode": false
198
+ },
199
+ "project": {
200
+ "name": "project",
201
+ "env": "SUITECLOUD_PROJECT_FOLDER",
202
+ "option": "project",
203
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
204
+ "mandatory": true,
205
+ "type": "SINGLE",
206
+ "usage": "c:\/project\/",
207
+ "defaultOption": false,
208
+ "disableInIntegrationMode": false
209
+ }
210
+ }
211
+ },
212
+ "project:create": {
213
+ "name": "project:create",
214
+ "sdkCommand": "createproject",
215
+ "usage": "",
216
+ "description": "Creates a SuiteCloud project, either a SuiteApp or an account customization project (ACP).",
217
+ "isSetupRequired": false,
218
+ "options": {
219
+ "overwrite": {
220
+ "name": "overwrite",
221
+ "option": "overwrite",
222
+ "description": "Overwrites the existing project.",
223
+ "mandatory": false,
224
+ "type": "FLAG",
225
+ "usage": "",
226
+ "defaultOption": false,
227
+ "disableInIntegrationMode": false
228
+ },
229
+ "parentdirectory": {
230
+ "name": "parentdirectory",
231
+ "option": "parentdirectory",
232
+ "description": "Sets the parent folder where to create the project.",
233
+ "mandatory": true,
234
+ "type": "SINGLE",
235
+ "usage": "d:\/foo\/bar",
236
+ "defaultOption": false,
237
+ "disableInIntegrationMode": true
238
+ },
239
+ "projectid": {
240
+ "name": "projectid",
241
+ "option": "projectid",
242
+ "description": "Specifies the project ID. It is mandatory for SuiteApps.",
243
+ "mandatory": false,
244
+ "type": "SINGLE",
245
+ "usage": "foobar",
246
+ "defaultOption": false,
247
+ "disableInIntegrationMode": false
248
+ },
249
+ "projectname": {
250
+ "name": "projectname",
251
+ "option": "projectname",
252
+ "description": "Specifies the project name.",
253
+ "mandatory": true,
254
+ "type": "SINGLE",
255
+ "usage": "FooBar",
256
+ "defaultOption": false,
257
+ "disableInIntegrationMode": false
258
+ },
259
+ "projectversion": {
260
+ "name": "projectversion",
261
+ "option": "projectversion",
262
+ "description": "Specifies the project version. It is mandatory for SuiteApps.",
263
+ "mandatory": false,
264
+ "type": "SINGLE",
265
+ "usage": "1.0.0",
266
+ "defaultOption": false,
267
+ "disableInIntegrationMode": false
268
+ },
269
+ "publisherid": {
270
+ "name": "publisherid",
271
+ "option": "publisherid",
272
+ "description": "Specifies the publisher ID. It is mandatory for SuiteApps.",
273
+ "mandatory": false,
274
+ "type": "SINGLE",
275
+ "usage": "com.netsuite",
276
+ "defaultOption": false,
277
+ "disableInIntegrationMode": false
278
+ },
279
+ "type": {
280
+ "name": "type",
281
+ "option": "type",
282
+ "description": "Specifies the project type. Enter one of the following options: ACCOUNTCUSTOMIZATION or SUITEAPP.",
283
+ "mandatory": true,
284
+ "type": "SINGLE",
285
+ "usage": "ACCOUNTCUSTOMIZATION",
286
+ "defaultOption": false,
287
+ "disableInIntegrationMode": false
288
+ }
289
+ }
290
+ },
291
+ "project:deploy": {
292
+ "name": "project:deploy",
293
+ "sdkCommand": "deploy",
294
+ "usage": "",
295
+ "description": "Deploys the folder containing the project. The project folder is zipped before deployment, only including the files and folders referenced in the deploy.xml file.",
296
+ "isSetupRequired": true,
297
+ "options": {
298
+ "accountspecificvalues": {
299
+ "name": "accountspecificvalues",
300
+ "option": "accountspecificvalues",
301
+ "description": "Indicates how to handle the presence of account-specific values in an account customization project. If there are account-specific values in the project, enter WARNING to continue with the deployment process, or ERROR to stop it. If the option is not specified, the default value is ERROR. It only applies to account customization projects.",
302
+ "mandatory": false,
303
+ "type": "SINGLE",
304
+ "usage": "WARNING",
305
+ "defaultOption": false,
306
+ "disableInIntegrationMode": false
307
+ },
308
+ "authid": {
309
+ "name": "authid",
310
+ "env": "SUITECLOUD_AUTHID",
311
+ "option": "authid",
312
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
313
+ "mandatory": true,
314
+ "type": "SINGLE",
315
+ "usage": "",
316
+ "defaultOption": false,
317
+ "disableInIntegrationMode": false
318
+ },
319
+ "applyinstallprefs": {
320
+ "name": "applyinstallprefs",
321
+ "option": "applyinstallprefs",
322
+ "description": "Applies the settings from the hiding.xml, locking.xml, and overwriting.xml files. It only applies to SuiteApps.",
323
+ "mandatory": false,
324
+ "type": "FLAG",
325
+ "usage": "",
326
+ "defaultOption": false,
327
+ "disableInIntegrationMode": false
328
+ },
329
+ "log": {
330
+ "name": "log",
331
+ "option": "log",
332
+ "description": "Sets the deployment log file location, as either a directory or a file name. If it is a directory, a default log file is generated in the specified location. If a log file already exists in the specified location, deployment log details are appended to that existing file.",
333
+ "mandatory": false,
334
+ "type": "SINGLE",
335
+ "usage": "d:\/path\/test.log",
336
+ "defaultOption": false,
337
+ "disableInIntegrationMode": false
338
+ },
339
+ "no_preview": {
340
+ "name": "no_preview",
341
+ "option": "no_preview",
342
+ "description": "Skips the preview step.",
343
+ "mandatory": false,
344
+ "type": "FLAG",
345
+ "usage": "",
346
+ "defaultOption": false,
347
+ "disableInIntegrationMode": true
348
+ },
349
+ "project": {
350
+ "name": "project",
351
+ "env": "SUITECLOUD_PROJECT_FOLDER",
352
+ "option": "project",
353
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
354
+ "mandatory": true,
355
+ "type": "SINGLE",
356
+ "usage": "c:\/project\/",
357
+ "defaultOption": false,
358
+ "disableInIntegrationMode": false
359
+ },
360
+ "skip_warning": {
361
+ "name": "skip_warning",
362
+ "option": "skip_warning",
363
+ "description": "Indicates that the warning before deployment to production account will be skipped.",
364
+ "mandatory": false,
365
+ "type": "FLAG",
366
+ "usage": "",
367
+ "defaultOption": false,
368
+ "disableInIntegrationMode": true
369
+ },
370
+ "validate": {
371
+ "name": "validate",
372
+ "option": "validate",
373
+ "description": "Validates the project before deploying. If an error ocurrs during the deployment, the process is stopped.",
374
+ "mandatory": false,
375
+ "type": "FLAG",
376
+ "usage": "",
377
+ "defaultOption": false,
378
+ "disableInIntegrationMode": false
379
+ }
380
+ }
381
+ },
382
+ "file:import": {
383
+ "name": "file:import",
384
+ "sdkCommand": "importfiles",
385
+ "usage": "",
386
+ "description": "Imports files from an account to your account customization project. You cannot import files from a SuiteApp.",
387
+ "isSetupRequired": true,
388
+ "options": {
389
+ "paths": {
390
+ "name": "paths",
391
+ "option": "paths",
392
+ "description": "Specifies the File Cabinet paths of the files to import. For example, \"\/SuiteScripts\/file.js\".",
393
+ "mandatory": true,
394
+ "type": "MULTIPLE",
395
+ "usage": "\"\/SuiteScripts\/test.js\"",
396
+ "defaultOption": true,
397
+ "disableInIntegrationMode": false
398
+ },
399
+ "excludeproperties": {
400
+ "name": "excludeproperties",
401
+ "option": "excludeproperties",
402
+ "description": "Excludes all file properties within the .attributes folder.",
403
+ "mandatory": false,
404
+ "type": "FLAG",
405
+ "usage": "",
406
+ "defaultOption": false,
407
+ "disableInIntegrationMode": false
408
+ },
409
+ "allowforsuiteapps": {
410
+ "name": "allowforsuiteapps",
411
+ "option": "allowforsuiteapps",
412
+ "description": "",
413
+ "mandatory": false,
414
+ "type": "FLAG",
415
+ "usage": "",
416
+ "defaultOption": false,
417
+ "disableInIntegrationMode": true
418
+ },
419
+ "authid": {
420
+ "name": "authid",
421
+ "env": "SUITECLOUD_AUTHID",
422
+ "option": "authid",
423
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
424
+ "mandatory": true,
425
+ "type": "SINGLE",
426
+ "usage": "",
427
+ "defaultOption": false,
428
+ "disableInIntegrationMode": false
429
+ },
430
+ "project": {
431
+ "name": "project",
432
+ "env": "SUITECLOUD_PROJECT_FOLDER",
433
+ "option": "project",
434
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
435
+ "mandatory": true,
436
+ "type": "SINGLE",
437
+ "usage": "c:\/project\/",
438
+ "defaultOption": false,
439
+ "disableInIntegrationMode": false
440
+ }
441
+ }
442
+ },
443
+ "object:import": {
444
+ "name": "object:import",
445
+ "sdkCommand": "importobjects",
446
+ "usage": "",
447
+ "description": "Imports custom objects from your NetSuite account to the SuiteCloud project. In account customization projects (ACP), if SuiteScript files are referenced in the custom objects you import, these files get imported by default.",
448
+ "isSetupRequired": true,
449
+ "options": {
450
+ "appid": {
451
+ "name": "appid",
452
+ "option": "appid",
453
+ "description": "Specifies your application ID. If specified, only custom objects with that application ID are imported. Otherwise, only custom objects with no application ID are imported.",
454
+ "mandatory": false,
455
+ "type": "SINGLE",
456
+ "usage": "org.mycompany.helloworldapp",
457
+ "defaultOption": false,
458
+ "disableInIntegrationMode": false
459
+ },
460
+ "scriptid": {
461
+ "name": "scriptid",
462
+ "option": "scriptid",
463
+ "description": "Specifies the script ID. To specify multiple IDs, enter the IDs separated by spaces. Enter \"ALL\" to import all custom objects of the specified type.",
464
+ "mandatory": true,
465
+ "type": "MULTIPLE",
466
+ "usage": "customrecord_tes01 customrecord_test02 [...]",
467
+ "defaultOption": false,
468
+ "disableInIntegrationMode": false
469
+ },
470
+ "type": {
471
+ "name": "type",
472
+ "option": "type",
473
+ "description": "Specifies the type of custom objects to import. Enter \"ALL\" to import all custom objects. To see what custom objects are supported by SDF, see https:\/\/system.netsuite.com\/app\/help\/helpcenter.nl?fid=sdfxml.html.",
474
+ "mandatory": true,
475
+ "type": "SINGLE",
476
+ "usage": "customrecordtype",
477
+ "defaultOption": false,
478
+ "disableInIntegrationMode": false
479
+ },
480
+ "destinationfolder": {
481
+ "name": "destinationfolder",
482
+ "option": "destinationfolder",
483
+ "description": "Specifies the project folder where objects will be stored. It must be within the Objects folder of your project. For example, \/Objects\/MyObjects.",
484
+ "mandatory": true,
485
+ "type": "SINGLE",
486
+ "usage": "\/Objects",
487
+ "defaultOption": false,
488
+ "disableInIntegrationMode": false
489
+ },
490
+ "excludefiles": {
491
+ "name": "excludefiles",
492
+ "option": "excludefiles",
493
+ "description": "Indicates that the SuiteScript files referenced in custom objects are not imported. It can only be used in account customization projects (ACP).",
494
+ "mandatory": false,
495
+ "type": "FLAG",
496
+ "usage": "",
497
+ "defaultOption": false,
498
+ "disableInIntegrationMode": false
499
+ },
500
+ "authid": {
501
+ "name": "authid",
502
+ "env": "SUITECLOUD_AUTHID",
503
+ "option": "authid",
504
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
505
+ "mandatory": true,
506
+ "type": "SINGLE",
507
+ "usage": "",
508
+ "defaultOption": false,
509
+ "disableInIntegrationMode": false
510
+ },
511
+ "project": {
512
+ "name": "project",
513
+ "env": "SUITECLOUD_PROJECT_FOLDER",
514
+ "option": "project",
515
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
516
+ "mandatory": true,
517
+ "type": "SINGLE",
518
+ "usage": "c:\/project\/",
519
+ "defaultOption": false,
520
+ "disableInIntegrationMode": false
521
+ }
522
+ }
523
+ },
524
+ "file:list": {
525
+ "name": "file:list",
526
+ "sdkCommand": "listfiles",
527
+ "usage": "",
528
+ "description": "Lists the files in the File Cabinet of your account.",
529
+ "isSetupRequired": true,
530
+ "options": {
531
+ "folder": {
532
+ "name": "folder",
533
+ "option": "folder",
534
+ "description": "Specifies the File Cabinet path, for example, \"\/SuiteScripts\". All files within subfolders are included.",
535
+ "mandatory": true,
536
+ "type": "SINGLE",
537
+ "usage": "\"\/SuiteScripts\"",
538
+ "defaultOption": true,
539
+ "disableInIntegrationMode": false
540
+ },
541
+ "authid": {
542
+ "name": "authid",
543
+ "env": "SUITECLOUD_AUTHID",
544
+ "option": "authid",
545
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
546
+ "mandatory": true,
547
+ "type": "SINGLE",
548
+ "usage": "",
549
+ "defaultOption": false,
550
+ "disableInIntegrationMode": false
551
+ }
552
+ }
553
+ },
554
+ "object:list": {
555
+ "name": "object:list",
556
+ "sdkCommand": "listobjects",
557
+ "usage": "",
558
+ "description": "Lists the custom objects deployed in an account.",
559
+ "isSetupRequired": true,
560
+ "options": {
561
+ "appid": {
562
+ "name": "appid",
563
+ "option": "appid",
564
+ "description": "Specifies your application ID. If specified, only custom objects with that application ID are listed. Otherwise, only custom objects with no application ID are listed.",
565
+ "mandatory": false,
566
+ "type": "SINGLE",
567
+ "usage": "org.mycompany.helloworldapp",
568
+ "defaultOption": false,
569
+ "disableInIntegrationMode": false
570
+ },
571
+ "scriptid": {
572
+ "name": "scriptid",
573
+ "option": "scriptid",
574
+ "description": "Specifies the script ID. If you specify it, only objects containing that script ID will be listed. Otherwise, all objects are listed.",
575
+ "mandatory": false,
576
+ "type": "SINGLE",
577
+ "usage": "customrecord",
578
+ "defaultOption": false,
579
+ "disableInIntegrationMode": false
580
+ },
581
+ "type": {
582
+ "name": "type",
583
+ "option": "type",
584
+ "description": "Specifies the type of custom objects to list. To specify multiple types, enter the types separated by spaces. Otherwise, all types are listed. To see what custom objects are supported by SDF, see https:\/\/system.netsuite.com\/app\/help\/helpcenter.nl?fid=sdfxml.html.",
585
+ "mandatory": false,
586
+ "type": "MULTIPLE",
587
+ "usage": "customrecordtype workflow [...]",
588
+ "defaultOption": false,
589
+ "disableInIntegrationMode": false
590
+ },
591
+ "authid": {
592
+ "name": "authid",
593
+ "env": "SUITECLOUD_AUTHID",
594
+ "option": "authid",
595
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
596
+ "mandatory": true,
597
+ "type": "SINGLE",
598
+ "usage": "",
599
+ "defaultOption": false,
600
+ "disableInIntegrationMode": false
601
+ }
602
+ }
603
+ },
604
+ "account:manageauth": {
605
+ "name": "account:manageauth",
606
+ "sdkCommand": "manageauth",
607
+ "usage": "",
608
+ "description": "Manages authentication IDs for all your projects. An authentication ID is a custom alias you give to a specific account-role combination.",
609
+ "isSetupRequired": false,
610
+ "options": {
611
+ "list": {
612
+ "name": "list",
613
+ "option": "list",
614
+ "description": "Prints a list of all the configured authentication IDs. Usage: manageauth -list.",
615
+ "mandatory": false,
616
+ "type": "FLAG",
617
+ "usage": "",
618
+ "defaultOption": false,
619
+ "disableInIntegrationMode": false
620
+ },
621
+ "info": {
622
+ "name": "info",
623
+ "option": "info",
624
+ "description": "Prints the following information for the specified authentication ID: account ID, role ID, and url. Usage: manageauth -info {authenticationID}.",
625
+ "mandatory": false,
626
+ "type": "SINGLE",
627
+ "usage": "",
628
+ "defaultOption": false,
629
+ "disableInIntegrationMode": false
630
+ },
631
+ "rename": {
632
+ "name": "rename",
633
+ "option": "rename",
634
+ "description": "Renames an authentication ID. You must specify it together with the renameto option. Usage: manageauth -rename {authenticationID} -renameto {newAuthenticationID}.",
635
+ "mandatory": false,
636
+ "type": "SINGLE",
637
+ "usage": "",
638
+ "defaultOption": false,
639
+ "disableInIntegrationMode": false
640
+ },
641
+ "renameto": {
642
+ "name": "renameto",
643
+ "option": "renameto",
644
+ "description": "Specifies the new ID for an authentication ID. You must specify it together with the rename option. Usage: manageauth -rename {authenticationID} -renameto {newAuthenticationID}.",
645
+ "mandatory": false,
646
+ "type": "SINGLE",
647
+ "usage": "",
648
+ "defaultOption": false,
649
+ "disableInIntegrationMode": false
650
+ },
651
+ "remove": {
652
+ "name": "remove",
653
+ "option": "remove",
654
+ "description": "Removes an authentication ID. This option only removes the credentials locally and it doesn't revoke the token from the account. Usage: manageauth -remove {authenticationID}.",
655
+ "mandatory": false,
656
+ "type": "SINGLE",
657
+ "usage": "",
658
+ "defaultOption": false,
659
+ "disableInIntegrationMode": false
660
+ }
661
+ }
662
+ },
663
+ "project:package": {
664
+ "name": "project:package",
665
+ "sdkCommand": "package",
666
+ "usage": "",
667
+ "description": "Generates a ZIP file from your project, respecting the structure specified in the deploy.xml file.",
668
+ "isSetupRequired": false,
669
+ "options": {
670
+ "destination": {
671
+ "name": "destination",
672
+ "option": "destination",
673
+ "description": "Specifies a path to store the ZIP file containing your project.",
674
+ "mandatory": true,
675
+ "type": "SINGLE",
676
+ "usage": "c:\/project\/",
677
+ "defaultOption": false,
678
+ "disableInIntegrationMode": true
679
+ },
680
+ "project": {
681
+ "name": "project",
682
+ "env": "SUITECLOUD_PROJECT_FOLDER",
683
+ "option": "project",
684
+ "description": "Specifies the path of your project folder.",
685
+ "mandatory": true,
686
+ "type": "SINGLE",
687
+ "usage": "c:\/project\/",
688
+ "defaultOption": false,
689
+ "disableInIntegrationMode": false
690
+ }
691
+ }
692
+ },
693
+ "object:update": {
694
+ "name": "object:update",
695
+ "sdkCommand": "update",
696
+ "usage": "",
697
+ "description": "Overwrites the custom objects in the project with the custom objects in an account.",
698
+ "isSetupRequired": true,
699
+ "options": {
700
+ "scriptid": {
701
+ "name": "scriptid",
702
+ "option": "scriptid",
703
+ "description": "Specifies the script ID of the objects you want to overwrite.",
704
+ "mandatory": true,
705
+ "type": "MULTIPLE",
706
+ "usage": "scriptid [...]",
707
+ "defaultOption": true,
708
+ "disableInIntegrationMode": false
709
+ },
710
+ "authid": {
711
+ "name": "authid",
712
+ "env": "SUITECLOUD_AUTHID",
713
+ "option": "authid",
714
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
715
+ "mandatory": true,
716
+ "type": "SINGLE",
717
+ "usage": "",
718
+ "defaultOption": false,
719
+ "disableInIntegrationMode": false
720
+ },
721
+ "project": {
722
+ "name": "project",
723
+ "env": "SUITECLOUD_PROJECT_FOLDER",
724
+ "option": "project",
725
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
726
+ "mandatory": true,
727
+ "type": "SINGLE",
728
+ "usage": "c:\/project\/",
729
+ "defaultOption": false,
730
+ "disableInIntegrationMode": false
731
+ }
732
+ }
733
+ },
734
+ "file:upload": {
735
+ "name": "file:upload",
736
+ "sdkCommand": "uploadfiles",
737
+ "usage": "",
738
+ "description": "Uploads files from your project to an account.",
739
+ "isSetupRequired": true,
740
+ "options": {
741
+ "paths": {
742
+ "name": "paths",
743
+ "option": "paths",
744
+ "description": "Specifies the file cabinet paths of the files to upload. To specify multiple paths, enter a space between paths and enclose the entire argument in double quotes. For example, \"\/SuiteScripts\/file.js\" for account customization projects, and \"\/SuiteApps\/com.project.example\/script.js\" for SuiteApp projects.",
745
+ "mandatory": true,
746
+ "type": "MULTIPLE",
747
+ "usage": "\"\/SuiteScripts\/test.js\"",
748
+ "defaultOption": false,
749
+ "disableInIntegrationMode": false
750
+ },
751
+ "authid": {
752
+ "name": "authid",
753
+ "env": "SUITECLOUD_AUTHID",
754
+ "option": "authid",
755
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
756
+ "mandatory": true,
757
+ "type": "SINGLE",
758
+ "usage": "",
759
+ "defaultOption": false,
760
+ "disableInIntegrationMode": false
761
+ },
762
+ "project": {
763
+ "name": "project",
764
+ "env": "SUITECLOUD_PROJECT_FOLDER",
765
+ "option": "project",
766
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
767
+ "mandatory": true,
768
+ "type": "SINGLE",
769
+ "usage": "c:\/project\/",
770
+ "defaultOption": false,
771
+ "disableInIntegrationMode": false
772
+ }
773
+ }
774
+ },
775
+ "project:validate": {
776
+ "name": "project:validate",
777
+ "sdkCommand": "validate",
778
+ "usage": "",
779
+ "description": "Validates the folder containing the SuiteCloud project.",
780
+ "isSetupRequired": true,
781
+ "options": {
782
+ "accountspecificvalues": {
783
+ "name": "accountspecificvalues",
784
+ "option": "accountspecificvalues",
785
+ "description": "Indicates how to handle the presence of account-specific values in an account customization project. If there are account-specific values in the project, enter WARNING to continue with the deployment process, or ERROR to stop it. If the option is not specified, the default value is ERROR. It only applies to account customization projects.",
786
+ "mandatory": false,
787
+ "type": "SINGLE",
788
+ "usage": "WARNING",
789
+ "defaultOption": false,
790
+ "disableInIntegrationMode": false
791
+ },
792
+ "authid": {
793
+ "name": "authid",
794
+ "env": "SUITECLOUD_AUTHID",
795
+ "option": "authid",
796
+ "description": "References the custom alias you give to a specific account-role combination. Referred to as authentication ID and auth ID in the documentation.",
797
+ "mandatory": true,
798
+ "type": "SINGLE",
799
+ "usage": "",
800
+ "defaultOption": false,
801
+ "disableInIntegrationMode": false
802
+ },
803
+ "applyinstallprefs": {
804
+ "name": "applyinstallprefs",
805
+ "option": "applyinstallprefs",
806
+ "description": "Applies the settings from the hiding.xml, locking.xml, and overwriting.xml files. It only applies to SuiteApps.",
807
+ "mandatory": false,
808
+ "type": "FLAG",
809
+ "usage": "",
810
+ "defaultOption": false,
811
+ "disableInIntegrationMode": false
812
+ },
813
+ "log": {
814
+ "name": "log",
815
+ "option": "log",
816
+ "description": "Sets the validation log file location, as either a directory or a file name. If it is a directory, a default log file is generated in the specified location. If a log file already exists in the specified location, validation log details are appended to that existing file.",
817
+ "mandatory": false,
818
+ "type": "SINGLE",
819
+ "usage": "d:\/path\/test.log",
820
+ "defaultOption": false,
821
+ "disableInIntegrationMode": false
822
+ },
823
+ "project": {
824
+ "name": "project",
825
+ "env": "SUITECLOUD_PROJECT_FOLDER",
826
+ "option": "project",
827
+ "description": "Sets the folder or zipped file containing the project. It overrides the default project.",
828
+ "mandatory": true,
829
+ "type": "SINGLE",
830
+ "usage": "c:\/project\/",
831
+ "defaultOption": false,
832
+ "disableInIntegrationMode": false
833
+ },
834
+ "server": {
835
+ "name": "server",
836
+ "option": "server",
837
+ "description": "Indicates that the server will perform the validation.",
838
+ "mandatory": false,
839
+ "type": "FLAG",
840
+ "usage": "",
841
+ "defaultOption": false,
842
+ "disableInIntegrationMode": false
843
+ }
844
+ }
845
+ }
846
+ }