fix: lib/team.js tweaks and tests · npm/cli@7ff6efb (original) (raw)

``

1

`+

'use strict'

`

``

2

+

1

3

`const columns = require('cli-columns')

`

2

4

`const libteam = require('libnpmteam')

`

``

5

+

3

6

`const npm = require('./npm.js')

`

4

7

`const output = require('./utils/output.js')

`

5

8

`const otplease = require('./utils/otplease.js')

`

6

9

`const usageUtil = require('./utils/usage')

`

7

10

``

8

``

`-

const subcommands = ['create', 'destroy', 'add', 'rm', 'ls', 'edit']

`

``

11

`+

const subcommands = ['create', 'destroy', 'add', 'rm', 'ls']

`

9

12

``

10

13

`const usage = usageUtil(

`

11

14

`'team',

`

12

15

`'npm team create scope:team [--otp ]\n' +

`

13

16

`'npm team destroy scope:team [--otp ]\n' +

`

14

17

`'npm team add scope:team [--otp ]\n' +

`

15

18

`'npm team rm scope:team [--otp ]\n' +

`

16

``

`-

'npm team ls |scope:team\n' +

`

17

``

`-

'npm team edit scope:team'

`

``

19

`+

'npm team ls |scope:team\n'

`

18

20

`)

`

19

21

``

20

22

`const completion = (opts, cb) => {

`

`@@ -28,7 +30,6 @@ const completion = (opts, cb) => {

`

28

30

`case 'destroy':

`

29

31

`case 'add':

`

30

32

`case 'rm':

`

31

``

`-

case 'edit':

`

32

33

`return cb(null, [])

`

33

34

`default:

`

34

35

`return cb(new Error(argv[2] + ' not recognized'))

`

`@@ -56,8 +57,6 @@ const team = async ([cmd, entity = '', user = '']) => {

`

56

57

`else

`

57

58

`return teamListTeams(entity, opts)

`

58

59

`}

`

59

``

`-

case 'edit':

`

60

``

`` -

throw new Error('npm team edit is not implemented yet.')

``

61

60

`default:

`

62

61

`throw usage

`

63

62

`}

`

`@@ -125,7 +124,9 @@ const teamListUsers = async (entity, opts) => {

`

125

124

`else if (opts.parseable)

`

126

125

`output(users.join('\n'))

`

127

126

`else if (!opts.silent && opts.loglevel !== 'silent') {

`

128

``

`` -

output(\n@${entity} has <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi>u</mi><mi>s</mi><mi>e</mi><mi>r</mi><mi>s</mi><mi mathvariant="normal">.</mi><mi>l</mi><mi>e</mi><mi>n</mi><mi>g</mi><mi>t</mi><mi>h</mi></mrow><mi>u</mi><mi>s</mi><mi>e</mi><mi>r</mi></mrow><annotation encoding="application/x-tex">{users.length} user</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">u</span><span class="mord mathnormal">sers</span><span class="mord">.</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="mord mathnormal">t</span><span class="mord mathnormal">h</span></span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.02778em;">ser</span></span></span></span>{users.length === 1 ? '' : 's'}:\n)

``

``

127

`+

const plural = users.length === 1 ? '' : 's'

`

``

128

`+

const more = users.length === 0 ? '' : ':\n'

`

``

129

`` +

output(\n@${entity} has <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi>u</mi><mi>s</mi><mi>e</mi><mi>r</mi><mi>s</mi><mi mathvariant="normal">.</mi><mi>l</mi><mi>e</mi><mi>n</mi><mi>g</mi><mi>t</mi><mi>h</mi></mrow><mi>u</mi><mi>s</mi><mi>e</mi><mi>r</mi></mrow><annotation encoding="application/x-tex">{users.length} user</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">u</span><span class="mord mathnormal">sers</span><span class="mord">.</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="mord mathnormal">t</span><span class="mord mathnormal">h</span></span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.02778em;">ser</span></span></span></span>{plural}${more})

``

129

130

`output(columns(users, { padding: 1 }))

`

130

131

`}

`

131

132

`}

`

`@@ -137,7 +138,9 @@ const teamListTeams = async (entity, opts) => {

`

137

138

`else if (opts.parseable)

`

138

139

`output(teams.join('\n'))

`

139

140

`else if (!opts.silent && opts.loglevel !== 'silent') {

`

140

``

`` -

output(\n@${entity} has <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi>t</mi><mi>e</mi><mi>a</mi><mi>m</mi><mi>s</mi><mi mathvariant="normal">.</mi><mi>l</mi><mi>e</mi><mi>n</mi><mi>g</mi><mi>t</mi><mi>h</mi></mrow><mi>t</mi><mi>e</mi><mi>a</mi><mi>m</mi></mrow><annotation encoding="application/x-tex">{teams.length} team</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="mord mathnormal">e</span><span class="mord mathnormal">am</span><span class="mord mathnormal">s</span><span class="mord">.</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="mord mathnormal">t</span><span class="mord mathnormal">h</span></span><span class="mord mathnormal">t</span><span class="mord mathnormal">e</span><span class="mord mathnormal">am</span></span></span></span>{teams.length === 1 ? '' : 's'}:\n)

``

``

141

`+

const plural = teams.length === 1 ? '' : 's'

`

``

142

`+

const more = teams.length === 0 ? '' : ':\n'

`

``

143

`` +

output(\n@${entity} has <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi>t</mi><mi>e</mi><mi>a</mi><mi>m</mi><mi>s</mi><mi mathvariant="normal">.</mi><mi>l</mi><mi>e</mi><mi>n</mi><mi>g</mi><mi>t</mi><mi>h</mi></mrow><mi>t</mi><mi>e</mi><mi>a</mi><mi>m</mi></mrow><annotation encoding="application/x-tex">{teams.length} team</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="mord mathnormal">e</span><span class="mord mathnormal">am</span><span class="mord mathnormal">s</span><span class="mord">.</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">e</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="mord mathnormal">t</span><span class="mord mathnormal">h</span></span><span class="mord mathnormal">t</span><span class="mord mathnormal">e</span><span class="mord mathnormal">am</span></span></span></span>{plural}${more})

``

141

144

`` output(columns(teams.map(t => @${t}), { padding: 1 }))

``

142

145

`}

`

143

146

`}

`