Skip to content

Commit 8f8dc2f

Browse files
committed
fix(platform-multer): configure multer package
1 parent c3db160 commit 8f8dc2f

File tree

11 files changed

+63
-128
lines changed

11 files changed

+63
-128
lines changed

packages/platform/platform-http/src/common/decorators/multer/multipartFile.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
import type {MultipartFile as MType} from "@tsed/platform-multer";
12
import {MultipartFile as M} from "@tsed/platform-multer";
23

3-
import type {PlatformMulterFile} from "../../config/interfaces/PlatformMulterSettings.js";
4-
54
/**
65
* Define a parameter as Multipart file.
76
*
@@ -49,4 +48,4 @@ import type {PlatformMulterFile} from "../../config/interfaces/PlatformMulterSet
4948
* @deprecated use MultipartFile from @tsed/platform-multer
5049
*/
5150
export const MultipartFile: typeof M = M;
52-
export type MultipartFile = typeof M;
51+
export type MultipartFile = MType;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
test
2+
coverage
3+
tsconfig.json
4+
tsconfig.*.json
5+
__mock__
6+
*.spec.js
7+
*.tsbuildinfo

packages/platform/platform-multer/package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -65,20 +65,20 @@
6565
"@tsed/typescript": "workspace:*",
6666
"eslint": "9.12.0",
6767
"typescript": "5.4.5",
68-
"vitest": "2.1.2"
68+
"vitest": "3.0.9"
6969
},
7070
"dependencies": {
7171
"multer": "^1.4.5-lts.1",
7272
"tslib": "2.7.0"
7373
},
7474
"peerDependencies": {
75-
"@tsed/core": ">=8.5.0-beta.2",
76-
"@tsed/di": ">=8.5.0-beta.2",
77-
"@tsed/json-mapper": ">=8.5.0-beta.2",
75+
"@tsed/core": ">=8.5.0",
76+
"@tsed/di": ">=8.5.0",
77+
"@tsed/json-mapper": ">=8.5.0",
7878
"@tsed/logger": ">=7.0.1",
79-
"@tsed/openspec": ">=8.5.0-beta.2",
80-
"@tsed/platform-middlewares": ">=8.5.0-beta.2",
81-
"@tsed/schema": ">=8.5.0-beta.2",
79+
"@tsed/openspec": ">=8.5.0",
80+
"@tsed/platform-middlewares": ">=8.5.0",
81+
"@tsed/schema": ">=8.5.0",
8282
"cross-env": "7.0.3"
8383
},
8484
"peerDependenciesMeta": {

packages/platform/platform-multer/src/common/errors/MulterException.ts

+10
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
import {BadRequest} from "@tsed/exceptions";
22
import type {MulterError} from "multer";
33

4+
/**
5+
* Exception thrown when a Multer error occurs during file upload operations.
6+
* Extends the BadRequest exception with Multer-specific properties.
7+
*/
48
export class MulterException extends BadRequest {
9+
origin: MulterError;
10+
11+
/**
12+
* Creates a new MulterException
13+
* @param er - The original Multer error
14+
*/
515
constructor(er: MulterError) {
616
super(er.message);
717
this.origin = er;

packages/platform/platform-multer/tsconfig.json

-34
This file was deleted.

packages/platform/platform-multer/tsconfig.spec.json

-37
This file was deleted.

packages/platform/platform-multer/vitest.config.mts

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ export default defineConfig(
1010
coverage: {
1111
...presets.test.coverage,
1212
thresholds: {
13-
statements: 0,
14-
branches: 0,
15-
functions: 0,
16-
lines: 0
13+
statements: 53.17,
14+
branches: 80,
15+
functions: 75,
16+
lines: 53.17
1717
}
1818
}
1919
}
2020
}
21-
);
21+
);

packages/specs/schema/test/integrations/multipart.integration.spec.ts

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import "@tsed/exceptions";
2+
import "@tsed/platform-exceptions";
3+
14
import {Controller} from "@tsed/di";
25
import {MultipartFile, PlatformMulterFile} from "@tsed/platform-multer";
36
import {BodyParams} from "@tsed/platform-params";

tsconfig.node.json

+10-6
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
"@tsed/json-mapper": ["./packages/specs/json-mapper/src/index.ts"],
1717
"@tsed/platform-exceptions": ["./packages/platform/platform-exceptions/src/index.ts"],
1818
"@tsed/platform-middlewares": ["./packages/platform/platform-middlewares/src/index.ts"],
19+
"@tsed/platform-multer": ["./packages/platform/platform-multer/src/index.ts"],
20+
"@tsed/platform-multer/express": ["./packages/platform/platform-multer/src/adapters/express/MulterModule.ts"],
21+
"@tsed/platform-multer/koa": ["./packages/platform/platform-multer/src/adapters/koa/MulterModule.ts"],
1922
"@tsed/platform-params": ["./packages/platform/platform-params/src/index.ts"],
2023
"@tsed/platform-response-filter": ["./packages/platform/platform-response-filter/src/index.ts"],
2124
"@tsed/platform-router": ["./packages/platform/platform-router/src/index.ts"],
@@ -36,36 +39,37 @@
3639
"@tsed/ioredis": ["./packages/orm/ioredis/src/index.ts"],
3740
"@tsed/adapters-redis": ["./packages/orm/adapters-redis/src/index.ts"],
3841
"@tsed/testcontainers-mongo": ["./packages/orm/testcontainers-mongo/src/index.ts"],
42+
"@tsed/testcontainers-mongo/vitest/setup": ["./packages/orm/testcontainers-mongo/lib/esm/setup/vi.setup.ts"],
3943
"@tsed/mikro-orm": ["./packages/orm/mikro-orm/src/index.ts"],
44+
"@tsed/mongoose": ["./packages/orm/mongoose/src/index.ts"],
4045
"@tsed/objection": ["./packages/orm/objection/src/index.ts"],
4146
"@tsed/prisma": ["./packages/orm/prisma/src/index.ts"],
42-
"@tsed/mongoose": ["./packages/orm/mongoose/src/index.ts"],
4347
"@tsed/common": ["./packages/platform/common/src/index.ts"],
44-
"@tsed/platform-koa": ["./packages/platform/platform-koa/src/index.ts"],
4548
"@tsed/platform-log-middleware": ["./packages/platform/platform-log-middleware/src/index.ts"],
49+
"@tsed/platform-koa": ["./packages/platform/platform-koa/src/index.ts"],
4650
"@tsed/platform-log-request": ["./packages/platform/platform-log-request/src/index.ts"],
4751
"@tsed/platform-serverless-testing": ["./packages/platform/platform-serverless-testing/src/index.ts"],
48-
"@tsed/platform-serverless": ["./packages/platform/platform-serverless/src/index.ts"],
4952
"@tsed/platform-serverless-http": ["./packages/platform/platform-serverless-http/src/index.ts"],
53+
"@tsed/platform-serverless": ["./packages/platform/platform-serverless/src/index.ts"],
5054
"@tsed/jwks": ["./packages/security/jwks/src/index.ts"],
5155
"@tsed/oidc-provider": ["./packages/security/oidc-provider/src/index.ts"],
5256
"@tsed/oidc-provider-plugin-wildcard-redirect-uri": ["./packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/index.ts"],
5357
"@tsed/passport": ["./packages/security/passport/src/index.ts"],
5458
"@tsed/scalar": ["./packages/specs/scalar/src/index.ts"],
5559
"@tsed/agenda": ["./packages/third-parties/agenda/src/index.ts"],
60+
"@tsed/bullmq": ["./packages/third-parties/bullmq/src/index.ts"],
5661
"@tsed/components-scan": ["./packages/third-parties/components-scan/src/index.ts"],
57-
"@tsed/event-emitter": ["./packages/third-parties/event-emitter/src/index.ts"],
5862
"@tsed/formio-types": ["./packages/third-parties/formio-types/src/index.ts"],
5963
"@tsed/formio": ["./packages/third-parties/formio/src/index.ts"],
60-
"@tsed/bullmq": ["./packages/third-parties/bullmq/src/index.ts"],
64+
"@tsed/event-emitter": ["./packages/third-parties/event-emitter/src/index.ts"],
6165
"@tsed/pulse": ["./packages/third-parties/pulse/src/index.ts"],
6266
"@tsed/schema-formio": ["./packages/third-parties/schema-formio/src/index.ts"],
6367
"@tsed/socketio-testing": ["./packages/third-parties/socketio-testing/src/index.ts"],
6468
"@tsed/socketio": ["./packages/third-parties/socketio/src/index.ts"],
6569
"@tsed/sse": ["./packages/third-parties/sse/src/index.ts"],
6670
"@tsed/temporal": ["./packages/third-parties/temporal/src/index.ts"],
67-
"@tsed/terminus": ["./packages/third-parties/terminus/src/index.ts"],
6871
"@tsed/stripe": ["./packages/third-parties/stripe/src/index.ts"],
72+
"@tsed/terminus": ["./packages/third-parties/terminus/src/index.ts"],
6973
"@tsed/vike": ["./packages/third-parties/vike/src/index.ts"]
7074
}
7175
},

tsconfig.spec.json

+10-6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
"@tsed/json-mapper": ["./packages/specs/json-mapper/src/index.ts"],
2020
"@tsed/platform-exceptions": ["./packages/platform/platform-exceptions/src/index.ts"],
2121
"@tsed/platform-middlewares": ["./packages/platform/platform-middlewares/src/index.ts"],
22+
"@tsed/platform-multer": ["./packages/platform/platform-multer/src/index.ts"],
23+
"@tsed/platform-multer/express": ["./packages/platform/platform-multer/src/adapters/express/MulterModule.ts"],
24+
"@tsed/platform-multer/koa": ["./packages/platform/platform-multer/src/adapters/koa/MulterModule.ts"],
2225
"@tsed/platform-params": ["./packages/platform/platform-params/src/index.ts"],
2326
"@tsed/platform-response-filter": ["./packages/platform/platform-response-filter/src/index.ts"],
2427
"@tsed/platform-router": ["./packages/platform/platform-router/src/index.ts"],
@@ -39,36 +42,37 @@
3942
"@tsed/ioredis": ["./packages/orm/ioredis/src/index.ts"],
4043
"@tsed/adapters-redis": ["./packages/orm/adapters-redis/src/index.ts"],
4144
"@tsed/testcontainers-mongo": ["./packages/orm/testcontainers-mongo/src/index.ts"],
45+
"@tsed/testcontainers-mongo/vitest/setup": ["./packages/orm/testcontainers-mongo/lib/esm/setup/vi.setup.ts"],
4246
"@tsed/mikro-orm": ["./packages/orm/mikro-orm/src/index.ts"],
47+
"@tsed/mongoose": ["./packages/orm/mongoose/src/index.ts"],
4348
"@tsed/objection": ["./packages/orm/objection/src/index.ts"],
4449
"@tsed/prisma": ["./packages/orm/prisma/src/index.ts"],
45-
"@tsed/mongoose": ["./packages/orm/mongoose/src/index.ts"],
4650
"@tsed/common": ["./packages/platform/common/src/index.ts"],
47-
"@tsed/platform-koa": ["./packages/platform/platform-koa/src/index.ts"],
4851
"@tsed/platform-log-middleware": ["./packages/platform/platform-log-middleware/src/index.ts"],
52+
"@tsed/platform-koa": ["./packages/platform/platform-koa/src/index.ts"],
4953
"@tsed/platform-log-request": ["./packages/platform/platform-log-request/src/index.ts"],
5054
"@tsed/platform-serverless-testing": ["./packages/platform/platform-serverless-testing/src/index.ts"],
51-
"@tsed/platform-serverless": ["./packages/platform/platform-serverless/src/index.ts"],
5255
"@tsed/platform-serverless-http": ["./packages/platform/platform-serverless-http/src/index.ts"],
56+
"@tsed/platform-serverless": ["./packages/platform/platform-serverless/src/index.ts"],
5357
"@tsed/jwks": ["./packages/security/jwks/src/index.ts"],
5458
"@tsed/oidc-provider": ["./packages/security/oidc-provider/src/index.ts"],
5559
"@tsed/oidc-provider-plugin-wildcard-redirect-uri": ["./packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/index.ts"],
5660
"@tsed/passport": ["./packages/security/passport/src/index.ts"],
5761
"@tsed/scalar": ["./packages/specs/scalar/src/index.ts"],
5862
"@tsed/agenda": ["./packages/third-parties/agenda/src/index.ts"],
63+
"@tsed/bullmq": ["./packages/third-parties/bullmq/src/index.ts"],
5964
"@tsed/components-scan": ["./packages/third-parties/components-scan/src/index.ts"],
60-
"@tsed/event-emitter": ["./packages/third-parties/event-emitter/src/index.ts"],
6165
"@tsed/formio-types": ["./packages/third-parties/formio-types/src/index.ts"],
6266
"@tsed/formio": ["./packages/third-parties/formio/src/index.ts"],
63-
"@tsed/bullmq": ["./packages/third-parties/bullmq/src/index.ts"],
67+
"@tsed/event-emitter": ["./packages/third-parties/event-emitter/src/index.ts"],
6468
"@tsed/pulse": ["./packages/third-parties/pulse/src/index.ts"],
6569
"@tsed/schema-formio": ["./packages/third-parties/schema-formio/src/index.ts"],
6670
"@tsed/socketio-testing": ["./packages/third-parties/socketio-testing/src/index.ts"],
6771
"@tsed/socketio": ["./packages/third-parties/socketio/src/index.ts"],
6872
"@tsed/sse": ["./packages/third-parties/sse/src/index.ts"],
6973
"@tsed/temporal": ["./packages/third-parties/temporal/src/index.ts"],
70-
"@tsed/terminus": ["./packages/third-parties/terminus/src/index.ts"],
7174
"@tsed/stripe": ["./packages/third-parties/stripe/src/index.ts"],
75+
"@tsed/terminus": ["./packages/third-parties/terminus/src/index.ts"],
7276
"@tsed/vike": ["./packages/third-parties/vike/src/index.ts"]
7377
}
7478
},

yarn.lock

+9-30
Original file line numberDiff line numberDiff line change
@@ -1404,7 +1404,7 @@ __metadata:
14041404
languageName: node
14051405
linkType: hard
14061406

1407-
"@babel/parser@npm:^7.25.4":
1407+
"@babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.9":
14081408
version: 7.26.10
14091409
resolution: "@babel/parser@npm:7.26.10"
14101410
dependencies:
@@ -1426,17 +1426,6 @@ __metadata:
14261426
languageName: node
14271427
linkType: hard
14281428

1429-
"@babel/parser@npm:^7.26.9":
1430-
version: 7.26.10
1431-
resolution: "@babel/parser@npm:7.26.10"
1432-
dependencies:
1433-
"@babel/types": "npm:^7.26.10"
1434-
bin:
1435-
parser: ./bin/babel-parser.js
1436-
checksum: 10/3f87781f46795ba72448168061d9e99c394fdf9cd4aa3ddf053a06334247da4d25d0923ccc89195937d3360d384cee181e99711763c1e8fe81d4f17ee22541fc
1437-
languageName: node
1438-
linkType: hard
1439-
14401429
"@babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6":
14411430
version: 7.17.8
14421431
resolution: "@babel/parser@npm:7.17.8"
@@ -2564,7 +2553,7 @@ __metadata:
25642553
languageName: node
25652554
linkType: hard
25662555

2567-
"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.10":
2556+
"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9":
25682557
version: 7.26.10
25692558
resolution: "@babel/types@npm:7.26.10"
25702559
dependencies:
@@ -2585,16 +2574,6 @@ __metadata:
25852574
languageName: node
25862575
linkType: hard
25872576

2588-
"@babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9":
2589-
version: 7.26.10
2590-
resolution: "@babel/types@npm:7.26.10"
2591-
dependencies:
2592-
"@babel/helper-string-parser": "npm:^7.25.9"
2593-
"@babel/helper-validator-identifier": "npm:^7.25.9"
2594-
checksum: 10/6b4f24ee77af853c2126eaabb65328cd44a7d6f439685131cf929c30567e01b6ea2e5d5653b2c304a09c63a5a6199968f0e27228a007acf35032036d79a9dee6
2595-
languageName: node
2596-
linkType: hard
2597-
25982577
"@babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6":
25992578
version: 7.17.0
26002579
resolution: "@babel/types@npm:7.17.0"
@@ -8042,15 +8021,15 @@ __metadata:
80428021
multer: "npm:^1.4.5-lts.1"
80438022
tslib: "npm:2.7.0"
80448023
typescript: "npm:5.4.5"
8045-
vitest: "npm:2.1.2"
8024+
vitest: "npm:3.0.9"
80468025
peerDependencies:
8047-
"@tsed/core": ">=8.5.0-beta.2"
8048-
"@tsed/di": ">=8.5.0-beta.2"
8049-
"@tsed/json-mapper": ">=8.5.0-beta.2"
8026+
"@tsed/core": ">=8.5.0"
8027+
"@tsed/di": ">=8.5.0"
8028+
"@tsed/json-mapper": ">=8.5.0"
80508029
"@tsed/logger": ">=7.0.1"
8051-
"@tsed/openspec": ">=8.5.0-beta.2"
8052-
"@tsed/platform-middlewares": ">=8.5.0-beta.2"
8053-
"@tsed/schema": ">=8.5.0-beta.2"
8030+
"@tsed/openspec": ">=8.5.0"
8031+
"@tsed/platform-middlewares": ">=8.5.0"
8032+
"@tsed/schema": ">=8.5.0"
80548033
cross-env: 7.0.3
80558034
peerDependenciesMeta:
80568035
"@tsed/core":

0 commit comments

Comments
 (0)