@microlink/cli 2.1.52 → 2.1.54

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@microlink/cli",
3
3
  "description": "Interacting with Microlink API from your terminal.",
4
4
  "homepage": "https://github.com/microlinkhq/cli",
5
- "version": "2.1.52",
5
+ "version": "2.1.54",
6
6
  "main": "src/index.js",
7
7
  "bin": {
8
8
  "microlink": "bin/microlink",
@@ -33,10 +33,10 @@
33
33
  "microlink"
34
34
  ],
35
35
  "dependencies": {
36
- "@kikobeats/content-type": "~1.0.1",
36
+ "@kikobeats/content-type": "~1.0.4",
37
37
  "@microlink/mql": "~0.16.0",
38
38
  "clipboardy": "~2.3.0",
39
- "is-local-address": "~2.3.0",
39
+ "is-local-address": "~2.3.4",
40
40
  "jsome": "~2.5.0",
41
41
  "mri": "~1.2.0",
42
42
  "nanospinner": "~1.2.2",
@@ -51,7 +51,6 @@
51
51
  "devDependencies": {
52
52
  "@commitlint/cli": "latest",
53
53
  "@commitlint/config-conventional": "latest",
54
- "@ksmithut/prettier-standard": "latest",
55
54
  "ava": "latest",
56
55
  "c8": "latest",
57
56
  "ci-publish": "latest",
@@ -96,7 +95,6 @@
96
95
  },
97
96
  "nano-staged": {
98
97
  "*.js": [
99
- "prettier-standard",
100
98
  "standard --fix"
101
99
  ],
102
100
  "*.md": [
package/src/api.js CHANGED
@@ -46,9 +46,13 @@ const fetch = async (cli, gotOpts) => {
46
46
  const mqlOpts = { endpoint, ...queryParams, ...flags }
47
47
  const spinner = print.spinner()
48
48
 
49
+ const mergedGotOpts = Object.keys(cli.headers).length > 0
50
+ ? { ...gotOpts, headers: { ...gotOpts.headers, ...cli.headers } }
51
+ : gotOpts
52
+
49
53
  try {
50
54
  spinner.start()
51
- const response = await mql.buffer(url, mqlOpts, gotOpts)
55
+ const response = await mql.buffer(url, mqlOpts, mergedGotOpts)
52
56
  spinner.stop()
53
57
  return { response, flags: { copy, pretty } }
54
58
  } catch (error) {
package/src/cli.js CHANGED
@@ -2,8 +2,10 @@
2
2
 
3
3
  const mri = require('mri')
4
4
 
5
- const { _, ...flags } = mri(process.argv.slice(2), {
5
+ const { _, header, ...flags } = mri(process.argv.slice(2), {
6
+ alias: { H: 'header' },
6
7
  boolean: ['color', 'copy', 'pretty'],
8
+ string: ['header'],
7
9
  default: {
8
10
  apiKey: process.env.MICROLINK_API_KEY,
9
11
  pretty: true,
@@ -12,11 +14,28 @@ const { _, ...flags } = mri(process.argv.slice(2), {
12
14
  }
13
15
  })
14
16
 
17
+ const parseHeaders = raw => {
18
+ if (!raw) return {}
19
+ const entries = Array.isArray(raw) ? raw : [raw]
20
+ const headers = {}
21
+ for (const entry of entries) {
22
+ const idx = entry.indexOf(':')
23
+ if (idx === -1) continue
24
+ headers[entry.slice(0, idx).trim().toLowerCase()] = entry.slice(idx + 1).trim()
25
+ }
26
+ return headers
27
+ }
28
+
29
+ const headers = parseHeaders(header)
30
+
15
31
  module.exports = {
16
32
  flags,
33
+ headers,
17
34
  input: _,
18
35
  showHelp: () => {
19
36
  console.log(require('./help'))
20
37
  process.exit(0)
21
38
  }
22
39
  }
40
+
41
+ module.exports.parseHeaders = parseHeaders
package/src/help.js CHANGED
@@ -24,10 +24,12 @@ Flags
24
24
  white('true')
25
25
  )}).`
26
26
  )}
27
+ ${gray('-H <header> pass custom HTTP header to the request (repeatable).')}
27
28
 
28
29
 
29
30
  Examples
30
31
  ${gray('microlink https://microlink.io&palette')}
31
32
  ${gray('microlink https://microlink.io&palette --no-pretty')}
32
33
  ${gray('microlink https://microlink.io&palette --api-key=MyApiKey')}
34
+ ${gray("microlink https://example.com -H 'x-user-cookie: 1'")}
33
35
  `