Blame view

node_modules/ora/readme.md 4 KB
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
  # ora [![Build Status](https://travis-ci.org/sindresorhus/ora.svg?branch=master)](https://travis-ci.org/sindresorhus/ora)
  
  > Elegant terminal spinner
  
  <p align="center">
  	<img src="https://rawgit.com/sindresorhus/ora/master/screenshot.svg" width="500">
  </p>
  
  
  ## Install
  
  ```
  $ npm install --save ora
  ```
  
  *Show your support for Ora by buying this excellent [Node.js course](https://LearnNode.com/friend/AWESOME).*
  
  
  ## Usage
  
  ```js
  const ora = require('ora');
  
  const spinner = ora('Loading unicorns').start();
  
  setTimeout(() => {
  	spinner.color = 'yellow';
  	spinner.text = 'Loading rainbows';
  }, 1000);
  ```
  
  
  ## API
  
  It will gracefully not do anything when there's no TTY or when in a CI.
  
  ### ora([options|text])
  
  If a string is provided, it is treated as a shortcut for [`options.text`](#text).
  
  #### options
  
  Type: `Object`
  
  ##### text
  
  Type: `string`
  
  Text to display after the spinner.
  
  ##### spinner
  
  Type: `string` `Object`<br>
  Default: `dots` <img src="screenshot-spinner.gif" width="14">
  
  Name of one of the [provided spinners](https://github.com/sindresorhus/cli-spinners/blob/master/spinners.json). See `example.js` in this repo if you want to test out different spinners.
  
  Or an object like:
  
  ```js
  {
  	interval: 80, // optional
  	frames: ['-', '+', '-']
  }
  ```
  
  ##### color
  
  Type: `string`<br>
  Default: `cyan`<br>
  Values: `black` `red` `green` `yellow` `blue` `magenta` `cyan` `white` `gray`
  
  Color of the spinner.
  
  ##### interval
  
  Type: `number`<br>
  Default: Provided by the spinner or `100`
  
  Interval between each frame.
  
  Spinners provide their own recommended interval, so you don't really need to specify this.
  
  ##### stream
  
  Type: `WritableStream`<br>
  Default: `process.stderr`
  
  Stream to write the output.
  
  You could for example set this to `process.stdout` instead.
  
  ##### enabled
  
  Type: `boolean`
  
  Force enable/disable the spinner. If not specified, the spinner will be enabled if the `stream` is being run inside a TTY context (not spawned or piped) and/or not in a CI environment.
  
  ### Instance
  
  #### .start([text])
  
  Start the spinner. Returns the instance. Set the current text if `text` is provided.
  
  #### .stop()
  
  Stop and clear the spinner. Returns the instance.
  
  #### .succeed([text])
  
  Stop the spinner, change it to a green `✔` and persist the current text, or `text` if provided. Returns the instance. See the GIF below.
  
  #### .fail([text])
  
  Stop the spinner, change it to a red `✖` and persist the current text, or `text` if provided. Returns the instance. See the GIF below.
  
  #### .warn([text])
  
  Stop the spinner, change it to a yellow `⚠` and persist the current text, or `text` if provided. Returns the instance.
  
  #### .info([text])
  
  Stop the spinner, change it to a blue `ℹ` and persist the current text, or `text` if provided. Returns the instance.
  
  #### .stopAndPersist([options])
  
  Stop the spinner and change the symbol or text. Returns the instance. See the GIF below.
  
  ##### options
  
  Type: `Object`
  
  ###### symbol
  
  Type: `string`<br>
  Default: `' '`
  
  Symbol to replace the spinner with.
  
  ###### text
  
  Type: `string`<br>
  Default: Current text
  
  Text to be persisted.
  
  <img src="screenshot-2.gif" width="480">
  
  #### .clear()
  
  Clear the spinner. Returns the instance.
  
  #### .render()
  
  Manually render a new frame. Returns the instance.
  
  #### .frame()
  
  Get a new frame.
  
  #### .text
  
  Change the text.
  
  #### .color
  
  Change the spinner color.
  
  ### ora.promise(action, [options|text])
  
  Starts a spinner for a promise. The spinner is stopped with `.succeed()` if the promise fulfills or with `.fail()` if it rejects. Returns the spinner instance.
  
  #### action
  
  Type: `Promise`
  
  
  ## Related
  
  - [cli-spinners](https://github.com/sindresorhus/cli-spinners) - Spinners for use in the terminal
  - [listr](https://github.com/SamVerschueren/listr) - Terminal task list
  - [CLISpinner](https://github.com/kiliankoe/CLISpinner) - Terminal spinner library for Swift
  - [halo](https://github.com/ManrajGrover/halo) - Python port
  - [spinners](https://github.com/FGRibreau/spinners) - Terminal spinners for Rust
  
  
  ## License
  
  MIT © [Sindre Sorhus](https://sindresorhus.com)