@nearform/fling 0.5.1 → 0.6.0
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.
- package/CHANGELOG.md +30 -1
- package/README.md +60 -2
- package/dist/cli.js +957 -331
- package/dist/cli.js.map +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
- `fling groups --members a,b` lists only the groups whose members are exactly those people, to
|
|
6
|
+
find a group to use before making another. The MCP tool `fling_groups` takes `members` for the
|
|
7
|
+
same.
|
|
8
|
+
|
|
9
|
+
- **Shared with me.** `fling ls --shared` lists the restricted sites other people have shared with
|
|
10
|
+
you, by address or through a group you are in, with their owner and how (`--sort` as for
|
|
11
|
+
`fling ls`; `--json`: `{ name, url, reviewUrl?, owner, via: { direct, groups }, createdAt,
|
|
12
|
+
updatedAt }`). The MCP tool `fling_list` takes `shared: true` for the same list, on a Fling with
|
|
13
|
+
the `audiences` capability.
|
|
14
|
+
|
|
15
|
+
- **Groups.** `fling groups` lists the groups of people on a Fling (`--mine`: yours), and `show`,
|
|
16
|
+
`create`, `add`, `remove`, `rename` and `delete` manage them. Anyone can see a group and use it;
|
|
17
|
+
only its owner can change it. `fling access <name> --group <slugs>` / `--remove-group` put groups
|
|
18
|
+
in a site's audience. The MCP tools `fling_groups`, `fling_group_show`, `fling_group_create`,
|
|
19
|
+
`fling_group_members`, `fling_group_rename` and `fling_group_delete` do the same on a Fling with
|
|
20
|
+
the `groups` capability, and `fling_set_audience` takes `addGroups`, `removeGroups` and
|
|
21
|
+
`setGroups`. A site's `audience.groups` is `[{ slug, name, size }]`, and sites carry
|
|
22
|
+
`audienceGroups`.
|
|
23
|
+
- `fling access <name>` shows who can open a private site and, with `--add`, `--remove` or
|
|
24
|
+
`--clear`, limits it to listed people (its audience) or opens it to everyone signed in again.
|
|
25
|
+
It warns while a share link still opens a restricted site, and when the site is public (the
|
|
26
|
+
audience applies once it is private). `fling info` shows the same line.
|
|
27
|
+
- The MCP tool `fling_set_audience` (`add`, `remove`, `set`, `clear`) does the same, on a Fling
|
|
28
|
+
that has the `audiences` capability, and `fling_info` says who can open the site.
|
|
29
|
+
- Sites in `--json` output carry `restricted` (private with an audience) and `audienceSize`;
|
|
30
|
+
`fling info --json` adds the `audience` itself.
|
|
31
|
+
- `fling ls` lists the last updated site first. `--sort updated|created|name` picks the order
|
|
32
|
+
(`created`: newest first; `name`: A–Z). The MCP tool `fling_list` takes the same `sort`.
|
|
4
33
|
|
|
5
34
|
## 0.5.1
|
|
6
35
|
|
package/README.md
CHANGED
|
@@ -178,15 +178,69 @@ and a taken name fails (exit 1) with suggestions rather than picking another nam
|
|
|
178
178
|
|
|
179
179
|
| Command | |
|
|
180
180
|
|---|---|
|
|
181
|
-
| `fling ls [--archived]` | your sites |
|
|
181
|
+
| `fling ls [--archived] [--sort updated\|created\|name]` | your sites, last updated first (`created`: newest first; `name`: A–Z) |
|
|
182
|
+
| `fling ls --shared [--sort …]` | the restricted sites others have shared with you: owner, and how (your address or a group) |
|
|
182
183
|
| `fling info <name>` / `fling versions <name>` | details and version history |
|
|
183
184
|
| `fling files <name> [versionId]` | the files in the live version (or an earlier one) |
|
|
184
185
|
| `fling rollback <name> <versionId>` | serve an earlier version |
|
|
185
186
|
| `fling share <name> [--refresh] [--revoke]` | public share link: print or create it, rotate it, or remove it |
|
|
186
187
|
| `fling visibility <name> private\|public` | require sign-in, or not |
|
|
188
|
+
| `fling access <name> [--add <emails>] [--remove <emails>] [--group <slugs>] [--remove-group <slugs>] [--clear]` | who can open a private site: everyone signed in, or only listed people and groups |
|
|
187
189
|
| `fling archive <name>` / `fling unarchive <name>` | take offline and keep the files, or bring back |
|
|
188
190
|
| `fling rm <name> [--yes]` | delete permanently |
|
|
189
191
|
|
|
192
|
+
### Who can open a private site
|
|
193
|
+
|
|
194
|
+
A private site opens to everyone signed in to your Fling. `fling access` limits it to listed people
|
|
195
|
+
(its audience); you, the owner, can always open it:
|
|
196
|
+
|
|
197
|
+
```sh
|
|
198
|
+
fling access my-app # who can open it now
|
|
199
|
+
fling access my-app --add bob@example.com,cat@example.com
|
|
200
|
+
fling access my-app --remove bob@example.com
|
|
201
|
+
fling access my-app --group design # everyone in the design group too
|
|
202
|
+
fling access my-app --remove-group design
|
|
203
|
+
fling access my-app --clear # everyone signed in again
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Addresses are comma-separated or given after `--add` one by one, and each must be one that can sign
|
|
207
|
+
in to the Fling. Someone who hasn't signed in yet is marked `(hasn't signed in yet)`; they can open
|
|
208
|
+
the site once they do. The audience only applies while the site is private: on a public site it is
|
|
209
|
+
kept for later and `fling access` says so. A share link still opens a restricted site to anyone who
|
|
210
|
+
has it, and `fling access` warns while one exists. Removing someone shuts them out within 5
|
|
211
|
+
minutes. `--json` prints the site with its `audience` (`{ emails: [{ email, known }], groups:
|
|
212
|
+
[{ slug, name, size }] }`) and `warnings`; `fling info` shows the same line, and `fling ls --json`
|
|
213
|
+
gives each site's `restricted`, `audienceSize` and `audienceGroups` (how many of those are groups).
|
|
214
|
+
|
|
215
|
+
`fling ls --shared` lists the other side: the restricted sites whose audience names you, or a group
|
|
216
|
+
you are in, with their owner and how they reached you. With `--json`, each is `{ name, url,
|
|
217
|
+
reviewUrl?, owner, via: { direct, groups }, createdAt, updatedAt }`. Your own sites, and private
|
|
218
|
+
sites open to everyone signed in, aren't listed.
|
|
219
|
+
|
|
220
|
+
### Groups
|
|
221
|
+
|
|
222
|
+
A group is a named list of people, such as a team, that anyone signed in can use in a site's
|
|
223
|
+
audience. Everyone can list groups and see who is in one; only the group's owner, who made it, can
|
|
224
|
+
change its members, rename it or delete it:
|
|
225
|
+
|
|
226
|
+
```sh
|
|
227
|
+
fling groups # every group (--mine: only yours)
|
|
228
|
+
fling groups --members bob@example.com,cat@example.com # the groups of exactly these people
|
|
229
|
+
fling groups show design # its members
|
|
230
|
+
fling groups create design --name "Design team" --add bob@example.com,cat@example.com
|
|
231
|
+
fling groups add design dan@example.com
|
|
232
|
+
fling groups remove design bob@example.com
|
|
233
|
+
fling groups rename design "Designers"
|
|
234
|
+
fling groups delete design # asks first unless --yes
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
A slug is lowercase letters, digits and single hyphens, unique on the Fling; a group holds up to 500
|
|
238
|
+
people, and an audience names up to 10 groups. Taking someone out of a group shuts them out of the
|
|
239
|
+
sites it opens within 5 minutes. Deleting a group never opens a site up: sites whose audience
|
|
240
|
+
names it keep their restriction, and anyone it let in loses access. Where it was the only entry,
|
|
241
|
+
`fling access` shows "a deleted group (#<id>)" and only you can open the site until you add
|
|
242
|
+
people or groups (`--remove-group '#<id>'` takes the reference out).
|
|
243
|
+
|
|
190
244
|
## Comments
|
|
191
245
|
|
|
192
246
|
People review a site on its review page (`<your Fling>/review/<name>`, the **Review** button on the
|
|
@@ -261,7 +315,11 @@ The MCP tools:
|
|
|
261
315
|
current), read when called. `{use: <server>}` makes one current, the same as `fling use`.
|
|
262
316
|
- `fling_check_name`, `fling_list`, `fling_info`, `fling_files`, `fling_share`,
|
|
263
317
|
`fling_set_visibility`, `fling_archive`, `fling_rollback`, `fling_delete` (needs
|
|
264
|
-
`confirm: true`), `fling_whoami`,
|
|
318
|
+
`confirm: true`), `fling_whoami`, the comment tools when a Fling has comments, and
|
|
319
|
+
`fling_set_audience` (`add`, `remove`, `set` or `clear` the people who can open a private site,
|
|
320
|
+
and `addGroups`, `removeGroups`, `setGroups` for groups) when it can limit sites to listed
|
|
321
|
+
people, and the group tools (`fling_groups`, `fling_group_show`, `fling_group_create`,
|
|
322
|
+
`fling_group_members`, `fling_group_rename`, `fling_group_delete`) when it has groups.
|
|
265
323
|
|
|
266
324
|
Results that give URLs (deploys, publishes, comments) end with the Fling they went to.
|
|
267
325
|
|