@modern-js/server 2.42.2 → 2.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +1 -1
  2. package/dist/cjs/dev-tools/dev-middleware/index.js +2 -3
  3. package/dist/cjs/dev-tools/dev-middleware/socketServer.js +2 -3
  4. package/dist/cjs/dev-tools/watcher/index.js +2 -3
  5. package/dist/cjs/index.js +3 -1
  6. package/dist/cjs/server/devServer.js +96 -144
  7. package/dist/cjs/server/devServerOld.js +352 -0
  8. package/dist/cjs/server/index.js +14 -3
  9. package/dist/cjs/server/workerSSRRender.js +1 -1
  10. package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +1 -1
  11. package/dist/esm/dev-tools/dev-middleware/index.js +1 -2
  12. package/dist/esm/dev-tools/dev-middleware/socketServer.js +1 -2
  13. package/dist/esm/dev-tools/watcher/index.js +1 -2
  14. package/dist/esm/index.js +2 -1
  15. package/dist/esm/server/devServer.js +195 -268
  16. package/dist/esm/server/devServerOld.js +579 -0
  17. package/dist/esm/server/index.js +21 -2
  18. package/dist/esm/server/workerSSRRender.js +1 -1
  19. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +1 -1
  20. package/dist/esm-node/dev-tools/dev-middleware/index.js +2 -3
  21. package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +2 -3
  22. package/dist/esm-node/dev-tools/watcher/index.js +2 -3
  23. package/dist/esm-node/index.js +2 -1
  24. package/dist/esm-node/server/devServer.js +97 -145
  25. package/dist/esm-node/server/devServerOld.js +318 -0
  26. package/dist/esm-node/server/index.js +12 -2
  27. package/dist/esm-node/server/workerSSRRender.js +1 -1
  28. package/dist/types/dev-tools/dev-middleware/index.d.ts +2 -0
  29. package/dist/types/dev-tools/dev-middleware/socketServer.d.ts +2 -0
  30. package/dist/types/dev-tools/https/index.d.ts +1 -0
  31. package/dist/types/dev-tools/mock/getMockData.d.ts +2 -0
  32. package/dist/types/index.d.ts +4 -4
  33. package/dist/types/server/devServer.d.ts +10 -8
  34. package/dist/types/server/devServerOld.d.ts +37 -0
  35. package/dist/types/server/index.d.ts +4 -1
  36. package/dist/types/server/workerSSRRender.d.ts +2 -1
  37. package/dist/types/types.d.ts +10 -0
  38. package/package.json +12 -10
@@ -1,4 +1,6 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node/http" />
3
+ /// <reference types="@modern-js/prod-server/src/type" />
2
4
  import { Server } from 'http';
3
5
  import ws from 'ws';
4
6
  import type webpack from 'webpack';
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type Buffer from 'buffer';
2
3
  import type { DevServerHttpsOptions } from '../../types';
3
4
  export declare const genHttpsOptions: (userOptions: DevServerHttpsOptions, pwd: string) => Promise<{
@@ -1,4 +1,6 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node/http" />
3
+ /// <reference types="@modern-js/prod-server/src/type" />
2
4
  import { IncomingMessage, ServerResponse } from 'http';
3
5
  import type { ModernServerContext, NextFunction } from '@modern-js/types';
4
6
  export type MockConfig = Record<string, {
@@ -1,6 +1,6 @@
1
- import { DevServer as Server } from './server';
2
- import type { ModernDevServerOptions } from './types';
3
- export { Server };
4
- export type { ModernDevServerOptions };
1
+ import { DevServer as Server, DevServerForRsbuild as ServerForRsbuild } from './server';
2
+ import type { ModernDevServerOptions, ModernDevServerOptionsNew } from './types';
3
+ export { Server, ServerForRsbuild };
4
+ export type { ModernDevServerOptions, ModernDevServerOptionsNew };
5
5
  declare const _default: (options: ModernDevServerOptions) => Promise<Server>;
6
6
  export default _default;
@@ -1,37 +1,39 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
+ /// <reference types="node/http" />
4
+ /// <reference types="@modern-js/prod-server/src/type" />
3
5
  import { IncomingMessage, Server, ServerResponse } from 'http';
4
6
  import { NextFunction, ServerHookRunner, ModernServer, BuildOptions } from '@modern-js/prod-server';
5
7
  import type { ModernServerContext } from '@modern-js/types';
6
8
  import { RenderHandler } from '@modern-js/prod-server/src/libs/render';
7
9
  import { WatchEvent } from '../dev-tools/watcher';
8
- import type { ModernDevServerOptions } from '../types';
10
+ import type { ModernDevServerOptionsNew } from '../types';
9
11
  export declare class ModernDevServer extends ModernServer {
10
12
  private mockHandler;
11
13
  private readonly dev;
12
14
  private readonly useWorkerSSR;
13
15
  private readonly appContext;
14
- private readonly devMiddleware;
16
+ private getMiddlewares;
17
+ private rsbuild;
15
18
  private watcher?;
16
- constructor(options: ModernDevServerOptions);
19
+ private closeCb;
20
+ constructor(options: ModernDevServerOptionsNew);
17
21
  private getDevOptions;
18
22
  private addMiddlewareHandler;
19
- private applySetupMiddlewares;
20
23
  onInit(runner: ServerHookRunner, app: Server): Promise<void>;
24
+ private initFileReader;
25
+ close(): Promise<void>;
21
26
  getRenderHandler(): RenderHandler;
22
27
  private applyDefaultMiddlewares;
23
28
  onRepack(options?: BuildOptions): void;
24
29
  createHTTPServer(handler: (req: IncomingMessage, res: ServerResponse, next?: () => void) => void): Promise<Server<typeof IncomingMessage, typeof ServerResponse> | import("https").Server<typeof IncomingMessage, typeof ServerResponse>>;
25
30
  protected warmupSSRBundle(): void;
26
- protected initReader(): void;
27
31
  protected onServerChange({ filepath, event, }: {
28
32
  filepath: string;
29
33
  event: WatchEvent;
30
34
  }): Promise<void>;
31
35
  protected createContext(req: IncomingMessage, res: ServerResponse): import("@modern-js/prod-server/src/libs/context").ModernServerContext;
32
- protected setupStaticMiddleware(_: string): (context: ModernServerContext, next: NextFunction) => Promise<void>;
33
- private setupBeforeDevMiddleware;
34
- private setupAfterDevMiddleware;
36
+ protected setupStaticMiddleware(_: string): (_context: ModernServerContext, next: NextFunction) => Promise<void>;
35
37
  private cleanSSRCache;
36
38
  private startWatcher;
37
39
  }
@@ -0,0 +1,37 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node/http" />
4
+ /// <reference types="@modern-js/prod-server/src/type" />
5
+ import { IncomingMessage, Server, ServerResponse } from 'http';
6
+ import { NextFunction, ServerHookRunner, ModernServer, BuildOptions } from '@modern-js/prod-server';
7
+ import type { ModernServerContext } from '@modern-js/types';
8
+ import { RenderHandler } from '@modern-js/prod-server/src/libs/render';
9
+ import { WatchEvent } from '../dev-tools/watcher';
10
+ import type { ModernDevServerOptions } from '../types';
11
+ export declare class ModernDevServer extends ModernServer {
12
+ private mockHandler;
13
+ private readonly dev;
14
+ private readonly useWorkerSSR;
15
+ private readonly appContext;
16
+ private readonly devMiddleware;
17
+ private watcher?;
18
+ constructor(options: ModernDevServerOptions);
19
+ private getDevOptions;
20
+ private addMiddlewareHandler;
21
+ private applySetupMiddlewares;
22
+ onInit(runner: ServerHookRunner, app: Server): Promise<void>;
23
+ getRenderHandler(): RenderHandler;
24
+ private initFileReader;
25
+ private applyDefaultMiddlewares;
26
+ onRepack(options?: BuildOptions): void;
27
+ createHTTPServer(handler: (req: IncomingMessage, res: ServerResponse, next?: () => void) => void): Promise<Server<typeof IncomingMessage, typeof ServerResponse> | import("https").Server<typeof IncomingMessage, typeof ServerResponse>>;
28
+ protected warmupSSRBundle(): void;
29
+ protected onServerChange({ filepath, event, }: {
30
+ filepath: string;
31
+ event: WatchEvent;
32
+ }): Promise<void>;
33
+ protected createContext(req: IncomingMessage, res: ServerResponse): import("@modern-js/prod-server/src/libs/context").ModernServerContext;
34
+ protected setupStaticMiddleware(_: string): (context: ModernServerContext, next: NextFunction) => Promise<void>;
35
+ private cleanSSRCache;
36
+ private startWatcher;
37
+ }
@@ -1,5 +1,8 @@
1
1
  import { Server } from '@modern-js/prod-server';
2
- import type { ModernDevServerOptions } from '../types';
2
+ import type { ModernDevServerOptions, ModernDevServerOptionsNew } from '../types';
3
3
  export declare class DevServer extends Server {
4
4
  constructor(options: ModernDevServerOptions);
5
5
  }
6
+ export declare class DevServerForRsbuild extends Server {
7
+ constructor(options: ModernDevServerOptionsNew);
8
+ }
@@ -1,7 +1,8 @@
1
1
  import { ServerHookRunner } from '@modern-js/prod-server';
2
2
  import { ModernServerContext } from '@modern-js/types/server';
3
+ import { ModernRoute } from '@modern-js/prod-server/src/libs/route';
3
4
  export declare function workerSSRRender(ctx: ModernServerContext, renderOptions: {
4
- urlPath: string;
5
+ route: ModernRoute;
5
6
  [props: string]: any;
6
7
  }, _runner: ServerHookRunner): Promise<{
7
8
  content: any;
@@ -1,7 +1,10 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node/http" />
3
+ /// <reference types="@modern-js/prod-server/src/type" />
2
4
  import type { IncomingMessage, ServerResponse } from 'http';
3
5
  import type { DevServerOptions, DevServerHttpsOptions, NextFunction } from '@modern-js/types';
4
6
  import type { ModernServerOptions } from '@modern-js/prod-server';
7
+ import type { RsbuildInstance, DevServerAPIs, DevMiddlewaresConfig } from '@rsbuild/shared';
5
8
  export type { DevServerOptions, DevServerHttpsOptions };
6
9
  type Middleware = (req: IncomingMessage, res: ServerResponse, next: NextFunction) => Promise<void>;
7
10
  export type DevMiddlewareAPI = Middleware & {
@@ -36,3 +39,10 @@ export type ExtraOptions = {
36
39
  useWorkerSSR?: boolean;
37
40
  };
38
41
  export type ModernDevServerOptions = ModernServerOptions & ExtraOptions;
42
+ export type ExtraOptionsNew = {
43
+ dev: Partial<DevServerOptions>;
44
+ useWorkerSSR?: boolean;
45
+ rsbuild: RsbuildInstance;
46
+ getMiddlewares: (overrides?: DevMiddlewaresConfig) => ReturnType<DevServerAPIs['getMiddlewares']>;
47
+ };
48
+ export type ModernDevServerOptionsNew = ModernServerOptions & ExtraOptionsNew;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.42.2",
18
+ "version": "2.44.0",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -27,6 +27,7 @@
27
27
  "import": "./dist/esm-node/index.js",
28
28
  "require": "./dist/cjs/index.js"
29
29
  },
30
+ "types": "./dist/types/index.d.ts",
30
31
  "default": "./dist/esm/index.js"
31
32
  },
32
33
  "./hmr-client": {
@@ -47,13 +48,14 @@
47
48
  "path-to-regexp": "^6.2.0",
48
49
  "ws": "^8.13.0",
49
50
  "axios": "^1.6.0",
50
- "@modern-js/prod-server": "2.42.2",
51
- "@modern-js/types": "2.42.2",
52
- "@modern-js/server-utils": "2.42.2",
53
- "@modern-js/utils": "2.42.2",
54
- "@modern-js/runtime-utils": "2.42.2"
51
+ "@modern-js/prod-server": "2.44.0",
52
+ "@modern-js/server-utils": "2.44.0",
53
+ "@modern-js/types": "2.44.0",
54
+ "@modern-js/utils": "2.44.0",
55
+ "@modern-js/runtime-utils": "2.44.0"
55
56
  },
56
57
  "devDependencies": {
58
+ "@rsbuild/shared": "0.2.11",
57
59
  "@types/connect-history-api-fallback": "^1.3.5",
58
60
  "@types/jest": "^29",
59
61
  "@types/minimatch": "^3.0.5",
@@ -64,11 +66,11 @@
64
66
  "ts-node": "^10.9.1",
65
67
  "tsconfig-paths": "4.1.1",
66
68
  "typescript": "^5",
67
- "webpack": "^5.88.1",
69
+ "webpack": "^5.89.0",
68
70
  "websocket": "^1",
69
- "@modern-js/server-core": "2.42.2",
70
- "@scripts/build": "2.42.2",
71
- "@scripts/jest-config": "2.42.2"
71
+ "@modern-js/server-core": "2.44.0",
72
+ "@scripts/build": "2.44.0",
73
+ "@scripts/jest-config": "2.44.0"
72
74
  },
73
75
  "peerDependencies": {
74
76
  "devcert": "^1.0.0",