@hocuspocus/cli 1.0.0-alpha.2 → 1.0.0-alpha.22

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 (2) hide show
  1. package/package.json +6 -8
  2. package/src/index.js +32 -5
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hocuspocus/cli",
3
3
  "description": "a CLI tool to start a local Hocuspocus server",
4
- "version": "1.0.0-alpha.2",
4
+ "version": "1.0.0-alpha.22",
5
5
  "homepage": "https://hocuspocus.dev",
6
6
  "keywords": [
7
7
  "hocuspocus",
@@ -18,13 +18,11 @@
18
18
  "src"
19
19
  ],
20
20
  "dependencies": {
21
- "@hocuspocus/extension-logger": "^1.0.0-alpha.60",
22
- "@hocuspocus/extension-webhook": "^1.0.0-alpha.50",
23
- "@hocuspocus/server": "^1.0.0-alpha.86",
21
+ "@hocuspocus/extension-logger": "^1.0.0-alpha.80",
22
+ "@hocuspocus/extension-sqlite": "^1.0.0-alpha.20",
23
+ "@hocuspocus/extension-webhook": "^1.0.0-alpha.70",
24
+ "@hocuspocus/server": "^1.0.0-alpha.106",
24
25
  "meow": "^10.1.2"
25
26
  },
26
- "publishConfig": {
27
- "access": "public"
28
- },
29
- "gitHead": "1bbb2df1f2be4046ca7e5415cd975e469ec16145"
27
+ "gitHead": "6074a6cb832b40bc579f28db2823ba5723887312"
30
28
  }
package/src/index.js CHANGED
@@ -4,18 +4,23 @@ import meow from 'meow'
4
4
  import { Server } from '@hocuspocus/server'
5
5
  import { Logger } from '@hocuspocus/extension-logger'
6
6
  import { Webhook } from '@hocuspocus/extension-webhook'
7
+ import { SQLite } from '@hocuspocus/extension-sqlite'
7
8
 
8
- const cli = meow(`
9
+ export const cli = meow(`
9
10
  Usage
10
- $ hocuspocus
11
+ $ hocuspocus [options]
11
12
 
12
13
  Options
13
14
  --port=, -p Set the port, defaults to 1234.
14
15
  --webhook=, -w Configure a custom webhook.
16
+ --sqlite=, -s Store data in a SQLite database, defaults to :memory:.
17
+ --version Show the current version number.
15
18
 
16
19
  Examples
17
20
  $ hocuspocus --port 8080
18
21
  $ hocuspocus --webhook http://localhost/webhooks/hocuspocus
22
+ $ hocuspocus --sqlite
23
+ $ hocuspocus --sqlite database/default.sqlite
19
24
  `, {
20
25
  importMeta: import.meta,
21
26
  flags: {
@@ -29,16 +34,38 @@ const cli = meow(`
29
34
  alias: 'w',
30
35
  default: '',
31
36
  },
37
+ sqlite: {
38
+ type: 'string',
39
+ alias: 's',
40
+ default: '',
41
+ },
32
42
  },
33
43
  })
34
44
 
45
+ export const getConfiguredWebhookExtension = () => {
46
+ return cli.flags.webhook ? new Webhook({
47
+ url: cli.flags.webhook,
48
+ }) : undefined
49
+ }
50
+
51
+ export const getConfiguredSQLiteExtension = () => {
52
+ if (cli.flags.sqlite) {
53
+ return new SQLite({
54
+ database: cli.flags.sqlite,
55
+ })
56
+ } if (process.argv.includes('--sqlite')) {
57
+ return new SQLite()
58
+ }
59
+
60
+ return undefined
61
+ }
62
+
35
63
  const server = Server.configure({
36
64
  port: parseInt(cli.flags.port, 10),
37
65
  extensions: [
38
66
  new Logger(),
39
- cli.flags.webhook ? new Webhook({
40
- url: cli.flags.webhook,
41
- }) : undefined,
67
+ getConfiguredWebhookExtension(),
68
+ getConfiguredSQLiteExtension(),
42
69
  ].filter(extension => extension),
43
70
  })
44
71