Skip to content

Commit b4f7ac7

Browse files
Merge pull request #2 from SoftwareBrothers/feat-add-content-type-to-served-assets
Add content-type to served assets
2 parents b9e1a12 + 3aa4eac commit b4f7ac7

3 files changed

Lines changed: 52 additions & 24 deletions

File tree

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"@semantic-release/git": "^9.0.0",
2222
"@types/busboy": "^0.2.3",
2323
"@types/jest": "^26.0.15",
24+
"@types/mime-types": "^2.1.1",
2425
"@types/node": "^15.12.2",
2526
"@typescript-eslint/eslint-plugin": "^4.6.0",
2627
"@typescript-eslint/parser": "^4.6.0",
@@ -42,6 +43,7 @@
4243
"fastify-formbody": "^5.0.0",
4344
"fastify-multipart": "^4.0.6",
4445
"fastify-session": "^5.2.1",
45-
"lodash": "^4.17.21"
46+
"lodash": "^4.17.21",
47+
"mime-types": "^2.1.34"
4648
}
4749
}

src/buildRouter.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { FastifyInstance } from 'fastify';
66
import { RouteHandlerMethod } from 'fastify/types/route';
77
import { fromPairs } from 'lodash';
88
import * as fs from 'fs';
9+
import * as mime from 'mime-types';
910

1011
import fastifyMultipart from 'fastify-multipart';
1112

@@ -96,6 +97,7 @@ export const buildRouter = (
9697
fastifyApp.get(
9798
`${admin.options.rootPath}${asset.path}`,
9899
async (req, reply) => {
100+
reply.header('content-type', mime.lookup(asset.src));
99101
reply.send(fs.createReadStream(path.resolve(asset.src)));
100102
}
101103
);

yarn.lock

Lines changed: 47 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
# yarn lockfile v1
33

44

5-
"@adminjs/design-system@^2.0.0":
6-
version "2.0.2"
7-
resolved "https://registry.yarnpkg.com/@adminjs/design-system/-/design-system-2.0.2.tgz#6c77a902dff7483e0376d6b9acd5aeb062518e72"
8-
integrity sha512-GjI5RL3AyQR36NPPAHeIuRb+W1tk62RPYZ6KOs8F9A6CrDRg/lMq2iqHXbnPweyzxC3AZMISdTVZHnkmSG5tiQ==
5+
"@adminjs/design-system@^2.1.0":
6+
version "2.1.2"
7+
resolved "https://registry.yarnpkg.com/@adminjs/design-system/-/design-system-2.1.2.tgz#0a1928f9730b3d6e71ae880a274a71364766f7fe"
8+
integrity sha512-xCyHE4ovYNRxMU861K8t34grI7L5mCzFu9ouDTX2tnXgQS9Kg6E7DjqbEOexP33Bf3aARo8vn3fZjbGYYXNdoQ==
99
dependencies:
1010
"@carbon/icons-react" "^10.14.0"
1111
date-fns "2.15.0"
@@ -1711,10 +1711,10 @@
17111711
"@babel/helper-module-imports" "^7.10.4"
17121712
"@rollup/pluginutils" "^3.1.0"
17131713

1714-
"@rollup/plugin-commonjs@^15.1.0":
1715-
version "15.1.0"
1716-
resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238"
1717-
integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==
1714+
"@rollup/plugin-commonjs@^21.0.1":
1715+
version "21.0.2"
1716+
resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.2.tgz#0b9c539aa1837c94abfaf87945838b0fc8564891"
1717+
integrity sha512-d/OmjaLVO4j/aQX69bwpWPpbvI3TJkQuxoAk7BH8ew1PyoMBLTOuvJTjzG8oEoW7drIIqB0KCJtfFLu/2GClWg==
17181718
dependencies:
17191719
"@rollup/pluginutils" "^3.1.0"
17201720
commondir "^1.0.1"
@@ -2139,6 +2139,11 @@
21392139
dependencies:
21402140
"@types/node" "*"
21412141

2142+
"@types/mime-types@^2.1.1":
2143+
version "2.1.1"
2144+
resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.1.tgz#d9ba43490fa3a3df958759adf69396c3532cf2c1"
2145+
integrity sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==
2146+
21422147
"@types/minimist@^1.2.0":
21432148
version "1.2.0"
21442149
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6"
@@ -2360,11 +2365,11 @@ acorn@^7.1.1, acorn@^7.4.0:
23602365
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
23612366

23622367
adminjs@^5.3.3:
2363-
version "5.3.3"
2364-
resolved "https://registry.yarnpkg.com/adminjs/-/adminjs-5.3.3.tgz#b015d37b23245fe933715d6552ebd762a4f75431"
2365-
integrity sha512-GEScb5f0z8eA1hCYqs/PgIbjJ1IbtSVS7cFaML0BjYMnC4QpO+1iP1MWn4MnA8A7pMxfbUzDpzFlAaTmnDWObQ==
2368+
version "5.7.2"
2369+
resolved "https://registry.yarnpkg.com/adminjs/-/adminjs-5.7.2.tgz#426c42a669c5f3b8b0268a871acd739a3ecf8d6d"
2370+
integrity sha512-C9ErbnQlbJwz7PyYAfE4S8C6STsAV//SKirZnqKfjfX5Tq/aUuOgXVD9cALXktokXNJEi8PYKywmqcnAn0ckqg==
23662371
dependencies:
2367-
"@adminjs/design-system" "^2.0.0"
2372+
"@adminjs/design-system" "^2.1.0"
23682373
"@babel/core" "^7.10.2"
23692374
"@babel/parser" "^7.10.2"
23702375
"@babel/plugin-transform-runtime" "^7.10.1"
@@ -2374,7 +2379,7 @@ adminjs@^5.3.3:
23742379
"@babel/preset-typescript" "^7.10.1"
23752380
"@babel/register" "^7.10.1"
23762381
"@rollup/plugin-babel" "^5.2.1"
2377-
"@rollup/plugin-commonjs" "^15.1.0"
2382+
"@rollup/plugin-commonjs" "^21.0.1"
23782383
"@rollup/plugin-json" "^4.1.0"
23792384
"@rollup/plugin-node-resolve" "^9.0.0"
23802385
"@rollup/plugin-replace" "^2.3.3"
@@ -2388,9 +2393,10 @@ adminjs@^5.3.3:
23882393
lodash "^4.17.21"
23892394
ora "^5.4.1"
23902395
prop-types "^15.7.2"
2391-
react "=16.13.1"
2396+
punycode "^2.1.1"
2397+
react "^16.13.1"
23922398
react-beautiful-dnd "^13.0.0"
2393-
react-dom "=16.13.1"
2399+
react-dom "^16.13.1"
23942400
react-i18next "^11.14.3"
23952401
react-is "=16.13.1"
23962402
react-redux "=7.2.0"
@@ -2402,6 +2408,7 @@ adminjs@^5.3.3:
24022408
rollup-plugin-terser "^6.1.0"
24032409
slash "^3.0.0"
24042410
styled-components "^5.1.0"
2411+
uuid "^8.3.2"
24052412

24062413
agent-base@4, agent-base@^4.3.0:
24072414
version "4.3.0"
@@ -7277,13 +7284,25 @@ mime-db@1.44.0:
72777284
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
72787285
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
72797286

7287+
mime-db@1.51.0:
7288+
version "1.51.0"
7289+
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
7290+
integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
7291+
72807292
mime-types@^2.1.12, mime-types@~2.1.19:
72817293
version "2.1.27"
72827294
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
72837295
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
72847296
dependencies:
72857297
mime-db "1.44.0"
72867298

7299+
mime-types@^2.1.34:
7300+
version "2.1.34"
7301+
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
7302+
integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
7303+
dependencies:
7304+
mime-db "1.51.0"
7305+
72877306
mime@^2.4.3:
72887307
version "2.4.6"
72897308
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
@@ -8667,10 +8686,10 @@ react-datepicker@^3.1.3:
86678686
react-onclickoutside "^6.10.0"
86688687
react-popper "^1.3.8"
86698688

8670-
react-dom@=16.13.1:
8671-
version "16.13.1"
8672-
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
8673-
integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
8689+
react-dom@^16.13.1:
8690+
version "16.14.0"
8691+
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89"
8692+
integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==
86748693
dependencies:
86758694
loose-envify "^1.1.0"
86768695
object-assign "^4.1.1"
@@ -8802,10 +8821,10 @@ react-transition-group@^4.3.0:
88028821
loose-envify "^1.4.0"
88038822
prop-types "^15.6.2"
88048823

8805-
react@=16.13.1:
8806-
version "16.13.1"
8807-
resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
8808-
integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
8824+
react@^16.13.1:
8825+
version "16.14.0"
8826+
resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
8827+
integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==
88098828
dependencies:
88108829
loose-envify "^1.1.0"
88118830
object-assign "^4.1.1"
@@ -10775,6 +10794,11 @@ uuid@^8.3.0:
1077510794
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31"
1077610795
integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==
1077710796

10797+
uuid@^8.3.2:
10798+
version "8.3.2"
10799+
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
10800+
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
10801+
1077810802
v8-compile-cache@^2.0.3:
1077910803
version "2.2.0"
1078010804
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132"

0 commit comments

Comments
 (0)