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
`}
`