@momentumcms/server-express 0.5.10 → 0.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,55 +1,44 @@
1
1
  {
2
- "name": "@momentumcms/server-express",
3
- "version": "0.5.10",
4
- "description": "Express adapter for Momentum CMS with Angular SSR support",
5
- "license": "MIT",
6
- "author": "Momentum CMS Contributors",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/DonaldMurillo/momentum-cms.git",
10
- "directory": "libs/server-express"
11
- },
12
- "homepage": "https://github.com/DonaldMurillo/momentum-cms#readme",
13
- "bugs": {
14
- "url": "https://github.com/DonaldMurillo/momentum-cms/issues"
15
- },
16
- "keywords": [
17
- "cms",
18
- "momentum-cms",
19
- "express",
20
- "ssr",
21
- "angular",
22
- "server"
23
- ],
24
- "engines": {
25
- "node": ">=18"
26
- },
27
- "main": "./index.cjs",
28
- "types": "./src/index.d.ts",
29
- "peerDependencies": {
30
- "@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0",
31
- "@momentumcms/auth": ">=0.0.1",
32
- "@momentumcms/core": ">=0.0.1",
33
- "@momentumcms/email": ">=0.0.1",
34
- "@momentumcms/logger": ">=0.0.1",
35
- "@momentumcms/plugins-core": ">=0.0.1",
36
- "@momentumcms/server-core": ">=0.0.1",
37
- "@momentumcms/storage": ">=0.0.1",
38
- "better-auth": "^1.0.0",
39
- "better-sqlite3": "^12.0.0",
40
- "express": "^4.18.0 || ^5.0.0",
41
- "multer": "^2.0.0",
42
- "pg": "^8.0.0"
43
- },
44
- "dependencies": {
45
- "@angular/compiler": "~21.2.0",
46
- "@angular/platform-browser": "~21.2.0",
47
- "@angular/platform-server": "~21.2.0",
48
- "@aws-sdk/client-s3": "^3.983.0",
49
- "@aws-sdk/s3-request-presigner": "^3.983.0",
50
- "graphql": "^16.12.0",
51
- "juice": "^11.1.1",
52
- "nodemailer": "^8.0.0"
53
- },
54
- "module": "./index.js"
55
- }
2
+ "name": "@momentumcms/server-express",
3
+ "version": "0.5.11",
4
+ "description": "Express adapter for Momentum CMS with Angular SSR support",
5
+ "license": "MIT",
6
+ "author": "Momentum CMS Contributors",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/DonaldMurillo/momentum-cms.git",
10
+ "directory": "libs/server-express"
11
+ },
12
+ "homepage": "https://github.com/DonaldMurillo/momentum-cms#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/DonaldMurillo/momentum-cms/issues"
15
+ },
16
+ "keywords": [
17
+ "cms",
18
+ "momentum-cms",
19
+ "express",
20
+ "ssr",
21
+ "angular",
22
+ "server"
23
+ ],
24
+ "engines": {
25
+ "node": ">=18"
26
+ },
27
+ "main": "./index.cjs",
28
+ "types": "./src/index.d.ts",
29
+ "peerDependencies": {
30
+ "@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0",
31
+ "@momentumcms/auth": ">=0.0.1",
32
+ "@momentumcms/core": ">=0.0.1",
33
+ "@momentumcms/email": ">=0.0.1",
34
+ "@momentumcms/logger": ">=0.0.1",
35
+ "@momentumcms/plugins-core": ">=0.0.1",
36
+ "@momentumcms/server-core": ">=0.0.1",
37
+ "@momentumcms/storage": ">=0.0.1",
38
+ "better-auth": "^1.0.0",
39
+ "better-sqlite3": "^12.0.0",
40
+ "express": "^4.18.0 || ^5.0.0",
41
+ "multer": "^2.0.0",
42
+ "pg": "^8.0.0"
43
+ }
44
+ }
package/src/index.d.ts CHANGED
@@ -4,4 +4,5 @@ export { createSetupMiddleware, type SetupStatus, type SetupMiddlewareConfig, }
4
4
  export { createApiKeyResolverMiddleware, createApiKeyRoutes, type ApiKeyMiddlewareConfig, } from './lib/api-key-middleware';
5
5
  export { initializeMomentum, createHealthMiddleware, type MomentumInitResult, type SeedingStatus, type InitializeMomentumOptions, type HealthMiddlewareOptions, type HealthResponse, } from './lib/init-helpers';
6
6
  export { getPluginMiddleware, getPluginProviders } from './lib/plugin-middleware-registry';
7
+ export { createRateLimitMiddleware } from './lib/rate-limit-middleware';
7
8
  export { createMomentumServer, type CreateMomentumServerOptions, type MomentumServer, } from './lib/create-momentum-server';
@@ -0,0 +1,18 @@
1
+ import type { Request, Response, NextFunction } from 'express';
2
+ import type { RateLimiter } from '@momentumcms/server-core';
3
+ /**
4
+ * Creates Express middleware that rate-limits requests using a RateLimiter instance.
5
+ * Keys requests by IP address (supports X-Forwarded-For for proxied setups).
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { RateLimiter } from '@momentumcms/server-core';
10
+ *
11
+ * // 10 requests per minute on auth routes
12
+ * app.use('/auth', createRateLimitMiddleware(new RateLimiter(10)));
13
+ *
14
+ * // 3 requests per minute on setup
15
+ * app.use('/setup', createRateLimitMiddleware(new RateLimiter(3)));
16
+ * ```
17
+ */
18
+ export declare function createRateLimitMiddleware(limiter: RateLimiter): (req: Request, res: Response, next: NextFunction) => void;