@design-edito/tools 0.5.12 → 0.5.13

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 (35) hide show
  1. package/agnostic/errors/index.d.ts +1 -1
  2. package/agnostic/errors/index.js +1 -1
  3. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +8 -8
  4. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +8 -8
  5. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +4 -4
  6. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +4 -4
  7. package/agnostic/html/index.d.ts +2 -2
  8. package/agnostic/html/index.js +2 -2
  9. package/agnostic/index.d.ts +2 -2
  10. package/agnostic/index.js +2 -2
  11. package/agnostic/misc/logs/index.d.ts +1 -1
  12. package/agnostic/misc/logs/index.js +1 -1
  13. package/agnostic/objects/index.d.ts +3 -3
  14. package/agnostic/objects/index.js +3 -3
  15. package/agnostic/strings/index.d.ts +1 -1
  16. package/agnostic/strings/index.js +1 -1
  17. package/agnostic/time/index.d.ts +2 -2
  18. package/agnostic/time/index.js +2 -2
  19. package/components/index.d.ts +2 -2
  20. package/components/index.js +2 -2
  21. package/node/@google-cloud/storage/directory/index.d.ts +1 -1
  22. package/node/@google-cloud/storage/directory/index.js +1 -1
  23. package/node/@google-cloud/storage/file/index.d.ts +1 -1
  24. package/node/@google-cloud/storage/file/index.js +1 -1
  25. package/node/cloud-storage/operations/index.d.ts +1 -1
  26. package/node/cloud-storage/operations/index.js +1 -1
  27. package/node/images/transform/operations/index.d.ts +1 -1
  28. package/node/images/transform/operations/index.js +1 -1
  29. package/node/index.d.ts +1 -1
  30. package/node/index.js +1 -1
  31. package/node/process/spawner/index.d.ts +26 -0
  32. package/node/process/spawner/index.js +21 -8
  33. package/node/sftp/file/index.d.ts +1 -1
  34. package/node/sftp/file/index.js +1 -1
  35. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- export * as unknownToString from './unknown-to-string/index.js'
2
1
  export * as register from './register/index.js'
2
+ export * as unknownToString from './unknown-to-string/index.js'
@@ -1,2 +1,2 @@
1
- export * as unknownToString from './unknown-to-string/index.js'
2
1
  export * as register from './register/index.js'
2
+ export * as unknownToString from './unknown-to-string/index.js'
@@ -1,24 +1,23 @@
1
+ export * as addclass from './addclass/index.js'
1
2
  export * as add from './add/index.js'
2
3
  export * as and from './and/index.js'
3
- export * as addclass from './addclass/index.js'
4
4
  export * as append from './append/index.js'
5
5
  export * as at from './at/index.js'
6
6
  export * as clone from './clone/index.js'
7
- export * as call from './call/index.js'
8
7
  export * as deleteproperties from './deleteproperties/index.js'
8
+ export * as call from './call/index.js'
9
9
  export * as equals from './equals/index.js'
10
- export * as getproperties from './getproperties/index.js'
11
10
  export * as getattribute from './getattribute/index.js'
12
11
  export * as getproperty from './getproperty/index.js'
13
12
  export * as hjparse from './hjparse/index.js'
14
13
  export * as hjstringify from './hjstringify/index.js'
15
14
  export * as if from './if/index.js'
16
15
  export * as join from './join/index.js'
16
+ export * as getproperties from './getproperties/index.js'
17
17
  export * as length from './length/index.js'
18
- export * as initialize from './initialize/index.js'
19
18
  export * as map from './map/index.js'
19
+ export * as initialize from './initialize/index.js'
20
20
  export * as negate from './negate/index.js'
21
- export * as notrailing from './notrailing/index.js'
22
21
  export * as or from './or/index.js'
23
22
  export * as pickrandom from './pickrandom/index.js'
24
23
  export * as populate from './populate/index.js'
@@ -26,6 +25,7 @@ export * as print from './print/index.js'
26
25
  export * as push from './push/index.js'
27
26
  export * as pusheach from './pusheach/index.js'
28
27
  export * as recordtoarray from './recordtoarray/index.js'
28
+ export * as notrailing from './notrailing/index.js'
29
29
  export * as removeattribute from './removeattribute/index.js'
30
30
  export * as removeclass from './removeclass/index.js'
31
31
  export * as renameproperty from './renameproperty/index.js'
@@ -36,17 +36,17 @@ export * as setproperty from './setproperty/index.js'
36
36
  export * as setattribute from './setattribute/index.js'
37
37
  export * as split from './split/index.js'
38
38
  export * as sorton from './sorton/index.js'
39
- export * as spread from './spread/index.js'
40
39
  export * as toarray from './toarray/index.js'
40
+ export * as spread from './spread/index.js'
41
41
  export * as toboolean from './toboolean/index.js'
42
42
  export * as toelement from './toelement/index.js'
43
43
  export * as toggleclass from './toggleclass/index.js'
44
+ export * as tonodelist from './tonodelist/index.js'
44
45
  export * as tonull from './tonull/index.js'
45
46
  export * as tonumber from './tonumber/index.js'
46
- export * as tonodelist from './tonodelist/index.js'
47
47
  export * as toref from './toref/index.js'
48
+ export * as torecord from './torecord/index.js'
48
49
  export * as tostring from './tostring/index.js'
49
50
  export * as totext from './totext/index.js'
50
51
  export * as transformselected from './transformselected/index.js'
51
52
  export * as trim from './trim/index.js'
52
- export * as torecord from './torecord/index.js'
@@ -1,24 +1,23 @@
1
+ export * as addclass from './addclass/index.js'
1
2
  export * as add from './add/index.js'
2
3
  export * as and from './and/index.js'
3
- export * as addclass from './addclass/index.js'
4
4
  export * as append from './append/index.js'
5
5
  export * as at from './at/index.js'
6
6
  export * as clone from './clone/index.js'
7
- export * as call from './call/index.js'
8
7
  export * as deleteproperties from './deleteproperties/index.js'
8
+ export * as call from './call/index.js'
9
9
  export * as equals from './equals/index.js'
10
- export * as getproperties from './getproperties/index.js'
11
10
  export * as getattribute from './getattribute/index.js'
12
11
  export * as getproperty from './getproperty/index.js'
13
12
  export * as hjparse from './hjparse/index.js'
14
13
  export * as hjstringify from './hjstringify/index.js'
15
14
  export * as if from './if/index.js'
16
15
  export * as join from './join/index.js'
16
+ export * as getproperties from './getproperties/index.js'
17
17
  export * as length from './length/index.js'
18
- export * as initialize from './initialize/index.js'
19
18
  export * as map from './map/index.js'
19
+ export * as initialize from './initialize/index.js'
20
20
  export * as negate from './negate/index.js'
21
- export * as notrailing from './notrailing/index.js'
22
21
  export * as or from './or/index.js'
23
22
  export * as pickrandom from './pickrandom/index.js'
24
23
  export * as populate from './populate/index.js'
@@ -26,6 +25,7 @@ export * as print from './print/index.js'
26
25
  export * as push from './push/index.js'
27
26
  export * as pusheach from './pusheach/index.js'
28
27
  export * as recordtoarray from './recordtoarray/index.js'
28
+ export * as notrailing from './notrailing/index.js'
29
29
  export * as removeattribute from './removeattribute/index.js'
30
30
  export * as removeclass from './removeclass/index.js'
31
31
  export * as renameproperty from './renameproperty/index.js'
@@ -36,17 +36,17 @@ export * as setproperty from './setproperty/index.js'
36
36
  export * as setattribute from './setattribute/index.js'
37
37
  export * as split from './split/index.js'
38
38
  export * as sorton from './sorton/index.js'
39
- export * as spread from './spread/index.js'
40
39
  export * as toarray from './toarray/index.js'
40
+ export * as spread from './spread/index.js'
41
41
  export * as toboolean from './toboolean/index.js'
42
42
  export * as toelement from './toelement/index.js'
43
43
  export * as toggleclass from './toggleclass/index.js'
44
+ export * as tonodelist from './tonodelist/index.js'
44
45
  export * as tonull from './tonull/index.js'
45
46
  export * as tonumber from './tonumber/index.js'
46
- export * as tonodelist from './tonodelist/index.js'
47
47
  export * as toref from './toref/index.js'
48
+ export * as torecord from './torecord/index.js'
48
49
  export * as tostring from './tostring/index.js'
49
50
  export * as totext from './totext/index.js'
50
51
  export * as transformselected from './transformselected/index.js'
51
52
  export * as trim from './trim/index.js'
52
- export * as torecord from './torecord/index.js'
@@ -1,13 +1,13 @@
1
1
  export * as any from './any/index.js'
2
- export * as boolean from './boolean/index.js'
3
2
  export * as array from './array/index.js'
4
3
  export * as element from './element/index.js'
5
- export * as guess from './guess/index.js'
4
+ export * as boolean from './boolean/index.js'
6
5
  export * as get from './get/index.js'
6
+ export * as guess from './guess/index.js'
7
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as null from './null/index.js'
9
+ export * as number from './number/index.js'
9
10
  export * as record from './record/index.js'
11
+ export * as ref from './ref/index.js'
10
12
  export * as string from './string/index.js'
11
13
  export * as text from './text/index.js'
12
- export * as ref from './ref/index.js'
13
- export * as number from './number/index.js'
@@ -1,13 +1,13 @@
1
1
  export * as any from './any/index.js'
2
- export * as boolean from './boolean/index.js'
3
2
  export * as array from './array/index.js'
4
3
  export * as element from './element/index.js'
5
- export * as guess from './guess/index.js'
4
+ export * as boolean from './boolean/index.js'
6
5
  export * as get from './get/index.js'
6
+ export * as guess from './guess/index.js'
7
7
  export * as nodelist from './nodelist/index.js'
8
8
  export * as null from './null/index.js'
9
+ export * as number from './number/index.js'
9
10
  export * as record from './record/index.js'
11
+ export * as ref from './ref/index.js'
10
12
  export * as string from './string/index.js'
11
13
  export * as text from './text/index.js'
12
- export * as ref from './ref/index.js'
13
- export * as number from './number/index.js'
@@ -1,10 +1,10 @@
1
1
  export * as deepSelect from './deep-select/index.js'
2
+ export * as getNodeAncestors from './get-node-ancestors/index.js'
2
3
  export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
4
  export * as hyperJson from './hyper-json/index.js'
4
- export * as getNodeAncestors from './get-node-ancestors/index.js'
5
5
  export * as insertNode from './insert-node/index.js'
6
- export * as replaceInElement from './replace-in-element/index.js'
7
6
  export * as placeholders from './placeholders/index.js'
8
7
  export * as selectorToElement from './selector-to-element/index.js'
8
+ export * as replaceInElement from './replace-in-element/index.js'
9
9
  export * as stringToNodes from './string-to-nodes/index.js'
10
10
  export * as watchSelection from './watch-selection/index.js'
@@ -1,10 +1,10 @@
1
1
  export * as deepSelect from './deep-select/index.js'
2
+ export * as getNodeAncestors from './get-node-ancestors/index.js'
2
3
  export * as getPositionInsideParent from './get-position-inside-parent/index.js'
3
4
  export * as hyperJson from './hyper-json/index.js'
4
- export * as getNodeAncestors from './get-node-ancestors/index.js'
5
5
  export * as insertNode from './insert-node/index.js'
6
- export * as replaceInElement from './replace-in-element/index.js'
7
6
  export * as placeholders from './placeholders/index.js'
8
7
  export * as selectorToElement from './selector-to-element/index.js'
8
+ export * as replaceInElement from './replace-in-element/index.js'
9
9
  export * as stringToNodes from './string-to-nodes/index.js'
10
10
  export * as watchSelection from './watch-selection/index.js'
@@ -1,12 +1,12 @@
1
- export * as arrays from './arrays/index.js'
2
1
  export * as booleans from './booleans/index.js'
2
+ export * as arrays from './arrays/index.js'
3
3
  export * as colors from './colors/index.js'
4
4
  export * as css from './css/index.js'
5
5
  export * as errors from './errors/index.js'
6
6
  export * as html from './html/index.js'
7
+ export * as misc from './misc/index.js'
7
8
  export * as numbers from './numbers/index.js'
8
9
  export * as objects from './objects/index.js'
9
- export * as misc from './misc/index.js'
10
10
  export * as optim from './optim/index.js'
11
11
  export * as random from './random/index.js'
12
12
  export * as regexps from './regexps/index.js'
package/agnostic/index.js CHANGED
@@ -1,12 +1,12 @@
1
- export * as arrays from './arrays/index.js'
2
1
  export * as booleans from './booleans/index.js'
2
+ export * as arrays from './arrays/index.js'
3
3
  export * as colors from './colors/index.js'
4
4
  export * as css from './css/index.js'
5
5
  export * as errors from './errors/index.js'
6
6
  export * as html from './html/index.js'
7
+ export * as misc from './misc/index.js'
7
8
  export * as numbers from './numbers/index.js'
8
9
  export * as objects from './objects/index.js'
9
- export * as misc from './misc/index.js'
10
10
  export * as optim from './optim/index.js'
11
11
  export * as random from './random/index.js'
12
12
  export * as regexps from './regexps/index.js'
@@ -1,3 +1,3 @@
1
1
  export * as logger from './logger/index.js'
2
- export * as styles from './styles/index.js'
3
2
  export * as makeTextBlock from './make-text-block/index.js'
3
+ export * as styles from './styles/index.js'
@@ -1,3 +1,3 @@
1
1
  export * as logger from './logger/index.js'
2
- export * as styles from './styles/index.js'
3
2
  export * as makeTextBlock from './make-text-block/index.js'
3
+ export * as styles from './styles/index.js'
@@ -1,9 +1,9 @@
1
1
  export * as deepGetProperty from './deep-get-property/index.js'
2
- export * as enums from './enums/index.js'
3
2
  export * as flattenGetters from './flatten-getters/index.js'
4
- export * as isObject from './is-object/index.js'
3
+ export * as enums from './enums/index.js'
5
4
  export * as isRecord from './is-record/index.js'
5
+ export * as isObject from './is-object/index.js'
6
6
  export * as recordFormat from './record-format/index.js'
7
- export * as recordMap from './record-map/index.js'
8
7
  export * as sortKeys from './sort-keys/index.js'
8
+ export * as recordMap from './record-map/index.js'
9
9
  export * as validation from './validation/index.js'
@@ -1,9 +1,9 @@
1
1
  export * as deepGetProperty from './deep-get-property/index.js'
2
- export * as enums from './enums/index.js'
3
2
  export * as flattenGetters from './flatten-getters/index.js'
4
- export * as isObject from './is-object/index.js'
3
+ export * as enums from './enums/index.js'
5
4
  export * as isRecord from './is-record/index.js'
5
+ export * as isObject from './is-object/index.js'
6
6
  export * as recordFormat from './record-format/index.js'
7
- export * as recordMap from './record-map/index.js'
8
7
  export * as sortKeys from './sort-keys/index.js'
8
+ export * as recordMap from './record-map/index.js'
9
9
  export * as validation from './validation/index.js'
@@ -2,7 +2,7 @@ export * as charCodes from './char-codes/index.js'
2
2
  export * as matches from './matches/index.js'
3
3
  export * as normalizeIndent from './normalize-indent/index.js'
4
4
  export * as parseTable from './parse-table/index.js'
5
- export * as replaceAll from './replace-all/index.js'
6
5
  export * as splitTrim from './split-trim/index.js'
7
6
  export * as toAlphanum from './to-alphanum/index.js'
8
7
  export * as trim from './trim/index.js'
8
+ export * as replaceAll from './replace-all/index.js'
@@ -2,7 +2,7 @@ export * as charCodes from './char-codes/index.js'
2
2
  export * as matches from './matches/index.js'
3
3
  export * as normalizeIndent from './normalize-indent/index.js'
4
4
  export * as parseTable from './parse-table/index.js'
5
- export * as replaceAll from './replace-all/index.js'
6
5
  export * as splitTrim from './split-trim/index.js'
7
6
  export * as toAlphanum from './to-alphanum/index.js'
8
7
  export * as trim from './trim/index.js'
8
+ export * as replaceAll from './replace-all/index.js'
@@ -1,5 +1,5 @@
1
+ export * as dates from './dates/index.js'
1
2
  export * as duration from './duration/index.js'
2
3
  export * as timeout from './timeout/index.js'
3
- export * as dates from './dates/index.js'
4
- export * as wait from './wait/index.js'
5
4
  export * as transitions from './transitions/index.js'
5
+ export * as wait from './wait/index.js'
@@ -1,5 +1,5 @@
1
+ export * as dates from './dates/index.js'
1
2
  export * as duration from './duration/index.js'
2
3
  export * as timeout from './timeout/index.js'
3
- export * as dates from './dates/index.js'
4
- export * as wait from './wait/index.js'
5
4
  export * as transitions from './transitions/index.js'
5
+ export * as wait from './wait/index.js'
@@ -10,12 +10,12 @@ export * as image from './Image/index.js'
10
10
  export * as input from './Input/index.js'
11
11
  export * as intersectionObserver from './IntersectionObserver/index.js'
12
12
  export * as jsonEditor from './JsonEditor/index.js'
13
- export * as listLoader from './ListLoader/index.js'
14
13
  export * as lightbox from './Lightbox/index.js'
14
+ export * as listLoader from './ListLoader/index.js'
15
15
  export * as overlayer from './Overlayer/index.js'
16
- export * as scrllgngn from './Scrllgngn/index.js'
17
16
  export * as paginator from './Paginator/index.js'
18
17
  export * as resizeObserver from './ResizeObserver/index.js'
18
+ export * as scrllgngn from './Scrllgngn/index.js'
19
19
  export * as scrollListener from './ScrollListener/index.js'
20
20
  export * as select from './Select/index.js'
21
21
  export * as sequencer from './Sequencer/index.js'
@@ -10,12 +10,12 @@ export * as image from './Image/index.js'
10
10
  export * as input from './Input/index.js'
11
11
  export * as intersectionObserver from './IntersectionObserver/index.js'
12
12
  export * as jsonEditor from './JsonEditor/index.js'
13
- export * as listLoader from './ListLoader/index.js'
14
13
  export * as lightbox from './Lightbox/index.js'
14
+ export * as listLoader from './ListLoader/index.js'
15
15
  export * as overlayer from './Overlayer/index.js'
16
- export * as scrllgngn from './Scrllgngn/index.js'
17
16
  export * as paginator from './Paginator/index.js'
18
17
  export * as resizeObserver from './ResizeObserver/index.js'
18
+ export * as scrllgngn from './Scrllgngn/index.js'
19
19
  export * as scrollListener from './ScrollListener/index.js'
20
20
  export * as select from './Select/index.js'
21
21
  export * as sequencer from './Sequencer/index.js'
@@ -1,4 +1,4 @@
1
- export * as list from './list/index.js'
2
1
  export * as copyDir from './copy-dir/index.js'
3
2
  export * as moveDir from './move-dir/index.js'
3
+ export * as list from './list/index.js'
4
4
  export * as removeDir from './remove-dir/index.js'
@@ -1,4 +1,4 @@
1
- export * as list from './list/index.js'
2
1
  export * as copyDir from './copy-dir/index.js'
3
2
  export * as moveDir from './move-dir/index.js'
3
+ export * as list from './list/index.js'
4
4
  export * as removeDir from './remove-dir/index.js'
@@ -2,8 +2,8 @@ export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
5
- export * as getMetadata from './get-metadata/index.js'
6
5
  export * as getPermissions from './get-permissions/index.js'
6
+ export * as getMetadata from './get-metadata/index.js'
7
7
  export * as move from './move/index.js'
8
8
  export * as remove from './remove/index.js'
9
9
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
@@ -2,8 +2,8 @@ export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
3
  export * as exists from './exists/index.js'
4
4
  export * as generateSignedUrl from './generate-signed-url/index.js'
5
- export * as getMetadata from './get-metadata/index.js'
6
5
  export * as getPermissions from './get-permissions/index.js'
6
+ export * as getMetadata from './get-metadata/index.js'
7
7
  export * as move from './move/index.js'
8
8
  export * as remove from './remove/index.js'
9
9
  export * as revokeSignedUrls from './revoke-signed-urls/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
- export * as copyFile from './copy-file/index.js'
3
2
  export * as downloadFile from './download-file/index.js'
3
+ export * as copyFile from './copy-file/index.js'
4
4
  export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
6
  export * as moveDir from './move-dir/index.js'
@@ -1,6 +1,6 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
- export * as copyFile from './copy-file/index.js'
3
2
  export * as downloadFile from './download-file/index.js'
3
+ export * as copyFile from './copy-file/index.js'
4
4
  export * as existsFile from './exists-file/index.js'
5
5
  export * as listDir from './list-dir/index.js'
6
6
  export * as moveDir from './move-dir/index.js'
@@ -7,8 +7,8 @@ export * as flip from './flip/index.js'
7
7
  export * as flop from './flop/index.js'
8
8
  export * as hue from './hue/index.js'
9
9
  export * as level from './level/index.js'
10
- export * as lighten from './lighten/index.js'
11
10
  export * as normalize from './normalize/index.js'
11
+ export * as lighten from './lighten/index.js'
12
12
  export * as overlay from './overlay/index.js'
13
13
  export * as resize from './resize/index.js'
14
14
  export * as rotate from './rotate/index.js'
@@ -7,8 +7,8 @@ export * as flip from './flip/index.js'
7
7
  export * as flop from './flop/index.js'
8
8
  export * as hue from './hue/index.js'
9
9
  export * as level from './level/index.js'
10
- export * as lighten from './lighten/index.js'
11
10
  export * as normalize from './normalize/index.js'
11
+ export * as lighten from './lighten/index.js'
12
12
  export * as overlay from './overlay/index.js'
13
13
  export * as resize from './resize/index.js'
14
14
  export * as rotate from './rotate/index.js'
package/node/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export * as awsS3 from './@aws-s3/index.js'
2
2
  export * as designEdito from './@design-edito/index.js'
3
3
  export * as express from './@express/index.js'
4
- export * as googleCloud from './@google-cloud/index.js'
5
4
  export * as cloudStorage from './cloud-storage/index.js'
5
+ export * as googleCloud from './@google-cloud/index.js'
6
6
  export * as encryption from './encryption/index.js'
7
7
  export * as files from './files/index.js'
8
8
  export * as ftps from './ftps/index.js'
package/node/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export * as awsS3 from './@aws-s3/index.js'
2
2
  export * as designEdito from './@design-edito/index.js'
3
3
  export * as express from './@express/index.js'
4
- export * as googleCloud from './@google-cloud/index.js'
5
4
  export * as cloudStorage from './cloud-storage/index.js'
5
+ export * as googleCloud from './@google-cloud/index.js'
6
6
  export * as encryption from './encryption/index.js'
7
7
  export * as files from './files/index.js'
8
8
  export * as ftps from './ftps/index.js'
@@ -5,9 +5,33 @@ type Output = {
5
5
  stderr: string;
6
6
  err: unknown;
7
7
  };
8
+ /**
9
+ * How much a spawned command says about itself.
10
+ *
11
+ * Three levels rather than a boolean, because three are genuinely useful in a
12
+ * deployment script:
13
+ *
14
+ * - `'full'` — the label, the echoed command line, and the child's own output as it
15
+ * streams. The default, and what to use for anything whose output is news: a build
16
+ * log, an rsync diff.
17
+ * - `'command'` — the label and the echoed command line, without the child's output.
18
+ * **The level for a probe** — `gcloud projects list`, `npm config get registry` —
19
+ * whose `stdout` is parsed rather than read, and whose two hundred lines of table
20
+ * would bury the narration around it. The echo stays: it is the audit trail, and
21
+ * the last thing worth losing.
22
+ * - `'silent'` — nothing at all. Only for a call already narrated by whatever step
23
+ * contains it.
24
+ *
25
+ * Nothing here is read from the environment on purpose. A deployment that can be run
26
+ * quietly is a deployment whose log you do not have when it breaks, so the choice is
27
+ * made per call, in the source, by whoever knows what that call prints.
28
+ */
29
+ export type Verbosity = 'full' | 'command' | 'silent';
8
30
  type ThisOptions = {
9
31
  argsPrintFormat?: (args: string[]) => string[];
10
32
  throwOnError?: boolean;
33
+ /** How much to print. Defaults to `'full'`. See {@link Verbosity}. */
34
+ verbosity?: Verbosity;
11
35
  };
12
36
  /**
13
37
  * Options for the asynchronous `spawner` function.
@@ -18,6 +42,7 @@ type ThisOptions = {
18
42
  * before they are printed to the console (does not affect execution).
19
43
  * - `throwOnError`: If `true`, the function throws when the spawned process exits
20
44
  * with a non-zero status instead of returning a failure outcome.
45
+ * - `verbosity`: How much to print — see {@link Verbosity}. Defaults to `'full'`.
21
46
  */
22
47
  export type Options = SpawnOptions & ThisOptions;
23
48
  /**
@@ -29,6 +54,7 @@ export type Options = SpawnOptions & ThisOptions;
29
54
  * before they are printed to the console (does not affect execution).
30
55
  * - `throwOnError`: If `true`, the function throws when the spawned process exits
31
56
  * with a non-zero status instead of returning a failure outcome.
57
+ * - `verbosity`: How much to print — see {@link Verbosity}. Defaults to `'full'`.
32
58
  */
33
59
  export type SyncOptions = SpawnSyncOptions & ThisOptions;
34
60
  /**
@@ -22,13 +22,17 @@ import { unknownToString } from '../../../agnostic/errors/unknown-to-string/inde
22
22
  * - failure: `{ stdout, stderr, err }` when the command exits with a non-zero code
23
23
  */
24
24
  export async function spawner(label, command, args, options) {
25
+ const verbosity = options?.verbosity ?? 'full';
26
+ const printsCommand = verbosity !== 'silent';
27
+ const printsOutput = verbosity === 'full';
25
28
  return await new Promise((resolve, reject) => {
26
- if (label !== null)
29
+ if (label !== null && printsCommand)
27
30
  console.log(`\n${styles.info(label)}\n`);
28
31
  const printableArgs = options?.argsPrintFormat !== undefined
29
32
  ? options.argsPrintFormat(args)
30
33
  : args;
31
- console.log(styles.light(`> ${command} ${printableArgs.join(' ')}\n`));
34
+ if (printsCommand)
35
+ console.log(styles.light(`> ${command} ${printableArgs.join(' ')}\n`));
32
36
  const prcss = spawn(command, args, { stdio: 'pipe', ...options });
33
37
  let stdout = '';
34
38
  let stderr = '';
@@ -36,13 +40,17 @@ export async function spawner(label, command, args, options) {
36
40
  prcss.stdout?.on('data', data => {
37
41
  const strData = unknownToString(data);
38
42
  stdout += strData;
39
- console.log(styles.light(strData.replace(ansiRegex(), '').trim()));
43
+ if (printsOutput)
44
+ console.log(styles.light(strData.replace(ansiRegex(), '').trim()));
40
45
  });
41
46
  prcss.stderr?.on('data', data => {
42
47
  const strData = unknownToString(data);
43
48
  stderr += strData;
44
- console.log(styles.warning(strData.replace(ansiRegex(), '').trim()));
49
+ if (printsOutput)
50
+ console.log(styles.warning(strData.replace(ansiRegex(), '').trim()));
45
51
  });
52
+ // An error is always printed, whatever the verbosity: a command that could not be
53
+ // spawned at all is never the noise the caller asked to be spared.
46
54
  prcss.on('error', e => {
47
55
  err = e;
48
56
  console.log(styles.error(unknownToString(err).replace(ansiRegex(), '').trim()));
@@ -75,27 +83,32 @@ export async function spawner(label, command, args, options) {
75
83
  * @throws Error if `throwOnError` is `true` and the process exits with a non-zero status
76
84
  */
77
85
  export function spawnerSync(label, command, args, options) {
78
- if (label !== null)
86
+ const verbosity = options?.verbosity ?? 'full';
87
+ const printsCommand = verbosity !== 'silent';
88
+ const printsOutput = verbosity === 'full';
89
+ if (label !== null && printsCommand)
79
90
  console.log(`\n${styles.info(label)}\n}`);
80
91
  const printableArgs = options?.argsPrintFormat !== undefined
81
92
  ? options.argsPrintFormat(args)
82
93
  : args;
83
- console.log(styles.light(`> ${command} ${printableArgs.join(' ')}\n`));
94
+ if (printsCommand)
95
+ console.log(styles.light(`> ${command} ${printableArgs.join(' ')}\n`));
84
96
  const result = spawnSync(command, args, { stdio: 'pipe', encoding: 'utf8', ...options });
85
97
  const stderr = result.stderr.toString().trim();
86
98
  const stdout = result.stdout.toString().trim();
87
99
  const err = result.error;
100
+ // Always printed, whatever the verbosity — see the async twin.
88
101
  if (err !== undefined) {
89
102
  console.log(styles.light(chalk.italic('err:\n')));
90
103
  console.log(styles.error(unknownToString(err).replace(ansiRegex(), '')));
91
104
  console.log('');
92
105
  }
93
- if (stderr !== '') {
106
+ if (stderr !== '' && printsOutput) {
94
107
  console.log(styles.light(chalk.italic('stderr:\n')));
95
108
  console.log(styles.warning(stderr.replace(ansiRegex(), '')));
96
109
  console.log('');
97
110
  }
98
- if (stdout !== '') {
111
+ if (stdout !== '' && printsOutput) {
99
112
  console.log(styles.light(chalk.italic('stdout:\n')));
100
113
  console.log(styles.light(stdout.replace(ansiRegex(), '')));
101
114
  console.log('');
@@ -1,7 +1,7 @@
1
1
  export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
- export * as move from './move/index.js'
4
3
  export * as exists from './exists/index.js'
4
+ export * as move from './move/index.js'
5
5
  export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,7 +1,7 @@
1
1
  export * as copy from './copy/index.js'
2
2
  export * as download from './download/index.js'
3
- export * as move from './move/index.js'
4
3
  export * as exists from './exists/index.js'
4
+ export * as move from './move/index.js'
5
5
  export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
7
7
  export * as upload from './upload/index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-edito/tools",
3
- "version": "0.5.12",
3
+ "version": "0.5.13",
4
4
  "description": "",
5
5
  "author": "Maxime Fabas",
6
6
  "license": "ISC",