@kitalive/sfdx-plugin 0.2.0 → 0.4.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.
Files changed (40) hide show
  1. package/README.md +90 -42
  2. package/lib/bulk.js +81 -38
  3. package/lib/bulk.js.map +1 -1
  4. package/lib/commands/kit/data/bulk/delete.js +42 -15
  5. package/lib/commands/kit/data/bulk/delete.js.map +1 -1
  6. package/lib/commands/kit/data/bulk/insert.js +1 -1
  7. package/lib/commands/kit/data/bulk/insert.js.map +1 -1
  8. package/lib/commands/kit/data/bulk/query.js +12 -5
  9. package/lib/commands/kit/data/bulk/query.js.map +1 -1
  10. package/lib/commands/kit/data/bulk/update.js +1 -1
  11. package/lib/commands/kit/data/bulk/update.js.map +1 -1
  12. package/lib/commands/kit/data/bulk/upsert.js +1 -1
  13. package/lib/commands/kit/data/bulk/upsert.js.map +1 -1
  14. package/lib/commands/kit/data/csv/convert.d.ts +0 -13
  15. package/lib/commands/kit/data/csv/convert.js +45 -77
  16. package/lib/commands/kit/data/csv/convert.js.map +1 -1
  17. package/lib/commands/kit/layout/assignments/deploy.d.ts +0 -1
  18. package/lib/commands/kit/layout/assignments/deploy.js +9 -8
  19. package/lib/commands/kit/layout/assignments/deploy.js.map +1 -1
  20. package/lib/commands/kit/layout/assignments/retrieve.d.ts +1 -1
  21. package/lib/commands/kit/layout/assignments/retrieve.js +71 -21
  22. package/lib/commands/kit/layout/assignments/retrieve.js.map +1 -1
  23. package/lib/commands/kit/object/fields/describe.d.ts +14 -0
  24. package/lib/commands/kit/object/fields/describe.js +85 -0
  25. package/lib/commands/kit/object/fields/describe.js.map +1 -0
  26. package/lib/commands/kit/object/fields/setup.d.ts +21 -0
  27. package/lib/commands/kit/object/fields/setup.js +197 -0
  28. package/lib/commands/kit/object/fields/setup.js.map +1 -0
  29. package/lib/commands/kit/script/execute.d.ts +1 -1
  30. package/lib/commands/kit/script/execute.js +19 -8
  31. package/lib/commands/kit/script/execute.js.map +1 -1
  32. package/lib/metadata.d.ts +18 -0
  33. package/lib/metadata.js +69 -0
  34. package/lib/metadata.js.map +1 -0
  35. package/lib/types.d.ts +24 -0
  36. package/lib/utils.d.ts +16 -1
  37. package/lib/utils.js +76 -1
  38. package/lib/utils.js.map +1 -1
  39. package/oclif.manifest.json +1 -1
  40. package/package.json +27 -18
package/README.md CHANGED
@@ -18,7 +18,7 @@ $ npm install -g @kitalive/sfdx-plugin
18
18
  $ sfdx COMMAND
19
19
  running command...
20
20
  $ sfdx (-v|--version|version)
21
- @kitalive/sfdx-plugin/0.2.0 darwin-x64 node-v14.15.0
21
+ @kitalive/sfdx-plugin/0.4.0 darwin-x64 node-v16.14.2
22
22
  $ sfdx --help [COMMAND]
23
23
  USAGE
24
24
  $ sfdx COMMAND
@@ -37,6 +37,8 @@ USAGE
37
37
  * [`sfdx kit:data:csv:convert [-f <filepath>] [-o <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitdatacsvconvert--f-filepath--o-filepath--e-string--d-string--q-string---skiplines-integer---trim--m-filepath--c-filepath---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
38
38
  * [`sfdx kit:layout:assignments:deploy -f <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitlayoutassignmentsdeploy--f-string--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
39
39
  * [`sfdx kit:layout:assignments:retrieve -f <string> [-p <string>] [-o <string>] [--merge] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitlayoutassignmentsretrieve--f-string--p-string--o-string---merge--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
40
+ * [`sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitobjectfieldsdescribe--o-string--f-string--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
41
+ * [`sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitobjectfieldssetup--o-string--f-string---delete---force--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
40
42
  * [`sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitscriptexecute--f-filepath--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
41
43
 
42
44
  ## `sfdx kit:data:bulk:delete -q <string> [--hard] [--concurrencymode <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
@@ -44,8 +46,6 @@ USAGE
44
46
  bulk delete records by SOQL select query
45
47
 
46
48
  ```
47
- bulk delete records by SOQL select query
48
-
49
49
  USAGE
50
50
  $ sfdx kit:data:bulk:delete -q <string> [--hard] [--concurrencymode <string>] [-s <integer>] [-w <integer>] [-u
51
51
  <string>] [--apiversion <string>] [--json] [--loglevel
@@ -82,16 +82,13 @@ EXAMPLE
82
82
  $ sfdx kit:data:bulk:delete -q 'SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:5'
83
83
  ```
84
84
 
85
- _See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/data/bulk/delete.ts)_
85
+ _See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/data/bulk/delete.ts)_
86
86
 
87
87
  ## `sfdx kit:data:bulk:insert -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
88
88
 
89
89
  bulk insert records from a CSV file
90
90
 
91
91
  ```
92
- bulk insert records from a CSV file
93
- For information about CSV file formats, see [Prepare CSV Files](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm) in the Bulk API Developer Guide.
94
-
95
92
  USAGE
96
93
  $ sfdx kit:data:bulk:insert -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>]
97
94
  [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode
@@ -155,7 +152,8 @@ OPTIONS
155
152
  during insert operations (default:
156
153
  empty field values are ignored)
157
154
 
158
- --skiplines=skiplines the number of lines to skip
155
+ --skiplines=skiplines [default: 0] the number of lines to
156
+ skip
159
157
 
160
158
  --trim trim all white space from columns
161
159
 
@@ -169,15 +167,13 @@ EXAMPLES
169
167
  $ sfdx kit:data:bulk:insert -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
170
168
  ```
171
169
 
172
- _See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/data/bulk/insert.ts)_
170
+ _See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/data/bulk/insert.ts)_
173
171
 
174
172
  ## `sfdx kit:data:bulk:query -q <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
175
173
 
176
174
  bulk query records
177
175
 
178
176
  ```
179
- bulk query records
180
-
181
177
  USAGE
182
178
  $ sfdx kit:data:bulk:query -q <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
183
179
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
@@ -203,16 +199,13 @@ EXAMPLE
203
199
  $ sfdx kit:data:bulk:query -q 'SELECT Id, Name FROM Account' -f ./path/to/Account.csv
204
200
  ```
205
201
 
206
- _See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/data/bulk/query.ts)_
202
+ _See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/data/bulk/query.ts)_
207
203
 
208
204
  ## `sfdx kit:data:bulk:update -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
209
205
 
210
206
  bulk update records from a CSV file
211
207
 
212
208
  ```
213
- bulk update records from a CSV file
214
- For information about CSV file formats, see [Prepare CSV Files](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm) in the Bulk API Developer Guide.
215
-
216
209
  USAGE
217
210
  $ sfdx kit:data:bulk:update -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>]
218
211
  [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode
@@ -276,7 +269,8 @@ OPTIONS
276
269
  during update operations (default:
277
270
  empty field values are ignored)
278
271
 
279
- --skiplines=skiplines the number of lines to skip
272
+ --skiplines=skiplines [default: 0] the number of lines to
273
+ skip
280
274
 
281
275
  --trim trim all white space from columns
282
276
 
@@ -290,16 +284,13 @@ EXAMPLES
290
284
  $ sfdx kit:data:bulk:update -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
291
285
  ```
292
286
 
293
- _See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/data/bulk/update.ts)_
287
+ _See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/data/bulk/update.ts)_
294
288
 
295
289
  ## `sfdx kit:data:bulk:upsert -o <string> -f <filepath> -i <string> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
296
290
 
297
291
  bulk upsert records from a CSV file
298
292
 
299
293
  ```
300
- bulk upsert records from a CSV file
301
- For information about CSV file formats, see [Prepare CSV Files](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm) in the Bulk API Developer Guide.
302
-
303
294
  USAGE
304
295
  $ sfdx kit:data:bulk:upsert -o <string> -f <filepath> -i <string> [-r <filepath>] [-e <string>] [-d <string>] [-q
305
296
  <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly]
@@ -366,7 +357,8 @@ OPTIONS
366
357
  during upsert operations (default:
367
358
  empty field values are ignored)
368
359
 
369
- --skiplines=skiplines the number of lines to skip
360
+ --skiplines=skiplines [default: 0] the number of lines to
361
+ skip
370
362
 
371
363
  --trim trim all white space from columns
372
364
 
@@ -381,15 +373,13 @@ EXAMPLES
381
373
  10
382
374
  ```
383
375
 
384
- _See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/data/bulk/upsert.ts)_
376
+ _See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/data/bulk/upsert.ts)_
385
377
 
386
378
  ## `sfdx kit:data:csv:convert [-f <filepath>] [-o <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
387
379
 
388
380
  convert CSV data using column mapping file or Node.js script
389
381
 
390
382
  ```
391
- convert CSV data using column mapping file or Node.js script
392
-
393
383
  USAGE
394
384
  $ sfdx kit:data:csv:convert [-f <filepath>] [-o <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines
395
385
  <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--json] [--loglevel
@@ -422,7 +412,8 @@ OPTIONS
422
412
  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
423
413
  this command invocation
424
414
 
425
- --skiplines=skiplines the number of lines to skip
415
+ --skiplines=skiplines [default: 0] the number of lines to
416
+ skip
426
417
 
427
418
  --trim trim all white space from columns
428
419
 
@@ -431,15 +422,13 @@ EXAMPLES
431
422
  $ sfdx kit:data:csv:convert -f ./path/to/input.csv -o ./path/to/output.csv -c ./path/to/convert.js -e cp932 -d :
432
423
  ```
433
424
 
434
- _See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/data/csv/convert.ts)_
425
+ _See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/data/csv/convert.ts)_
435
426
 
436
427
  ## `sfdx kit:layout:assignments:deploy -f <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
437
428
 
438
429
  deploy page layout assignments from JSON file
439
430
 
440
431
  ```
441
- deploy page layout assignments from JSON file
442
-
443
432
  USAGE
444
433
  $ sfdx kit:layout:assignments:deploy -f <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel
445
434
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
@@ -466,15 +455,13 @@ EXAMPLES
466
455
  $ sfdx kit:layout:assignments:deploy -u me@my.org -f config/layout-assignments.sandbox.json
467
456
  ```
468
457
 
469
- _See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/layout/assignments/deploy.ts)_
458
+ _See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/layout/assignments/deploy.ts)_
470
459
 
471
460
  ## `sfdx kit:layout:assignments:retrieve -f <string> [-p <string>] [-o <string>] [--merge] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
472
461
 
473
462
  retrieve page layout assignments and save to JSON file
474
463
 
475
464
  ```
476
- retrieve page layout assignments and save to JSON file
477
-
478
465
  USAGE
479
466
  $ sfdx kit:layout:assignments:retrieve -f <string> [-p <string>] [-o <string>] [--merge] [-u <string>] [--apiversion
480
467
  <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
@@ -512,19 +499,80 @@ EXAMPLES
512
499
  $ sfdx kit:layout:assignments:retrieve -u me@my.org -f config/layout-assignments.sandbox.json
513
500
  ```
514
501
 
515
- _See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/layout/assignments/retrieve.ts)_
502
+ _See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/layout/assignments/retrieve.ts)_
516
503
 
517
- ## `sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
504
+ ## `sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
518
505
 
519
- execute Node.js scripts in SfdxCommand context
506
+ describe object fields information
507
+
508
+ ```
509
+ USAGE
510
+ $ sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
511
+ trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
512
+
513
+ OPTIONS
514
+ -f, --file=file output csv file path
515
+ -o, --object=object (required) SObject name
516
+
517
+ -u, --targetusername=targetusername username or alias for the target
518
+ org; overrides default target org
519
+
520
+ --apiversion=apiversion override the api version used for
521
+ api requests made by this command
522
+
523
+ --json format output as json
524
+
525
+ --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
526
+ this command invocation
527
+
528
+ EXAMPLES
529
+ $ sfdx kit:object:fields:describe -o Account -f path/to/account_fields.csv
530
+ $ sfdx kit:object:fields:describe -u me@my.org -o CustomObject__c --json
531
+ ```
532
+
533
+ _See code: [src/commands/kit/object/fields/describe.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/object/fields/describe.ts)_
534
+
535
+ ## `sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
536
+
537
+ upsert and delete object fields from a CSV file
538
+
539
+ ```
540
+ USAGE
541
+ $ sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>]
542
+ [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
543
+
544
+ OPTIONS
545
+ -f, --file=file (required) input csv file path
546
+ -o, --object=object (required) SObject name
547
+
548
+ -u, --targetusername=targetusername username or alias for the target
549
+ org; overrides default target org
520
550
 
551
+ --apiversion=apiversion override the api version used for
552
+ api requests made by this command
553
+
554
+ --delete delete fields that are not in the
555
+ csv file
556
+
557
+ --force Do not confirm when deleting
558
+
559
+ --json format output as json
560
+
561
+ --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
562
+ this command invocation
563
+
564
+ EXAMPLES
565
+ $ sfdx kit:object:fields:setup -o Account -f path/to/account_fields.csv
566
+ $ sfdx kit:object:fields:setup -u me@my.org -o CustomObject__c -f path/to/custom_object_fields.csv --delete
521
567
  ```
568
+
569
+ _See code: [src/commands/kit/object/fields/setup.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/object/fields/setup.ts)_
570
+
571
+ ## `sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
572
+
522
573
  execute Node.js scripts in SfdxCommand context
523
- Available variables in Node.js scripts
524
- argv: Parsed command line arguments after the file option
525
- conn: jsforce Connection
526
- context: SfdxCommand
527
574
 
575
+ ```
528
576
  USAGE
529
577
  $ sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
530
578
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
@@ -546,9 +594,9 @@ OPTIONS
546
594
 
547
595
  DESCRIPTION
548
596
  Available variables in Node.js scripts
549
- argv: Parsed command line arguments after the file option
550
- conn: jsforce Connection
551
- context: SfdxCommand
597
+ argv: Parsed command line arguments after the file option
598
+ conn: jsforce Connection
599
+ context: SfdxCommand
552
600
 
553
601
  ALIASES
554
602
  $ sfdx kit:script
@@ -561,5 +609,5 @@ EXAMPLES
561
609
  $ NODE_OPTIONS=--experimental-repl-await sfdx kit:script:execute
562
610
  ```
563
611
 
564
- _See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.2.0/src/commands/kit/script/execute.ts)_
612
+ _See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.0/src/commands/kit/script/execute.ts)_
565
613
  <!-- commandsstop -->
package/lib/bulk.js CHANGED
@@ -1,42 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBulkCommand = exports.normalizeDateString = exports.bulkLoad = exports.bulkQuery = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const command_1 = require("@salesforce/command");
6
5
  const dayjs = require("dayjs");
7
6
  const csv = require("fast-csv");
8
7
  const fs = require("fs-extra");
9
8
  const path = require("path");
10
9
  const convert_1 = require("./commands/kit/data/csv/convert");
11
- const convert_2 = require("./commands/kit/data/csv/convert");
12
10
  const utils = require("./utils");
13
11
  function bulkQuery(conn, query) {
14
12
  return new Promise((resolve, reject) => {
15
13
  const records = [];
16
- conn.bulk.query(query)
14
+ conn.bulk
15
+ .query(query)
17
16
  .on('error', reject)
18
- .on('record', record => records.push(record))
17
+ .on('record', (record) => records.push(record))
19
18
  .on('end', () => resolve(records));
20
19
  });
21
20
  }
22
21
  exports.bulkQuery = bulkQuery;
23
22
  function bulkLoad(conn, sobject, operation, rows, options) {
24
- const _a = options || {}, { batchSize = 10000, wait } = _a, jobOptions = tslib_1.__rest(_a, ["batchSize", "wait"]);
23
+ const { batchSize = 10000, wait, ...jobOptions } = options || {};
25
24
  const job = conn.bulk.createJob(sobject, operation, jobOptions);
26
25
  const fetchResults = async (records) => ({
27
26
  job: await job.check(),
28
27
  batches: await job.list(),
29
- records
28
+ records,
30
29
  });
31
- const executeBatch = batchRows => new Promise((resolve, reject) => {
30
+ const executeBatch = (batchRows) => new Promise((resolve, reject) => {
32
31
  const batch = job.createBatch();
33
- batch.on('error', e => {
32
+ batch.on('error', (e) => {
34
33
  if (e.message.startsWith('Polling time out'))
35
34
  job.emit('error', e);
36
35
  reject(e);
37
36
  });
38
- batch.on('queue', batchInfo => {
39
- batch.check().then(result => {
37
+ batch.on('queue', () => {
38
+ batch
39
+ .check()
40
+ .then((result) => {
40
41
  if (result.state === 'Failed') {
41
42
  reject(result.stateMessage);
42
43
  }
@@ -46,11 +47,13 @@ function bulkLoad(conn, sobject, operation, rows, options) {
46
47
  else {
47
48
  fetchResults([]).then(resolve).catch(reject);
48
49
  }
49
- }).catch(reject);
50
+ })
51
+ .catch(reject);
50
52
  });
51
53
  batch.on('response', resolve);
52
- batch.execute(batchRows, error => error && reject(error));
54
+ batch.execute(batchRows, (error) => error && reject(error));
53
55
  });
56
+ // eslint-disable-next-line no-async-promise-executor
54
57
  return new Promise(async (resolve, reject) => {
55
58
  job.on('error', reject);
56
59
  try {
@@ -74,17 +77,28 @@ function normalizeDateString(str, format) {
74
77
  }
75
78
  exports.normalizeDateString = normalizeDateString;
76
79
  const converters = {
77
- date: value => normalizeDateString(value, 'YYYY-MM-DD'),
78
- datetime: normalizeDateString
80
+ date: (value) => normalizeDateString(value, 'YYYY-MM-DD'),
81
+ datetime: normalizeDateString,
79
82
  };
80
83
  const csvFlags = convert_1.default['flagsConfig'];
81
84
  const createBulkCommand = (operation) => {
82
85
  var _a;
83
86
  const config = {
84
- object: command_1.flags.string({ char: 'o', required: true, description: `the sObject name to ${operation}` }),
87
+ object: command_1.flags.string({
88
+ char: 'o',
89
+ required: true,
90
+ description: `the sObject name to ${operation}`,
91
+ }),
85
92
  // csv settings
86
- csvfile: command_1.flags.filepath({ char: 'f', required: true, description: `the CSV file path that defines the records to ${operation}` }),
87
- resultfile: command_1.flags.filepath({ char: 'r', description: `the CSV file path for writing the ${operation} results` }),
93
+ csvfile: command_1.flags.filepath({
94
+ char: 'f',
95
+ required: true,
96
+ description: `the CSV file path that defines the records to ${operation}`,
97
+ }),
98
+ resultfile: command_1.flags.filepath({
99
+ char: 'r',
100
+ description: `the CSV file path for writing the ${operation} results`,
101
+ }),
88
102
  encoding: csvFlags.encoding,
89
103
  delimiter: csvFlags.delimiter,
90
104
  quote: csvFlags.quote,
@@ -92,19 +106,43 @@ const createBulkCommand = (operation) => {
92
106
  trim: csvFlags.trim,
93
107
  mapping: csvFlags.mapping,
94
108
  converter: csvFlags.converter,
95
- setnull: command_1.flags.boolean({ description: `set blank values as null values during ${operation} operations (default: empty field values are ignored)` }),
96
- convertonly: command_1.flags.boolean({ description: `output converted.csv file and skip ${operation} for debugging` }),
109
+ setnull: command_1.flags.boolean({
110
+ description: `set blank values as null values during ${operation} operations (default: empty field values are ignored)`,
111
+ }),
112
+ convertonly: command_1.flags.boolean({
113
+ description: `output converted.csv file and skip ${operation} for debugging`,
114
+ }),
97
115
  // job settings
98
- concurrencymode: command_1.flags.string({ default: 'Parallel', description: 'the concurrency mode (Parallel or Serial) for the job' }),
99
- assignmentruleid: command_1.flags.string({ description: 'the ID of a specific assignment rule to run for a case or a lead.' }),
100
- batchsize: command_1.flags.integer({ char: 's', min: 1, max: 10000, default: 10000, description: 'the batch size of the job' }),
101
- wait: command_1.flags.integer({ char: 'w', min: 0, description: 'the number of minutes to wait for the command to complete before displaying the results' })
116
+ concurrencymode: command_1.flags.string({
117
+ default: 'Parallel',
118
+ description: 'the concurrency mode (Parallel or Serial) for the job',
119
+ }),
120
+ assignmentruleid: command_1.flags.string({
121
+ description: 'the ID of a specific assignment rule to run for a case or a lead.',
122
+ }),
123
+ batchsize: command_1.flags.integer({
124
+ char: 's',
125
+ min: 1,
126
+ max: 10000,
127
+ default: 10000,
128
+ description: 'the batch size of the job',
129
+ }),
130
+ wait: command_1.flags.integer({
131
+ char: 'w',
132
+ min: 0,
133
+ description: 'the number of minutes to wait for the command to complete before displaying the results',
134
+ }),
102
135
  };
103
136
  const examples = [
104
- `$ sfdx kit:data:bulk:${operation} -o Account -f ./path/to/Account.csv -m ./path/to/mapping.json`
137
+ `$ sfdx kit:data:bulk:${operation} -o Account -f ./path/to/Account.csv -m ./path/to/mapping.json`,
105
138
  ];
106
139
  if (operation === 'upsert') {
107
- config['externalid'] = command_1.flags.string({ char: 'i', required: true, default: 'Id', description: 'the column name of the external ID' });
140
+ config['externalid'] = command_1.flags.string({
141
+ char: 'i',
142
+ required: true,
143
+ default: 'Id',
144
+ description: 'the column name of the external ID',
145
+ });
108
146
  examples.push('$ sfdx kit:data:bulk:upsert -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -i MyExternalId__c -w 10');
109
147
  }
110
148
  else {
@@ -112,9 +150,9 @@ const createBulkCommand = (operation) => {
112
150
  }
113
151
  return _a = class extends command_1.SfdxCommand {
114
152
  async run() {
115
- const { object, csvfile, mapping, converter, encoding, delimiter, quote, skiplines, trim, setnull } = this.flags;
116
- const mappingJson = (mapping) ? (await fs.readJson(mapping)) : undefined;
117
- const script = converter ? this.loadScript(converter) : {};
153
+ const { object, csvfile, mapping, converter, encoding, delimiter, quote, skiplines, trim, setnull, } = this.flags;
154
+ const mappingJson = mapping ? await fs.readJson(mapping) : undefined;
155
+ const script = converter ? utils.loadScript(converter) : {};
118
156
  const fieldTypes = await this.getFieldTypes(object);
119
157
  this.ux.startSpinner('Processing csv');
120
158
  if (script.start)
@@ -128,7 +166,7 @@ const createBulkCommand = (operation) => {
128
166
  setnull,
129
167
  mapping: mappingJson,
130
168
  convert: script.convert,
131
- fieldTypes
169
+ fieldTypes,
132
170
  });
133
171
  if (script.finish) {
134
172
  const result = await script.finish(rows, this);
@@ -148,7 +186,7 @@ const createBulkCommand = (operation) => {
148
186
  concurrencyMode: this.flags.concurrencymode,
149
187
  assignmentRuleId: this.flags.assignmentruleid,
150
188
  batchSize: this.flags.batchsize,
151
- wait: this.flags.wait
189
+ wait: this.flags.wait,
152
190
  });
153
191
  const batchErrors = [];
154
192
  if (this.flags.wait) {
@@ -160,7 +198,7 @@ const createBulkCommand = (operation) => {
160
198
  if (message) {
161
199
  batchErrors.push({ line: i + 2, message, data });
162
200
  }
163
- return Object.assign(Object.assign({}, data), { Id: id, Errors: message });
201
+ return { ...data, Id: id, Errors: message };
164
202
  });
165
203
  if (batchErrors.length) {
166
204
  result.errors = batchErrors;
@@ -183,8 +221,15 @@ const createBulkCommand = (operation) => {
183
221
  }
184
222
  }
185
223
  async parseCsv(input, options) {
186
- const { encoding, delimiter, quote, skiplines, trim, mapping, convert, setnull, fieldTypes } = options !== null && options !== void 0 ? options : {};
187
- return await convert_2.parseCsv(input, { encoding, delimiter, quote, skiplines, trim, mapping, convert: row => {
224
+ const { encoding, delimiter, quote, skiplines, trim, mapping, convert, setnull, fieldTypes, } = options !== null && options !== void 0 ? options : {};
225
+ return await utils.parseCsv(input, {
226
+ encoding,
227
+ delimiter,
228
+ quote,
229
+ skiplines,
230
+ trim,
231
+ mapping,
232
+ convert: (row) => {
188
233
  const result = convert ? convert(row) : row;
189
234
  if (!result)
190
235
  return;
@@ -204,7 +249,8 @@ const createBulkCommand = (operation) => {
204
249
  }
205
250
  }
206
251
  return result;
207
- } });
252
+ },
253
+ });
208
254
  }
209
255
  bulkLoad(conn, sobject, op, rows, options) {
210
256
  return bulkLoad(conn, sobject, op, rows, options);
@@ -212,9 +258,6 @@ const createBulkCommand = (operation) => {
212
258
  saveCsv(file, rows) {
213
259
  csv.writeToPath(file, rows, { headers: true, writeBOM: true });
214
260
  }
215
- loadScript(file) {
216
- return convert_2.loadScript(file);
217
- }
218
261
  async getFieldTypes(sobject) {
219
262
  const conn = this.org.getConnection();
220
263
  const objectInfo = await conn.describe(sobject);
@@ -223,7 +266,7 @@ const createBulkCommand = (operation) => {
223
266
  },
224
267
  _a.description = [
225
268
  `bulk ${operation} records from a CSV file`,
226
- 'For information about CSV file formats, see [Prepare CSV Files](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm) in the Bulk API Developer Guide.'
269
+ 'For information about CSV file formats, see [Prepare CSV Files](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm) in the Bulk API Developer Guide.',
227
270
  ].join('\n'),
228
271
  _a.examples = examples,
229
272
  _a.requiresUsername = true,
package/lib/bulk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":"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"}