diff --git a/package.json b/package.json index 029bec561e5..55feb7c4c80 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "build": "run-s build:clean build:code build:types", "generate:api-docs": "esno ./scripts/apidoc.ts", "generate:locales": "esno ./scripts/generateLocales.ts", + "copy:mime-types": "esno ./scripts/copyMimeTypes.ts", "docs:build": "run-s docs:prepare docs:build:run", "docs:build:run": "vitepress build docs", "docs:build:ci": "run-s build docs:build", @@ -108,6 +109,7 @@ "eslint-plugin-prettier": "~4.0.0", "esno": "~0.14.1", "lint-staged": "~12.3.7", + "mime-db": "~1.52.0", "npm-run-all": "~4.1.5", "picocolors": "~1.0.0", "prettier": "2.6.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddded40bc5a..9b1446132a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,6 +21,7 @@ specifiers: eslint-plugin-prettier: ~4.0.0 esno: ~0.14.1 lint-staged: ~12.3.7 + mime-db: ~1.52.0 npm-run-all: ~4.1.5 picocolors: ~1.0.0 prettier: 2.6.2 @@ -58,6 +59,7 @@ devDependencies: eslint-plugin-prettier: 4.0.0_f2c91d0f54113167d2bd9214a5ab5a36 esno: 0.14.1 lint-staged: 12.3.7 + mime-db: 1.52.0 npm-run-all: 4.1.5 picocolors: 1.0.0 prettier: 2.6.2 diff --git a/scripts/copyMimeTypes.ts b/scripts/copyMimeTypes.ts new file mode 100644 index 00000000000..9691070ce58 --- /dev/null +++ b/scripts/copyMimeTypes.ts @@ -0,0 +1,39 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import type { Options } from 'prettier'; +import { format } from 'prettier'; +import options from '../.prettierrc.cjs'; + +const rootPath = path.resolve(__dirname, '..'); +const mimeDbPath = path.resolve(rootPath, 'node_modules/mime-db/db.json'); +const mimeDbLicencePath = path.resolve( + rootPath, + 'node_modules/mime-db/LICENSE' +); +const mimeTypesTsPath = path.resolve( + rootPath, + 'src/locales/en/system/mimeTypes.ts' +); +const prettierTsOptions: Options = { ...options, parser: 'typescript' }; +fs.readFile(mimeDbPath, 'utf8', (err, data) => { + if (err) { + throw err; + } + + const licence = fs.readFileSync(mimeDbLicencePath, { encoding: 'utf8' }); + const mimeTypeFileContent = `// This file is generated by scripts/copyMimeTypes.ts\n// Do not edit this file directly. Instead, update mime-db and run \`pnpm run copy:mime-types\`\n\n/*\n${ + licence as string + }*/\n\nexport default ${data as string};\n`; + + fs.writeFile( + mimeTypesTsPath, + format(mimeTypeFileContent, prettierTsOptions), + (err) => { + if (err) { + throw err; + } + + console.log(`Mime types copied to ${mimeTypesTsPath as string}`); + } + ); +}); diff --git a/src/internet.ts b/src/internet.ts index 7615607f546..08ac2e91f36 100644 --- a/src/internet.ts +++ b/src/internet.ts @@ -34,25 +34,39 @@ export class Internet { * @param firstName The optional first name to use. If not specified, a random one will be chosen. * @param lastName The optional last name to use. If not specified, a random one will be chosen. * @param provider The mail provider domain to use. If not specified, a random free mail provider will be chosen. + * @param options The options to use. Defaults to `{ allowSpecialCharacters: false }`. + * @param options.allowSpecialCharacters Whether special characters such as `.!#$%&'*+-/=?^_`{|}~` should be included + * in the email address. Defaults to `false`. * * @example * faker.internet.email() // 'Kassandra4@hotmail.com' * faker.internet.email('Jeanne', 'Doe') // 'Jeanne63@yahoo.com' * faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev') // 'Jeanne_Doe88@example.fakerjs.dev' + * faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev', { allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.fakerjs.dev' */ - email(firstName?: string, lastName?: string, provider?: string): string { + email( + firstName?: string, + lastName?: string, + provider?: string, + options?: { allowSpecialCharacters?: boolean } + ): string { provider = provider || this.faker.random.arrayElement( this.faker.definitions.internet.free_email ); - return ( - this.faker.helpers.slugify( - this.faker.internet.userName(firstName, lastName) - ) + - '@' + - provider + let localPart: string = this.faker.helpers.slugify( + this.faker.internet.userName(firstName, lastName) ); + if (options?.allowSpecialCharacters) { + const usernameChars: string[] = '._-'.split(''); + const specialChars: string[] = ".!#$%&'*+-/=?^_`{|}~".split(''); + localPart = localPart.replace( + this.faker.random.arrayElement(usernameChars), + this.faker.random.arrayElement(specialChars) + ); + } + return `${localPart}@${provider}`; } /** @@ -60,16 +74,24 @@ export class Internet { * * @param firstName The optional first name to use. If not specified, a random one will be chosen. * @param lastName The optional last name to use. If not specified, a random one will be chosen. + * @param options The options to use. Defaults to `{ allowSpecialCharacters: false }`. + * @param options.allowSpecialCharacters Whether special characters such as `.!#$%&'*+-/=?^_`{|}~` should be included + * in the email address. Defaults to `false`. * * @example * faker.internet.exampleEmail() // 'Helmer.Graham23@example.com' * faker.internet.exampleEmail('Jeanne', 'Doe') // 'Jeanne96@example.net' + * faker.internet.exampleEmail('Jeanne', 'Doe', { allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.com' */ - exampleEmail(firstName?: string, lastName?: string): string { + exampleEmail( + firstName?: string, + lastName?: string, + options?: { allowSpecialCharacters?: boolean } + ): string { const provider = this.faker.random.arrayElement( this.faker.definitions.internet.example_email ); - return this.email(firstName, lastName, provider); + return this.email(firstName, lastName, provider, options); } /** diff --git a/src/locales/en/system/mimeTypes.ts b/src/locales/en/system/mimeTypes.ts index 7ce53b9349f..98cdff9530e 100644 --- a/src/locales/en/system/mimeTypes.ts +++ b/src/locales/en/system/mimeTypes.ts @@ -1,30 +1,30 @@ -/* - -The MIT License (MIT) +// This file is generated by scripts/copyMimeTypes.ts +// Do not edit this file directly. Instead, update mime-db and run `pnpm run copy:mime-types` -Copyright (c) 2014 Jonathan Ong me@jongleberry.com - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +/* +(The MIT License) -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015-2022 Douglas Christopher Wilson -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -Definitions from mime-db v1.21.0 -For updates check: https://github.com/jshttp/mime-db/blob/master/db.json +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ export default { @@ -33,16 +33,34 @@ export default { }, 'application/3gpdash-qoe-report+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/3gpp-ims+xml': { source: 'iana', + compressible: true, + }, + 'application/3gpphal+json': { + source: 'iana', + compressible: true, + }, + 'application/3gpphalforms+json': { + source: 'iana', + compressible: true, }, 'application/a2l': { source: 'iana', }, + 'application/ace+cbor': { + source: 'iana', + }, 'application/activemessage': { source: 'iana', }, + 'application/activity+json': { + source: 'iana', + compressible: true, + }, 'application/alto-costmap+json': { source: 'iana', compressible: true, @@ -83,6 +101,14 @@ export default { source: 'iana', compressible: true, }, + 'application/alto-updatestreamcontrol+json': { + source: 'iana', + compressible: true, + }, + 'application/alto-updatestreamparams+json': { + source: 'iana', + compressible: true, + }, 'application/aml': { source: 'iana', }, @@ -97,6 +123,9 @@ export default { source: 'apache', extensions: ['aw'], }, + 'application/at+jwt': { + source: 'iana', + }, 'application/atf': { source: 'iana', }, @@ -110,26 +139,54 @@ export default { }, 'application/atomcat+xml': { source: 'iana', + compressible: true, extensions: ['atomcat'], }, 'application/atomdeleted+xml': { source: 'iana', + compressible: true, + extensions: ['atomdeleted'], }, 'application/atomicmail': { source: 'iana', }, 'application/atomsvc+xml': { source: 'iana', + compressible: true, extensions: ['atomsvc'], }, + 'application/atsc-dwd+xml': { + source: 'iana', + compressible: true, + extensions: ['dwd'], + }, + 'application/atsc-dynamic-event-message': { + source: 'iana', + }, + 'application/atsc-held+xml': { + source: 'iana', + compressible: true, + extensions: ['held'], + }, + 'application/atsc-rdt+json': { + source: 'iana', + compressible: true, + }, + 'application/atsc-rsat+xml': { + source: 'iana', + compressible: true, + extensions: ['rsat'], + }, 'application/atxml': { source: 'iana', }, 'application/auth-policy+xml': { source: 'iana', + compressible: true, }, 'application/bacnet-xdd+zip': { source: 'iana', + compressible: false, }, 'application/batch-smtp': { source: 'iana', @@ -140,6 +197,8 @@ export default { }, 'application/beep+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/calendar+json': { source: 'iana', @@ -147,6 +206,8 @@ export default { }, 'application/calendar+xml': { source: 'iana', + compressible: true, + extensions: ['xcs'], }, 'application/call-completion': { source: 'iana', @@ -154,18 +215,32 @@ export default { 'application/cals-1840': { source: 'iana', }, + 'application/captive+json': { + source: 'iana', + compressible: true, + }, 'application/cbor': { source: 'iana', }, + 'application/cbor-seq': { + source: 'iana', + }, + 'application/cccex': { + source: 'iana', + }, 'application/ccmp+xml': { source: 'iana', + compressible: true, }, 'application/ccxml+xml': { source: 'iana', + compressible: true, extensions: ['ccxml'], }, 'application/cdfx+xml': { source: 'iana', + compressible: true, + extensions: ['cdfx'], }, 'application/cdmi-capability': { source: 'iana', @@ -195,40 +270,75 @@ export default { }, 'application/cea-2018+xml': { source: 'iana', + compressible: true, }, 'application/cellml+xml': { source: 'iana', + compressible: true, }, 'application/cfw': { source: 'iana', }, + 'application/city+json': { + source: 'iana', + compressible: true, + }, + 'application/clr': { + source: 'iana', + }, + 'application/clue+xml': { + source: 'iana', + compressible: true, + }, + 'application/clue_info+xml': { + source: 'iana', + compressible: true, + }, 'application/cms': { source: 'iana', }, 'application/cnrp+xml': { source: 'iana', + compressible: true, }, 'application/coap-group+json': { source: 'iana', compressible: true, }, + 'application/coap-payload': { + source: 'iana', + }, 'application/commonground': { source: 'iana', }, 'application/conference-info+xml': { source: 'iana', + compressible: true, + }, + 'application/cose': { + source: 'iana', + }, + 'application/cose-key': { + source: 'iana', + }, + 'application/cose-key-set': { + source: 'iana', }, 'application/cpl+xml': { source: 'iana', + compressible: true, + extensions: ['cpl'], }, 'application/csrattrs': { source: 'iana', }, 'application/csta+xml': { source: 'iana', + compressible: true, }, 'application/cstadata+xml': { source: 'iana', + compressible: true, }, 'application/csvm+json': { source: 'iana', @@ -238,6 +348,9 @@ export default { source: 'apache', extensions: ['cu'], }, + 'application/cwt': { + source: 'iana', + }, 'application/cybercash': { source: 'iana', }, @@ -246,13 +359,20 @@ export default { }, 'application/dash+xml': { source: 'iana', - extensions: ['mdp'], + compressible: true, + extensions: ['mpd'], + }, + 'application/dash-patch+xml': { + source: 'iana', + compressible: true, + extensions: ['mpp'], }, 'application/dashdelta': { source: 'iana', }, 'application/davmount+xml': { source: 'iana', + compressible: true, extensions: ['davmount'], }, 'application/dca-rft': { @@ -266,10 +386,19 @@ export default { }, 'application/dialog-info+xml': { source: 'iana', + compressible: true, }, 'application/dicom': { source: 'iana', }, + 'application/dicom+json': { + source: 'iana', + compressible: true, + }, + 'application/dicom+xml': { + source: 'iana', + compressible: true, + }, 'application/dii': { source: 'iana', }, @@ -279,12 +408,24 @@ export default { 'application/dns': { source: 'iana', }, + 'application/dns+json': { + source: 'iana', + compressible: true, + }, + 'application/dns-message': { + source: 'iana', + }, 'application/docbook+xml': { source: 'apache', + compressible: true, extensions: ['dbk'], }, + 'application/dots+cbor': { + source: 'iana', + }, 'application/dskpp+xml': { source: 'iana', + compressible: true, }, 'application/dssc+der': { source: 'iana', @@ -292,6 +433,7 @@ export default { }, 'application/dssc+xml': { source: 'iana', + compressible: true, extensions: ['xdssc'], }, 'application/dvcs': { @@ -300,7 +442,7 @@ export default { 'application/ecmascript': { source: 'iana', compressible: true, - extensions: ['ecma'], + extensions: ['es', 'ecma'], }, 'application/edi-consent': { source: 'iana', @@ -313,36 +455,74 @@ export default { source: 'iana', compressible: false, }, + 'application/efi': { + source: 'iana', + }, + 'application/elm+json': { + source: 'iana', + charset: 'UTF-8', + compressible: true, + }, + 'application/elm+xml': { + source: 'iana', + compressible: true, + }, + 'application/emergencycalldata.cap+xml': { + source: 'iana', + charset: 'UTF-8', + compressible: true, + }, 'application/emergencycalldata.comment+xml': { source: 'iana', + compressible: true, + }, + 'application/emergencycalldata.control+xml': { + source: 'iana', + compressible: true, }, 'application/emergencycalldata.deviceinfo+xml': { source: 'iana', + compressible: true, + }, + 'application/emergencycalldata.ecall.msd': { + source: 'iana', }, 'application/emergencycalldata.providerinfo+xml': { source: 'iana', + compressible: true, }, 'application/emergencycalldata.serviceinfo+xml': { source: 'iana', + compressible: true, }, 'application/emergencycalldata.subscriberinfo+xml': { source: 'iana', + compressible: true, + }, + 'application/emergencycalldata.veds+xml': { + source: 'iana', + compressible: true, }, 'application/emma+xml': { source: 'iana', + compressible: true, extensions: ['emma'], }, 'application/emotionml+xml': { source: 'iana', + compressible: true, + extensions: ['emotionml'], }, 'application/encaprtp': { source: 'iana', }, 'application/epp+xml': { source: 'iana', + compressible: true, }, 'application/epub+zip': { source: 'iana', + compressible: false, extensions: ['epub'], }, 'application/eshop': { @@ -352,6 +532,14 @@ export default { source: 'iana', extensions: ['exi'], }, + 'application/expect-ct-report+json': { + source: 'iana', + compressible: true, + }, + 'application/express': { + source: 'iana', + extensions: ['exp'], + }, 'application/fastinfoset': { source: 'iana', }, @@ -360,10 +548,28 @@ export default { }, 'application/fdt+xml': { source: 'iana', + compressible: true, + extensions: ['fdt'], + }, + 'application/fhir+json': { + source: 'iana', + charset: 'UTF-8', + compressible: true, + }, + 'application/fhir+xml': { + source: 'iana', + charset: 'UTF-8', + compressible: true, + }, + 'application/fido.trusted-apps+json': { + compressible: true, }, 'application/fits': { source: 'iana', }, + 'application/flexfec': { + source: 'iana', + }, 'application/font-sfnt': { source: 'iana', }, @@ -374,21 +580,37 @@ export default { 'application/font-woff': { source: 'iana', compressible: false, - extensions: ['woff'], - }, - 'application/font-woff2': { - compressible: false, - extensions: ['woff2'], }, 'application/framework-attributes+xml': { source: 'iana', + compressible: true, + }, + 'application/geo+json': { + source: 'iana', + compressible: true, + extensions: ['geojson'], + }, + 'application/geo+json-seq': { + source: 'iana', + }, + 'application/geopackage+sqlite3': { + source: 'iana', + }, + 'application/geoxacml+xml': { + source: 'iana', + compressible: true, + }, + 'application/gltf-buffer': { + source: 'iana', }, 'application/gml+xml': { - source: 'apache', + source: 'iana', + compressible: true, extensions: ['gml'], }, 'application/gpx+xml': { source: 'apache', + compressible: true, extensions: ['gpx'], }, 'application/gxf': { @@ -398,12 +620,17 @@ export default { 'application/gzip': { source: 'iana', compressible: false, + extensions: ['gz'], }, 'application/h224': { source: 'iana', }, 'application/held+xml': { source: 'iana', + compressible: true, + }, + 'application/hjson': { + extensions: ['hjson'], }, 'application/http': { source: 'iana', @@ -414,9 +641,11 @@ export default { }, 'application/ibe-key-request+xml': { source: 'iana', + compressible: true, }, 'application/ibe-pkg-reply+xml': { source: 'iana', + compressible: true, }, 'application/ibe-pp-data': { source: 'iana', @@ -426,6 +655,8 @@ export default { }, 'application/im-iscomposing+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/index': { source: 'iana', @@ -444,6 +675,7 @@ export default { }, 'application/inkml+xml': { source: 'iana', + compressible: true, extensions: ['ink', 'inkml'], }, 'application/iotp': { @@ -461,6 +693,8 @@ export default { }, 'application/its+xml': { source: 'iana', + compressible: true, + extensions: ['its'], }, 'application/java-archive': { source: 'apache', @@ -481,7 +715,11 @@ export default { source: 'iana', charset: 'UTF-8', compressible: true, - extensions: ['js'], + extensions: ['js', 'mjs'], + }, + 'application/jf2feed+json': { + source: 'iana', + compressible: true, }, 'application/jose': { source: 'iana', @@ -494,6 +732,10 @@ export default { source: 'iana', compressible: true, }, + 'application/jscalendar+json': { + source: 'iana', + compressible: true, + }, 'application/json': { source: 'iana', charset: 'UTF-8', @@ -528,27 +770,41 @@ export default { }, 'application/kpml-request+xml': { source: 'iana', + compressible: true, }, 'application/kpml-response+xml': { source: 'iana', + compressible: true, }, 'application/ld+json': { source: 'iana', compressible: true, extensions: ['jsonld'], }, + 'application/lgr+xml': { + source: 'iana', + compressible: true, + extensions: ['lgr'], + }, 'application/link-format': { source: 'iana', }, 'application/load-control+xml': { source: 'iana', + compressible: true, }, 'application/lost+xml': { source: 'iana', + compressible: true, extensions: ['lostxml'], }, 'application/lostsync+xml': { source: 'iana', + compressible: true, + }, + 'application/lpf+zip': { + source: 'iana', + compressible: false, }, 'application/lxf': { source: 'iana', @@ -566,9 +822,11 @@ export default { }, 'application/mads+xml': { source: 'iana', + compressible: true, extensions: ['mads'], }, 'application/manifest+json': { + source: 'iana', charset: 'UTF-8', compressible: true, extensions: ['webmanifest'], @@ -579,6 +837,7 @@ export default { }, 'application/marcxml+xml': { source: 'iana', + compressible: true, extensions: ['mrcx'], }, 'application/mathematica': { @@ -587,46 +846,60 @@ export default { }, 'application/mathml+xml': { source: 'iana', + compressible: true, extensions: ['mathml'], }, 'application/mathml-content+xml': { source: 'iana', + compressible: true, }, 'application/mathml-presentation+xml': { source: 'iana', + compressible: true, }, 'application/mbms-associated-procedure-description+xml': { source: 'iana', + compressible: true, }, 'application/mbms-deregister+xml': { source: 'iana', + compressible: true, }, 'application/mbms-envelope+xml': { source: 'iana', + compressible: true, }, 'application/mbms-msk+xml': { source: 'iana', + compressible: true, }, 'application/mbms-msk-response+xml': { source: 'iana', + compressible: true, }, 'application/mbms-protection-description+xml': { source: 'iana', + compressible: true, }, 'application/mbms-reception-report+xml': { source: 'iana', + compressible: true, }, 'application/mbms-register+xml': { source: 'iana', + compressible: true, }, 'application/mbms-register-response+xml': { source: 'iana', + compressible: true, }, 'application/mbms-schedule+xml': { source: 'iana', + compressible: true, }, 'application/mbms-user-service-description+xml': { source: 'iana', + compressible: true, }, 'application/mbox': { source: 'iana', @@ -634,12 +907,16 @@ export default { }, 'application/media-policy-dataset+xml': { source: 'iana', + compressible: true, + extensions: ['mpf'], }, 'application/media_control+xml': { source: 'iana', + compressible: true, }, 'application/mediaservercontrol+xml': { source: 'iana', + compressible: true, extensions: ['mscml'], }, 'application/merge-patch+json': { @@ -648,14 +925,17 @@ export default { }, 'application/metalink+xml': { source: 'apache', + compressible: true, extensions: ['metalink'], }, 'application/metalink4+xml': { source: 'iana', + compressible: true, extensions: ['meta4'], }, 'application/mets+xml': { source: 'iana', + compressible: true, extensions: ['mets'], }, 'application/mf4': { @@ -664,8 +944,25 @@ export default { 'application/mikey': { source: 'iana', }, + 'application/mipc': { + source: 'iana', + }, + 'application/missing-blocks+cbor-seq': { + source: 'iana', + }, + 'application/mmt-aei+xml': { + source: 'iana', + compressible: true, + extensions: ['maei'], + }, + 'application/mmt-usd+xml': { + source: 'iana', + compressible: true, + extensions: ['musd'], + }, 'application/mods+xml': { source: 'iana', + compressible: true, extensions: ['mods'], }, 'application/moss-keys': { @@ -699,44 +996,78 @@ export default { }, 'application/mrb-consumer+xml': { source: 'iana', + compressible: true, }, 'application/mrb-publish+xml': { source: 'iana', + compressible: true, }, 'application/msc-ivr+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/msc-mixer+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/msword': { source: 'iana', compressible: false, extensions: ['doc', 'dot'], }, + 'application/mud+json': { + source: 'iana', + compressible: true, + }, + 'application/multipart-core': { + source: 'iana', + }, 'application/mxf': { source: 'iana', extensions: ['mxf'], }, + 'application/n-quads': { + source: 'iana', + extensions: ['nq'], + }, + 'application/n-triples': { + source: 'iana', + extensions: ['nt'], + }, 'application/nasdata': { source: 'iana', }, 'application/news-checkgroups': { source: 'iana', + charset: 'US-ASCII', }, 'application/news-groupinfo': { source: 'iana', + charset: 'US-ASCII', }, 'application/news-transmission': { source: 'iana', }, 'application/nlsml+xml': { source: 'iana', + compressible: true, + }, + 'application/node': { + source: 'iana', + extensions: ['cjs'], }, 'application/nss': { source: 'iana', }, - 'application/ocsp-request': { + 'application/oauth-authz-req+jwt': { + source: 'iana', + }, + 'application/oblivious-dns-message': { + source: 'iana', + }, + 'application/ocsp-request': { source: 'iana', }, 'application/ocsp-response': { @@ -774,11 +1105,16 @@ export default { source: 'iana', extensions: ['oda'], }, + 'application/odm+xml': { + source: 'iana', + compressible: true, + }, 'application/odx': { source: 'iana', }, 'application/oebps-package+xml': { source: 'iana', + compressible: true, extensions: ['opf'], }, 'application/ogg': { @@ -788,24 +1124,45 @@ export default { }, 'application/omdoc+xml': { source: 'apache', + compressible: true, extensions: ['omdoc'], }, 'application/onenote': { source: 'apache', extensions: ['onetoc', 'onetoc2', 'onetmp', 'onepkg'], }, + 'application/opc-nodeset+xml': { + source: 'iana', + compressible: true, + }, + 'application/oscore': { + source: 'iana', + }, 'application/oxps': { source: 'iana', extensions: ['oxps'], }, + 'application/p21': { + source: 'iana', + }, + 'application/p21+zip': { + source: 'iana', + compressible: false, + }, 'application/p2p-overlay+xml': { source: 'iana', + compressible: true, + extensions: ['relo'], }, 'application/parityfec': { source: 'iana', }, + 'application/passport': { + source: 'iana', + }, 'application/patch-ops-error+xml': { source: 'iana', + compressible: true, extensions: ['xer'], }, 'application/pdf': { @@ -816,6 +1173,9 @@ export default { 'application/pdx': { source: 'iana', }, + 'application/pem-certificate-chain': { + source: 'iana', + }, 'application/pgp-encrypted': { source: 'iana', compressible: false, @@ -823,6 +1183,7 @@ export default { }, 'application/pgp-keys': { source: 'iana', + extensions: ['asc'], }, 'application/pgp-signature': { source: 'iana', @@ -834,9 +1195,13 @@ export default { }, 'application/pidf+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/pidf-diff+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/pkcs10': { source: 'iana', @@ -857,6 +1222,9 @@ export default { source: 'iana', extensions: ['p8'], }, + 'application/pkcs8-encrypted': { + source: 'iana', + }, 'application/pkix-attr-cert': { source: 'iana', extensions: ['ac'], @@ -879,18 +1247,35 @@ export default { }, 'application/pls+xml': { source: 'iana', + compressible: true, extensions: ['pls'], }, 'application/poc-settings+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/postscript': { source: 'iana', compressible: true, extensions: ['ai', 'eps', 'ps'], }, + 'application/ppsp-tracker+json': { + source: 'iana', + compressible: true, + }, + 'application/problem+json': { + source: 'iana', + compressible: true, + }, + 'application/problem+xml': { + source: 'iana', + compressible: true, + }, 'application/provenance+xml': { source: 'iana', + compressible: true, + extensions: ['provx'], }, 'application/prs.alvestrand.titrax-sheet': { source: 'iana', @@ -899,8 +1284,13 @@ export default { source: 'iana', extensions: ['cww'], }, + 'application/prs.cyn': { + source: 'iana', + charset: '7-BIT', + }, 'application/prs.hpub+zip': { source: 'iana', + compressible: false, }, 'application/prs.nprend': { source: 'iana', @@ -913,14 +1303,24 @@ export default { }, 'application/prs.xsf+xml': { source: 'iana', + compressible: true, }, 'application/pskc+xml': { source: 'iana', + compressible: true, extensions: ['pskcxml'], }, + 'application/pvd+json': { + source: 'iana', + compressible: true, + }, 'application/qsig': { source: 'iana', }, + 'application/raml+yaml': { + compressible: true, + extensions: ['raml'], + }, 'application/raptorfec': { source: 'iana', }, @@ -931,10 +1331,11 @@ export default { 'application/rdf+xml': { source: 'iana', compressible: true, - extensions: ['rdf'], + extensions: ['rdf', 'owl'], }, 'application/reginfo+xml': { source: 'iana', + compressible: true, extensions: ['rif'], }, 'application/relax-ng-compact-syntax': { @@ -950,25 +1351,45 @@ export default { }, 'application/resource-lists+xml': { source: 'iana', + compressible: true, extensions: ['rl'], }, 'application/resource-lists-diff+xml': { source: 'iana', + compressible: true, extensions: ['rld'], }, 'application/rfc+xml': { source: 'iana', + compressible: true, }, 'application/riscos': { source: 'iana', }, 'application/rlmi+xml': { source: 'iana', + compressible: true, }, 'application/rls-services+xml': { source: 'iana', + compressible: true, extensions: ['rs'], }, + 'application/route-apd+xml': { + source: 'iana', + compressible: true, + extensions: ['rapd'], + }, + 'application/route-s-tsid+xml': { + source: 'iana', + compressible: true, + extensions: ['sls'], + }, + 'application/route-usd+xml': { + source: 'iana', + compressible: true, + extensions: ['rusd'], + }, 'application/rpki-ghostbusters': { source: 'iana', extensions: ['gbr'], @@ -977,6 +1398,9 @@ export default { source: 'iana', extensions: ['mft'], }, + 'application/rpki-publication': { + source: 'iana', + }, 'application/rpki-roa': { source: 'iana', extensions: ['roa'], @@ -986,6 +1410,7 @@ export default { }, 'application/rsd+xml': { source: 'apache', + compressible: true, extensions: ['rsd'], }, 'application/rss+xml': { @@ -1006,16 +1431,31 @@ export default { }, 'application/samlassertion+xml': { source: 'iana', + compressible: true, }, 'application/samlmetadata+xml': { source: 'iana', + compressible: true, + }, + 'application/sarif+json': { + source: 'iana', + compressible: true, + }, + 'application/sarif-external-properties+json': { + source: 'iana', + compressible: true, + }, + 'application/sbe': { + source: 'iana', }, 'application/sbml+xml': { source: 'iana', + compressible: true, extensions: ['sbml'], }, 'application/scaip+xml': { source: 'iana', + compressible: true, }, 'application/scim+json': { source: 'iana', @@ -1041,8 +1481,49 @@ export default { source: 'iana', extensions: ['sdp'], }, + 'application/secevent+jwt': { + source: 'iana', + }, + 'application/senml+cbor': { + source: 'iana', + }, + 'application/senml+json': { + source: 'iana', + compressible: true, + }, + 'application/senml+xml': { + source: 'iana', + compressible: true, + extensions: ['senmlx'], + }, + 'application/senml-etch+cbor': { + source: 'iana', + }, + 'application/senml-etch+json': { + source: 'iana', + compressible: true, + }, + 'application/senml-exi': { + source: 'iana', + }, + 'application/sensml+cbor': { + source: 'iana', + }, + 'application/sensml+json': { + source: 'iana', + compressible: true, + }, + 'application/sensml+xml': { + source: 'iana', + compressible: true, + extensions: ['sensmlx'], + }, + 'application/sensml-exi': { + source: 'iana', + }, 'application/sep+xml': { source: 'iana', + compressible: true, }, 'application/sep-exi': { source: 'iana', @@ -1072,13 +1553,16 @@ export default { }, 'application/shf+xml': { source: 'iana', + compressible: true, extensions: ['shf'], }, 'application/sieve': { source: 'iana', + extensions: ['siv', 'sieve'], }, 'application/simple-filter+xml': { source: 'iana', + compressible: true, }, 'application/simple-message-summary': { source: 'iana', @@ -1086,6 +1570,9 @@ export default { 'application/simplesymbolcontainer': { source: 'iana', }, + 'application/sipc': { + source: 'iana', + }, 'application/slate': { source: 'iana', }, @@ -1094,6 +1581,7 @@ export default { }, 'application/smil+xml': { source: 'iana', + compressible: true, extensions: ['smi', 'smil'], }, 'application/smpte336m': { @@ -1112,10 +1600,16 @@ export default { }, 'application/sparql-results+xml': { source: 'iana', + compressible: true, extensions: ['srx'], }, + 'application/spdx+json': { + source: 'iana', + compressible: true, + }, 'application/spirits-event+xml': { source: 'iana', + compressible: true, }, 'application/sql': { source: 'iana', @@ -1126,20 +1620,33 @@ export default { }, 'application/srgs+xml': { source: 'iana', + compressible: true, extensions: ['grxml'], }, 'application/sru+xml': { source: 'iana', + compressible: true, extensions: ['sru'], }, 'application/ssdl+xml': { source: 'apache', + compressible: true, extensions: ['ssdl'], }, 'application/ssml+xml': { source: 'iana', + compressible: true, extensions: ['ssml'], }, + 'application/stix+json': { + source: 'iana', + compressible: true, + }, + 'application/swid+xml': { + source: 'iana', + compressible: true, + extensions: ['swidtag'], + }, 'application/tamp-apex-update': { source: 'iana', }, @@ -1176,12 +1683,25 @@ export default { 'application/tar': { compressible: true, }, + 'application/taxii+json': { + source: 'iana', + compressible: true, + }, + 'application/td+json': { + source: 'iana', + compressible: true, + }, 'application/tei+xml': { source: 'iana', + compressible: true, extensions: ['tei', 'teicorpus'], }, + 'application/tetra_isi': { + source: 'iana', + }, 'application/thraud+xml': { source: 'iana', + compressible: true, extensions: ['tfi'], }, 'application/timestamp-query': { @@ -1194,26 +1714,68 @@ export default { source: 'iana', extensions: ['tsd'], }, + 'application/tlsrpt+gzip': { + source: 'iana', + }, + 'application/tlsrpt+json': { + source: 'iana', + compressible: true, + }, + 'application/tnauthlist': { + source: 'iana', + }, + 'application/token-introspection+jwt': { + source: 'iana', + }, + 'application/toml': { + compressible: true, + extensions: ['toml'], + }, + 'application/trickle-ice-sdpfrag': { + source: 'iana', + }, + 'application/trig': { + source: 'iana', + extensions: ['trig'], + }, 'application/ttml+xml': { source: 'iana', + compressible: true, + extensions: ['ttml'], }, 'application/tve-trigger': { source: 'iana', }, + 'application/tzif': { + source: 'iana', + }, + 'application/tzif-leap': { + source: 'iana', + }, + 'application/ubjson': { + compressible: false, + extensions: ['ubj'], + }, 'application/ulpfec': { source: 'iana', }, 'application/urc-grpsheet+xml': { source: 'iana', + compressible: true, }, 'application/urc-ressheet+xml': { source: 'iana', + compressible: true, + extensions: ['rsheet'], }, 'application/urc-targetdesc+xml': { source: 'iana', + compressible: true, + extensions: ['td'], }, 'application/urc-uisocketdesc+xml': { source: 'iana', + compressible: true, }, 'application/vcard+json': { source: 'iana', @@ -1221,6 +1783,7 @@ export default { }, 'application/vcard+xml': { source: 'iana', + compressible: true, }, 'application/vemmi': { source: 'iana', @@ -1228,20 +1791,160 @@ export default { 'application/vividence.scriptfile': { source: 'apache', }, + 'application/vnd.1000minds.decision-model+xml': { + source: 'iana', + compressible: true, + extensions: ['1km'], + }, 'application/vnd.3gpp-prose+xml': { source: 'iana', + compressible: true, }, 'application/vnd.3gpp-prose-pc3ch+xml': { source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp-v2x-local-service-information': { + source: 'iana', + }, + 'application/vnd.3gpp.5gnas': { + source: 'iana', }, 'application/vnd.3gpp.access-transfer-events+xml': { source: 'iana', + compressible: true, }, 'application/vnd.3gpp.bsf+xml': { source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.gmop+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.gtpc': { + source: 'iana', + }, + 'application/vnd.3gpp.interworking-data': { + source: 'iana', + }, + 'application/vnd.3gpp.lpp': { + source: 'iana', + }, + 'application/vnd.3gpp.mc-signalling-ear': { + source: 'iana', + }, + 'application/vnd.3gpp.mcdata-affiliation-command+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcdata-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcdata-payload': { + source: 'iana', + }, + 'application/vnd.3gpp.mcdata-service-config+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcdata-signalling': { + source: 'iana', + }, + 'application/vnd.3gpp.mcdata-ue-config+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcdata-user-profile+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-affiliation-command+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-floor-request+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-location-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-mbms-usage-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-service-config+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-signed+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-ue-config+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-ue-init-config+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcptt-user-profile+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-affiliation-command+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-affiliation-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-location-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-mbms-usage-info+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-service-config+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-transmission-request+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-ue-config+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.mcvideo-user-profile+xml': { + source: 'iana', + compressible: true, }, 'application/vnd.3gpp.mid-call+xml': { source: 'iana', + compressible: true, + }, + 'application/vnd.3gpp.ngap': { + source: 'iana', + }, + 'application/vnd.3gpp.pfcp': { + source: 'iana', }, 'application/vnd.3gpp.pic-bw-large': { source: 'iana', @@ -1255,23 +1958,35 @@ export default { source: 'iana', extensions: ['pvb'], }, + 'application/vnd.3gpp.s1ap': { + source: 'iana', + }, 'application/vnd.3gpp.sms': { source: 'iana', }, + 'application/vnd.3gpp.sms+xml': { + source: 'iana', + compressible: true, + }, 'application/vnd.3gpp.srvcc-ext+xml': { source: 'iana', + compressible: true, }, 'application/vnd.3gpp.srvcc-info+xml': { source: 'iana', + compressible: true, }, 'application/vnd.3gpp.state-and-event-info+xml': { source: 'iana', + compressible: true, }, 'application/vnd.3gpp.ussd+xml': { source: 'iana', + compressible: true, }, 'application/vnd.3gpp2.bcmcsinfo+xml': { source: 'iana', + compressible: true, }, 'application/vnd.3gpp2.sms': { source: 'iana', @@ -1280,54 +1995,102 @@ export default { source: 'iana', extensions: ['tcap'], }, - 'application/vnd.3m.post-it-notes': { + 'application/vnd.3lightssoftware.imagescal': { + source: 'iana', + }, + 'application/vnd.3m.post-it-notes': { + source: 'iana', + extensions: ['pwn'], + }, + 'application/vnd.accpac.simply.aso': { + source: 'iana', + extensions: ['aso'], + }, + 'application/vnd.accpac.simply.imp': { + source: 'iana', + extensions: ['imp'], + }, + 'application/vnd.acucobol': { + source: 'iana', + extensions: ['acu'], + }, + 'application/vnd.acucorp': { + source: 'iana', + extensions: ['atc', 'acutc'], + }, + 'application/vnd.adobe.air-application-installer-package+zip': { + source: 'apache', + compressible: false, + extensions: ['air'], + }, + 'application/vnd.adobe.flash.movie': { + source: 'iana', + }, + 'application/vnd.adobe.formscentral.fcdt': { + source: 'iana', + extensions: ['fcdt'], + }, + 'application/vnd.adobe.fxp': { + source: 'iana', + extensions: ['fxp', 'fxpl'], + }, + 'application/vnd.adobe.partial-upload': { + source: 'iana', + }, + 'application/vnd.adobe.xdp+xml': { + source: 'iana', + compressible: true, + extensions: ['xdp'], + }, + 'application/vnd.adobe.xfdf': { + source: 'iana', + extensions: ['xfdf'], + }, + 'application/vnd.aether.imp': { + source: 'iana', + }, + 'application/vnd.afpc.afplinedata': { + source: 'iana', + }, + 'application/vnd.afpc.afplinedata-pagedef': { source: 'iana', - extensions: ['pwn'], }, - 'application/vnd.accpac.simply.aso': { + 'application/vnd.afpc.cmoca-cmresource': { source: 'iana', - extensions: ['aso'], }, - 'application/vnd.accpac.simply.imp': { + 'application/vnd.afpc.foca-charset': { source: 'iana', - extensions: ['imp'], }, - 'application/vnd.acucobol': { + 'application/vnd.afpc.foca-codedfont': { source: 'iana', - extensions: ['acu'], }, - 'application/vnd.acucorp': { + 'application/vnd.afpc.foca-codepage': { source: 'iana', - extensions: ['atc', 'acutc'], }, - 'application/vnd.adobe.air-application-installer-package+zip': { - source: 'apache', - extensions: ['air'], + 'application/vnd.afpc.modca': { + source: 'iana', }, - 'application/vnd.adobe.flash.movie': { + 'application/vnd.afpc.modca-cmtable': { source: 'iana', }, - 'application/vnd.adobe.formscentral.fcdt': { + 'application/vnd.afpc.modca-formdef': { source: 'iana', - extensions: ['fcdt'], }, - 'application/vnd.adobe.fxp': { + 'application/vnd.afpc.modca-mediummap': { source: 'iana', - extensions: ['fxp', 'fxpl'], }, - 'application/vnd.adobe.partial-upload': { + 'application/vnd.afpc.modca-objectcontainer': { source: 'iana', }, - 'application/vnd.adobe.xdp+xml': { + 'application/vnd.afpc.modca-overlay': { source: 'iana', - extensions: ['xdp'], }, - 'application/vnd.adobe.xfdf': { + 'application/vnd.afpc.modca-pagesegment': { source: 'iana', - extensions: ['xfdf'], }, - 'application/vnd.aether.imp': { + 'application/vnd.age': { source: 'iana', + extensions: ['age'], }, 'application/vnd.ah-barcode': { source: 'iana', @@ -1344,10 +2107,17 @@ export default { source: 'iana', extensions: ['azs'], }, + 'application/vnd.amadeus+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.amazon.ebook': { source: 'apache', extensions: ['azw'], }, + 'application/vnd.amazon.mobi8-ebook': { + source: 'iana', + }, 'application/vnd.americandynamics.acc': { source: 'iana', extensions: ['acc'], @@ -1358,6 +2128,10 @@ export default { }, 'application/vnd.amundsen.maze+xml': { source: 'iana', + compressible: true, + }, + 'application/vnd.android.ota': { + source: 'iana', }, 'application/vnd.android.package-archive': { source: 'apache', @@ -1379,6 +2153,12 @@ export default { source: 'iana', extensions: ['atx'], }, + 'application/vnd.apache.arrow.file': { + source: 'iana', + }, + 'application/vnd.apache.arrow.stream': { + source: 'iana', + }, 'application/vnd.apache.thrift.binary': { source: 'iana', }, @@ -1392,14 +2172,35 @@ export default { source: 'iana', compressible: true, }, + 'application/vnd.aplextor.warrp+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.apothekende.reservation+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.apple.installer+xml': { source: 'iana', + compressible: true, extensions: ['mpkg'], }, + 'application/vnd.apple.keynote': { + source: 'iana', + extensions: ['key'], + }, 'application/vnd.apple.mpegurl': { source: 'iana', extensions: ['m3u8'], }, + 'application/vnd.apple.numbers': { + source: 'iana', + extensions: ['numbers'], + }, + 'application/vnd.apple.pages': { + source: 'iana', + extensions: ['pages'], + }, 'application/vnd.apple.pkpass': { compressible: false, extensions: ['pkpass'], @@ -1411,6 +2212,10 @@ export default { source: 'iana', extensions: ['swi'], }, + 'application/vnd.artisan+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.artsquare': { source: 'iana', }, @@ -1425,21 +2230,48 @@ export default { 'application/vnd.autopackage': { source: 'iana', }, + 'application/vnd.avalon+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.avistar+xml': { source: 'iana', + compressible: true, }, 'application/vnd.balsamiq.bmml+xml': { source: 'iana', + compressible: true, + extensions: ['bmml'], }, 'application/vnd.balsamiq.bmpr': { source: 'iana', }, + 'application/vnd.banana-accounting': { + source: 'iana', + }, + 'application/vnd.bbf.usp.error': { + source: 'iana', + }, + 'application/vnd.bbf.usp.msg': { + source: 'iana', + }, + 'application/vnd.bbf.usp.msg+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.bekitzur-stech+json': { source: 'iana', compressible: true, }, + 'application/vnd.bint.med-content': { + source: 'iana', + }, 'application/vnd.biopax.rdf+xml': { source: 'iana', + compressible: true, + }, + 'application/vnd.blink-idb-value-wrapper': { + source: 'iana', }, 'application/vnd.blueice.multipass': { source: 'iana', @@ -1455,10 +2287,20 @@ export default { source: 'iana', extensions: ['bmi'], }, + 'application/vnd.bpf': { + source: 'iana', + }, + 'application/vnd.bpf3': { + source: 'iana', + }, 'application/vnd.businessobjects': { source: 'iana', extensions: ['rep'], }, + 'application/vnd.byu.uapi+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.cab-jscript': { source: 'iana', }, @@ -1468,6 +2310,10 @@ export default { 'application/vnd.canon-lips': { source: 'iana', }, + 'application/vnd.capasystems-pg+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.cendio.thinlinc.clientconf': { source: 'iana', }, @@ -1476,12 +2322,19 @@ export default { }, 'application/vnd.chemdraw+xml': { source: 'iana', + compressible: true, extensions: ['cdxml'], }, + 'application/vnd.chess-pgn': { + source: 'iana', + }, 'application/vnd.chipnuts.karaoke-mmd': { source: 'iana', extensions: ['mmd'], }, + 'application/vnd.ciedi': { + source: 'iana', + }, 'application/vnd.cinderella': { source: 'iana', extensions: ['cdy'], @@ -1491,6 +2344,8 @@ export default { }, 'application/vnd.citationstyles.style+xml': { source: 'iana', + compressible: true, + extensions: ['csl'], }, 'application/vnd.claymore': { source: 'iana', @@ -1515,6 +2370,24 @@ export default { 'application/vnd.coffeescript': { source: 'iana', }, + 'application/vnd.collabio.xodocuments.document': { + source: 'iana', + }, + 'application/vnd.collabio.xodocuments.document-template': { + source: 'iana', + }, + 'application/vnd.collabio.xodocuments.presentation': { + source: 'iana', + }, + 'application/vnd.collabio.xodocuments.presentation-template': { + source: 'iana', + }, + 'application/vnd.collabio.xodocuments.spreadsheet': { + source: 'iana', + }, + 'application/vnd.collabio.xodocuments.spreadsheet-template': { + source: 'iana', + }, 'application/vnd.collection+json': { source: 'iana', compressible: true, @@ -1527,6 +2400,13 @@ export default { source: 'iana', compressible: true, }, + 'application/vnd.comicbook+zip': { + source: 'iana', + compressible: false, + }, + 'application/vnd.comicbook-rar': { + source: 'iana', + }, 'application/vnd.commerce-battelle': { source: 'iana', }, @@ -1538,6 +2418,10 @@ export default { source: 'iana', extensions: ['cdbcmsg'], }, + 'application/vnd.coreos.ignition+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.cosmocaller': { source: 'iana', extensions: ['cmc'], @@ -1564,14 +2448,29 @@ export default { }, 'application/vnd.criticaltools.wbs+xml': { source: 'iana', + compressible: true, extensions: ['wbs'], }, + 'application/vnd.cryptii.pipe+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.crypto-shade-file': { + source: 'iana', + }, + 'application/vnd.cryptomator.encrypted': { + source: 'iana', + }, + 'application/vnd.cryptomator.vault': { + source: 'iana', + }, 'application/vnd.ctc-posml': { source: 'iana', extensions: ['pml'], }, 'application/vnd.ctct.ws+xml': { source: 'iana', + compressible: true, }, 'application/vnd.cups-pdf': { source: 'iana', @@ -1602,10 +2501,29 @@ export default { }, 'application/vnd.cyan.dean.root+xml': { source: 'iana', + compressible: true, }, 'application/vnd.cybank': { source: 'iana', }, + 'application/vnd.cyclonedx+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.cyclonedx+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.d2l.coursepackage1p0+zip': { + source: 'iana', + compressible: false, + }, + 'application/vnd.d3m-dataset': { + source: 'iana', + }, + 'application/vnd.d3m-problem': { + source: 'iana', + }, 'application/vnd.dart': { source: 'iana', compressible: true, @@ -1615,6 +2533,18 @@ export default { source: 'iana', extensions: ['rdz'], }, + 'application/vnd.datapackage+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.dataresource+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.dbf': { + source: 'iana', + extensions: ['dbf'], + }, 'application/vnd.debian.binary-package': { source: 'iana', }, @@ -1624,6 +2554,7 @@ export default { }, 'application/vnd.dece.ttml+xml': { source: 'iana', + compressible: true, extensions: ['uvt', 'uvvt'], }, 'application/vnd.dece.unspecified': { @@ -1638,7 +2569,7 @@ export default { source: 'iana', extensions: ['fe_launch'], }, - 'application/vnd.desmume-movie': { + 'application/vnd.desmume.movie': { source: 'iana', }, 'application/vnd.dir-bi.plate-dl-nosuffix': { @@ -1646,6 +2577,7 @@ export default { }, 'application/vnd.dm.delegation+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dna': { source: 'iana', @@ -1697,6 +2629,10 @@ export default { source: 'iana', extensions: ['ait'], }, + 'application/vnd.dvb.dvbisl+xml': { + source: 'iana', + compressible: true, + }, 'application/vnd.dvb.dvbj': { source: 'iana', }, @@ -1726,24 +2662,31 @@ export default { }, 'application/vnd.dvb.notif-aggregate-root+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dvb.notif-container+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dvb.notif-generic+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dvb.notif-ia-msglist+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dvb.notif-ia-registration-request+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dvb.notif-ia-registration-response+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dvb.notif-init+xml': { source: 'iana', + compressible: true, }, 'application/vnd.dvb.pfr': { source: 'iana', @@ -1768,6 +2711,13 @@ export default { 'application/vnd.ecdis-update': { source: 'iana', }, + 'application/vnd.ecip.rlp': { + source: 'iana', + }, + 'application/vnd.eclipse.ditto+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.ecowin.chart': { source: 'iana', extensions: ['mag'], @@ -1787,8 +2737,15 @@ export default { 'application/vnd.ecowin.seriesupdate': { source: 'iana', }, + 'application/vnd.efi.img': { + source: 'iana', + }, + 'application/vnd.efi.iso': { + source: 'iana', + }, 'application/vnd.emclient.accessrequest+xml': { source: 'iana', + compressible: true, }, 'application/vnd.enliven': { source: 'iana', @@ -1799,6 +2756,7 @@ export default { }, 'application/vnd.eprints.data+xml': { source: 'iana', + compressible: true, }, 'application/vnd.epson.esf': { source: 'iana', @@ -1823,79 +2781,123 @@ export default { 'application/vnd.ericsson.quickcall': { source: 'iana', }, + 'application/vnd.espass-espass+zip': { + source: 'iana', + compressible: false, + }, 'application/vnd.eszigno3+xml': { source: 'iana', + compressible: true, extensions: ['es3', 'et3'], }, 'application/vnd.etsi.aoc+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.asic-e+zip': { source: 'iana', + compressible: false, }, 'application/vnd.etsi.asic-s+zip': { source: 'iana', + compressible: false, }, 'application/vnd.etsi.cug+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvcommand+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvdiscovery+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvprofile+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvsad-bc+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvsad-cod+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvsad-npvr+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvservice+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvsync+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.iptvueprofile+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.mcid+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.mheg5': { source: 'iana', }, 'application/vnd.etsi.overload-control-policy-dataset+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.pstn+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.sci+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.simservs+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.timestamp-token': { source: 'iana', }, 'application/vnd.etsi.tsl+xml': { source: 'iana', + compressible: true, }, 'application/vnd.etsi.tsl.der': { source: 'iana', }, + 'application/vnd.eu.kasparian.car+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.eudora.data': { source: 'iana', }, + 'application/vnd.evolv.ecig.profile': { + source: 'iana', + }, + 'application/vnd.evolv.ecig.settings': { + source: 'iana', + }, + 'application/vnd.evolv.ecig.theme': { + source: 'iana', + }, + 'application/vnd.exstream-empower+zip': { + source: 'iana', + compressible: false, + }, + 'application/vnd.exstream-package': { + source: 'iana', + }, 'application/vnd.ezpix-album': { source: 'iana', extensions: ['ez2'], @@ -1907,6 +2909,10 @@ export default { 'application/vnd.f-secure.mobile': { source: 'iana', }, + 'application/vnd.familysearch.gedcom+zip': { + source: 'iana', + compressible: false, + }, 'application/vnd.fastcopy-disk-image': { source: 'iana', }, @@ -1925,6 +2931,10 @@ export default { 'application/vnd.ffsns': { source: 'iana', }, + 'application/vnd.ficlab.flb+zip': { + source: 'iana', + compressible: false, + }, 'application/vnd.filmit.zfc': { source: 'iana', }, @@ -1961,6 +2971,19 @@ export default { source: 'iana', extensions: ['fsc'], }, + 'application/vnd.fujifilm.fb.docuworks': { + source: 'iana', + }, + 'application/vnd.fujifilm.fb.docuworks.binder': { + source: 'iana', + }, + 'application/vnd.fujifilm.fb.docuworks.container': { + source: 'iana', + }, + 'application/vnd.fujifilm.fb.jfi+xml': { + source: 'iana', + compressible: true, + }, 'application/vnd.fujitsu.oasys': { source: 'iana', extensions: ['oas'], @@ -2008,6 +3031,13 @@ export default { 'application/vnd.fut-misnet': { source: 'iana', }, + 'application/vnd.futoin+cbor': { + source: 'iana', + }, + 'application/vnd.futoin+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.fuzzysheet': { source: 'iana', extensions: ['fzs'], @@ -2016,17 +3046,25 @@ export default { source: 'iana', extensions: ['txd'], }, + 'application/vnd.gentics.grd+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.geo+json': { source: 'iana', compressible: true, }, 'application/vnd.geocube+xml': { source: 'iana', + compressible: true, }, 'application/vnd.geogebra.file': { source: 'iana', extensions: ['ggb'], }, + 'application/vnd.geogebra.slides': { + source: 'iana', + }, 'application/vnd.geogebra.tool': { source: 'iana', extensions: ['ggt'], @@ -2084,12 +3122,15 @@ export default { }, 'application/vnd.gov.sk.e-form+xml': { source: 'iana', + compressible: true, }, 'application/vnd.gov.sk.e-form+zip': { source: 'iana', + compressible: false, }, 'application/vnd.gov.sk.xmldatacontainer+xml': { source: 'iana', + compressible: true, }, 'application/vnd.grafeq': { source: 'iana', @@ -2132,19 +3173,28 @@ export default { }, 'application/vnd.hal+xml': { source: 'iana', + compressible: true, extensions: ['hal'], }, 'application/vnd.handheld-entertainment+xml': { source: 'iana', + compressible: true, extensions: ['zmm'], }, 'application/vnd.hbci': { source: 'iana', extensions: ['hbci'], }, + 'application/vnd.hc+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.hcl-bireports': { source: 'iana', }, + 'application/vnd.hdt': { + source: 'iana', + }, 'application/vnd.heroku+json': { source: 'iana', compressible: true, @@ -2153,6 +3203,16 @@ export default { source: 'iana', extensions: ['les'], }, + 'application/vnd.hl7cda+xml': { + source: 'iana', + charset: 'UTF-8', + compressible: true, + }, + 'application/vnd.hl7v2+xml': { + source: 'iana', + charset: 'UTF-8', + compressible: true, + }, 'application/vnd.hp-hpgl': { source: 'iana', extensions: ['hpgl'], @@ -2184,6 +3244,14 @@ export default { source: 'iana', extensions: ['sfd-hdstx'], }, + 'application/vnd.hyper+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.hyper-item+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.hyperdrive+json': { source: 'iana', compressible: true, @@ -2224,6 +3292,14 @@ export default { source: 'iana', extensions: ['igl'], }, + 'application/vnd.imagemeter.folder+zip': { + source: 'iana', + compressible: false, + }, + 'application/vnd.imagemeter.image+zip': { + source: 'iana', + compressible: false, + }, 'application/vnd.immervision-ivp': { source: 'iana', extensions: ['ivp'], @@ -2267,6 +3343,7 @@ export default { }, 'application/vnd.informedcontrol.rms+xml': { source: 'iana', + compressible: true, }, 'application/vnd.informix-visionary': { source: 'iana', @@ -2276,6 +3353,7 @@ export default { }, 'application/vnd.infotech.project+xml': { source: 'iana', + compressible: true, }, 'application/vnd.innopath.wamp.notification': { source: 'iana', @@ -2308,24 +3386,31 @@ export default { }, 'application/vnd.iptc.g2.catalogitem+xml': { source: 'iana', + compressible: true, }, 'application/vnd.iptc.g2.conceptitem+xml': { source: 'iana', + compressible: true, }, 'application/vnd.iptc.g2.knowledgeitem+xml': { source: 'iana', + compressible: true, }, 'application/vnd.iptc.g2.newsitem+xml': { source: 'iana', + compressible: true, }, 'application/vnd.iptc.g2.newsmessage+xml': { source: 'iana', + compressible: true, }, 'application/vnd.iptc.g2.packageitem+xml': { source: 'iana', + compressible: true, }, 'application/vnd.iptc.g2.planningitem+xml': { source: 'iana', + compressible: true, }, 'application/vnd.ipunplugged.rcprofile': { source: 'iana', @@ -2333,6 +3418,7 @@ export default { }, 'application/vnd.irepository.package+xml': { source: 'iana', + compressible: true, extensions: ['irp'], }, 'application/vnd.is-xpr': { @@ -2343,6 +3429,10 @@ export default { source: 'iana', extensions: ['fcs'], }, + 'application/vnd.iso11783-10+zip': { + source: 'iana', + compressible: false, + }, 'application/vnd.jam': { source: 'iana', extensions: ['jam'], @@ -2442,12 +3532,28 @@ export default { source: 'iana', extensions: ['sse'], }, + 'application/vnd.las': { + source: 'iana', + }, + 'application/vnd.las.las+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.las.las+xml': { source: 'iana', + compressible: true, extensions: ['lasxml'], }, + 'application/vnd.laszip': { + source: 'iana', + }, + 'application/vnd.leap+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.liberty-request+xml': { source: 'iana', + compressible: true, }, 'application/vnd.llamagraphics.life-balance.desktop': { source: 'iana', @@ -2455,8 +3561,16 @@ export default { }, 'application/vnd.llamagraphics.life-balance.exchange+xml': { source: 'iana', + compressible: true, extensions: ['lbe'], }, + 'application/vnd.logipipe.circuit+zip': { + source: 'iana', + compressible: false, + }, + 'application/vnd.loom': { + source: 'iana', + }, 'application/vnd.lotus-1-2-3': { source: 'iana', extensions: ['123'], @@ -2491,15 +3605,19 @@ export default { }, 'application/vnd.mapbox-vector-tile': { source: 'iana', + extensions: ['mvt'], }, 'application/vnd.marlin.drm.actiontoken+xml': { source: 'iana', + compressible: true, }, 'application/vnd.marlin.drm.conftoken+xml': { source: 'iana', + compressible: true, }, 'application/vnd.marlin.drm.license+xml': { source: 'iana', + compressible: true, }, 'application/vnd.marlin.drm.mdcf': { source: 'iana', @@ -2508,6 +3626,10 @@ export default { source: 'iana', compressible: true, }, + 'application/vnd.maxar.archive.3tz+zip': { + source: 'iana', + compressible: false, + }, 'application/vnd.maxmind.maxmind-db': { source: 'iana', }, @@ -2549,6 +3671,9 @@ export default { 'application/vnd.microsoft.portable-executable': { source: 'iana', }, + 'application/vnd.microsoft.windows.thumbnail-cache': { + source: 'iana', + }, 'application/vnd.miele+json': { source: 'iana', compressible: true, @@ -2685,6 +3810,7 @@ export default { }, 'application/vnd.ms-office.activex+xml': { source: 'iana', + compressible: true, }, 'application/vnd.ms-officetheme': { source: 'iana', @@ -2694,6 +3820,10 @@ export default { source: 'apache', compressible: true, }, + 'application/vnd.ms-outlook': { + compressible: false, + extensions: ['msg'], + }, 'application/vnd.ms-package.obfuscated-opentype': { source: 'apache', }, @@ -2707,6 +3837,7 @@ export default { }, 'application/vnd.ms-playready.initiator+xml': { source: 'iana', + compressible: true, }, 'application/vnd.ms-powerpoint': { source: 'iana', @@ -2735,9 +3866,15 @@ export default { }, 'application/vnd.ms-printdevicecapabilities+xml': { source: 'iana', + compressible: true, }, 'application/vnd.ms-printing.printticket+xml': { source: 'apache', + compressible: true, + }, + 'application/vnd.ms-printschematicket+xml': { + source: 'iana', + compressible: true, }, 'application/vnd.ms-project': { source: 'iana', @@ -2822,12 +3959,23 @@ export default { source: 'iana', extensions: ['taglet'], }, + 'application/vnd.nacamar.ybrid+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.ncd.control': { source: 'iana', }, 'application/vnd.ncd.reference': { source: 'iana', }, + 'application/vnd.nearst.inv+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.nebumind.line': { + source: 'iana', + }, 'application/vnd.nervana': { source: 'iana', }, @@ -2838,6 +3986,9 @@ export default { source: 'iana', extensions: ['nlu'], }, + 'application/vnd.nimn': { + source: 'iana', + }, 'application/vnd.nintendo.nitro.rom': { source: 'iana', }, @@ -2868,9 +4019,11 @@ export default { }, 'application/vnd.nokia.conml+xml': { source: 'iana', + compressible: true, }, 'application/vnd.nokia.iptv.config+xml': { source: 'iana', + compressible: true, }, 'application/vnd.nokia.isds-radio-presets': { source: 'iana', @@ -2880,12 +4033,16 @@ export default { }, 'application/vnd.nokia.landmark+xml': { source: 'iana', + compressible: true, }, 'application/vnd.nokia.landmarkcollection+xml': { source: 'iana', + compressible: true, }, 'application/vnd.nokia.n-gage.ac+xml': { source: 'iana', + compressible: true, + extensions: ['ac'], }, 'application/vnd.nokia.n-gage.data': { source: 'iana', @@ -2903,6 +4060,7 @@ export default { }, 'application/vnd.nokia.pcd+xml': { source: 'iana', + compressible: true, }, 'application/vnd.nokia.radio-preset': { source: 'iana', @@ -3014,42 +4172,58 @@ export default { 'application/vnd.obn': { source: 'iana', }, + 'application/vnd.ocf+cbor': { + source: 'iana', + }, + 'application/vnd.oci.image.manifest.v1+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.oftn.l10n+json': { source: 'iana', compressible: true, }, 'application/vnd.oipf.contentaccessdownload+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.contentaccessstreaming+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.cspg-hexbinary': { source: 'iana', }, 'application/vnd.oipf.dae.svg+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.dae.xhtml+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.mippvcontrolmessage+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.pae.gem': { source: 'iana', }, 'application/vnd.oipf.spdiscovery+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.spdlist+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.ueprofile+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oipf.userprofile+xml': { source: 'iana', + compressible: true, }, 'application/vnd.olpc-sugar': { source: 'iana', @@ -3066,18 +4240,22 @@ export default { }, 'application/vnd.oma.bcast.associated-procedure-parameter+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.bcast.drm-trigger+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.bcast.imd+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.bcast.ltkm': { source: 'iana', }, 'application/vnd.oma.bcast.notification+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.bcast.provisioningtrigger': { source: 'iana', @@ -3087,6 +4265,7 @@ export default { }, 'application/vnd.oma.bcast.sgdd+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.bcast.sgdu': { source: 'iana', @@ -3096,27 +4275,34 @@ export default { }, 'application/vnd.oma.bcast.smartcard-trigger+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.bcast.sprov+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.bcast.stkm': { source: 'iana', }, 'application/vnd.oma.cab-address-book+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.cab-feature-handler+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.cab-pcc+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.cab-subs-invite+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.cab-user-prefs+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.dcd': { source: 'iana', @@ -3126,55 +4312,102 @@ export default { }, 'application/vnd.oma.dd2+xml': { source: 'iana', + compressible: true, extensions: ['dd2'], }, 'application/vnd.oma.drm.risd+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.group-usage-list+xml': { source: 'iana', + compressible: true, + }, + 'application/vnd.oma.lwm2m+cbor': { + source: 'iana', + }, + 'application/vnd.oma.lwm2m+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.oma.lwm2m+tlv': { + source: 'iana', }, 'application/vnd.oma.pal+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.poc.detailed-progress-report+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.poc.final-report+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.poc.groups+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.poc.invocation-descriptor+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.poc.optimized-progress-report+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.push': { source: 'iana', }, 'application/vnd.oma.scidm.messages+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oma.xcap-directory+xml': { source: 'iana', + compressible: true, }, 'application/vnd.omads-email+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/vnd.omads-file+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/vnd.omads-folder+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/vnd.omaloc-supl-init': { source: 'iana', }, + 'application/vnd.onepager': { + source: 'iana', + }, + 'application/vnd.onepagertamp': { + source: 'iana', + }, + 'application/vnd.onepagertamx': { + source: 'iana', + }, + 'application/vnd.onepagertat': { + source: 'iana', + }, + 'application/vnd.onepagertatp': { + source: 'iana', + }, + 'application/vnd.onepagertatx': { + source: 'iana', + }, 'application/vnd.openblox.game+xml': { source: 'iana', + compressible: true, + extensions: ['obgx'], }, 'application/vnd.openblox.game-binary': { source: 'iana', @@ -3186,57 +4419,77 @@ export default { source: 'apache', extensions: ['oxt'], }, + 'application/vnd.openstreetmap.data+xml': { + source: 'iana', + compressible: true, + extensions: ['osm'], + }, + 'application/vnd.opentimestamps.ots': { + source: 'iana', + }, 'application/vnd.openxmlformats-officedocument.custom-properties+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.customxmlproperties+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.drawing+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.extended-properties+xml': { source: 'iana', - }, - 'application/vnd.openxmlformats-officedocument.presentationml-template': { - source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.comments+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.presentation': { source: 'iana', @@ -3246,10 +4499,12 @@ export default { 'application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.presprops+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.slide': { source: 'iana', @@ -3257,14 +4512,17 @@ export default { }, 'application/vnd.openxmlformats-officedocument.presentationml.slide+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': { source: 'iana', @@ -3273,82 +4531,98 @@ export default { 'application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.tags+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.template': { - source: 'apache', + source: 'iana', extensions: ['potx'], }, 'application/vnd.openxmlformats-officedocument.presentationml.template.main+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml': { source: 'iana', + compressible: true, }, - 'application/vnd.openxmlformats-officedocument.spreadsheetml-template': { - source: 'iana', - }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': { source: 'iana', @@ -3358,54 +4632,63 @@ export default { 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': { - source: 'apache', + source: 'iana', extensions: ['xltx'], }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.theme+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.themeoverride+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.vmldrawing': { source: 'iana', }, - 'application/vnd.openxmlformats-officedocument.wordprocessingml-template': { - source: 'iana', - }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': { source: 'iana', @@ -3415,57 +4698,71 @@ export default { 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': { - source: 'apache', + source: 'iana', extensions: ['dotx'], }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-package.core-properties+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml': { source: 'iana', + compressible: true, }, 'application/vnd.openxmlformats-package.relationships+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oracle.resource+json': { source: 'iana', @@ -3494,6 +4791,7 @@ export default { }, 'application/vnd.otps.ct-kip+xml': { source: 'iana', + compressible: true, }, 'application/vnd.oxli.countgraph': { source: 'iana', @@ -3509,11 +4807,14 @@ export default { 'application/vnd.panoply': { source: 'iana', }, - 'application/vnd.paos+xml': { + 'application/vnd.paos.xml': { source: 'iana', }, - 'application/vnd.paos.xml': { - source: 'apache', + 'application/vnd.patentdive': { + source: 'iana', + }, + 'application/vnd.patientecommsdoc': { + source: 'iana', }, 'application/vnd.pawaafile': { source: 'iana', @@ -3543,6 +4844,7 @@ export default { }, 'application/vnd.poc.group-advertisement+xml': { source: 'iana', + compressible: true, }, 'application/vnd.pocketlearn': { source: 'iana', @@ -3578,6 +4880,9 @@ export default { source: 'iana', extensions: ['mgz'], }, + 'application/vnd.psfs': { + source: 'iana', + }, 'application/vnd.publishare-delta-tree': { source: 'iana', extensions: ['qps'], @@ -3591,10 +4896,14 @@ export default { }, 'application/vnd.pwg-xhtml-print+xml': { source: 'iana', + compressible: true, }, 'application/vnd.qualcomm.brew-app-res': { source: 'iana', }, + 'application/vnd.quarantainenet': { + source: 'iana', + }, 'application/vnd.quark.quarkxpress': { source: 'iana', extensions: ['qxd', 'qxt', 'qwd', 'qwt', 'qxl', 'qxb'], @@ -3604,48 +4913,63 @@ export default { }, 'application/vnd.radisys.moml+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-audit+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-audit-conf+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-audit-conn+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-audit-dialog+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-audit-stream+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-conf+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-dialog+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-dialog-base+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-dialog-fax-detect+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-dialog-fax-sendrecv+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-dialog-group+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-dialog-speech+xml': { source: 'iana', + compressible: true, }, 'application/vnd.radisys.msml-dialog-transform+xml': { source: 'iana', + compressible: true, }, 'application/vnd.rainstor.data': { source: 'iana', @@ -3653,6 +4977,10 @@ export default { 'application/vnd.rapid': { source: 'iana', }, + 'application/vnd.rar': { + source: 'iana', + extensions: ['rar'], + }, 'application/vnd.realvnc.bed': { source: 'iana', extensions: ['bed'], @@ -3663,11 +4991,19 @@ export default { }, 'application/vnd.recordare.musicxml+xml': { source: 'iana', + compressible: true, extensions: ['musicxml'], }, 'application/vnd.renlearn.rlprint': { source: 'iana', }, + 'application/vnd.resilient.logic': { + source: 'iana', + }, + 'application/vnd.restful+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.rig.cryptonote': { source: 'iana', extensions: ['cryptonote'], @@ -3686,6 +5022,7 @@ export default { }, 'application/vnd.route66.link66+xml': { source: 'iana', + compressible: true, extensions: ['link66'], }, 'application/vnd.rs-274x': { @@ -3701,6 +5038,9 @@ export default { source: 'iana', extensions: ['st'], }, + 'application/vnd.sar': { + source: 'iana', + }, 'application/vnd.sbm.cid': { source: 'iana', }, @@ -3747,6 +5087,10 @@ export default { source: 'iana', extensions: ['see'], }, + 'application/vnd.seis+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.sema': { source: 'iana', extensions: ['sema'], @@ -3759,6 +5103,9 @@ export default { source: 'iana', extensions: ['semf'], }, + 'application/vnd.shade-save-file': { + source: 'iana', + }, 'application/vnd.shana.informed.formdata': { source: 'iana', extensions: ['ifm'], @@ -3775,6 +5122,23 @@ export default { source: 'iana', extensions: ['ipk'], }, + 'application/vnd.shootproof+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.shopkick+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.shp': { + source: 'iana', + }, + 'application/vnd.shx': { + source: 'iana', + }, + 'application/vnd.sigrok.session': { + source: 'iana', + }, 'application/vnd.simtech-mindmapper': { source: 'iana', extensions: ['twd', 'twds'], @@ -3794,14 +5158,20 @@ export default { source: 'iana', extensions: ['teacher'], }, + 'application/vnd.snesdev-page-table': { + source: 'iana', + }, 'application/vnd.software602.filler.form+xml': { source: 'iana', + compressible: true, + extensions: ['fo'], }, 'application/vnd.software602.filler.form-xml-zip': { source: 'iana', }, 'application/vnd.solent.sdkm+xml': { source: 'iana', + compressible: true, extensions: ['sdkm', 'sdkd'], }, 'application/vnd.spotfire.dxp': { @@ -3812,6 +5182,9 @@ export default { source: 'iana', extensions: ['sfs'], }, + 'application/vnd.sqlite3': { + source: 'iana', + }, 'application/vnd.sss-cod': { source: 'iana', }, @@ -3858,6 +5231,8 @@ export default { }, 'application/vnd.sun.wadl+xml': { source: 'iana', + compressible: true, + extensions: ['wadl'], }, 'application/vnd.sun.xml.calc': { source: 'apache', @@ -3910,20 +5285,33 @@ export default { 'application/vnd.swiftview-ics': { source: 'iana', }, + 'application/vnd.sycle+xml': { + source: 'iana', + compressible: true, + }, + 'application/vnd.syft+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.symbian.install': { source: 'apache', extensions: ['sis', 'sisx'], }, 'application/vnd.syncml+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, extensions: ['xsm'], }, 'application/vnd.syncml.dm+wbxml': { source: 'iana', + charset: 'UTF-8', extensions: ['bdm'], }, 'application/vnd.syncml.dm+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, extensions: ['xdm'], }, 'application/vnd.syncml.dm.notification': { @@ -3934,16 +5322,25 @@ export default { }, 'application/vnd.syncml.dmddf+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, + extensions: ['ddf'], }, 'application/vnd.syncml.dmtnds+wbxml': { source: 'iana', }, 'application/vnd.syncml.dmtnds+xml': { source: 'iana', + charset: 'UTF-8', + compressible: true, }, 'application/vnd.syncml.ds.notification': { source: 'iana', }, + 'application/vnd.tableschema+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.tao.intent-module-archive': { source: 'iana', extensions: ['tao'], @@ -3952,8 +5349,13 @@ export default { source: 'iana', extensions: ['pcap', 'cap', 'dmp'], }, + 'application/vnd.think-cell.ppttc+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.tmd.mediaflex.api+xml': { source: 'iana', + compressible: true, }, 'application/vnd.tml': { source: 'iana', @@ -3962,6 +5364,9 @@ export default { source: 'iana', extensions: ['tmo'], }, + 'application/vnd.tri.onesource': { + source: 'iana', + }, 'application/vnd.trid.tpt': { source: 'iana', extensions: ['tpt'], @@ -3998,6 +5403,7 @@ export default { }, 'application/vnd.uoml+xml': { source: 'iana', + compressible: true, extensions: ['uoml'], }, 'application/vnd.uplanet.alert': { @@ -4055,9 +5461,23 @@ export default { 'application/vnd.vectorworks': { source: 'iana', }, + 'application/vnd.vel+json': { + source: 'iana', + compressible: true, + }, 'application/vnd.verimatrix.vcas': { source: 'iana', }, + 'application/vnd.veritone.aion+json': { + source: 'iana', + compressible: true, + }, + 'application/vnd.veryant.thin': { + source: 'iana', + }, + 'application/vnd.ves.encrypted': { + source: 'iana', + }, 'application/vnd.vidsoft.vidconference': { source: 'iana', }, @@ -4084,6 +5504,7 @@ export default { }, 'application/vnd.wap.wbxml': { source: 'iana', + charset: 'UTF-8', extensions: ['wbxml'], }, 'application/vnd.wap.wmlc': { @@ -4098,6 +5519,9 @@ export default { source: 'iana', extensions: ['wtb'], }, + 'application/vnd.wfa.dpp': { + source: 'iana', + }, 'application/vnd.wfa.p2p': { source: 'iana', }, @@ -4143,9 +5567,11 @@ export default { }, 'application/vnd.wv.csp+xml': { source: 'iana', + compressible: true, }, 'application/vnd.wv.ssp+xml': { source: 'iana', + compressible: true, }, 'application/vnd.xacml+json': { source: 'iana', @@ -4164,6 +5590,7 @@ export default { }, 'application/vnd.xmi+xml': { source: 'iana', + compressible: true, }, 'application/vnd.xmpie.cpkg': { source: 'iana', @@ -4198,6 +5625,7 @@ export default { }, 'application/vnd.yamaha.openscoreformat.osfpvg+xml': { source: 'iana', + compressible: true, extensions: ['osfpvg'], }, 'application/vnd.yamaha.remote-setup': { @@ -4224,23 +5652,43 @@ export default { source: 'iana', extensions: ['cmp'], }, + 'application/vnd.youtube.yt': { + source: 'iana', + }, 'application/vnd.zul': { source: 'iana', extensions: ['zir', 'zirz'], }, 'application/vnd.zzazz.deck+xml': { source: 'iana', + compressible: true, extensions: ['zaz'], }, 'application/voicexml+xml': { source: 'iana', + compressible: true, extensions: ['vxml'], }, + 'application/voucher-cms+json': { + source: 'iana', + compressible: true, + }, 'application/vq-rtcpxr': { source: 'iana', }, + 'application/wasm': { + source: 'iana', + compressible: true, + extensions: ['wasm'], + }, 'application/watcherinfo+xml': { source: 'iana', + compressible: true, + extensions: ['wif'], + }, + 'application/webpush-options+json': { + source: 'iana', + compressible: true, }, 'application/whoispp-query': { source: 'iana', @@ -4264,10 +5712,12 @@ export default { }, 'application/wsdl+xml': { source: 'iana', + compressible: true, extensions: ['wsdl'], }, 'application/wspolicy+xml': { source: 'iana', + compressible: true, extensions: ['wspolicy'], }, 'application/x-7z-compressed': { @@ -4290,6 +5740,10 @@ export default { source: 'apache', extensions: ['dmg'], }, + 'application/x-arj': { + compressible: false, + extensions: ['arj'], + }, 'application/x-authorware-bin': { source: 'apache', extensions: ['aab', 'x32', 'u32', 'vox'], @@ -4391,14 +5845,17 @@ export default { }, 'application/x-dtbncx+xml': { source: 'apache', + compressible: true, extensions: ['ncx'], }, 'application/x-dtbook+xml': { source: 'apache', + compressible: true, extensions: ['dtb'], }, 'application/x-dtbresource+xml': { source: 'apache', + compressible: true, extensions: ['res'], }, 'application/x-dvi': { @@ -4435,11 +5892,6 @@ export default { source: 'apache', extensions: ['psf'], }, - 'application/x-font-otf': { - source: 'apache', - compressible: true, - extensions: ['otf'], - }, 'application/x-font-pcf': { source: 'apache', extensions: ['pcf'], @@ -4454,11 +5906,6 @@ export default { 'application/x-font-sunos-news': { source: 'apache', }, - 'application/x-font-ttf': { - source: 'apache', - compressible: true, - extensions: ['ttf', 'ttc'], - }, 'application/x-font-type1': { source: 'apache', extensions: ['pfa', 'pfb', 'pfm', 'afm'], @@ -4513,6 +5960,15 @@ export default { source: 'apache', extensions: ['iso'], }, + 'application/x-iwork-keynote-sffkey': { + extensions: ['key'], + }, + 'application/x-iwork-numbers-sffnumbers': { + extensions: ['numbers'], + }, + 'application/x-iwork-pages-sffpages': { + extensions: ['pages'], + }, 'application/x-java-archive-diff': { source: 'nginx', extensions: ['jardiff'], @@ -4525,6 +5981,9 @@ export default { 'application/x-javascript': { compressible: true, }, + 'application/x-keepass2': { + extensions: ['kdbx'], + }, 'application/x-latex': { source: 'apache', compressible: false, @@ -4656,6 +6115,9 @@ export default { source: 'apache', extensions: ['p7r'], }, + 'application/x-pki-message': { + source: 'iana', + }, 'application/x-rar-compressed': { source: 'apache', compressible: false, @@ -4753,6 +6215,38 @@ export default { source: 'apache', extensions: ['ustar'], }, + 'application/x-virtualbox-hdd': { + compressible: true, + extensions: ['hdd'], + }, + 'application/x-virtualbox-ova': { + compressible: true, + extensions: ['ova'], + }, + 'application/x-virtualbox-ovf': { + compressible: true, + extensions: ['ovf'], + }, + 'application/x-virtualbox-vbox': { + compressible: true, + extensions: ['vbox'], + }, + 'application/x-virtualbox-vbox-extpack': { + compressible: false, + extensions: ['vbox-extpack'], + }, + 'application/x-virtualbox-vdi': { + compressible: true, + extensions: ['vdi'], + }, + 'application/x-virtualbox-vhd': { + compressible: true, + extensions: ['vhd'], + }, + 'application/x-virtualbox-vmdk': { + compressible: true, + extensions: ['vmdk'], + }, 'application/x-wais-source': { source: 'apache', extensions: ['src'], @@ -4766,15 +6260,22 @@ export default { compressible: true, }, 'application/x-x509-ca-cert': { - source: 'apache', + source: 'iana', extensions: ['der', 'crt', 'pem'], }, + 'application/x-x509-ca-ra-cert': { + source: 'iana', + }, + 'application/x-x509-next-ca-cert': { + source: 'iana', + }, 'application/x-xfig': { source: 'apache', extensions: ['fig'], }, 'application/x-xliff+xml': { source: 'apache', + compressible: true, extensions: ['xlf'], }, 'application/x-xpinstall': { @@ -4795,38 +6296,53 @@ export default { }, 'application/xacml+xml': { source: 'iana', + compressible: true, }, 'application/xaml+xml': { source: 'apache', + compressible: true, extensions: ['xaml'], }, 'application/xcap-att+xml': { source: 'iana', + compressible: true, + extensions: ['xav'], }, 'application/xcap-caps+xml': { source: 'iana', + compressible: true, + extensions: ['xca'], }, 'application/xcap-diff+xml': { source: 'iana', + compressible: true, extensions: ['xdf'], }, 'application/xcap-el+xml': { source: 'iana', + compressible: true, + extensions: ['xel'], }, 'application/xcap-error+xml': { source: 'iana', + compressible: true, }, 'application/xcap-ns+xml': { source: 'iana', + compressible: true, + extensions: ['xns'], }, 'application/xcon-conference-info+xml': { source: 'iana', + compressible: true, }, 'application/xcon-conference-info-diff+xml': { source: 'iana', + compressible: true, }, 'application/xenc+xml': { source: 'iana', + compressible: true, extensions: ['xenc'], }, 'application/xhtml+xml': { @@ -4836,11 +6352,17 @@ export default { }, 'application/xhtml-voice+xml': { source: 'apache', + compressible: true, + }, + 'application/xliff+xml': { + source: 'iana', + compressible: true, + extensions: ['xlf'], }, 'application/xml': { source: 'iana', compressible: true, - extensions: ['xml', 'xsl', 'xsd'], + extensions: ['xml', 'xsl', 'xsd', 'rng'], }, 'application/xml-dtd': { source: 'iana', @@ -4852,9 +6374,11 @@ export default { }, 'application/xml-patch+xml': { source: 'iana', + compressible: true, }, 'application/xmpp+xml': { source: 'iana', + compressible: true, }, 'application/xop+xml': { source: 'iana', @@ -4863,26 +6387,47 @@ export default { }, 'application/xproc+xml': { source: 'apache', + compressible: true, extensions: ['xpl'], }, 'application/xslt+xml': { source: 'iana', - extensions: ['xslt'], + compressible: true, + extensions: ['xsl', 'xslt'], }, 'application/xspf+xml': { source: 'apache', + compressible: true, extensions: ['xspf'], }, 'application/xv+xml': { source: 'iana', + compressible: true, extensions: ['mxml', 'xhvml', 'xvml', 'xvm'], }, 'application/yang': { source: 'iana', extensions: ['yang'], }, + 'application/yang-data+json': { + source: 'iana', + compressible: true, + }, + 'application/yang-data+xml': { + source: 'iana', + compressible: true, + }, + 'application/yang-patch+json': { + source: 'iana', + compressible: true, + }, + 'application/yang-patch+xml': { + source: 'iana', + compressible: true, + }, 'application/yin+xml': { source: 'iana', + compressible: true, extensions: ['yin'], }, 'application/zip': { @@ -4893,6 +6438,9 @@ export default { 'application/zlib': { source: 'iana', }, + 'application/zstd': { + source: 'iana', + }, 'audio/1d-interleaved-parityfec': { source: 'iana', }, @@ -4901,10 +6449,15 @@ export default { }, 'audio/3gpp': { source: 'iana', + compressible: false, + extensions: ['3gpp'], }, 'audio/3gpp2': { source: 'iana', }, + 'audio/aac': { + source: 'iana', + }, 'audio/ac3': { source: 'iana', }, @@ -4914,6 +6467,7 @@ export default { }, 'audio/amr': { source: 'iana', + extensions: ['amr'], }, 'audio/amr-wb': { source: 'iana', @@ -5025,6 +6579,9 @@ export default { 'audio/evs': { source: 'iana', }, + 'audio/flexfec': { + source: 'iana', + }, 'audio/fwdred': { source: 'iana', }, @@ -5104,17 +6661,37 @@ export default { 'audio/lpc': { source: 'iana', }, + 'audio/melp': { + source: 'iana', + }, + 'audio/melp1200': { + source: 'iana', + }, + 'audio/melp2400': { + source: 'iana', + }, + 'audio/melp600': { + source: 'iana', + }, + 'audio/mhas': { + source: 'iana', + }, 'audio/midi': { source: 'apache', extensions: ['mid', 'midi', 'kar', 'rmi'], }, 'audio/mobile-xmf': { source: 'iana', + extensions: ['mxmf'], + }, + 'audio/mp3': { + compressible: false, + extensions: ['mp3'], }, 'audio/mp4': { source: 'iana', compressible: false, - extensions: ['mp4a', 'm4a'], + extensions: ['m4a', 'mp4a'], }, 'audio/mp4a-latm': { source: 'iana', @@ -5139,7 +6716,7 @@ export default { 'audio/ogg': { source: 'iana', compressible: false, - extensions: ['oga', 'ogg', 'spx'], + extensions: ['oga', 'ogg', 'spx', 'opus'], }, 'audio/opus': { source: 'iana', @@ -5187,6 +6764,9 @@ export default { source: 'apache', extensions: ['s3m'], }, + 'audio/scip': { + source: 'iana', + }, 'audio/silk': { source: 'apache', extensions: ['sil'], @@ -5200,6 +6780,9 @@ export default { 'audio/smv0': { source: 'iana', }, + 'audio/sofa': { + source: 'iana', + }, 'audio/sp-midi': { source: 'iana', }, @@ -5215,15 +6798,27 @@ export default { 'audio/telephone-event': { source: 'iana', }, + 'audio/tetra_acelp': { + source: 'iana', + }, + 'audio/tetra_acelp_bb': { + source: 'iana', + }, 'audio/tone': { source: 'iana', }, + 'audio/tsvcis': { + source: 'iana', + }, 'audio/uemclip': { source: 'iana', }, 'audio/ulpfec': { source: 'iana', }, + 'audio/usac': { + source: 'iana', + }, 'audio/vdvi': { source: 'iana', }, @@ -5301,6 +6896,9 @@ export default { source: 'iana', extensions: ['dtshd'], }, + 'audio/vnd.dts.uhd': { + source: 'iana', + }, 'audio/vnd.dvb.file': { source: 'iana', }, @@ -5339,6 +6937,9 @@ export default { 'audio/vnd.octel.sbc': { source: 'iana', }, + 'audio/vnd.presonus.multitrack': { + source: 'iana', + }, 'audio/vnd.qcelp': { source: 'iana', }, @@ -5469,12 +7070,54 @@ export default { source: 'apache', extensions: ['xyz'], }, - 'font/opentype': { + 'font/collection': { + source: 'iana', + extensions: ['ttc'], + }, + 'font/otf': { + source: 'iana', compressible: true, extensions: ['otf'], }, + 'font/sfnt': { + source: 'iana', + }, + 'font/ttf': { + source: 'iana', + compressible: true, + extensions: ['ttf'], + }, + 'font/woff': { + source: 'iana', + extensions: ['woff'], + }, + 'font/woff2': { + source: 'iana', + extensions: ['woff2'], + }, + 'image/aces': { + source: 'iana', + extensions: ['exr'], + }, + 'image/apng': { + compressible: false, + extensions: ['apng'], + }, + 'image/avci': { + source: 'iana', + extensions: ['avci'], + }, + 'image/avcs': { + source: 'iana', + extensions: ['avcs'], + }, + 'image/avif': { + source: 'iana', + compressible: false, + extensions: ['avif'], + }, 'image/bmp': { - source: 'apache', + source: 'iana', compressible: true, extensions: ['bmp'], }, @@ -5482,8 +7125,17 @@ export default { source: 'iana', extensions: ['cgm'], }, + 'image/dicom-rle': { + source: 'iana', + extensions: ['drle'], + }, + 'image/emf': { + source: 'iana', + extensions: ['emf'], + }, 'image/fits': { source: 'iana', + extensions: ['fits'], }, 'image/g3fax': { source: 'iana', @@ -5494,28 +7146,102 @@ export default { compressible: false, extensions: ['gif'], }, + 'image/heic': { + source: 'iana', + extensions: ['heic'], + }, + 'image/heic-sequence': { + source: 'iana', + extensions: ['heics'], + }, + 'image/heif': { + source: 'iana', + extensions: ['heif'], + }, + 'image/heif-sequence': { + source: 'iana', + extensions: ['heifs'], + }, + 'image/hej2k': { + source: 'iana', + extensions: ['hej2'], + }, + 'image/hsj2': { + source: 'iana', + extensions: ['hsj2'], + }, 'image/ief': { source: 'iana', extensions: ['ief'], }, + 'image/jls': { + source: 'iana', + extensions: ['jls'], + }, 'image/jp2': { source: 'iana', + compressible: false, + extensions: ['jp2', 'jpg2'], }, 'image/jpeg': { source: 'iana', compressible: false, extensions: ['jpeg', 'jpg', 'jpe'], }, + 'image/jph': { + source: 'iana', + extensions: ['jph'], + }, + 'image/jphc': { + source: 'iana', + extensions: ['jhc'], + }, 'image/jpm': { source: 'iana', + compressible: false, + extensions: ['jpm'], }, 'image/jpx': { source: 'iana', + compressible: false, + extensions: ['jpx', 'jpf'], + }, + 'image/jxr': { + source: 'iana', + extensions: ['jxr'], + }, + 'image/jxra': { + source: 'iana', + extensions: ['jxra'], + }, + 'image/jxrs': { + source: 'iana', + extensions: ['jxrs'], + }, + 'image/jxs': { + source: 'iana', + extensions: ['jxs'], + }, + 'image/jxsc': { + source: 'iana', + extensions: ['jxsc'], + }, + 'image/jxsi': { + source: 'iana', + extensions: ['jxsi'], + }, + 'image/jxss': { + source: 'iana', + extensions: ['jxss'], }, 'image/ktx': { source: 'iana', extensions: ['ktx'], }, + 'image/ktx2': { + source: 'iana', + extensions: ['ktx2'], + }, 'image/naplps': { source: 'iana', }, @@ -5533,6 +7259,7 @@ export default { }, 'image/prs.pti': { source: 'iana', + extensions: ['pti'], }, 'image/pwg-raster': { source: 'iana', @@ -5548,14 +7275,16 @@ export default { }, 'image/t38': { source: 'iana', + extensions: ['t38'], }, 'image/tiff': { source: 'iana', compressible: false, - extensions: ['tiff', 'tif'], + extensions: ['tif', 'tiff'], }, 'image/tiff-fx': { source: 'iana', + extensions: ['tfx'], }, 'image/vnd.adobe.photoshop': { source: 'iana', @@ -5564,6 +7293,7 @@ export default { }, 'image/vnd.airzip.accelerator.azv': { source: 'iana', + extensions: ['azv'], }, 'image/vnd.cns.inf2': { source: 'iana', @@ -5613,6 +7343,8 @@ export default { }, 'image/vnd.microsoft.icon': { source: 'iana', + compressible: true, + extensions: ['ico'], }, 'image/vnd.mix': { source: 'iana', @@ -5620,6 +7352,10 @@ export default { 'image/vnd.mozilla.apng': { source: 'iana', }, + 'image/vnd.ms-dds': { + compressible: true, + extensions: ['dds'], + }, 'image/vnd.ms-modi': { source: 'iana', extensions: ['mdi'], @@ -5632,6 +7368,10 @@ export default { source: 'iana', extensions: ['npx'], }, + 'image/vnd.pco.b16': { + source: 'iana', + extensions: ['b16'], + }, 'image/vnd.radiance': { source: 'iana', }, @@ -5649,9 +7389,11 @@ export default { }, 'image/vnd.tencent.tap': { source: 'iana', + extensions: ['tap'], }, 'image/vnd.valve.source.texture': { source: 'iana', + extensions: ['vtf'], }, 'image/vnd.wap.wbmp': { source: 'iana', @@ -5663,11 +7405,16 @@ export default { }, 'image/vnd.zbrush.pcx': { source: 'iana', + extensions: ['pcx'], }, 'image/webp': { source: 'apache', extensions: ['webp'], }, + 'image/wmf': { + source: 'iana', + extensions: ['wmf'], + }, 'image/x-3ds': { source: 'apache', extensions: ['3ds'], @@ -5757,6 +7504,7 @@ export default { }, 'message/disposition-notification': { source: 'iana', + extensions: ['disposition-notification'], }, 'message/external-body': { source: 'iana', @@ -5766,15 +7514,19 @@ export default { }, 'message/global': { source: 'iana', + extensions: ['u8msg'], }, 'message/global-delivery-status': { source: 'iana', + extensions: ['u8dsn'], }, 'message/global-disposition-notification': { source: 'iana', + extensions: ['u8mdn'], }, 'message/global-headers': { source: 'iana', + extensions: ['u8hdr'], }, 'message/http': { source: 'iana', @@ -5813,19 +7565,68 @@ export default { }, 'message/vnd.wfa.wsc': { source: 'iana', + extensions: ['wsc'], + }, + 'model/3mf': { + source: 'iana', + extensions: ['3mf'], + }, + 'model/e57': { + source: 'iana', + }, + 'model/gltf+json': { + source: 'iana', + compressible: true, + extensions: ['gltf'], + }, + 'model/gltf-binary': { + source: 'iana', + compressible: true, + extensions: ['glb'], + }, + 'model/iges': { + source: 'iana', + compressible: false, + extensions: ['igs', 'iges'], + }, + 'model/mesh': { + source: 'iana', + compressible: false, + extensions: ['msh', 'mesh', 'silo'], + }, + 'model/mtl': { + source: 'iana', + extensions: ['mtl'], + }, + 'model/obj': { + source: 'iana', + extensions: ['obj'], + }, + 'model/step': { + source: 'iana', + }, + 'model/step+xml': { + source: 'iana', + compressible: true, + extensions: ['stpx'], }, - 'model/iges': { + 'model/step+zip': { source: 'iana', compressible: false, - extensions: ['igs', 'iges'], + extensions: ['stpz'], }, - 'model/mesh': { + 'model/step-xml+zip': { source: 'iana', compressible: false, - extensions: ['msh', 'mesh', 'silo'], + extensions: ['stpxz'], + }, + 'model/stl': { + source: 'iana', + extensions: ['stl'], }, 'model/vnd.collada+xml': { source: 'iana', + compressible: true, extensions: ['dae'], }, 'model/vnd.dwf': { @@ -5851,6 +7652,7 @@ export default { }, 'model/vnd.moml+xml': { source: 'iana', + compressible: true, }, 'model/vnd.mts': { source: 'iana', @@ -5858,15 +7660,34 @@ export default { }, 'model/vnd.opengex': { source: 'iana', + extensions: ['ogex'], }, 'model/vnd.parasolid.transmit.binary': { source: 'iana', + extensions: ['x_b'], }, 'model/vnd.parasolid.transmit.text': { source: 'iana', + extensions: ['x_t'], + }, + 'model/vnd.pytha.pyox': { + source: 'iana', + }, + 'model/vnd.rosette.annotated-data-model': { + source: 'iana', + }, + 'model/vnd.sap.vds': { + source: 'iana', + extensions: ['vds'], + }, + 'model/vnd.usdz+zip': { + source: 'iana', + compressible: false, + extensions: ['usdz'], }, 'model/vnd.valve.source.compiled-map': { source: 'iana', + extensions: ['bsp'], }, 'model/vnd.vtu': { source: 'iana', @@ -5884,6 +7705,7 @@ export default { }, 'model/x3d+fastinfoset': { source: 'iana', + extensions: ['x3db'], }, 'model/x3d+vrml': { source: 'apache', @@ -5897,6 +7719,7 @@ export default { }, 'model/x3d-vrml': { source: 'iana', + extensions: ['x3dv'], }, 'multipart/alternative': { source: 'iana', @@ -5924,7 +7747,9 @@ export default { }, 'multipart/mixed': { source: 'iana', - compressible: false, + }, + 'multipart/multilingual': { + source: 'iana', }, 'multipart/parallel': { source: 'iana', @@ -5940,6 +7765,9 @@ export default { source: 'iana', compressible: false, }, + 'multipart/vnd.bint.med-plus': { + source: 'iana', + }, 'multipart/voice-message': { source: 'iana', }, @@ -5967,8 +7795,18 @@ export default { 'text/coffeescript': { extensions: ['coffee', 'litcoffee'], }, + 'text/cql': { + source: 'iana', + }, + 'text/cql-expression': { + source: 'iana', + }, + 'text/cql-identifier': { + source: 'iana', + }, 'text/css': { source: 'iana', + charset: 'UTF-8', compressible: true, extensions: ['css'], }, @@ -5995,14 +7833,20 @@ export default { 'text/enriched': { source: 'iana', }, + 'text/fhirpath': { + source: 'iana', + }, + 'text/flexfec': { + source: 'iana', + }, 'text/fwdred': { source: 'iana', }, - 'text/grammar-ref-list': { + 'text/gff3': { source: 'iana', }, - 'text/hjson': { - extensions: ['hjson'], + 'text/grammar-ref-list': { + source: 'iana', }, 'text/html': { source: 'iana', @@ -6024,25 +7868,34 @@ export default { extensions: ['jsx'], }, 'text/less': { + compressible: true, extensions: ['less'], }, 'text/markdown': { source: 'iana', + compressible: true, + extensions: ['markdown', 'md'], }, 'text/mathml': { source: 'nginx', extensions: ['mml'], }, + 'text/mdx': { + compressible: true, + extensions: ['mdx'], + }, 'text/mizar': { source: 'iana', }, 'text/n3': { source: 'iana', + charset: 'UTF-8', compressible: true, extensions: ['n3'], }, 'text/parameters': { source: 'iana', + charset: 'UTF-8', }, 'text/parityfec': { source: 'iana', @@ -6054,6 +7907,7 @@ export default { }, 'text/provenance-notation': { source: 'iana', + charset: 'UTF-8', }, 'text/prs.fallenstein.rst': { source: 'iana', @@ -6062,6 +7916,9 @@ export default { source: 'iana', extensions: ['dsc'], }, + 'text/prs.prop.logic': { + source: 'iana', + }, 'text/raptorfec': { source: 'iana', }, @@ -6094,6 +7951,23 @@ export default { source: 'iana', extensions: ['sgml', 'sgm'], }, + 'text/shaclc': { + source: 'iana', + }, + 'text/shex': { + source: 'iana', + extensions: ['shex'], + }, + 'text/slim': { + extensions: ['slim', 'slm'], + }, + 'text/spdx': { + source: 'iana', + extensions: ['spdx'], + }, + 'text/strings': { + source: 'iana', + }, 'text/stylus': { extensions: ['stylus', 'styl'], }, @@ -6111,6 +7985,7 @@ export default { }, 'text/turtle': { source: 'iana', + charset: 'UTF-8', extensions: ['ttl'], }, 'text/ulpfec': { @@ -6132,6 +8007,9 @@ export default { 'text/vnd.abc': { source: 'iana', }, + 'text/vnd.ascii-art': { + source: 'iana', + }, 'text/vnd.curl': { source: 'iana', extensions: ['curl'], @@ -6150,6 +8028,7 @@ export default { }, 'text/vnd.debian.copyright': { source: 'iana', + charset: 'UTF-8', }, 'text/vnd.dmclientscript': { source: 'iana', @@ -6160,6 +8039,14 @@ export default { }, 'text/vnd.esmertec.theme-descriptor': { source: 'iana', + charset: 'UTF-8', + }, + 'text/vnd.familysearch.gedcom': { + source: 'iana', + extensions: ['ged'], + }, + 'text/vnd.ficlab.flt': { + source: 'iana', }, 'text/vnd.fly': { source: 'iana', @@ -6169,10 +8056,19 @@ export default { source: 'iana', extensions: ['flx'], }, + 'text/vnd.gml': { + source: 'iana', + }, 'text/vnd.graphviz': { source: 'iana', extensions: ['gv'], }, + 'text/vnd.hans': { + source: 'iana', + }, + 'text/vnd.hgl': { + source: 'iana', + }, 'text/vnd.in3d.3dml': { source: 'iana', extensions: ['3dml'], @@ -6202,15 +8098,23 @@ export default { 'text/vnd.radisys.msml-basic-layout': { source: 'iana', }, + 'text/vnd.senx.warpscript': { + source: 'iana', + }, 'text/vnd.si.uricatalogue': { source: 'iana', }, + 'text/vnd.sosi': { + source: 'iana', + }, 'text/vnd.sun.j2me.app-descriptor': { source: 'iana', + charset: 'UTF-8', extensions: ['jad'], }, 'text/vnd.trolltech.linguist': { source: 'iana', + charset: 'UTF-8', }, 'text/vnd.wap.si': { source: 'iana', @@ -6227,6 +8131,7 @@ export default { extensions: ['wmls'], }, 'text/vtt': { + source: 'iana', charset: 'UTF-8', compressible: true, extensions: ['vtt'], @@ -6265,7 +8170,7 @@ export default { }, 'text/x-markdown': { compressible: true, - extensions: ['markdown', 'md', 'mkd'], + extensions: ['mkd'], }, 'text/x-nfo': { source: 'apache', @@ -6275,6 +8180,10 @@ export default { source: 'apache', extensions: ['opml'], }, + 'text/x-org': { + compressible: true, + extensions: ['org'], + }, 'text/x-pascal': { source: 'apache', extensions: ['p', 'pas'], @@ -6322,246 +8231,302 @@ export default { source: 'iana', }, 'text/yaml': { + compressible: true, extensions: ['yaml', 'yml'], }, 'video/1d-interleaved-parityfec': { - source: 'apache', + source: 'iana', }, 'video/3gpp': { - source: 'apache', + source: 'iana', extensions: ['3gp', '3gpp'], }, 'video/3gpp-tt': { - source: 'apache', + source: 'iana', }, 'video/3gpp2': { - source: 'apache', + source: 'iana', extensions: ['3g2'], }, + 'video/av1': { + source: 'iana', + }, 'video/bmpeg': { - source: 'apache', + source: 'iana', }, 'video/bt656': { - source: 'apache', + source: 'iana', }, 'video/celb': { - source: 'apache', + source: 'iana', }, 'video/dv': { - source: 'apache', + source: 'iana', + }, + 'video/encaprtp': { + source: 'iana', + }, + 'video/ffv1': { + source: 'iana', + }, + 'video/flexfec': { + source: 'iana', }, 'video/h261': { - source: 'apache', + source: 'iana', extensions: ['h261'], }, 'video/h263': { - source: 'apache', + source: 'iana', extensions: ['h263'], }, 'video/h263-1998': { - source: 'apache', + source: 'iana', }, 'video/h263-2000': { - source: 'apache', + source: 'iana', }, 'video/h264': { - source: 'apache', + source: 'iana', extensions: ['h264'], }, 'video/h264-rcdo': { - source: 'apache', + source: 'iana', }, 'video/h264-svc': { - source: 'apache', + source: 'iana', + }, + 'video/h265': { + source: 'iana', + }, + 'video/iso.segment': { + source: 'iana', + extensions: ['m4s'], }, 'video/jpeg': { - source: 'apache', + source: 'iana', extensions: ['jpgv'], }, 'video/jpeg2000': { - source: 'apache', + source: 'iana', }, 'video/jpm': { source: 'apache', extensions: ['jpm', 'jpgm'], }, + 'video/jxsv': { + source: 'iana', + }, 'video/mj2': { - source: 'apache', + source: 'iana', extensions: ['mj2', 'mjp2'], }, 'video/mp1s': { - source: 'apache', + source: 'iana', }, 'video/mp2p': { - source: 'apache', + source: 'iana', }, 'video/mp2t': { - source: 'apache', + source: 'iana', extensions: ['ts'], }, 'video/mp4': { - source: 'apache', + source: 'iana', compressible: false, extensions: ['mp4', 'mp4v', 'mpg4'], }, 'video/mp4v-es': { - source: 'apache', + source: 'iana', }, 'video/mpeg': { - source: 'apache', + source: 'iana', compressible: false, extensions: ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'], }, 'video/mpeg4-generic': { - source: 'apache', + source: 'iana', }, 'video/mpv': { - source: 'apache', + source: 'iana', }, 'video/nv': { - source: 'apache', + source: 'iana', }, 'video/ogg': { - source: 'apache', + source: 'iana', compressible: false, extensions: ['ogv'], }, 'video/parityfec': { - source: 'apache', + source: 'iana', }, 'video/pointer': { - source: 'apache', + source: 'iana', }, 'video/quicktime': { - source: 'apache', + source: 'iana', compressible: false, extensions: ['qt', 'mov'], }, + 'video/raptorfec': { + source: 'iana', + }, 'video/raw': { - source: 'apache', + source: 'iana', }, 'video/rtp-enc-aescm128': { - source: 'apache', + source: 'iana', + }, + 'video/rtploopback': { + source: 'iana', }, 'video/rtx': { - source: 'apache', + source: 'iana', + }, + 'video/scip': { + source: 'iana', + }, + 'video/smpte291': { + source: 'iana', }, 'video/smpte292m': { - source: 'apache', + source: 'iana', }, 'video/ulpfec': { - source: 'apache', + source: 'iana', }, 'video/vc1': { - source: 'apache', + source: 'iana', + }, + 'video/vc2': { + source: 'iana', }, 'video/vnd.cctv': { - source: 'apache', + source: 'iana', }, 'video/vnd.dece.hd': { - source: 'apache', + source: 'iana', extensions: ['uvh', 'uvvh'], }, 'video/vnd.dece.mobile': { - source: 'apache', + source: 'iana', extensions: ['uvm', 'uvvm'], }, 'video/vnd.dece.mp4': { - source: 'apache', + source: 'iana', }, 'video/vnd.dece.pd': { - source: 'apache', + source: 'iana', extensions: ['uvp', 'uvvp'], }, 'video/vnd.dece.sd': { - source: 'apache', + source: 'iana', extensions: ['uvs', 'uvvs'], }, 'video/vnd.dece.video': { - source: 'apache', + source: 'iana', extensions: ['uvv', 'uvvv'], }, 'video/vnd.directv.mpeg': { - source: 'apache', + source: 'iana', }, 'video/vnd.directv.mpeg-tts': { - source: 'apache', + source: 'iana', }, 'video/vnd.dlna.mpeg-tts': { - source: 'apache', + source: 'iana', }, 'video/vnd.dvb.file': { - source: 'apache', + source: 'iana', extensions: ['dvb'], }, 'video/vnd.fvt': { - source: 'apache', + source: 'iana', extensions: ['fvt'], }, 'video/vnd.hns.video': { - source: 'apache', + source: 'iana', }, 'video/vnd.iptvforum.1dparityfec-1010': { - source: 'apache', + source: 'iana', }, 'video/vnd.iptvforum.1dparityfec-2005': { - source: 'apache', + source: 'iana', }, 'video/vnd.iptvforum.2dparityfec-1010': { - source: 'apache', + source: 'iana', }, 'video/vnd.iptvforum.2dparityfec-2005': { - source: 'apache', + source: 'iana', }, 'video/vnd.iptvforum.ttsavc': { - source: 'apache', + source: 'iana', }, 'video/vnd.iptvforum.ttsmpeg2': { - source: 'apache', + source: 'iana', }, 'video/vnd.motorola.video': { - source: 'apache', + source: 'iana', }, 'video/vnd.motorola.videop': { - source: 'apache', + source: 'iana', }, 'video/vnd.mpegurl': { - source: 'apache', + source: 'iana', extensions: ['mxu', 'm4u'], }, 'video/vnd.ms-playready.media.pyv': { - source: 'apache', + source: 'iana', extensions: ['pyv'], }, 'video/vnd.nokia.interleaved-multimedia': { - source: 'apache', + source: 'iana', + }, + 'video/vnd.nokia.mp4vr': { + source: 'iana', }, 'video/vnd.nokia.videovoip': { - source: 'apache', + source: 'iana', }, 'video/vnd.objectvideo': { - source: 'apache', + source: 'iana', + }, + 'video/vnd.radgamettools.bink': { + source: 'iana', + }, + 'video/vnd.radgamettools.smacker': { + source: 'iana', }, 'video/vnd.sealed.mpeg1': { - source: 'apache', + source: 'iana', }, 'video/vnd.sealed.mpeg4': { - source: 'apache', + source: 'iana', }, 'video/vnd.sealed.swf': { - source: 'apache', + source: 'iana', }, 'video/vnd.sealedmedia.softseal.mov': { - source: 'apache', + source: 'iana', }, 'video/vnd.uvvu.mp4': { - source: 'apache', + source: 'iana', extensions: ['uvu', 'uvvu'], }, 'video/vnd.vivo': { - source: 'apache', + source: 'iana', extensions: ['viv'], }, + 'video/vnd.youtube.yt': { + source: 'iana', + }, + 'video/vp8': { + source: 'iana', + }, + 'video/vp9': { + source: 'iana', + }, 'video/webm': { source: 'apache', compressible: false, diff --git a/src/locales/en_US/address/postcode_by_state.ts b/src/locales/en_US/address/postcode_by_state.ts index e3ffd2ab86f..1c49baf3876 100644 --- a/src/locales/en_US/address/postcode_by_state.ts +++ b/src/locales/en_US/address/postcode_by_state.ts @@ -80,8 +80,8 @@ export default { max: 2791, }, MD: { - min: 20331, - max: 20331, + min: 20899, + max: 20908, }, ME: { min: 3901, diff --git a/src/name.ts b/src/name.ts index 9ac270b323f..a4b86c16c11 100644 --- a/src/name.ts +++ b/src/name.ts @@ -6,7 +6,7 @@ export enum Gender { male = 'male', } -// TODO @Shinigami92 21-03-2022: Remove 0 and 1 in v7 +// TODO @Shinigami92 2022-03-21: Remove 0 and 1 in v7 export type GenderType = 'female' | 'male' | 0 | 1; /** @@ -21,7 +21,7 @@ function normalizeGender( functionName?: string ): Exclude | undefined { if (gender == null || typeof gender === 'string') { - // TODO @Shinigami92 21-03-2022: Cast can be removed when we set `strict: true` + // TODO @Shinigami92 2022-03-21: Cast can be removed when we set `strict: true` return gender as Exclude; } @@ -52,7 +52,7 @@ function normalizeGender( function selectDefinition( faker: Faker, gender: GenderType | undefined, - // TODO christopher 21-03-2022: Remove fallback empty object when `strict: true` + // TODO @Shinigami92 2022-03-21: Remove fallback empty object when `strict: true` { generic, female, @@ -209,7 +209,7 @@ export class Name { lastName = lastName || this.faker.name.lastName(normalizedGender); switch (variant) { - // TODO christopher 21-03-2022: Add possibility to have a prefix together with a suffix + // TODO @Shinigami92 2022-03-21: Add possibility to have a prefix together with a suffix case 0: prefix = this.faker.name.prefix(gender); if (prefix) { @@ -279,7 +279,7 @@ export class Name { * faker.name.suffix() // 'DDS' */ suffix(): string { - // TODO christopher 21-03-2022: Add female_suffix and male_suffix + // TODO @Shinigami92 2022-03-21: Add female_suffix and male_suffix return this.faker.random.arrayElement(this.faker.definitions.name.suffix); } diff --git a/test/internet.spec.ts b/test/internet.spec.ts index b7d9a7ea729..fa9ad9638af 100644 --- a/test/internet.spec.ts +++ b/test/internet.spec.ts @@ -191,6 +191,21 @@ describe('internet', () => { expect(prefix).match(/^思源_唐3/); expect(faker.definitions.internet.free_email).toContain(suffix); }); + + it('should return an email with special characters', () => { + const email = faker.internet.email('Mike', 'Smith', null, { + allowSpecialCharacters: true, + }); + + expect(email).toBeTruthy(); + expect(email).toBeTypeOf('string'); + expect(email).satisfy(validator.isEmail); + + const [prefix, suffix] = email.split('@'); + + expect(prefix).match(/^Mike([.!#$%&'*+-/=?^_`{|}~]Smith)?\d*/); + expect(faker.definitions.internet.free_email).toContain(suffix); + }); }); describe('exampleEmail()', () => { @@ -248,6 +263,22 @@ describe('internet', () => { expect(faker.definitions.internet.example_email).toContain(suffix); expect(prefix).match(/^思源_唐3/); }); + + it('should return an email with special characters', () => { + const email = faker.internet.exampleEmail('Mike', 'Smith', { + allowSpecialCharacters: true, + }); + + expect(email).toBeTruthy(); + expect(email).toBeTypeOf('string'); + expect(email).satisfy(validator.isEmail); + + const [prefix, suffix] = email.split('@'); + + expect(suffix).match(/^example\.(com|net|org)$/); + expect(faker.definitions.internet.example_email).toContain(suffix); + expect(prefix).match(/^Mike([.!#$%&'*+-/=?^_`{|}~]Smith)?\d*/); + }); }); describe('userName()', () => { diff --git a/test/system.spec.ts b/test/system.spec.ts index 26b5730fbdb..5eec52b4442 100644 --- a/test/system.spec.ts +++ b/test/system.spec.ts @@ -6,45 +6,45 @@ const seededRuns = [ { seed: 42, expectations: { - fileName: 'mobile_fish.gif', + fileName: 'mobile_fish.jxsc', commonFileName: 'mobile_fish.mpe', - mimeType: 'application/vnd.marlin.drm.license+xml', + mimeType: 'application/vnd.ibm.rights-management', commonFileType: 'audio', commonFileExt: 'png', fileType: 'image', - fileExt: 'chm', + fileExt: 'lrm', directoryPath: '/opt/bin', - filePath: '/opt/bin/directives_application_home.paw', + filePath: '/opt/bin/directives_application_home.ptid', semver: '3.7.9', }, }, { seed: 1337, expectations: { - fileName: 'delaware.uvvt', + fileName: 'delaware.cmc', commonFileName: 'delaware.mp2', - mimeType: 'application/vnd.dxr', + mimeType: 'application/vnd.chipnuts.karaoke-mmd', commonFileType: 'audio', commonFileExt: 'wav', fileType: 'font', - fileExt: 'gxt', + fileExt: 'oa3', directoryPath: '/Library', - filePath: '/Library/bike_interactive.qwt', + filePath: '/Library/bike_interactive.link66', semver: '2.5.1', }, }, { seed: 1211, expectations: { - fileName: 'turnpike_frozen_handcrafted.mka', + fileName: 'turnpike_frozen_handcrafted.heifs', commonFileName: 'turnpike_frozen_handcrafted.mp4v', - mimeType: 'text/vnd.fmi.flexstor', + mimeType: 'text/vnd.dmclientscript', commonFileType: 'application', commonFileExt: 'htm', fileType: 'x-shader', - fileExt: 'opml', + fileExt: 'dic', directoryPath: '/var/log', - filePath: '/var/log/forward_supervisor.swf', + filePath: '/var/log/forward_supervisor.z2', semver: '9.4.8', }, },