@adobe/aio-cli-plugin-app 8.0.1 → 8.1.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/README.md +30 -29
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
- package/src/commands/app/build.js +4 -2
- package/src/commands/app/deploy.js +5 -3
- package/src/commands/app/init.js +41 -26
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ OPTIONS
|
|
|
71
71
|
--version Show version
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
_See code: [src/commands/app/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
74
|
+
_See code: [src/commands/app/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/index.js)_
|
|
75
75
|
|
|
76
76
|
## `aio app:add`
|
|
77
77
|
|
|
@@ -88,7 +88,7 @@ OPTIONS
|
|
|
88
88
|
--version Show version
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
_See code: [src/commands/app/add/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
91
|
+
_See code: [src/commands/app/add/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/add/index.js)_
|
|
92
92
|
|
|
93
93
|
## `aio app:add:action`
|
|
94
94
|
|
|
@@ -112,7 +112,7 @@ ALIASES
|
|
|
112
112
|
$ aio app:add:actions
|
|
113
113
|
```
|
|
114
114
|
|
|
115
|
-
_See code: [src/commands/app/add/action.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
115
|
+
_See code: [src/commands/app/add/action.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/add/action.js)_
|
|
116
116
|
|
|
117
117
|
## `aio app:add:ci`
|
|
118
118
|
|
|
@@ -130,7 +130,7 @@ OPTIONS
|
|
|
130
130
|
--version Show version
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
_See code: [src/commands/app/add/ci.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
133
|
+
_See code: [src/commands/app/add/ci.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/add/ci.js)_
|
|
134
134
|
|
|
135
135
|
## `aio app:add:event`
|
|
136
136
|
|
|
@@ -154,7 +154,7 @@ ALIASES
|
|
|
154
154
|
$ aio app:add:events
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
_See code: [src/commands/app/add/event.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
157
|
+
_See code: [src/commands/app/add/event.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/add/event.js)_
|
|
158
158
|
|
|
159
159
|
## `aio app:add:extension`
|
|
160
160
|
|
|
@@ -179,7 +179,7 @@ ALIASES
|
|
|
179
179
|
$ aio app:add:extensions
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
-
_See code: [src/commands/app/add/extension.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
182
|
+
_See code: [src/commands/app/add/extension.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/add/extension.js)_
|
|
183
183
|
|
|
184
184
|
## `aio app:add:service`
|
|
185
185
|
|
|
@@ -200,7 +200,7 @@ ALIASES
|
|
|
200
200
|
$ aio app:add:services
|
|
201
201
|
```
|
|
202
202
|
|
|
203
|
-
_See code: [src/commands/app/add/service.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
203
|
+
_See code: [src/commands/app/add/service.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/add/service.js)_
|
|
204
204
|
|
|
205
205
|
## `aio app:add:web-assets`
|
|
206
206
|
|
|
@@ -221,7 +221,7 @@ OPTIONS
|
|
|
221
221
|
--version Show version
|
|
222
222
|
```
|
|
223
223
|
|
|
224
|
-
_See code: [src/commands/app/add/web-assets.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
224
|
+
_See code: [src/commands/app/add/web-assets.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/add/web-assets.js)_
|
|
225
225
|
|
|
226
226
|
## `aio app:build`
|
|
227
227
|
|
|
@@ -264,7 +264,7 @@ DESCRIPTION
|
|
|
264
264
|
This will always force a rebuild unless --no-force-build is set.
|
|
265
265
|
```
|
|
266
266
|
|
|
267
|
-
_See code: [src/commands/app/build.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
267
|
+
_See code: [src/commands/app/build.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/build.js)_
|
|
268
268
|
|
|
269
269
|
## `aio app:create [PATH]`
|
|
270
270
|
|
|
@@ -286,7 +286,7 @@ OPTIONS
|
|
|
286
286
|
--version Show version
|
|
287
287
|
```
|
|
288
288
|
|
|
289
|
-
_See code: [src/commands/app/create.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
289
|
+
_See code: [src/commands/app/create.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/create.js)_
|
|
290
290
|
|
|
291
291
|
## `aio app:delete`
|
|
292
292
|
|
|
@@ -303,7 +303,7 @@ OPTIONS
|
|
|
303
303
|
--version Show version
|
|
304
304
|
```
|
|
305
305
|
|
|
306
|
-
_See code: [src/commands/app/delete/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
306
|
+
_See code: [src/commands/app/delete/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/delete/index.js)_
|
|
307
307
|
|
|
308
308
|
## `aio app:delete:action [ACTION-NAME]`
|
|
309
309
|
|
|
@@ -328,7 +328,7 @@ ALIASES
|
|
|
328
328
|
$ aio app:delete:actions
|
|
329
329
|
```
|
|
330
330
|
|
|
331
|
-
_See code: [src/commands/app/delete/action.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
331
|
+
_See code: [src/commands/app/delete/action.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/delete/action.js)_
|
|
332
332
|
|
|
333
333
|
## `aio app:delete:ci`
|
|
334
334
|
|
|
@@ -347,7 +347,7 @@ OPTIONS
|
|
|
347
347
|
--version Show version
|
|
348
348
|
```
|
|
349
349
|
|
|
350
|
-
_See code: [src/commands/app/delete/ci.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
350
|
+
_See code: [src/commands/app/delete/ci.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/delete/ci.js)_
|
|
351
351
|
|
|
352
352
|
## `aio app:delete:event [EVENT-ACTION-NAME]`
|
|
353
353
|
|
|
@@ -372,7 +372,7 @@ ALIASES
|
|
|
372
372
|
$ aio app:delete:events
|
|
373
373
|
```
|
|
374
374
|
|
|
375
|
-
_See code: [src/commands/app/delete/event.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
375
|
+
_See code: [src/commands/app/delete/event.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/delete/event.js)_
|
|
376
376
|
|
|
377
377
|
## `aio app:delete:extension`
|
|
378
378
|
|
|
@@ -397,7 +397,7 @@ ALIASES
|
|
|
397
397
|
$ aio app:delete:extensions
|
|
398
398
|
```
|
|
399
399
|
|
|
400
|
-
_See code: [src/commands/app/delete/extension.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
400
|
+
_See code: [src/commands/app/delete/extension.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/delete/extension.js)_
|
|
401
401
|
|
|
402
402
|
## `aio app:delete:service`
|
|
403
403
|
|
|
@@ -418,7 +418,7 @@ ALIASES
|
|
|
418
418
|
$ aio app:delete:services
|
|
419
419
|
```
|
|
420
420
|
|
|
421
|
-
_See code: [src/commands/app/delete/service.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
421
|
+
_See code: [src/commands/app/delete/service.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/delete/service.js)_
|
|
422
422
|
|
|
423
423
|
## `aio app:delete:web-assets`
|
|
424
424
|
|
|
@@ -437,7 +437,7 @@ OPTIONS
|
|
|
437
437
|
--version Show version
|
|
438
438
|
```
|
|
439
439
|
|
|
440
|
-
_See code: [src/commands/app/delete/web-assets.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
440
|
+
_See code: [src/commands/app/delete/web-assets.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/delete/web-assets.js)_
|
|
441
441
|
|
|
442
442
|
## `aio app:deploy`
|
|
443
443
|
|
|
@@ -493,7 +493,7 @@ DESCRIPTION
|
|
|
493
493
|
This will always force a rebuild unless --no-force-build is set.
|
|
494
494
|
```
|
|
495
495
|
|
|
496
|
-
_See code: [src/commands/app/deploy.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
496
|
+
_See code: [src/commands/app/deploy.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/deploy.js)_
|
|
497
497
|
|
|
498
498
|
## `aio app:get-url [ACTION]`
|
|
499
499
|
|
|
@@ -514,7 +514,7 @@ OPTIONS
|
|
|
514
514
|
--version Show version
|
|
515
515
|
```
|
|
516
516
|
|
|
517
|
-
_See code: [src/commands/app/get-url.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
517
|
+
_See code: [src/commands/app/get-url.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/get-url.js)_
|
|
518
518
|
|
|
519
519
|
## `aio app:info`
|
|
520
520
|
|
|
@@ -536,7 +536,7 @@ OPTIONS
|
|
|
536
536
|
--version Show version
|
|
537
537
|
```
|
|
538
538
|
|
|
539
|
-
_See code: [src/commands/app/info.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
539
|
+
_See code: [src/commands/app/info.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/info.js)_
|
|
540
540
|
|
|
541
541
|
## `aio app:init [PATH]`
|
|
542
542
|
|
|
@@ -553,6 +553,7 @@ ARGUMENTS
|
|
|
553
553
|
PATH [default: .] Path to the app directory
|
|
554
554
|
|
|
555
555
|
OPTIONS
|
|
556
|
+
-e, --extension=extension Extension point(s) to implement
|
|
556
557
|
-i, --import=import Import an Adobe I/O Developer Console configuration file
|
|
557
558
|
-s, --skip-install Skip npm installation after files are created
|
|
558
559
|
-v, --verbose Verbose output
|
|
@@ -569,7 +570,7 @@ OPTIONS
|
|
|
569
570
|
--version Show version
|
|
570
571
|
```
|
|
571
572
|
|
|
572
|
-
_See code: [src/commands/app/init.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
573
|
+
_See code: [src/commands/app/init.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/init.js)_
|
|
573
574
|
|
|
574
575
|
## `aio app:list`
|
|
575
576
|
|
|
@@ -586,7 +587,7 @@ OPTIONS
|
|
|
586
587
|
--version Show version
|
|
587
588
|
```
|
|
588
589
|
|
|
589
|
-
_See code: [src/commands/app/list/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
590
|
+
_See code: [src/commands/app/list/index.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/list/index.js)_
|
|
590
591
|
|
|
591
592
|
## `aio app:list:extension`
|
|
592
593
|
|
|
@@ -610,7 +611,7 @@ ALIASES
|
|
|
610
611
|
$ aio app:list:extensions
|
|
611
612
|
```
|
|
612
613
|
|
|
613
|
-
_See code: [src/commands/app/list/extension.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
614
|
+
_See code: [src/commands/app/list/extension.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/list/extension.js)_
|
|
614
615
|
|
|
615
616
|
## `aio app:list:extension-points`
|
|
616
617
|
|
|
@@ -634,7 +635,7 @@ ALIASES
|
|
|
634
635
|
$ aio app:list:extension-points
|
|
635
636
|
```
|
|
636
637
|
|
|
637
|
-
_See code: [src/commands/app/list/extension-points.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
638
|
+
_See code: [src/commands/app/list/extension-points.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/list/extension-points.js)_
|
|
638
639
|
|
|
639
640
|
## `aio app:logs`
|
|
640
641
|
|
|
@@ -658,7 +659,7 @@ OPTIONS
|
|
|
658
659
|
--version Show version
|
|
659
660
|
```
|
|
660
661
|
|
|
661
|
-
_See code: [src/commands/app/logs.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
662
|
+
_See code: [src/commands/app/logs.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/logs.js)_
|
|
662
663
|
|
|
663
664
|
## `aio app:run`
|
|
664
665
|
|
|
@@ -681,7 +682,7 @@ OPTIONS
|
|
|
681
682
|
--version Show version
|
|
682
683
|
```
|
|
683
684
|
|
|
684
|
-
_See code: [src/commands/app/run.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
685
|
+
_See code: [src/commands/app/run.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/run.js)_
|
|
685
686
|
|
|
686
687
|
## `aio app:test`
|
|
687
688
|
|
|
@@ -715,7 +716,7 @@ DESCRIPTION
|
|
|
715
716
|
If the extension has a hook called 'test' in its 'ext.config.yaml', the script specified will be run instead.
|
|
716
717
|
```
|
|
717
718
|
|
|
718
|
-
_See code: [src/commands/app/test.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
719
|
+
_See code: [src/commands/app/test.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/test.js)_
|
|
719
720
|
|
|
720
721
|
## `aio app:undeploy`
|
|
721
722
|
|
|
@@ -741,7 +742,7 @@ OPTIONS
|
|
|
741
742
|
--[no-]web-assets [default: true] Undeploy web-assets if any
|
|
742
743
|
```
|
|
743
744
|
|
|
744
|
-
_See code: [src/commands/app/undeploy.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
745
|
+
_See code: [src/commands/app/undeploy.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/undeploy.js)_
|
|
745
746
|
|
|
746
747
|
## `aio app:use [CONFIG_FILE_PATH]`
|
|
747
748
|
|
|
@@ -801,5 +802,5 @@ DESCRIPTION
|
|
|
801
802
|
page in https://console.adobe.io
|
|
802
803
|
```
|
|
803
804
|
|
|
804
|
-
_See code: [src/commands/app/use.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.0
|
|
805
|
+
_See code: [src/commands/app/use.js](https://github.com/adobe/aio-cli-plugin-app/blob/8.1.0/src/commands/app/use.js)_
|
|
805
806
|
<!-- commandsstop -->
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"8.0.1","commands":{"app:build":{"id":"app:build","description":"Build an Adobe I/O App\n\nThis will always force a rebuild unless --no-force-build is set.\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"skip-static":{"name":"skip-static","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-web-assets":{"name":"skip-web-assets","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Build actions if any","allowNo":true},"action":{"name":"action","type":"option","char":"a","description":"Build only a specific action, the flags can be specified multiple times, this will set --no-publish"},"web-assets":{"name":"web-assets","type":"boolean","description":"[default: true] Build web-assets if any","allowNo":true},"force-build":{"name":"force-build","type":"boolean","description":"[default: true] Force a build even if one already exists","allowNo":true},"content-hash":{"name":"content-hash","type":"boolean","description":"[default: true] Enable content hashing in browser code","allowNo":true},"extension":{"name":"extension","type":"option","char":"e","description":"Build only a specific extension point, the flags can be specified multiple times"}},"args":[]},"app:create":{"id":"app:create","description":"Create a new Adobe I/O App with default parameters\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"import":{"name":"import","type":"option","char":"i","description":"Import an Adobe I/O Developer Console configuration file"}},"args":[{"name":"path","description":"Path to the app directory","default":"."}]},"app:deploy":{"id":"app:deploy","description":"Build and deploy an Adobe I/O App\n\nThis will always force a rebuild unless --no-force-build is set.\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"skip-build":{"name":"skip-build","type":"boolean","description":"[deprecated] Please use --no-build","allowNo":false},"skip-deploy":{"name":"skip-deploy","type":"boolean","description":"[deprecated] Please use 'aio app build'","allowNo":false},"skip-static":{"name":"skip-static","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-web-assets":{"name":"skip-web-assets","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Deploy actions if any","allowNo":true},"action":{"name":"action","type":"option","char":"a","description":"Deploy only a specific action, the flags can be specified multiple times, this will set --no-publish"},"web-assets":{"name":"web-assets","type":"boolean","description":"[default: true] Deploy web-assets if any","allowNo":true},"build":{"name":"build","type":"boolean","description":"[default: true] Run the build phase before deployment","allowNo":true},"force-build":{"name":"force-build","type":"boolean","description":"[default: true] Force a build even if one already exists","allowNo":true},"content-hash":{"name":"content-hash","type":"boolean","description":"[default: true] Enable content hashing in browser code","allowNo":true},"open":{"name":"open","type":"boolean","description":"Open the default web browser after a successful deploy, only valid if your app has a front-end","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Deploy only a specific extension, the flags can be specified multiple times"},"publish":{"name":"publish","type":"boolean","description":"[default: true] Publish extension(s) to Exchange","allowNo":true},"force-publish":{"name":"force-publish","type":"boolean","description":"Force publish extension(s) to Exchange, delete previously published extension points","allowNo":false}},"args":[]},"app:get-url":{"id":"app:get-url","description":"Get action URLs","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"cdn":{"name":"cdn","type":"boolean","description":"Display CDN based action URLs","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"hson":{"name":"hson","type":"boolean","char":"h","description":"Output human readable json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false}},"args":[{"name":"action"}]},"app":{"id":"app","description":"Create, run, test, and deploy Adobe I/O Apps","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:info":{"id":"app:info","description":"Display settings/configuration in use by an Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"hson":{"name":"hson","type":"boolean","char":"h","description":"Output human readable json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false},"mask":{"name":"mask","type":"boolean","description":"Hide known private info","allowNo":true}},"args":[]},"app:init":{"id":"app:init","description":"Create a new Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","char":"s","description":"Skip npm installation after files are created","allowNo":false},"import":{"name":"import","type":"option","char":"i","description":"Import an Adobe I/O Developer Console configuration file"},"login":{"name":"login","type":"boolean","description":"Login using your Adobe ID for interacting with Adobe I/O Developer Console","allowNo":true},"extensions":{"name":"extensions","type":"boolean","description":"Use --no-extensions to create a blank application that does not integrate with Exchange","allowNo":true},"workspace":{"name":"workspace","type":"option","char":"w","description":"Specify the Adobe Developer Console Workspace to init from, defaults to Stage","default":"Stage"}},"args":[{"name":"path","description":"Path to the app directory","default":"."}]},"app:logs":{"id":"app:logs","description":"Fetch logs for an Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"limit":{"name":"limit","type":"option","char":"l","description":"Limit number of activations to fetch logs from ( 1-50 )","default":1},"action":{"name":"action","type":"option","char":"a","description":"Fetch logs for a specific action"},"strip":{"name":"strip","type":"boolean","char":"r","description":"strip timestamp information and output first line only","allowNo":false},"tail":{"name":"tail","type":"boolean","char":"t","description":"Fetch logs continuously","allowNo":false},"watch":{"name":"watch","type":"boolean","char":"w","description":"Fetch logs continuously","allowNo":false},"poll":{"name":"poll","type":"boolean","char":"o","description":"Fetch logs continuously","allowNo":false}},"args":[]},"app:run":{"id":"app:run","description":"Run an Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"local":{"name":"local","type":"boolean","description":"Run/debug actions locally ( requires Docker running )","allowNo":false},"serve":{"name":"serve","type":"boolean","description":"[default: true] Start frontend server (experimental)","allowNo":true},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Run actions, defaults to true, to skip actions use --no-actions","allowNo":true},"open":{"name":"open","type":"boolean","description":"Open the default web browser after a successful run, only valid if your app has a front-end","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Run only a specific extension, this flag can only be specified once"}},"args":[]},"app:test":{"id":"app:test","description":"Run tests for an Adobe I/O App\nIf no flags are specified, by default only unit-tests are run.\n\nFor the --action flag, it tries a substring search on the 'package-name/action-name' pair for an action.\nFor the --extension flag, it tries a substring search on the 'extension-name' only.\nIf the extension has a hook called 'test' in its 'ext.config.yaml', the script specified will be run instead.\n\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"extension":{"name":"extension","type":"option","char":"e","description":"the extension(s) to test"},"action":{"name":"action","type":"option","char":"a","description":"the action(s) to test"},"all":{"name":"all","type":"boolean","description":"run both unit and e2e tests","allowNo":false},"e2e":{"name":"e2e","type":"boolean","description":"run e2e tests","allowNo":false},"unit":{"name":"unit","type":"boolean","description":"run unit tests","allowNo":false}},"args":[]},"app:undeploy":{"id":"app:undeploy","description":"Undeploys an Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"skip-static":{"name":"skip-static","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-web-assets":{"name":"skip-web-assets","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Undeploy actions if any","allowNo":true},"web-assets":{"name":"web-assets","type":"boolean","description":"[default: true] Undeploy web-assets if any","allowNo":true},"extension":{"name":"extension","type":"option","char":"e","description":"Undeploy only a specific extension, the flags can be specified multiple times"},"unpublish":{"name":"unpublish","type":"boolean","description":"[default: true] Unpublish selected extension(s) from Exchange","allowNo":true},"force-unpublish":{"name":"force-unpublish","type":"boolean","description":"Force unpublish extension(s) from Exchange, will delete all extension points","allowNo":false}},"args":[]},"app:use":{"id":"app:use","description":"Import an Adobe Developer Console configuration file.\n\nIf the optional configuration file is not set, this command will retrieve the console org, project, and workspace settings from the global config.\n\nTo set these global config values, see the help text for 'aio console --help'.\n\nTo download the configuration file for your project, select the 'Download' button in the toolbar of your project's page in https://console.adobe.io\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrite any .aio and .env files during import of the Adobe Developer Console configuration file","allowNo":false},"merge":{"name":"merge","type":"boolean","description":"Merge any .aio and .env files during import of the Adobe Developer Console configuration file","allowNo":false},"global":{"name":"global","type":"boolean","char":"g","description":"Use the global Adobe Developer Console Org / Project / Workspace configuration, which can be set via `aio console` commands","allowNo":false},"workspace":{"name":"workspace","type":"option","char":"w","description":"Specify the Adobe Developer Console Workspace name to import the configuration from","default":""},"workspace-name":{"name":"workspace-name","type":"option","char":"w","description":"[DEPRECATED]: please use --workspace instead","default":""},"no-service-sync":{"name":"no-service-sync","type":"boolean","description":"Skip the Service sync prompt and do not attach current Service subscriptions to the new Workspace","allowNo":false},"confirm-service-sync":{"name":"confirm-service-sync","type":"boolean","description":"Skip the Service sync prompt and overwrite Service subscriptions in the new Workspace with current subscriptions","allowNo":false},"no-input":{"name":"no-input","type":"boolean","description":"Skip user prompts by setting --no-service-sync and --merge. Requires one of config_file_path or --global or --workspace","allowNo":false}},"args":[{"name":"config_file_path","description":"path to an Adobe I/O Developer Console configuration file","required":false}]},"app:add:action":{"id":"app:add:action","description":"Add new actions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:actions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Add actions to a specific extension"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:ci":{"id":"app:add:ci","description":"Add CI files\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:event":{"id":"app:add:event","description":"Add a new Adobe I/O Events action\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:events"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Add actions to a specific extension"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:extension":{"id":"app:add:extension","description":"Add new extensions or a standalone application to the project\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:ext","app:add:extensions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Specify extensions to add, skips selection prompt"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add":{"id":"app:add","description":"Add a new component to an existing Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:service":{"id":"app:add:service","description":"Subscribe to Services in the current Workspace\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:services"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:web-assets":{"id":"app:add:web-assets","description":"Add web assets support\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Add web-assets to a specific extension"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:action":{"id":"app:delete:action","description":"Delete existing actions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:actions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[{"name":"action-name","description":"Action `pkg/name` to delete, you can specify multiple actions via a comma separated list","required":false,"default":""}]},"app:delete:ci":{"id":"app:delete:ci","description":"Delete existing CI files\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:event":{"id":"app:delete:event","description":"Delete existing Adobe I/O Events actions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:events"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[{"name":"event-action-name","description":"Action `pkg/name` to delete, you can specify multiple actions via a comma separated list","required":false}]},"app:delete:extension":{"id":"app:delete:extension","description":"Add new extensions or a standalone application to the project\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:ext","app:delete:extensions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Specify extensions to delete, skips selection prompt"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete":{"id":"app:delete","description":"Delete a component from an existing Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:service":{"id":"app:delete:service","description":"Delete Services in the current Workspace\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:services"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:web-assets":{"id":"app:delete:web-assets","description":"Delete existing web assets\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:list:extension-points":{"id":"app:list:extension-points","description":"List all extension points for the selected org\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:list:ext-points","app:list:extension-points"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false}},"args":[]},"app:list:extension":{"id":"app:list:extension","description":"List implemented extensions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:list:ext","app:list:extensions"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false}},"args":[]},"app:list":{"id":"app:list","description":"List components for Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]}}}
|
|
1
|
+
{"version":"8.1.0","commands":{"app:build":{"id":"app:build","description":"Build an Adobe I/O App\n\nThis will always force a rebuild unless --no-force-build is set.\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"skip-static":{"name":"skip-static","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-web-assets":{"name":"skip-web-assets","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Build actions if any","allowNo":true},"action":{"name":"action","type":"option","char":"a","description":"Build only a specific action, the flags can be specified multiple times, this will set --no-publish"},"web-assets":{"name":"web-assets","type":"boolean","description":"[default: true] Build web-assets if any","allowNo":true},"force-build":{"name":"force-build","type":"boolean","description":"[default: true] Force a build even if one already exists","allowNo":true},"content-hash":{"name":"content-hash","type":"boolean","description":"[default: true] Enable content hashing in browser code","allowNo":true},"extension":{"name":"extension","type":"option","char":"e","description":"Build only a specific extension point, the flags can be specified multiple times"}},"args":[]},"app:create":{"id":"app:create","description":"Create a new Adobe I/O App with default parameters\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"import":{"name":"import","type":"option","char":"i","description":"Import an Adobe I/O Developer Console configuration file"}},"args":[{"name":"path","description":"Path to the app directory","default":"."}]},"app:deploy":{"id":"app:deploy","description":"Build and deploy an Adobe I/O App\n\nThis will always force a rebuild unless --no-force-build is set.\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"skip-build":{"name":"skip-build","type":"boolean","description":"[deprecated] Please use --no-build","allowNo":false},"skip-deploy":{"name":"skip-deploy","type":"boolean","description":"[deprecated] Please use 'aio app build'","allowNo":false},"skip-static":{"name":"skip-static","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-web-assets":{"name":"skip-web-assets","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Deploy actions if any","allowNo":true},"action":{"name":"action","type":"option","char":"a","description":"Deploy only a specific action, the flags can be specified multiple times, this will set --no-publish"},"web-assets":{"name":"web-assets","type":"boolean","description":"[default: true] Deploy web-assets if any","allowNo":true},"build":{"name":"build","type":"boolean","description":"[default: true] Run the build phase before deployment","allowNo":true},"force-build":{"name":"force-build","type":"boolean","description":"[default: true] Force a build even if one already exists","allowNo":true},"content-hash":{"name":"content-hash","type":"boolean","description":"[default: true] Enable content hashing in browser code","allowNo":true},"open":{"name":"open","type":"boolean","description":"Open the default web browser after a successful deploy, only valid if your app has a front-end","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Deploy only a specific extension, the flags can be specified multiple times"},"publish":{"name":"publish","type":"boolean","description":"[default: true] Publish extension(s) to Exchange","allowNo":true},"force-publish":{"name":"force-publish","type":"boolean","description":"Force publish extension(s) to Exchange, delete previously published extension points","allowNo":false}},"args":[]},"app:get-url":{"id":"app:get-url","description":"Get action URLs","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"cdn":{"name":"cdn","type":"boolean","description":"Display CDN based action URLs","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"hson":{"name":"hson","type":"boolean","char":"h","description":"Output human readable json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false}},"args":[{"name":"action"}]},"app":{"id":"app","description":"Create, run, test, and deploy Adobe I/O Apps","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:info":{"id":"app:info","description":"Display settings/configuration in use by an Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"hson":{"name":"hson","type":"boolean","char":"h","description":"Output human readable json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false},"mask":{"name":"mask","type":"boolean","description":"Hide known private info","allowNo":true}},"args":[]},"app:init":{"id":"app:init","description":"Create a new Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","char":"s","description":"Skip npm installation after files are created","allowNo":false},"import":{"name":"import","type":"option","char":"i","description":"Import an Adobe I/O Developer Console configuration file"},"login":{"name":"login","type":"boolean","description":"Login using your Adobe ID for interacting with Adobe I/O Developer Console","allowNo":true},"extensions":{"name":"extensions","type":"boolean","description":"Use --no-extensions to create a blank application that does not integrate with Exchange","allowNo":true},"extension":{"name":"extension","type":"option","char":"e","description":"Extension point(s) to implement"},"workspace":{"name":"workspace","type":"option","char":"w","description":"Specify the Adobe Developer Console Workspace to init from, defaults to Stage","default":"Stage"}},"args":[{"name":"path","description":"Path to the app directory","default":"."}]},"app:logs":{"id":"app:logs","description":"Fetch logs for an Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"limit":{"name":"limit","type":"option","char":"l","description":"Limit number of activations to fetch logs from ( 1-50 )","default":1},"action":{"name":"action","type":"option","char":"a","description":"Fetch logs for a specific action"},"strip":{"name":"strip","type":"boolean","char":"r","description":"strip timestamp information and output first line only","allowNo":false},"tail":{"name":"tail","type":"boolean","char":"t","description":"Fetch logs continuously","allowNo":false},"watch":{"name":"watch","type":"boolean","char":"w","description":"Fetch logs continuously","allowNo":false},"poll":{"name":"poll","type":"boolean","char":"o","description":"Fetch logs continuously","allowNo":false}},"args":[]},"app:run":{"id":"app:run","description":"Run an Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"local":{"name":"local","type":"boolean","description":"Run/debug actions locally ( requires Docker running )","allowNo":false},"serve":{"name":"serve","type":"boolean","description":"[default: true] Start frontend server (experimental)","allowNo":true},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Run actions, defaults to true, to skip actions use --no-actions","allowNo":true},"open":{"name":"open","type":"boolean","description":"Open the default web browser after a successful run, only valid if your app has a front-end","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Run only a specific extension, this flag can only be specified once"}},"args":[]},"app:test":{"id":"app:test","description":"Run tests for an Adobe I/O App\nIf no flags are specified, by default only unit-tests are run.\n\nFor the --action flag, it tries a substring search on the 'package-name/action-name' pair for an action.\nFor the --extension flag, it tries a substring search on the 'extension-name' only.\nIf the extension has a hook called 'test' in its 'ext.config.yaml', the script specified will be run instead.\n\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"extension":{"name":"extension","type":"option","char":"e","description":"the extension(s) to test"},"action":{"name":"action","type":"option","char":"a","description":"the action(s) to test"},"all":{"name":"all","type":"boolean","description":"run both unit and e2e tests","allowNo":false},"e2e":{"name":"e2e","type":"boolean","description":"run e2e tests","allowNo":false},"unit":{"name":"unit","type":"boolean","description":"run unit tests","allowNo":false}},"args":[]},"app:undeploy":{"id":"app:undeploy","description":"Undeploys an Adobe I/O App\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"skip-static":{"name":"skip-static","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-web-assets":{"name":"skip-web-assets","type":"boolean","description":"[deprecated] Please use --no-web-assets","allowNo":false},"skip-actions":{"name":"skip-actions","type":"boolean","description":"[deprecated] Please use --no-actions","allowNo":false},"actions":{"name":"actions","type":"boolean","description":"[default: true] Undeploy actions if any","allowNo":true},"web-assets":{"name":"web-assets","type":"boolean","description":"[default: true] Undeploy web-assets if any","allowNo":true},"extension":{"name":"extension","type":"option","char":"e","description":"Undeploy only a specific extension, the flags can be specified multiple times"},"unpublish":{"name":"unpublish","type":"boolean","description":"[default: true] Unpublish selected extension(s) from Exchange","allowNo":true},"force-unpublish":{"name":"force-unpublish","type":"boolean","description":"Force unpublish extension(s) from Exchange, will delete all extension points","allowNo":false}},"args":[]},"app:use":{"id":"app:use","description":"Import an Adobe Developer Console configuration file.\n\nIf the optional configuration file is not set, this command will retrieve the console org, project, and workspace settings from the global config.\n\nTo set these global config values, see the help text for 'aio console --help'.\n\nTo download the configuration file for your project, select the 'Download' button in the toolbar of your project's page in https://console.adobe.io\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrite any .aio and .env files during import of the Adobe Developer Console configuration file","allowNo":false},"merge":{"name":"merge","type":"boolean","description":"Merge any .aio and .env files during import of the Adobe Developer Console configuration file","allowNo":false},"global":{"name":"global","type":"boolean","char":"g","description":"Use the global Adobe Developer Console Org / Project / Workspace configuration, which can be set via `aio console` commands","allowNo":false},"workspace":{"name":"workspace","type":"option","char":"w","description":"Specify the Adobe Developer Console Workspace name to import the configuration from","default":""},"workspace-name":{"name":"workspace-name","type":"option","char":"w","description":"[DEPRECATED]: please use --workspace instead","default":""},"no-service-sync":{"name":"no-service-sync","type":"boolean","description":"Skip the Service sync prompt and do not attach current Service subscriptions to the new Workspace","allowNo":false},"confirm-service-sync":{"name":"confirm-service-sync","type":"boolean","description":"Skip the Service sync prompt and overwrite Service subscriptions in the new Workspace with current subscriptions","allowNo":false},"no-input":{"name":"no-input","type":"boolean","description":"Skip user prompts by setting --no-service-sync and --merge. Requires one of config_file_path or --global or --workspace","allowNo":false}},"args":[{"name":"config_file_path","description":"path to an Adobe I/O Developer Console configuration file","required":false}]},"app:add:action":{"id":"app:add:action","description":"Add new actions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:actions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Add actions to a specific extension"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:ci":{"id":"app:add:ci","description":"Add CI files\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:event":{"id":"app:add:event","description":"Add a new Adobe I/O Events action\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:events"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Add actions to a specific extension"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:extension":{"id":"app:add:extension","description":"Add new extensions or a standalone application to the project\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:ext","app:add:extensions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Specify extensions to add, skips selection prompt"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add":{"id":"app:add","description":"Add a new component to an existing Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:service":{"id":"app:add:service","description":"Subscribe to Services in the current Workspace\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:add:services"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:add:web-assets":{"id":"app:add:web-assets","description":"Add web assets support\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Add web-assets to a specific extension"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:action":{"id":"app:delete:action","description":"Delete existing actions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:actions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[{"name":"action-name","description":"Action `pkg/name` to delete, you can specify multiple actions via a comma separated list","required":false,"default":""}]},"app:delete:ci":{"id":"app:delete:ci","description":"Delete existing CI files\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:event":{"id":"app:delete:event","description":"Delete existing Adobe I/O Events actions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:events"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[{"name":"event-action-name","description":"Action `pkg/name` to delete, you can specify multiple actions via a comma separated list","required":false}]},"app:delete:extension":{"id":"app:delete:extension","description":"Add new extensions or a standalone application to the project\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:ext","app:delete:extensions"],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"skip-install":{"name":"skip-install","type":"boolean","description":"Skip npm installation after files are created","allowNo":false},"extension":{"name":"extension","type":"option","char":"e","description":"Specify extensions to delete, skips selection prompt"},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete":{"id":"app:delete","description":"Delete a component from an existing Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:service":{"id":"app:delete:service","description":"Delete Services in the current Workspace\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:delete:services"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:delete:web-assets":{"id":"app:delete:web-assets","description":"Delete existing web assets\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Skip questions, and use all default values","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]},"app:list:extension-points":{"id":"app:list:extension-points","description":"List all extension points for the selected org\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:list:ext-points","app:list:extension-points"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false}},"args":[]},"app:list:extension":{"id":"app:list:extension","description":"List implemented extensions\n","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":["app:list:ext","app:list:extensions"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"Output json","allowNo":false},"yml":{"name":"yml","type":"boolean","char":"y","description":"Output yml","allowNo":false}},"args":[]},"app:list":{"id":"app:list","description":"List components for Adobe I/O App","pluginName":"@adobe/aio-cli-plugin-app","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"version":{"name":"version","type":"boolean","description":"Show version","allowNo":false}},"args":[]}}}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/aio-cli-plugin-app",
|
|
3
3
|
"description": "Create, Build and Deploy Adobe I/O Applications",
|
|
4
|
-
"version": "8.0
|
|
4
|
+
"version": "8.1.0",
|
|
5
5
|
"author": "Adobe Inc.",
|
|
6
6
|
"bugs": "https://github.com/adobe/aio-cli-plugin-app/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"serve-static": "^1.14.1",
|
|
40
40
|
"upath": "^1.2.0",
|
|
41
41
|
"which": "^2.0.1",
|
|
42
|
-
"yeoman-environment": "^2.
|
|
42
|
+
"yeoman-environment": "^3.2.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@adobe/eslint-config-aio-lib-config": "^1.3.0",
|
|
@@ -107,7 +107,9 @@ class Build extends BaseCommand {
|
|
|
107
107
|
spinner.start('Building web assets')
|
|
108
108
|
try {
|
|
109
109
|
const script = await runScript(config.hooks['build-static'])
|
|
110
|
-
if (
|
|
110
|
+
if (script) {
|
|
111
|
+
spinner.fail(chalk.green(`build-static skipped by hook '${name}'`))
|
|
112
|
+
} else {
|
|
111
113
|
const entryFile = config.web.src + '/index.html'
|
|
112
114
|
const bundleOptions = {
|
|
113
115
|
shouldDisableCache: true,
|
|
@@ -117,8 +119,8 @@ class Build extends BaseCommand {
|
|
|
117
119
|
}
|
|
118
120
|
const bundler = await bundle(entryFile, config.web.distProd, bundleOptions, onProgress)
|
|
119
121
|
await bundler.run()
|
|
122
|
+
spinner.succeed(chalk.green(`Building web assets for '${name}'`))
|
|
120
123
|
}
|
|
121
|
-
spinner.succeed(chalk.green(`Building web assets for '${name}'`))
|
|
122
124
|
} catch (err) {
|
|
123
125
|
spinner.fail(chalk.green(`Building web assets for '${name}'`))
|
|
124
126
|
throw err
|
|
@@ -127,7 +127,7 @@ class Deploy extends BuildCommand {
|
|
|
127
127
|
spinner.succeed(chalk.green(`Deployed ${deployedRuntimeEntities.actions.length} action(s) for '${name}'`))
|
|
128
128
|
} else {
|
|
129
129
|
if (script) {
|
|
130
|
-
spinner.fail(chalk.green(`
|
|
130
|
+
spinner.fail(chalk.green(`deploy-actions skipped by hook '${name}'`))
|
|
131
131
|
} else {
|
|
132
132
|
spinner.fail(chalk.green(`No actions deployed for '${name}'`))
|
|
133
133
|
}
|
|
@@ -147,10 +147,12 @@ class Deploy extends BuildCommand {
|
|
|
147
147
|
spinner.start(message)
|
|
148
148
|
try {
|
|
149
149
|
const script = await runScript(config.hooks['deploy-static'])
|
|
150
|
-
if (
|
|
150
|
+
if (script) {
|
|
151
|
+
spinner.fail(chalk.green(`deploy-static skipped by hook '${name}'`))
|
|
152
|
+
} else {
|
|
151
153
|
deployedFrontendUrl = await webLib.deployWeb(config, onProgress)
|
|
154
|
+
spinner.succeed(chalk.green(message))
|
|
152
155
|
}
|
|
153
|
-
spinner.succeed(chalk.green(message))
|
|
154
156
|
} catch (err) {
|
|
155
157
|
spinner.fail(chalk.green(message))
|
|
156
158
|
throw err
|
package/src/commands/app/init.js
CHANGED
|
@@ -135,32 +135,37 @@ class InitCommand extends BaseCommand {
|
|
|
135
135
|
async selectExtensionPoints (flags, orgSupportedServices = null) {
|
|
136
136
|
if (!flags.extensions) {
|
|
137
137
|
return [implPromptChoices.find(i => i.value.name === 'application').value]
|
|
138
|
+
} else if (flags.extension) {
|
|
139
|
+
const extList = implPromptChoices.filter(i => flags.extension.indexOf(i.value.name) > -1)
|
|
140
|
+
.map(i => i.value)
|
|
141
|
+
if (extList.length < 1) {
|
|
142
|
+
throw new Error(`--extension=${flags.extension} not found.`)
|
|
143
|
+
}
|
|
144
|
+
return extList
|
|
145
|
+
} else {
|
|
146
|
+
const choices = cloneDeep(implPromptChoices).filter(i => i.value.name !== 'application')
|
|
147
|
+
|
|
148
|
+
// disable extensions that lack required services
|
|
149
|
+
if (orgSupportedServices) {
|
|
150
|
+
const supportedServiceCodes = new Set(orgSupportedServices.map(s => s.code))
|
|
151
|
+
// filter choices
|
|
152
|
+
choices.forEach(c => {
|
|
153
|
+
const missingServices = c.value.requiredServices.filter(s => !supportedServiceCodes.has(s))
|
|
154
|
+
if (missingServices.length > 0) {
|
|
155
|
+
c.disabled = true
|
|
156
|
+
c.name = `${c.name}: missing service(s) in Org: '${missingServices}'`
|
|
157
|
+
}
|
|
158
|
+
})
|
|
159
|
+
}
|
|
160
|
+
const answers = await this.prompt([{
|
|
161
|
+
type: 'checkbox',
|
|
162
|
+
name: 'res',
|
|
163
|
+
message: 'Which extension point(s) do you wish to implement ?',
|
|
164
|
+
choices,
|
|
165
|
+
validate: atLeastOne
|
|
166
|
+
}])
|
|
167
|
+
return answers.res
|
|
138
168
|
}
|
|
139
|
-
|
|
140
|
-
const choices = cloneDeep(implPromptChoices).filter(i => i.value.name !== 'application')
|
|
141
|
-
|
|
142
|
-
// disable extensions that lack required services
|
|
143
|
-
if (orgSupportedServices) {
|
|
144
|
-
const supportedServiceCodes = new Set(orgSupportedServices.map(s => s.code))
|
|
145
|
-
// filter choices
|
|
146
|
-
choices.forEach(c => {
|
|
147
|
-
const missingServices = c.value.requiredServices.filter(s => !supportedServiceCodes.has(s))
|
|
148
|
-
if (missingServices.length > 0) {
|
|
149
|
-
c.disabled = true
|
|
150
|
-
c.name = `${c.name}: missing service(s) in Org: '${missingServices}'`
|
|
151
|
-
}
|
|
152
|
-
})
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
const answers = await this.prompt([{
|
|
156
|
-
type: 'checkbox',
|
|
157
|
-
name: 'res',
|
|
158
|
-
message: 'Which extension point(s) do you wish to implement ?',
|
|
159
|
-
choices,
|
|
160
|
-
validate: atLeastOne
|
|
161
|
-
}])
|
|
162
|
-
|
|
163
|
-
return answers.res
|
|
164
169
|
}
|
|
165
170
|
|
|
166
171
|
async selectConsoleOrg (consoleCLI) {
|
|
@@ -239,7 +244,7 @@ class InitCommand extends BaseCommand {
|
|
|
239
244
|
}
|
|
240
245
|
|
|
241
246
|
async runCodeGenerators (flags, extensionPoints, projectName) {
|
|
242
|
-
|
|
247
|
+
let env = yeoman.createEnv()
|
|
243
248
|
// first run app generator that will generate the root skeleton
|
|
244
249
|
const appGen = env.instantiate(generators['base-app'], {
|
|
245
250
|
options: {
|
|
@@ -249,6 +254,10 @@ class InitCommand extends BaseCommand {
|
|
|
249
254
|
})
|
|
250
255
|
await env.runGenerator(appGen)
|
|
251
256
|
|
|
257
|
+
// Creating new Yeoman env here to workaround an issue where yeoman reuses the conflicter from previous environment.
|
|
258
|
+
// https://github.com/yeoman/environment/issues/324
|
|
259
|
+
|
|
260
|
+
env = yeoman.createEnv()
|
|
252
261
|
// try to use appGen.composeWith
|
|
253
262
|
for (let i = 0; i < extensionPoints.length; ++i) {
|
|
254
263
|
const extGen = env.instantiate(
|
|
@@ -311,6 +320,12 @@ InitCommand.flags = {
|
|
|
311
320
|
default: true,
|
|
312
321
|
allowNo: true
|
|
313
322
|
}),
|
|
323
|
+
extension: flags.string({
|
|
324
|
+
description: 'Extension point(s) to implement',
|
|
325
|
+
char: 'e',
|
|
326
|
+
multiple: true,
|
|
327
|
+
exclusive: ['extensions']
|
|
328
|
+
}),
|
|
314
329
|
workspace: flags.string({
|
|
315
330
|
description: 'Specify the Adobe Developer Console Workspace to init from, defaults to Stage',
|
|
316
331
|
default: DEFAULT_WORKSPACE,
|