cloudstructs 0.4.21 → 0.4.24

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 (134) hide show
  1. package/.gitattributes +0 -1
  2. package/.jsii +3 -3
  3. package/assets/email-receiver/s3.lambda/index.js +8 -13
  4. package/assets/email-receiver/whitelist.lambda/index.js +8 -13
  5. package/assets/slack-app/provider.lambda/index.js +196 -33
  6. package/assets/slack-events/events.lambda/index.js +9 -16
  7. package/assets/slack-textract/detect.lambda/index.js +272 -44
  8. package/assets/toolkit-cleaner/clean-images.lambda/index.js +8 -13
  9. package/assets/toolkit-cleaner/clean-objects.lambda/index.js +9 -16
  10. package/assets/toolkit-cleaner/extract-template-hashes.lambda/index.js +8 -13
  11. package/assets/toolkit-cleaner/get-stack-names.lambda/index.js +8 -13
  12. package/assets/url-shortener/shortener.lambda/index.js +8 -13
  13. package/changelog.md +1 -1
  14. package/lib/codecommit-mirror/index.js +2 -2
  15. package/lib/ecs-service-roller/index.js +2 -2
  16. package/lib/email-receiver/receiver.js +1 -1
  17. package/lib/saml-identity-provider/index.js +2 -2
  18. package/lib/slack-app/manifest.js +1 -1
  19. package/lib/slack-app/slack-app.js +2 -2
  20. package/lib/slack-events/index.js +1 -1
  21. package/lib/slack-textract/index.js +1 -1
  22. package/lib/state-machine-cr-provider/index.js +1 -1
  23. package/lib/static-website/index.js +14 -3
  24. package/lib/toolkit-cleaner/index.js +1 -1
  25. package/lib/url-shortener/index.js +1 -1
  26. package/node_modules/@slack/logger/node_modules/@types/node/README.md +2 -2
  27. package/node_modules/@slack/logger/node_modules/@types/node/async_hooks.d.ts +1 -1
  28. package/node_modules/@slack/logger/node_modules/@types/node/buffer.d.ts +1 -1
  29. package/node_modules/@slack/logger/node_modules/@types/node/crypto.d.ts +41 -10
  30. package/node_modules/@slack/logger/node_modules/@types/node/diagnostics_channel.d.ts +19 -1
  31. package/node_modules/@slack/logger/node_modules/@types/node/fs.d.ts +48 -14
  32. package/node_modules/@slack/logger/node_modules/@types/node/globals.d.ts +12 -2
  33. package/node_modules/@slack/logger/node_modules/@types/node/http2.d.ts +1 -0
  34. package/node_modules/@slack/logger/node_modules/@types/node/net.d.ts +7 -0
  35. package/node_modules/@slack/logger/node_modules/@types/node/package.json +3 -3
  36. package/node_modules/@slack/logger/node_modules/@types/node/tls.d.ts +1 -1
  37. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +2 -2
  38. package/node_modules/@slack/web-api/node_modules/@types/node/async_hooks.d.ts +1 -1
  39. package/node_modules/@slack/web-api/node_modules/@types/node/buffer.d.ts +1 -1
  40. package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +41 -10
  41. package/node_modules/@slack/web-api/node_modules/@types/node/diagnostics_channel.d.ts +19 -1
  42. package/node_modules/@slack/web-api/node_modules/@types/node/fs.d.ts +48 -14
  43. package/node_modules/@slack/web-api/node_modules/@types/node/globals.d.ts +12 -2
  44. package/node_modules/@slack/web-api/node_modules/@types/node/http2.d.ts +1 -0
  45. package/node_modules/@slack/web-api/node_modules/@types/node/net.d.ts +7 -0
  46. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +3 -3
  47. package/node_modules/@slack/web-api/node_modules/@types/node/tls.d.ts +1 -1
  48. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +2 -2
  49. package/node_modules/@types/cacheable-request/node_modules/@types/node/async_hooks.d.ts +1 -1
  50. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +1 -1
  51. package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +41 -10
  52. package/node_modules/@types/cacheable-request/node_modules/@types/node/diagnostics_channel.d.ts +19 -1
  53. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs.d.ts +48 -14
  54. package/node_modules/@types/cacheable-request/node_modules/@types/node/globals.d.ts +12 -2
  55. package/node_modules/@types/cacheable-request/node_modules/@types/node/http2.d.ts +1 -0
  56. package/node_modules/@types/cacheable-request/node_modules/@types/node/net.d.ts +7 -0
  57. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +3 -3
  58. package/node_modules/@types/cacheable-request/node_modules/@types/node/tls.d.ts +1 -1
  59. package/node_modules/@types/is-stream/node_modules/@types/node/README.md +2 -2
  60. package/node_modules/@types/is-stream/node_modules/@types/node/async_hooks.d.ts +1 -1
  61. package/node_modules/@types/is-stream/node_modules/@types/node/buffer.d.ts +1 -1
  62. package/node_modules/@types/is-stream/node_modules/@types/node/crypto.d.ts +41 -10
  63. package/node_modules/@types/is-stream/node_modules/@types/node/diagnostics_channel.d.ts +19 -1
  64. package/node_modules/@types/is-stream/node_modules/@types/node/fs.d.ts +48 -14
  65. package/node_modules/@types/is-stream/node_modules/@types/node/globals.d.ts +12 -2
  66. package/node_modules/@types/is-stream/node_modules/@types/node/http2.d.ts +1 -0
  67. package/node_modules/@types/is-stream/node_modules/@types/node/net.d.ts +7 -0
  68. package/node_modules/@types/is-stream/node_modules/@types/node/package.json +3 -3
  69. package/node_modules/@types/is-stream/node_modules/@types/node/tls.d.ts +1 -1
  70. package/node_modules/@types/json-buffer/LICENSE +21 -0
  71. package/node_modules/@types/json-buffer/README.md +16 -0
  72. package/node_modules/@types/json-buffer/index.d.ts +19 -0
  73. package/node_modules/@types/json-buffer/package.json +24 -0
  74. package/node_modules/@types/keyv/README.md +1 -1
  75. package/node_modules/@types/keyv/index.d.ts +16 -3
  76. package/node_modules/@types/keyv/node_modules/@types/node/README.md +2 -2
  77. package/node_modules/@types/keyv/node_modules/@types/node/async_hooks.d.ts +1 -1
  78. package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +1 -1
  79. package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +41 -10
  80. package/node_modules/@types/keyv/node_modules/@types/node/diagnostics_channel.d.ts +19 -1
  81. package/node_modules/@types/keyv/node_modules/@types/node/fs.d.ts +48 -14
  82. package/node_modules/@types/keyv/node_modules/@types/node/globals.d.ts +12 -2
  83. package/node_modules/@types/keyv/node_modules/@types/node/http2.d.ts +1 -0
  84. package/node_modules/@types/keyv/node_modules/@types/node/net.d.ts +7 -0
  85. package/node_modules/@types/keyv/node_modules/@types/node/package.json +3 -3
  86. package/node_modules/@types/keyv/node_modules/@types/node/tls.d.ts +1 -1
  87. package/node_modules/@types/keyv/package.json +3 -3
  88. package/node_modules/@types/responselike/node_modules/@types/node/README.md +2 -2
  89. package/node_modules/@types/responselike/node_modules/@types/node/async_hooks.d.ts +1 -1
  90. package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +1 -1
  91. package/node_modules/@types/responselike/node_modules/@types/node/crypto.d.ts +41 -10
  92. package/node_modules/@types/responselike/node_modules/@types/node/diagnostics_channel.d.ts +19 -1
  93. package/node_modules/@types/responselike/node_modules/@types/node/fs.d.ts +48 -14
  94. package/node_modules/@types/responselike/node_modules/@types/node/globals.d.ts +12 -2
  95. package/node_modules/@types/responselike/node_modules/@types/node/http2.d.ts +1 -0
  96. package/node_modules/@types/responselike/node_modules/@types/node/net.d.ts +7 -0
  97. package/node_modules/@types/responselike/node_modules/@types/node/package.json +3 -3
  98. package/node_modules/@types/responselike/node_modules/@types/node/tls.d.ts +1 -1
  99. package/node_modules/@types/retry/LICENSE +21 -21
  100. package/node_modules/@types/retry/README.md +4 -4
  101. package/node_modules/@types/retry/index.d.ts +9 -9
  102. package/node_modules/@types/retry/package.json +5 -7
  103. package/node_modules/compress-brotli/LICENSE.md +21 -0
  104. package/node_modules/compress-brotli/README.md +125 -0
  105. package/node_modules/compress-brotli/package.json +97 -0
  106. package/node_modules/compress-brotli/src/index.d.ts +36 -0
  107. package/node_modules/compress-brotli/src/index.js +45 -0
  108. package/node_modules/compress-brotli/src/merge-options.js +18 -0
  109. package/node_modules/follow-redirects/README.md +8 -1
  110. package/node_modules/follow-redirects/index.js +23 -4
  111. package/node_modules/follow-redirects/package.json +1 -1
  112. package/node_modules/keyv/package.json +55 -46
  113. package/node_modules/keyv/src/index.d.ts +89 -0
  114. package/node_modules/keyv/src/index.js +177 -25
  115. package/node_modules/mime-db/HISTORY.md +8 -0
  116. package/node_modules/mime-db/LICENSE +19 -18
  117. package/node_modules/mime-db/README.md +1 -1
  118. package/node_modules/mime-db/db.json +54 -6
  119. package/node_modules/mime-db/index.js +1 -0
  120. package/node_modules/mime-db/package.json +5 -4
  121. package/node_modules/mime-types/HISTORY.md +9 -0
  122. package/node_modules/mime-types/README.md +1 -1
  123. package/node_modules/mime-types/package.json +5 -5
  124. package/node_modules/p-retry/package.json +2 -2
  125. package/package.json +14 -14
  126. package/releasetag.txt +1 -1
  127. package/version.txt +1 -1
  128. package/node_modules/keyv/.nyc_output/5d6b8dd1-67cf-42ee-8492-c8ae62ce826c.json +0 -1
  129. package/node_modules/keyv/.nyc_output/ce27532e-5888-46d4-ae10-5a71058d3f0c.json +0 -1
  130. package/node_modules/keyv/.nyc_output/processinfo/5d6b8dd1-67cf-42ee-8492-c8ae62ce826c.json +0 -1
  131. package/node_modules/keyv/.nyc_output/processinfo/ce27532e-5888-46d4-ae10-5a71058d3f0c.json +0 -1
  132. package/node_modules/keyv/.nyc_output/processinfo/index.json +0 -1
  133. package/node_modules/keyv/test/test.js +0 -130
  134. package/node_modules/keyv/test/testdb.sqlite +0 -0
@@ -2,11 +2,7 @@
2
2
 
3
3
  const EventEmitter = require('events');
4
4
  const JSONB = require('json-buffer');
5
-
6
- // eslint-disable-next-line no-extend-native
7
- BigInt.prototype.toJSON = function () {
8
- return this.toString();
9
- };
5
+ const compressBrotli = require('compress-brotli');
10
6
 
11
7
  const loadStore = options => {
12
8
  const adapters = {
@@ -18,58 +14,177 @@ const loadStore = options => {
18
14
  postgres: '@keyv/postgres',
19
15
  mysql: '@keyv/mysql',
20
16
  etcd: '@keyv/etcd',
17
+ offline: '@keyv/offline',
18
+ tiered: '@keyv/tiered',
21
19
  };
22
20
  if (options.adapter || options.uri) {
23
- const adapter = options.adapter || /^[^:]*/.exec(options.uri)[0];
21
+ const adapter = options.adapter || /^[^:+]*/.exec(options.uri)[0];
24
22
  return new (require(adapters[adapter]))(options);
25
23
  }
26
24
 
27
25
  return new Map();
28
26
  };
29
27
 
28
+ const iterableAdapters = [
29
+ 'sqlite',
30
+ 'postgres',
31
+ 'mysql',
32
+ 'mongo',
33
+ 'redis',
34
+ 'tiered',
35
+ ];
36
+
30
37
  class Keyv extends EventEmitter {
31
38
  constructor(uri, options) {
32
39
  super();
33
- this.opts = Object.assign(
34
- {
35
- namespace: 'keyv',
36
- serialize: JSONB.stringify,
37
- deserialize: JSONB.parse,
38
- },
39
- (typeof uri === 'string') ? { uri } : uri,
40
- options,
41
- );
40
+ this.opts = {
41
+ namespace: 'keyv',
42
+ serialize: JSONB.stringify,
43
+ deserialize: JSONB.parse,
44
+ ...((typeof uri === 'string') ? {uri} : uri),
45
+ ...options,
46
+ };
42
47
 
43
48
  if (!this.opts.store) {
44
- const adapterOptions = Object.assign({}, this.opts);
49
+ const adapterOptions = {...this.opts};
45
50
  this.opts.store = loadStore(adapterOptions);
46
51
  }
47
52
 
53
+ if (this.opts.compress) {
54
+ const brotli = compressBrotli(this.opts.compress.opts);
55
+ this.opts.serialize = async ({value, expires}) => brotli.serialize({value: await brotli.compress(value), expires});
56
+ this.opts.deserialize = async data => {
57
+ const {value, expires} = brotli.deserialize(data);
58
+ return {value: await brotli.decompress(value), expires};
59
+ };
60
+ }
61
+
48
62
  if (typeof this.opts.store.on === 'function') {
49
63
  this.opts.store.on('error', error => this.emit('error', error));
50
64
  }
51
65
 
52
66
  this.opts.store.namespace = this.opts.namespace;
67
+
68
+ const generateIterator = iterator => async function * () {
69
+ for await (const [key, raw] of typeof iterator === 'function'
70
+ ? iterator(this.opts.store.namespace)
71
+ : iterator) {
72
+ const data = this.opts.deserialize(raw);
73
+ if (this.opts.store.namespace && !key.includes(this.opts.store.namespace)) {
74
+ continue;
75
+ }
76
+
77
+ if (typeof data.expires === 'number' && Date.now() > data.expires) {
78
+ this.delete(key);
79
+ continue;
80
+ }
81
+
82
+ yield [this._getKeyUnprefix(key), data.value];
83
+ }
84
+ };
85
+
86
+ // Attach iterators
87
+ if (typeof this.opts.store[Symbol.iterator] === 'function' && this.opts.store instanceof Map) {
88
+ this.iterator = generateIterator(this.opts.store);
89
+ } else if (typeof this.opts.store.iterator === 'function' && this.opts.store.opts
90
+ && this._checkIterableAdaptar()) {
91
+ this.iterator = generateIterator(this.opts.store.iterator.bind(this.opts.store));
92
+ }
93
+ }
94
+
95
+ _checkIterableAdaptar() {
96
+ return iterableAdapters.includes(this.opts.store.opts.dialect)
97
+ || iterableAdapters.findIndex(element => this.opts.store.opts.url.includes(element)) >= 0;
53
98
  }
54
99
 
55
100
  _getKeyPrefix(key) {
56
101
  return `${this.opts.namespace}:${key}`;
57
102
  }
58
103
 
104
+ _getKeyPrefixArray(keys) {
105
+ return keys.map(key => `${this.opts.namespace}:${key}`);
106
+ }
107
+
108
+ _getKeyUnprefix(key) {
109
+ return key
110
+ .split(':')
111
+ .splice(1)
112
+ .join(':');
113
+ }
114
+
59
115
  get(key, options) {
60
- const keyPrefixed = this._getKeyPrefix(key);
61
- const { store } = this.opts;
116
+ const {store} = this.opts;
117
+ const isArray = Array.isArray(key);
118
+ const keyPrefixed = isArray ? this._getKeyPrefixArray(key) : this._getKeyPrefix(key);
119
+ if (isArray && store.getMany === undefined) {
120
+ const promises = [];
121
+ for (const key of keyPrefixed) {
122
+ promises.push(Promise.resolve()
123
+ .then(() => store.get(key))
124
+ .then(data => (typeof data === 'string') ? this.opts.deserialize(data) : data)
125
+ .then(data => {
126
+ if (data === undefined || data === null) {
127
+ return undefined;
128
+ }
129
+
130
+ if (typeof data.expires === 'number' && Date.now() > data.expires) {
131
+ return this.delete(key).then(() => undefined);
132
+ }
133
+
134
+ return (options && options.raw) ? data : data.value;
135
+ }),
136
+ );
137
+ }
138
+
139
+ return Promise.allSettled(promises)
140
+ .then(values => {
141
+ const data = [];
142
+ for (const value of values) {
143
+ data.push(value.value);
144
+ }
145
+
146
+ return data.every(x => x === undefined) ? [] : data;
147
+ });
148
+ }
149
+
62
150
  return Promise.resolve()
63
- .then(() => store.get(keyPrefixed))
151
+ .then(() => isArray ? store.getMany(keyPrefixed) : store.get(keyPrefixed))
64
152
  .then(data => (typeof data === 'string') ? this.opts.deserialize(data) : data)
65
153
  .then(data => {
66
154
  if (data === undefined || data === null) {
67
155
  return undefined;
68
156
  }
69
157
 
158
+ if (isArray) {
159
+ const result = [];
160
+
161
+ if (data.length === 0) {
162
+ return [];
163
+ }
164
+
165
+ for (let row of data) {
166
+ if ((typeof row === 'string')) {
167
+ row = this.opts.deserialize(row);
168
+ }
169
+
170
+ if (row === undefined || row === null) {
171
+ result.push(undefined);
172
+ continue;
173
+ }
174
+
175
+ if (typeof row.expires === 'number' && Date.now() > row.expires) {
176
+ this.delete(key).then(() => undefined);
177
+ result.push(undefined);
178
+ } else {
179
+ result.push((options && options.raw) ? row : row.value);
180
+ }
181
+ }
182
+
183
+ return result.every(x => x === undefined) ? [] : result;
184
+ }
185
+
70
186
  if (typeof data.expires === 'number' && Date.now() > data.expires) {
71
- this.delete(key);
72
- return undefined;
187
+ return this.delete(key).then(() => undefined);
73
188
  }
74
189
 
75
190
  return (options && options.raw) ? data : data.value;
@@ -86,7 +201,7 @@ class Keyv extends EventEmitter {
86
201
  ttl = undefined;
87
202
  }
88
203
 
89
- const { store } = this.opts;
204
+ const {store} = this.opts;
90
205
 
91
206
  return Promise.resolve()
92
207
  .then(() => {
@@ -95,7 +210,7 @@ class Keyv extends EventEmitter {
95
210
  this.emit('error', 'symbol cannot be serialized');
96
211
  }
97
212
 
98
- value = { value, expires };
213
+ value = {value, expires};
99
214
  return this.opts.serialize(value);
100
215
  })
101
216
  .then(value => store.set(keyPrefixed, value, ttl))
@@ -103,17 +218,54 @@ class Keyv extends EventEmitter {
103
218
  }
104
219
 
105
220
  delete(key) {
221
+ const {store} = this.opts;
222
+ if (Array.isArray(key)) {
223
+ const keyPrefixed = this._getKeyPrefixArray(key);
224
+ if (store.deleteMany === undefined) {
225
+ const promises = [];
226
+ for (const key of keyPrefixed) {
227
+ promises.push(store.delete(key));
228
+ }
229
+
230
+ return Promise.allSettled(promises)
231
+ .then(values => values.every(x => x.value === true));
232
+ }
233
+
234
+ return Promise.resolve()
235
+ .then(() => store.deleteMany(keyPrefixed));
236
+ }
237
+
106
238
  const keyPrefixed = this._getKeyPrefix(key);
107
- const { store } = this.opts;
108
239
  return Promise.resolve()
109
240
  .then(() => store.delete(keyPrefixed));
110
241
  }
111
242
 
112
243
  clear() {
113
- const { store } = this.opts;
244
+ const {store} = this.opts;
114
245
  return Promise.resolve()
115
246
  .then(() => store.clear());
116
247
  }
248
+
249
+ has(key) {
250
+ const keyPrefixed = this._getKeyPrefix(key);
251
+ const {store} = this.opts;
252
+ return Promise.resolve()
253
+ .then(async () => {
254
+ if (typeof store.has === 'function') {
255
+ return store.has(keyPrefixed);
256
+ }
257
+
258
+ const value = await store.get(keyPrefixed);
259
+ return value !== undefined;
260
+ });
261
+ }
262
+
263
+ disconnect() {
264
+ const {store} = this.opts;
265
+ if (typeof store.disconnect === 'function') {
266
+ return store.disconnect();
267
+ }
268
+ }
117
269
  }
118
270
 
119
271
  module.exports = Keyv;
@@ -1,3 +1,11 @@
1
+ 1.52.0 / 2022-02-21
2
+ ===================
3
+
4
+ * Add extensions from IANA for more `image/*` types
5
+ * Add extension `.asc` to `application/pgp-keys`
6
+ * Add extensions to various XML types
7
+ * Add new upstream MIME types
8
+
1
9
  1.51.0 / 2021-11-08
2
10
  ===================
3
11
 
@@ -1,22 +1,23 @@
1
+ (The MIT License)
1
2
 
2
- The MIT License (MIT)
3
+ Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
4
+ Copyright (c) 2015-2022 Douglas Christopher Wilson <doug@somethingdoug.com>
3
5
 
4
- Copyright (c) 2014 Jonathan Ong me@jongleberry.com
6
+ Permission is hereby granted, free of charge, to any person obtaining
7
+ a copy of this software and associated documentation files (the
8
+ 'Software'), to deal in the Software without restriction, including
9
+ without limitation the rights to use, copy, modify, merge, publish,
10
+ distribute, sublicense, and/or sell copies of the Software, and to
11
+ permit persons to whom the Software is furnished to do so, subject to
12
+ the following conditions:
5
13
 
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
12
16
 
13
- The above copyright notice and this permission notice shall be included in
14
- all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
- THE SOFTWARE.
17
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -6,7 +6,7 @@
6
6
  [![Build Status][ci-image]][ci-url]
7
7
  [![Coverage Status][coveralls-image]][coveralls-url]
8
8
 
9
- This is a database of all mime types.
9
+ This is a large database of mime types and information about them.
10
10
  It consists of a single, public JSON file and does not include any logic,
11
11
  allowing it to remain as un-opinionated as possible with an API.
12
12
  It aggregates data from the following sources:
@@ -250,6 +250,10 @@
250
250
  "application/cfw": {
251
251
  "source": "iana"
252
252
  },
253
+ "application/city+json": {
254
+ "source": "iana",
255
+ "compressible": true
256
+ },
253
257
  "application/clr": {
254
258
  "source": "iana"
255
259
  },
@@ -293,7 +297,8 @@
293
297
  },
294
298
  "application/cpl+xml": {
295
299
  "source": "iana",
296
- "compressible": true
300
+ "compressible": true,
301
+ "extensions": ["cpl"]
297
302
  },
298
303
  "application/csrattrs": {
299
304
  "source": "iana"
@@ -328,6 +333,11 @@
328
333
  "compressible": true,
329
334
  "extensions": ["mpd"]
330
335
  },
336
+ "application/dash-patch+xml": {
337
+ "source": "iana",
338
+ "compressible": true,
339
+ "extensions": ["mpp"]
340
+ },
331
341
  "application/dashdelta": {
332
342
  "source": "iana"
333
343
  },
@@ -868,7 +878,8 @@
868
878
  },
869
879
  "application/media-policy-dataset+xml": {
870
880
  "source": "iana",
871
- "compressible": true
881
+ "compressible": true,
882
+ "extensions": ["mpf"]
872
883
  },
873
884
  "application/media_control+xml": {
874
885
  "source": "iana",
@@ -1024,6 +1035,9 @@
1024
1035
  "application/oauth-authz-req+jwt": {
1025
1036
  "source": "iana"
1026
1037
  },
1038
+ "application/oblivious-dns-message": {
1039
+ "source": "iana"
1040
+ },
1027
1041
  "application/ocsp-request": {
1028
1042
  "source": "iana"
1029
1043
  },
@@ -1116,7 +1130,8 @@
1116
1130
  "extensions": ["pgp"]
1117
1131
  },
1118
1132
  "application/pgp-keys": {
1119
- "source": "iana"
1133
+ "source": "iana",
1134
+ "extensions": ["asc"]
1120
1135
  },
1121
1136
  "application/pgp-signature": {
1122
1137
  "source": "iana",
@@ -2647,6 +2662,10 @@
2647
2662
  "application/vnd.ecip.rlp": {
2648
2663
  "source": "iana"
2649
2664
  },
2665
+ "application/vnd.eclipse.ditto+json": {
2666
+ "source": "iana",
2667
+ "compressible": true
2668
+ },
2650
2669
  "application/vnd.ecowin.chart": {
2651
2670
  "source": "iana",
2652
2671
  "extensions": ["mag"]
@@ -2804,6 +2823,10 @@
2804
2823
  "application/vnd.etsi.tsl.der": {
2805
2824
  "source": "iana"
2806
2825
  },
2826
+ "application/vnd.eu.kasparian.car+json": {
2827
+ "source": "iana",
2828
+ "compressible": true
2829
+ },
2807
2830
  "application/vnd.eudora.data": {
2808
2831
  "source": "iana"
2809
2832
  },
@@ -2834,6 +2857,10 @@
2834
2857
  "application/vnd.f-secure.mobile": {
2835
2858
  "source": "iana"
2836
2859
  },
2860
+ "application/vnd.familysearch.gedcom+zip": {
2861
+ "source": "iana",
2862
+ "compressible": false
2863
+ },
2837
2864
  "application/vnd.fastcopy-disk-image": {
2838
2865
  "source": "iana"
2839
2866
  },
@@ -3124,6 +3151,16 @@
3124
3151
  "source": "iana",
3125
3152
  "extensions": ["les"]
3126
3153
  },
3154
+ "application/vnd.hl7cda+xml": {
3155
+ "source": "iana",
3156
+ "charset": "UTF-8",
3157
+ "compressible": true
3158
+ },
3159
+ "application/vnd.hl7v2+xml": {
3160
+ "source": "iana",
3161
+ "charset": "UTF-8",
3162
+ "compressible": true
3163
+ },
3127
3164
  "application/vnd.hp-hpgl": {
3128
3165
  "source": "iana",
3129
3166
  "extensions": ["hpgl"]
@@ -3537,6 +3574,10 @@
3537
3574
  "source": "iana",
3538
3575
  "compressible": true
3539
3576
  },
3577
+ "application/vnd.maxar.archive.3tz+zip": {
3578
+ "source": "iana",
3579
+ "compressible": false
3580
+ },
3540
3581
  "application/vnd.maxmind.maxmind-db": {
3541
3582
  "source": "iana"
3542
3583
  },
@@ -5157,6 +5198,10 @@
5157
5198
  "source": "iana",
5158
5199
  "compressible": true
5159
5200
  },
5201
+ "application/vnd.syft+json": {
5202
+ "source": "iana",
5203
+ "compressible": true
5204
+ },
5160
5205
  "application/vnd.symbian.install": {
5161
5206
  "source": "apache",
5162
5207
  "extensions": ["sis","sisx"]
@@ -5547,7 +5592,8 @@
5547
5592
  },
5548
5593
  "application/watcherinfo+xml": {
5549
5594
  "source": "iana",
5550
- "compressible": true
5595
+ "compressible": true,
5596
+ "extensions": ["wif"]
5551
5597
  },
5552
5598
  "application/webpush-options+json": {
5553
5599
  "source": "iana",
@@ -6967,10 +7013,12 @@
6967
7013
  "extensions": ["apng"]
6968
7014
  },
6969
7015
  "image/avci": {
6970
- "source": "iana"
7016
+ "source": "iana",
7017
+ "extensions": ["avci"]
6971
7018
  },
6972
7019
  "image/avcs": {
6973
- "source": "iana"
7020
+ "source": "iana",
7021
+ "extensions": ["avcs"]
6974
7022
  },
6975
7023
  "image/avif": {
6976
7024
  "source": "iana",
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * mime-db
3
3
  * Copyright(c) 2014 Jonathan Ong
4
+ * Copyright(c) 2015-2022 Douglas Christopher Wilson
4
5
  * MIT Licensed
5
6
  */
6
7
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mime-db",
3
3
  "description": "Media Type Database",
4
- "version": "1.51.0",
4
+ "version": "1.52.0",
5
5
  "contributors": [
6
6
  "Douglas Christopher Wilson <doug@somethingdoug.com>",
7
7
  "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)",
@@ -25,15 +25,16 @@
25
25
  "csv-parse": "4.16.3",
26
26
  "eslint": "7.32.0",
27
27
  "eslint-config-standard": "15.0.1",
28
- "eslint-plugin-import": "2.25.2",
28
+ "eslint-plugin-import": "2.25.4",
29
29
  "eslint-plugin-markdown": "2.2.1",
30
30
  "eslint-plugin-node": "11.1.0",
31
31
  "eslint-plugin-promise": "5.1.1",
32
32
  "eslint-plugin-standard": "4.1.0",
33
33
  "gnode": "0.1.2",
34
- "mocha": "9.1.3",
34
+ "media-typer": "1.1.0",
35
+ "mocha": "9.2.1",
35
36
  "nyc": "15.1.0",
36
- "raw-body": "2.4.1",
37
+ "raw-body": "2.5.0",
37
38
  "stream-to-array": "2.3.0"
38
39
  },
39
40
  "files": [
@@ -1,3 +1,12 @@
1
+ 2.1.35 / 2022-03-12
2
+ ===================
3
+
4
+ * deps: mime-db@1.52.0
5
+ - Add extensions from IANA for more `image/*` types
6
+ - Add extension `.asc` to `application/pgp-keys`
7
+ - Add extensions to various XML types
8
+ - Add new upstream MIME types
9
+
1
10
  2.1.34 / 2021-11-08
2
11
  ===================
3
12
 
@@ -103,7 +103,7 @@ A map of extensions by content-type.
103
103
  [MIT](LICENSE)
104
104
 
105
105
  [ci-image]: https://badgen.net/github/checks/jshttp/mime-types/master?label=ci
106
- [ci-url]: https://github.com/jshttp/mime-types/actions?query=workflow%3Aci
106
+ [ci-url]: https://github.com/jshttp/mime-types/actions/workflows/ci.yml
107
107
  [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master
108
108
  [coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master
109
109
  [node-version-image]: https://badgen.net/npm/node/mime-types
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mime-types",
3
3
  "description": "The ultimate javascript content-type utility.",
4
- "version": "2.1.34",
4
+ "version": "2.1.35",
5
5
  "contributors": [
6
6
  "Douglas Christopher Wilson <doug@somethingdoug.com>",
7
7
  "Jeremiah Senkpiel <fishrock123@rocketmail.com> (https://searchbeam.jit.su)",
@@ -14,17 +14,17 @@
14
14
  ],
15
15
  "repository": "jshttp/mime-types",
16
16
  "dependencies": {
17
- "mime-db": "1.51.0"
17
+ "mime-db": "1.52.0"
18
18
  },
19
19
  "devDependencies": {
20
20
  "eslint": "7.32.0",
21
21
  "eslint-config-standard": "14.1.1",
22
- "eslint-plugin-import": "2.25.2",
22
+ "eslint-plugin-import": "2.25.4",
23
23
  "eslint-plugin-markdown": "2.2.1",
24
24
  "eslint-plugin-node": "11.1.0",
25
- "eslint-plugin-promise": "5.1.1",
25
+ "eslint-plugin-promise": "5.2.0",
26
26
  "eslint-plugin-standard": "4.1.0",
27
- "mocha": "9.1.3",
27
+ "mocha": "9.2.2",
28
28
  "nyc": "15.1.0"
29
29
  },
30
30
  "files": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "p-retry",
3
- "version": "4.6.1",
3
+ "version": "4.6.2",
4
4
  "description": "Retry a promise-returning or async function",
5
5
  "license": "MIT",
6
6
  "repository": "sindresorhus/p-retry",
@@ -39,7 +39,7 @@
39
39
  "bluebird"
40
40
  ],
41
41
  "dependencies": {
42
- "@types/retry": "^0.12.0",
42
+ "@types/retry": "0.12.0",
43
43
  "retry": "^0.13.1"
44
44
  },
45
45
  "devDependencies": {
package/package.json CHANGED
@@ -60,7 +60,6 @@
60
60
  "test:watch": "npx projen test:watch",
61
61
  "unbump": "npx projen unbump",
62
62
  "upgrade": "npx projen upgrade",
63
- "upgrade-projen": "npx projen upgrade-projen",
64
63
  "watch": "npx projen watch",
65
64
  "projen": "npx projen"
66
65
  },
@@ -72,33 +71,34 @@
72
71
  "devDependencies": {
73
72
  "@aws-cdk/aws-apigatewayv2-alpha": "2.1.0-alpha.0",
74
73
  "@aws-cdk/aws-apigatewayv2-integrations-alpha": "2.1.0-alpha.0",
75
- "@types/aws-lambda": "^8.10.93",
74
+ "@types/aws-lambda": "^8.10.97",
76
75
  "@types/jest": "^26.0.24",
77
- "@types/node": "^12",
76
+ "@types/node": "^14",
78
77
  "@types/tsscmp": "^1.0.0",
79
78
  "@typescript-eslint/eslint-plugin": "^5",
80
79
  "@typescript-eslint/parser": "^5",
81
80
  "aws-cdk": "^2",
82
81
  "aws-cdk-lib": "2.1.0",
83
- "aws-sdk": "^2.1088.0",
84
- "aws-sdk-mock": "^5.6.2",
82
+ "aws-sdk": "^2.1131.0",
83
+ "aws-sdk-mock": "^5.7.0",
85
84
  "constructs": "10.0.5",
86
- "esbuild": "^0.14.25",
85
+ "esbuild": "^0.14.38",
87
86
  "eslint": "^8",
88
87
  "eslint-import-resolver-node": "^0.3.6",
89
- "eslint-import-resolver-typescript": "^2.5.0",
90
- "eslint-plugin-import": "^2.25.4",
91
- "jest": "^26.6.3",
88
+ "eslint-import-resolver-typescript": "^2.7.1",
89
+ "eslint-plugin-import": "^2.26.0",
90
+ "jest": "^27",
92
91
  "jest-junit": "^13",
93
- "jsii": "^1.54.0",
94
- "jsii-diff": "^1.54.0",
92
+ "jsii": "^1.58.0",
93
+ "jsii-diff": "^1.58.0",
95
94
  "jsii-docgen": "^1.8.110",
95
+ "jsii-pacmak": "^1.58.0",
96
96
  "json-schema": "^0.4.0",
97
97
  "nock": "^13.2.4",
98
98
  "npm-check-updates": "^12",
99
- "projen": "^0.52.14",
99
+ "projen": "^0.56.3",
100
100
  "standard-version": "^9",
101
- "ts-jest": "^26.5.6",
101
+ "ts-jest": "^27",
102
102
  "ts-node": "^10.7.0",
103
103
  "typescript": "^3.9.10"
104
104
  },
@@ -121,7 +121,7 @@
121
121
  ],
122
122
  "main": "lib/index.js",
123
123
  "license": "Apache-2.0",
124
- "version": "0.4.21",
124
+ "version": "0.4.24",
125
125
  "jest": {
126
126
  "testMatch": [
127
127
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
package/releasetag.txt CHANGED
@@ -1 +1 @@
1
- v0.4.21
1
+ v0.4.24