@chainlink/external-adapter-framework 2.6.0 → 2.7.1

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 (160) hide show
  1. package/README.md +1 -1
  2. package/adapter/types.d.ts +1 -1
  3. package/config/index.d.ts +4 -0
  4. package/config/index.js +4 -0
  5. package/config/index.js.map +1 -1
  6. package/debug/router.js +7 -36
  7. package/debug/router.js.map +1 -1
  8. package/debug/settings-page.d.ts +1 -7
  9. package/debug/settings-page.js +0 -22
  10. package/debug/settings-page.js.map +1 -1
  11. package/generator-adapter/generators/app/index.js +11 -5
  12. package/generator-adapter/node_modules/.yarn-integrity +14 -13
  13. package/generator-adapter/node_modules/@types/node/README.md +3 -3
  14. package/generator-adapter/node_modules/@types/node/async_hooks.d.ts +65 -1
  15. package/generator-adapter/node_modules/@types/node/buffer.buffer.d.ts +2 -0
  16. package/generator-adapter/node_modules/@types/node/buffer.d.ts +8 -4
  17. package/generator-adapter/node_modules/@types/node/child_process.d.ts +26 -122
  18. package/generator-adapter/node_modules/@types/node/cluster.d.ts +1 -1
  19. package/generator-adapter/node_modules/@types/node/compatibility/disposable.d.ts +0 -2
  20. package/generator-adapter/node_modules/@types/node/compatibility/indexable.d.ts +0 -3
  21. package/generator-adapter/node_modules/@types/node/compatibility/iterators.d.ts +0 -1
  22. package/generator-adapter/node_modules/@types/node/crypto.d.ts +17 -1
  23. package/generator-adapter/node_modules/@types/node/diagnostics_channel.d.ts +37 -13
  24. package/generator-adapter/node_modules/@types/node/dns/promises.d.ts +36 -9
  25. package/generator-adapter/node_modules/@types/node/dns.d.ts +73 -20
  26. package/generator-adapter/node_modules/@types/node/events.d.ts +0 -1
  27. package/generator-adapter/node_modules/@types/node/fs/promises.d.ts +62 -54
  28. package/generator-adapter/node_modules/@types/node/fs.d.ts +149 -54
  29. package/generator-adapter/node_modules/@types/node/globals.d.ts +137 -478
  30. package/generator-adapter/node_modules/@types/node/http.d.ts +93 -6
  31. package/generator-adapter/node_modules/@types/node/http2.d.ts +81 -2
  32. package/generator-adapter/node_modules/@types/node/https.d.ts +5 -0
  33. package/generator-adapter/node_modules/@types/node/index.d.ts +7 -3
  34. package/generator-adapter/node_modules/@types/node/{inspector.d.ts → inspector.generated.d.ts} +219 -10
  35. package/generator-adapter/node_modules/@types/node/module.d.ts +136 -17
  36. package/generator-adapter/node_modules/@types/node/net.d.ts +15 -9
  37. package/generator-adapter/node_modules/@types/node/package.json +3 -83
  38. package/generator-adapter/node_modules/@types/node/perf_hooks.d.ts +2 -2
  39. package/generator-adapter/node_modules/@types/node/process.d.ts +3 -4
  40. package/generator-adapter/node_modules/@types/node/querystring.d.ts +2 -3
  41. package/generator-adapter/node_modules/@types/node/readline/promises.d.ts +0 -1
  42. package/generator-adapter/node_modules/@types/node/repl.d.ts +3 -5
  43. package/generator-adapter/node_modules/@types/node/sqlite.d.ts +207 -0
  44. package/generator-adapter/node_modules/@types/node/stream/web.d.ts +11 -3
  45. package/generator-adapter/node_modules/@types/node/stream.d.ts +5 -10
  46. package/generator-adapter/node_modules/@types/node/test.d.ts +1873 -1970
  47. package/generator-adapter/node_modules/@types/node/tls.d.ts +1 -1
  48. package/generator-adapter/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +2 -0
  49. package/generator-adapter/node_modules/@types/node/ts5.6/index.d.ts +7 -3
  50. package/generator-adapter/node_modules/@types/node/url.d.ts +12 -3
  51. package/generator-adapter/node_modules/@types/node/util.d.ts +33 -5
  52. package/generator-adapter/node_modules/@types/node/v8.d.ts +60 -30
  53. package/generator-adapter/node_modules/@types/node/vm.d.ts +61 -8
  54. package/generator-adapter/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  55. package/generator-adapter/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  56. package/generator-adapter/node_modules/@types/node/web-globals/events.d.ts +94 -0
  57. package/generator-adapter/node_modules/@types/node/web-globals/fetch.d.ts +46 -0
  58. package/generator-adapter/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
  59. package/generator-adapter/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  60. package/generator-adapter/node_modules/@types/node/worker_threads.d.ts +87 -28
  61. package/generator-adapter/node_modules/@types/node/zlib.d.ts +8 -2
  62. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.d.ts +3 -0
  63. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js +12 -2
  64. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js.map +1 -1
  65. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.d.ts +3 -0
  66. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js +12 -2
  67. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js.map +1 -1
  68. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.d.ts +3 -0
  69. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js +12 -2
  70. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js.map +1 -1
  71. package/generator-adapter/node_modules/@yeoman/adapter/package.json +4 -4
  72. package/generator-adapter/node_modules/@yeoman/adapter/types/adapter.d.ts +12 -1
  73. package/generator-adapter/node_modules/@yeoman/types/package.json +3 -3
  74. package/generator-adapter/node_modules/@yeoman/types/types/environment/environment.d.ts +4 -1
  75. package/generator-adapter/node_modules/@yeoman/types/types/environment/methods-options.d.ts +7 -3
  76. package/generator-adapter/node_modules/@yeoman/types/types/generator/generator.d.ts +8 -5
  77. package/generator-adapter/node_modules/@yeoman/types/types/generator/utils.d.ts +1 -0
  78. package/generator-adapter/node_modules/ansi-regex/index.d.ts +9 -13
  79. package/generator-adapter/node_modules/ansi-regex/index.js +6 -6
  80. package/generator-adapter/node_modules/ansi-regex/license +1 -1
  81. package/generator-adapter/node_modules/ansi-regex/package.json +12 -6
  82. package/generator-adapter/node_modules/ansi-regex/readme.md +4 -22
  83. package/generator-adapter/node_modules/cli-spinners/index.d.ts +122 -111
  84. package/generator-adapter/node_modules/cli-spinners/index.js +7 -11
  85. package/generator-adapter/node_modules/cli-spinners/package.json +15 -9
  86. package/generator-adapter/node_modules/cli-spinners/readme.md +23 -3
  87. package/generator-adapter/node_modules/cli-spinners/spinners.json +44 -1
  88. package/generator-adapter/node_modules/emoji-regex/README.md +14 -48
  89. package/generator-adapter/node_modules/emoji-regex/index.d.ts +21 -1
  90. package/generator-adapter/node_modules/emoji-regex/index.js +5 -3
  91. package/generator-adapter/node_modules/emoji-regex/package.json +12 -7
  92. package/generator-adapter/node_modules/get-east-asian-width/index.js +2 -3
  93. package/generator-adapter/node_modules/get-east-asian-width/lookup.js +11 -11
  94. package/generator-adapter/node_modules/get-east-asian-width/package.json +1 -1
  95. package/generator-adapter/node_modules/ora/index.d.ts +3 -3
  96. package/generator-adapter/node_modules/ora/index.js +67 -48
  97. package/generator-adapter/node_modules/ora/node_modules/chalk/package.json +83 -0
  98. package/generator-adapter/node_modules/ora/node_modules/chalk/readme.md +297 -0
  99. package/generator-adapter/node_modules/ora/node_modules/chalk/source/index.d.ts +325 -0
  100. package/generator-adapter/node_modules/ora/node_modules/chalk/source/index.js +225 -0
  101. package/generator-adapter/node_modules/ora/node_modules/chalk/source/utilities.js +33 -0
  102. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  103. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  104. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  105. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  106. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  107. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  108. package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser-symbols.js +4 -0
  109. package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser.js +1 -8
  110. package/generator-adapter/node_modules/ora/node_modules/log-symbols/index.js +1 -20
  111. package/generator-adapter/node_modules/ora/node_modules/log-symbols/package.json +10 -7
  112. package/generator-adapter/node_modules/ora/node_modules/log-symbols/symbols.js +14 -0
  113. package/generator-adapter/node_modules/ora/node_modules/strip-ansi/package.json +3 -1
  114. package/generator-adapter/node_modules/ora/node_modules/strip-ansi/readme.md +5 -9
  115. package/generator-adapter/node_modules/ora/package.json +13 -13
  116. package/generator-adapter/node_modules/ora/readme.md +49 -3
  117. package/generator-adapter/node_modules/string-width/index.js +52 -45
  118. package/generator-adapter/node_modules/string-width/package.json +8 -7
  119. package/generator-adapter/node_modules/{string-width → strip-ansi}/node_modules/ansi-regex/index.d.ts +13 -9
  120. package/generator-adapter/node_modules/strip-ansi/node_modules/ansi-regex/index.js +10 -0
  121. package/generator-adapter/node_modules/{ora/node_modules/log-symbols/node_modules/is-unicode-supported → strip-ansi/node_modules/ansi-regex}/license +1 -1
  122. package/generator-adapter/node_modules/{string-width → strip-ansi}/node_modules/ansi-regex/package.json +6 -12
  123. package/generator-adapter/node_modules/{ora → strip-ansi}/node_modules/ansi-regex/readme.md +22 -4
  124. package/generator-adapter/package.json +3 -3
  125. package/index.js +3 -0
  126. package/index.js.map +1 -1
  127. package/package.json +19 -19
  128. package/status/router.d.ts +49 -0
  129. package/status/router.js +55 -0
  130. package/status/router.js.map +1 -0
  131. package/transports/http.d.ts +1 -2
  132. package/transports/sse.d.ts +2 -2
  133. package/transports/sse.js +2 -5
  134. package/transports/sse.js.map +1 -1
  135. package/transports/websocket.js +53 -17
  136. package/transports/websocket.js.map +1 -1
  137. package/util/settings.d.ts +11 -0
  138. package/util/settings.js +29 -0
  139. package/util/settings.js.map +1 -0
  140. package/generator-adapter/node_modules/@types/node/dom-events.d.ts +0 -124
  141. package/generator-adapter/node_modules/emoji-regex/index.mjs +0 -4
  142. package/generator-adapter/node_modules/ora/node_modules/ansi-regex/index.d.ts +0 -33
  143. package/generator-adapter/node_modules/ora/node_modules/ansi-regex/index.js +0 -10
  144. package/generator-adapter/node_modules/ora/node_modules/ansi-regex/package.json +0 -61
  145. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/index.d.ts +0 -12
  146. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/index.js +0 -17
  147. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/package.json +0 -43
  148. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/readme.md +0 -35
  149. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/index.js +0 -10
  150. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  151. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -60
  152. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  153. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/README.md +0 -73
  154. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.d.ts +0 -23
  155. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.js +0 -6
  156. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/package.json +0 -50
  157. /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/es2015/index.js +0 -0
  158. /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/es2015/text.js +0 -0
  159. /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/text.js +0 -0
  160. /package/generator-adapter/node_modules/ora/node_modules/{ansi-regex → chalk}/license +0 -0
@@ -88,7 +88,10 @@ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorF
88
88
  * @param namespaceOrPath The namespace of the generator or the path to a generator.
89
89
  * @returns The constructor of the generator registered under the namespace.
90
90
  */
91
- get<C extends BaseGeneratorConstructor = BaseGeneratorConstructor>(namespaceOrPath: string): Promise<C | undefined>;
91
+ get<C extends BaseGeneratorConstructor = BaseGeneratorConstructor>(namespaceOrPath: string): Promise<C | undefined> | (C | undefined);
92
+ get<G extends BaseGenerator = BaseGenerator>(
93
+ namespaceOrPath: string,
94
+ ): Promise<GetGeneratorConstructor<G> | undefined> | (GetGeneratorConstructor<G> | undefined);
92
95
 
93
96
  create<G extends BaseGenerator = BaseGenerator>(
94
97
  namespaceOrPath: string | GetGeneratorConstructor<G>,
@@ -64,16 +64,20 @@ export type BaseGeneratorMeta = {
64
64
  packagePath?: string;
65
65
  };
66
66
 
67
+ export type BaseGeneratorConstructorMeta = BaseGeneratorMeta & { _meta?: GeneratorMeta };
68
+
67
69
  export type GeneratorMeta = BaseGeneratorMeta & {
68
70
  packageNamespace?: string;
69
71
  /** Import and find the Generator Class */
70
- importGenerator: () => Promise<GetGeneratorConstructor>;
72
+ importGenerator: <G extends BaseGenerator>() =>
73
+ | Promise<GetGeneratorConstructor<G> & BaseGeneratorConstructorMeta>
74
+ | (GetGeneratorConstructor<G> & BaseGeneratorConstructorMeta);
71
75
  /** Import the module `import(meta.resolved)` */
72
76
  importModule?: () => Promise<unknown>;
73
77
  /** Intantiate the Generator `env.instantiate(await meta.importGenerator())` */
74
- instantiate: (arguments_?: string[], options?: any) => Promise<BaseGenerator>;
78
+ instantiate: <G extends BaseGenerator>(arguments_?: string[], options?: any) => Promise<G>;
75
79
  /** Intantiate the Generator passing help option */
76
- instantiateHelp: () => Promise<BaseGenerator>;
80
+ instantiateHelp: <G extends BaseGenerator>() => Promise<G>;
77
81
  };
78
82
 
79
83
  export type InstantiateOptions<G extends BaseGenerator = BaseGenerator> = {
@@ -1,4 +1,5 @@
1
1
  import type { BaseEnvironment } from '../environment/environment.js';
2
+ import type { GeneratorMeta } from '../environment/methods-options.js';
2
3
  import type { GeneratorFeatures } from './generator-features.js';
3
4
  import type { GeneratorOptions } from './generator-options.js';
4
5
 
@@ -33,10 +34,12 @@ export type BaseGenerator<
33
34
 
34
35
  // Generator >= v5
35
36
  readonly features: F | undefined;
37
+
38
+ readonly _meta?: GeneratorMeta;
36
39
  };
37
40
 
38
- export type BaseGeneratorConstructor<
39
- O extends GeneratorOptions = GeneratorOptions,
40
- F extends GeneratorFeatures = GeneratorFeatures,
41
- > = (new (arguments_?: string[], options?: O, features?: F) => BaseGenerator<O, F>) &
42
- (new (options?: O, features?: F) => BaseGenerator<O, F>);
41
+ export type BaseGeneratorConstructor<O extends GeneratorOptions = GeneratorOptions, F extends GeneratorFeatures = GeneratorFeatures> = new (
42
+ arguments_?: string[],
43
+ options?: O,
44
+ features?: F,
45
+ ) => BaseGenerator<O, F>;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable unicorn/prevent-abbreviations */
1
2
  import type { BaseGenerator, BaseGeneratorConstructor } from './generator.js';
2
3
 
3
4
  export type GetGeneratorOptions<T extends BaseGenerator = BaseGenerator> = T extends BaseGenerator<infer Options> ? Options : never;
@@ -1,20 +1,18 @@
1
- declare namespace ansiRegex {
2
- interface Options {
3
- /**
4
- Match only the first ANSI escape.
1
+ export type Options = {
2
+ /**
3
+ Match only the first ANSI escape.
5
4
 
6
- @default false
7
- */
8
- onlyFirst: boolean;
9
- }
10
- }
5
+ @default false
6
+ */
7
+ readonly onlyFirst: boolean;
8
+ };
11
9
 
12
10
  /**
13
11
  Regular expression for matching ANSI escape codes.
14
12
 
15
13
  @example
16
14
  ```
17
- import ansiRegex = require('ansi-regex');
15
+ import ansiRegex from 'ansi-regex';
18
16
 
19
17
  ansiRegex().test('\u001B[4mcake\u001B[0m');
20
18
  //=> true
@@ -32,6 +30,4 @@ ansiRegex().test('cake');
32
30
  //=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
33
31
  ```
34
32
  */
35
- declare function ansiRegex(options?: ansiRegex.Options): RegExp;
36
-
37
- export = ansiRegex;
33
+ export default function ansiRegex(options?: Options): RegExp;
@@ -1,10 +1,10 @@
1
- 'use strict';
2
-
3
- module.exports = ({onlyFirst = false} = {}) => {
1
+ export default function ansiRegex({onlyFirst = false} = {}) {
2
+ // Valid string terminator sequences are BEL, ESC\, and 0x9c
3
+ const ST = '(?:\\u0007|\\u001B\\u005C|\\u009C)';
4
4
  const pattern = [
5
- '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
6
- '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
5
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
6
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))',
7
7
  ].join('|');
8
8
 
9
9
  return new RegExp(pattern, onlyFirst ? undefined : 'g');
10
- };
10
+ }
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
3
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
6
 
@@ -1,16 +1,21 @@
1
1
  {
2
2
  "name": "ansi-regex",
3
- "version": "5.0.1",
3
+ "version": "6.1.0",
4
4
  "description": "Regular expression for matching ANSI escape codes",
5
5
  "license": "MIT",
6
6
  "repository": "chalk/ansi-regex",
7
+ "funding": "https://github.com/chalk/ansi-regex?sponsor=1",
7
8
  "author": {
8
9
  "name": "Sindre Sorhus",
9
10
  "email": "sindresorhus@gmail.com",
10
- "url": "sindresorhus.com"
11
+ "url": "https://sindresorhus.com"
11
12
  },
13
+ "type": "module",
14
+ "exports": "./index.js",
15
+ "types": "./index.d.ts",
16
+ "sideEffects": false,
12
17
  "engines": {
13
- "node": ">=8"
18
+ "node": ">=12"
14
19
  },
15
20
  "scripts": {
16
21
  "test": "xo && ava && tsd",
@@ -48,8 +53,9 @@
48
53
  "pattern"
49
54
  ],
50
55
  "devDependencies": {
51
- "ava": "^2.4.0",
52
- "tsd": "^0.9.0",
53
- "xo": "^0.25.3"
56
+ "ansi-escapes": "^5.0.0",
57
+ "ava": "^3.15.0",
58
+ "tsd": "^0.21.0",
59
+ "xo": "^0.54.2"
54
60
  }
55
61
  }
@@ -2,18 +2,16 @@
2
2
 
3
3
  > Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
4
4
 
5
-
6
5
  ## Install
7
6
 
7
+ ```sh
8
+ npm install ansi-regex
8
9
  ```
9
- $ npm install ansi-regex
10
- ```
11
-
12
10
 
13
11
  ## Usage
14
12
 
15
13
  ```js
16
- const ansiRegex = require('ansi-regex');
14
+ import ansiRegex from 'ansi-regex';
17
15
 
18
16
  ansiRegex().test('\u001B[4mcake\u001B[0m');
19
17
  //=> true
@@ -31,7 +29,6 @@ ansiRegex().test('cake');
31
29
  //=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
32
30
  ```
33
31
 
34
-
35
32
  ## API
36
33
 
37
34
  ### ansiRegex(options?)
@@ -44,12 +41,11 @@ Type: `object`
44
41
 
45
42
  ##### onlyFirst
46
43
 
47
- Type: `boolean`<br>
44
+ Type: `boolean`\
48
45
  Default: `false` *(Matches any ANSI escape codes in a string)*
49
46
 
50
47
  Match only the first ANSI escape.
51
48
 
52
-
53
49
  ## FAQ
54
50
 
55
51
  ### Why do you test for codes not in the ECMA 48 standard?
@@ -58,21 +54,7 @@ Some of the codes we run as a test are codes that we acquired finding various li
58
54
 
59
55
  On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
60
56
 
61
-
62
57
  ## Maintainers
63
58
 
64
59
  - [Sindre Sorhus](https://github.com/sindresorhus)
65
60
  - [Josh Junon](https://github.com/qix-)
66
-
67
-
68
- ---
69
-
70
- <div align="center">
71
- <b>
72
- <a href="https://tidelift.com/subscription/pkg/npm-ansi-regex?utm_source=npm-ansi-regex&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
73
- </b>
74
- <br>
75
- <sub>
76
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
77
- </sub>
78
- </div>
@@ -1,128 +1,139 @@
1
- declare namespace cliSpinners {
2
- type SpinnerName =
3
- | 'dots'
4
- | 'dots2'
5
- | 'dots3'
6
- | 'dots4'
7
- | 'dots5'
8
- | 'dots6'
9
- | 'dots7'
10
- | 'dots8'
11
- | 'dots9'
12
- | 'dots10'
13
- | 'dots11'
14
- | 'dots12'
15
- | 'dots8Bit'
16
- | 'sand'
17
- | 'line'
18
- | 'line2'
19
- | 'pipe'
20
- | 'simpleDots'
21
- | 'simpleDotsScrolling'
22
- | 'star'
23
- | 'star2'
24
- | 'flip'
25
- | 'hamburger'
26
- | 'growVertical'
27
- | 'growHorizontal'
28
- | 'balloon'
29
- | 'balloon2'
30
- | 'noise'
31
- | 'bounce'
32
- | 'boxBounce'
33
- | 'boxBounce2'
34
- | 'binary'
35
- | 'triangle'
36
- | 'arc'
37
- | 'circle'
38
- | 'squareCorners'
39
- | 'circleQuarters'
40
- | 'circleHalves'
41
- | 'squish'
42
- | 'toggle'
43
- | 'toggle2'
44
- | 'toggle3'
45
- | 'toggle4'
46
- | 'toggle5'
47
- | 'toggle6'
48
- | 'toggle7'
49
- | 'toggle8'
50
- | 'toggle9'
51
- | 'toggle10'
52
- | 'toggle11'
53
- | 'toggle12'
54
- | 'toggle13'
55
- | 'arrow'
56
- | 'arrow2'
57
- | 'arrow3'
58
- | 'bouncingBar'
59
- | 'bouncingBall'
60
- | 'smiley'
61
- | 'monkey'
62
- | 'hearts'
63
- | 'clock'
64
- | 'earth'
65
- | 'material'
66
- | 'moon'
67
- | 'runner'
68
- | 'pong'
69
- | 'shark'
70
- | 'dqpb'
71
- | 'weather'
72
- | 'christmas'
73
- | 'grenade'
74
- | 'point'
75
- | 'layer'
76
- | 'betaWave'
77
- | 'fingerDance'
78
- | 'fistBump'
79
- | 'soccerHeader'
80
- | 'mindblown'
81
- | 'speaker'
82
- | 'orangePulse'
83
- | 'bluePulse'
84
- | 'orangeBluePulse'
85
- | 'timeTravel'
86
- | 'aesthetic'
87
- | 'dwarfFortress';
1
+ // TODO: Load the spinner names from the JSON file.
2
+ export type SpinnerName =
3
+ | 'dots'
4
+ | 'dots2'
5
+ | 'dots3'
6
+ | 'dots4'
7
+ | 'dots5'
8
+ | 'dots6'
9
+ | 'dots7'
10
+ | 'dots8'
11
+ | 'dots9'
12
+ | 'dots10'
13
+ | 'dots11'
14
+ | 'dots12'
15
+ | 'dots13'
16
+ | 'dots14'
17
+ | 'dots8Bit'
18
+ | 'dotsCircle'
19
+ | 'sand'
20
+ | 'line'
21
+ | 'line2'
22
+ | 'rollingLine'
23
+ | 'pipe'
24
+ | 'simpleDots'
25
+ | 'simpleDotsScrolling'
26
+ | 'star'
27
+ | 'star2'
28
+ | 'flip'
29
+ | 'hamburger'
30
+ | 'growVertical'
31
+ | 'growHorizontal'
32
+ | 'balloon'
33
+ | 'balloon2'
34
+ | 'noise'
35
+ | 'bounce'
36
+ | 'boxBounce'
37
+ | 'boxBounce2'
38
+ | 'binary'
39
+ | 'triangle'
40
+ | 'arc'
41
+ | 'circle'
42
+ | 'squareCorners'
43
+ | 'circleQuarters'
44
+ | 'circleHalves'
45
+ | 'squish'
46
+ | 'toggle'
47
+ | 'toggle2'
48
+ | 'toggle3'
49
+ | 'toggle4'
50
+ | 'toggle5'
51
+ | 'toggle6'
52
+ | 'toggle7'
53
+ | 'toggle8'
54
+ | 'toggle9'
55
+ | 'toggle10'
56
+ | 'toggle11'
57
+ | 'toggle12'
58
+ | 'toggle13'
59
+ | 'arrow'
60
+ | 'arrow2'
61
+ | 'arrow3'
62
+ | 'bouncingBar'
63
+ | 'bouncingBall'
64
+ | 'smiley'
65
+ | 'monkey'
66
+ | 'hearts'
67
+ | 'clock'
68
+ | 'earth'
69
+ | 'material'
70
+ | 'moon'
71
+ | 'runner'
72
+ | 'pong'
73
+ | 'shark'
74
+ | 'dqpb'
75
+ | 'weather'
76
+ | 'christmas'
77
+ | 'grenade'
78
+ | 'point'
79
+ | 'layer'
80
+ | 'betaWave'
81
+ | 'fingerDance'
82
+ | 'fistBump'
83
+ | 'soccerHeader'
84
+ | 'mindblown'
85
+ | 'speaker'
86
+ | 'orangePulse'
87
+ | 'bluePulse'
88
+ | 'orangeBluePulse'
89
+ | 'timeTravel'
90
+ | 'aesthetic'
91
+ | 'dwarfFortress';
88
92
 
89
- interface Spinner {
90
- /**
91
- Recommended interval.
92
- */
93
- readonly interval: number;
93
+ export type Spinner = {
94
+ /**
95
+ The intended time per frame, in milliseconds.
96
+ */
97
+ readonly interval: number;
94
98
 
95
- /**
96
- A list of frames to show for the spinner.
97
- */
98
- readonly frames: string[];
99
- }
100
- }
99
+ /**
100
+ An array of frames to show for the spinner.
101
+ */
102
+ readonly frames: string[];
103
+ };
101
104
 
102
105
  /**
103
106
  70+ spinners for use in the terminal.
104
107
 
105
108
  @example
106
109
  ```
107
- import cliSpinners = require('cli-spinners');
110
+ import cliSpinners from 'cli-spinners';
108
111
 
109
112
  console.log(cliSpinners.dots);
110
113
  // {
111
- // interval: 80,
112
- // frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']
114
+ // interval: 80,
115
+ // frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']
113
116
  // }
114
117
  ```
115
118
  */
116
119
  declare const cliSpinners: {
117
- readonly [spinnerName in cliSpinners.SpinnerName]: cliSpinners.Spinner;
118
- } & {
119
- /**
120
- Returns a random spinner each time it's called.
121
- */
122
- readonly random: cliSpinners.Spinner;
123
-
124
- // TODO: Remove this for the next major release
125
- default: typeof cliSpinners;
120
+ readonly [spinnerName in SpinnerName]: Spinner;
126
121
  };
127
122
 
128
- export = cliSpinners;
123
+ export default cliSpinners;
124
+
125
+ /**
126
+ Get a random spinner.
127
+
128
+ @example
129
+ ```
130
+ import {randomSpinner} from 'cli-spinners';
131
+
132
+ console.log(randomSpinner());
133
+ // {
134
+ // interval: 80,
135
+ // frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']
136
+ // }
137
+ ```
138
+ */
139
+ export function randomSpinner(): Spinner;
@@ -1,15 +1,11 @@
1
- 'use strict';
1
+ import spinners from './spinners.json' with {type: 'json'};
2
2
 
3
- const spinners = Object.assign({}, require('./spinners.json')); // eslint-disable-line import/extensions
3
+ export default spinners;
4
4
 
5
5
  const spinnersList = Object.keys(spinners);
6
6
 
7
- Object.defineProperty(spinners, 'random', {
8
- get() {
9
- const randomIndex = Math.floor(Math.random() * spinnersList.length);
10
- const spinnerName = spinnersList[randomIndex];
11
- return spinners[spinnerName];
12
- }
13
- });
14
-
15
- module.exports = spinners;
7
+ export function randomSpinner() {
8
+ const randomIndex = Math.floor(Math.random() * spinnersList.length);
9
+ const spinnerName = spinnersList[randomIndex];
10
+ return spinners[spinnerName];
11
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cli-spinners",
3
- "version": "2.9.2",
3
+ "version": "3.3.0",
4
4
  "description": "Spinners for use in the terminal",
5
5
  "license": "MIT",
6
6
  "repository": "sindresorhus/cli-spinners",
@@ -10,11 +10,18 @@
10
10
  "email": "sindresorhus@gmail.com",
11
11
  "url": "https://sindresorhus.com"
12
12
  },
13
+ "type": "module",
14
+ "exports": {
15
+ "types": "./index.d.ts",
16
+ "default": "./index.js"
17
+ },
18
+ "sideEffects": false,
13
19
  "engines": {
14
- "node": ">=6"
20
+ "node": ">=18.20"
15
21
  },
16
22
  "scripts": {
17
- "test": "xo && ava && tsd",
23
+ "//test": "xo && ava && tsc --noEmit index.d.ts",
24
+ "test": "ava && tsc --noEmit index.d.ts",
18
25
  "asciicast": "asciinema rec --command='node example-all.js' --title='cli-spinner' --quiet"
19
26
  },
20
27
  "files": [
@@ -40,11 +47,10 @@
40
47
  "json"
41
48
  ],
42
49
  "devDependencies": {
43
- "@types/node": "^17.0.41",
44
- "ava": "^1.4.1",
45
- "log-update": "^3.2.0",
46
- "string-length": "^4.0.1",
47
- "tsd": "^0.7.2",
48
- "xo": "^0.24.0"
50
+ "ava": "^6.1.2",
51
+ "log-update": "^6.0.0",
52
+ "string-length": "^6.0.0",
53
+ "typescript": "^5.4.5",
54
+ "xo": "^0.58.0"
49
55
  }
50
56
  }
@@ -11,7 +11,7 @@
11
11
 
12
12
  The list of spinners is just a [JSON file](spinners.json) and can be used wherever.
13
13
 
14
- You probably want to use one of these spinners through the [`ora`](https://github.com/sindresorhus/ora) module.
14
+ You probably want to use one of these spinners through the [`ora`](https://github.com/sindresorhus/ora) package.
15
15
 
16
16
  ## Install
17
17
 
@@ -22,7 +22,7 @@ npm install cli-spinners
22
22
  ## Usage
23
23
 
24
24
  ```js
25
- const cliSpinners = require('cli-spinners');
25
+ import cliSpinners from 'cli-spinners';
26
26
 
27
27
  console.log(cliSpinners.dots);
28
28
  /*
@@ -33,17 +33,36 @@ console.log(cliSpinners.dots);
33
33
  */
34
34
  ```
35
35
 
36
+ - `interval` is the intended time per frame, in milliseconds.
37
+ - `frames` is an array of frames to show for the spinner.
38
+
36
39
  ## Preview
37
40
 
38
41
  The header GIF is outdated. See all the [spinner at once](https://jsfiddle.net/sindresorhus/2eLtsbey/embedded/result/) or [one at the time](https://asciinema.org/a/95348?size=big).
39
42
 
40
43
  ## API
41
44
 
45
+ ### cliSpinners
46
+
42
47
  Each spinner comes with a recommended `interval` and an array of `frames`.
43
48
 
44
49
  [See the spinners.](spinners.json)
45
50
 
46
- The `random` spinner will return a random spinner each time it's called.
51
+ ### randomSpinner()
52
+
53
+ Get a random spinner.
54
+
55
+ ```js
56
+ import {randomSpinner} from 'cli-spinners';
57
+
58
+ console.log(randomSpinner());
59
+ /*
60
+ {
61
+ interval: 80,
62
+ frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']
63
+ }
64
+ */
65
+ ```
47
66
 
48
67
  ## Related
49
68
 
@@ -52,3 +71,4 @@ The `random` spinner will return a random spinner each time it's called.
52
71
  - [py-spinners](https://github.com/ManrajGrover/py-spinners) - Python port
53
72
  - [spinners](https://github.com/FGRibreau/spinners) - Terminal spinners for Rust
54
73
  - [go-spinners](https://github.com/gabe565/go-spinners) - Go port
74
+ - [bash-cli-spinners](https://github.com/simeg/bash-cli-spinners) - Terminal spinners in Bash