@deepkit/angular-ssr 1.0.1-alpha.160 → 1.0.2

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.
@@ -1,4 +1,4 @@
1
- import { AngularNodeAppEngine, NodeRequestHandlerFunction } from '@angular/ssr/node';
1
+ import { NodeRequestHandlerFunction } from '@angular/ssr/node';
2
2
  import { HttpKernel, httpWorkflow } from '@deepkit/http';
3
3
  import { ApplicationServer } from '@deepkit/framework';
4
4
  import { Logger } from '@deepkit/logger';
@@ -17,6 +17,10 @@ declare class AngularConfig {
17
17
  * @see REQUEST_CONTEXT
18
18
  */
19
19
  serverBaseUrl: string;
20
+ /**
21
+ * Value of `import.meta.url` in the main entry point module (usually app.ts/server.ts).
22
+ */
23
+ moduleUrl: string;
20
24
  }
21
25
  /**
22
26
  * This object is available angular providers as DI token `REQUEST_CONTEXT`.
@@ -27,8 +31,10 @@ declare class AngularRequestContext {
27
31
  constructor(config: AngularConfig);
28
32
  }
29
33
  declare class AngularStaticListener {
34
+ protected config: AngularConfig;
30
35
  localPath: string;
31
36
  path: string;
37
+ constructor(config: AngularConfig);
32
38
  onRoute(event: typeof httpWorkflow.onRoute.event): Promise<unknown> | undefined;
33
39
  }
34
40
  /**
@@ -43,14 +49,15 @@ declare class AngularStaticListener {
43
49
  * ```
44
50
  */
45
51
  export declare class RequestHandler {
52
+ protected config: AngularConfig;
46
53
  protected logger: Logger;
47
54
  protected requestContext: AngularRequestContext;
48
55
  protected http: HttpKernel;
49
56
  protected server: ApplicationServer;
50
57
  protected staticListener: AngularStaticListener;
51
58
  protected started: boolean;
52
- constructor(logger: Logger, requestContext: AngularRequestContext, http: HttpKernel, server: ApplicationServer, staticListener: AngularStaticListener);
53
- create(url: string, ngApp: AngularNodeAppEngine): NodeRequestHandlerFunction;
59
+ constructor(config: AngularConfig, logger: Logger, requestContext: AngularRequestContext, http: HttpKernel, server: ApplicationServer, staticListener: AngularStaticListener);
60
+ create(): NodeRequestHandlerFunction;
54
61
  }
55
62
  declare const AngularModule_base: import("@deepkit/app").AppModuleClass<AngularConfig>;
56
63
  export declare class AngularModule extends AngularModule_base {
@@ -44,9 +44,13 @@ class AngularConfig {
44
44
  * @see REQUEST_CONTEXT
45
45
  */
46
46
  this.serverBaseUrl = '';
47
+ /**
48
+ * Value of `import.meta.url` in the main entry point module (usually app.ts/server.ts).
49
+ */
50
+ this.moduleUrl = '';
47
51
  }
48
52
  }
49
- AngularConfig.__type = ['publicBaseUrl', function () { return ''; }, 'serverBaseUrl', function () { return ''; }, 'AngularConfig', '&3!>"&3#>$5w%'];
53
+ AngularConfig.__type = ['publicBaseUrl', function () { return ''; }, 'serverBaseUrl', function () { return ''; }, 'moduleUrl', function () { return ''; }, 'AngularConfig', '&3!>"&3#>$&3%>&5w\''];
50
54
  /**
51
55
  * This object is available angular providers as DI token `REQUEST_CONTEXT`.
52
56
  */
@@ -59,24 +63,26 @@ class AngularRequestContext {
59
63
  }
60
64
  }
61
65
  AngularRequestContext.__type = ['serverBaseUrl', function () { return ''; }, 'publicBaseUrl', function () { return ''; }, () => AngularConfig, 'config', 'constructor', 'AngularRequestContext', '&3!>"&3#>$PP7%2&"0\'5w('];
62
- let _ngApp = undefined;
66
+ class AngularState {
67
+ constructor() {
68
+ this.ngApp = new AngularNodeAppEngine();
69
+ }
70
+ }
71
+ AngularState.__type = [() => AngularNodeAppEngine, 'ngApp', function () { return new AngularNodeAppEngine(); }, 'AngularState', 'P7!3">#5w$'];
63
72
  class AngularListener {
64
- constructor(requestContext) {
73
+ constructor(requestContext, state) {
65
74
  this.requestContext = requestContext;
75
+ this.state = state;
66
76
  }
67
77
  async onRoute(event) {
68
78
  if (event.route)
69
79
  return; //already found
70
- if (!_ngApp)
71
- return;
72
- const promise = _ngApp.handle(event.request, this.requestContext);
80
+ const promise = this.state.ngApp.handle(event.request, this.requestContext);
73
81
  if (!promise)
74
82
  return;
75
83
  event.routeFound(new RouteConfig('angular', ['GET'], event.request.url || '', {
76
84
  type: 'function',
77
85
  fn: __assignType(async (req, res) => {
78
- if (!_ngApp)
79
- return;
80
86
  const response = await promise;
81
87
  if (!response) {
82
88
  throw new HttpNotFoundError();
@@ -89,7 +95,7 @@ class AngularListener {
89
95
  }));
90
96
  }
91
97
  }
92
- AngularListener.__type = [() => AngularRequestContext, 'requestContext', 'constructor', () => httpWorkflow.onRoute.event, 'event', 'onRoute', 'AngularListener', 'PP7!2":"0#Pi$2%"0&5w\''];
98
+ AngularListener.__type = [() => AngularRequestContext, 'requestContext', () => AngularState, 'state', 'constructor', () => httpWorkflow.onRoute.event, 'event', 'onRoute', 'AngularListener', 'PP7!2":P7#2$:"0%Pi&2\'"0(5w)'];
93
99
  __decorate([
94
100
  eventDispatcher.listen(httpWorkflow.onRoute, 102) //102 after 101=static listener, 100=default listener
95
101
  ,
@@ -98,9 +104,11 @@ __decorate([
98
104
  __metadata("design:returntype", Promise)
99
105
  ], AngularListener.prototype, "onRoute", null);
100
106
  class AngularStaticListener {
101
- constructor() {
107
+ constructor(config) {
108
+ this.config = config;
102
109
  this.localPath = '';
103
110
  this.path = '/'; //public path
111
+ this.localPath = resolve(dirname(fileURLToPath(this.config.moduleUrl)), '../browser');
104
112
  }
105
113
  onRoute(event) {
106
114
  if (event.sent)
@@ -112,7 +120,7 @@ class AngularStaticListener {
112
120
  return staticOnRoute(event, this.path, this.localPath);
113
121
  }
114
122
  }
115
- AngularStaticListener.__type = ['localPath', function () { return ''; }, 'path', function () { return '/'; }, () => httpWorkflow.onRoute.event, 'event', 'onRoute', 'AngularStaticListener', '&3!>"&3#>$Pi%2&"0\'5w('];
123
+ AngularStaticListener.__type = ['localPath', function () { return ''; }, 'path', function () { return '/'; }, () => AngularConfig, 'config', 'constructor', () => httpWorkflow.onRoute.event, 'event', 'onRoute', 'AngularStaticListener', '&3!>"&3#>$PP7%2&<"0\'Pi(2)"0*5w+'];
116
124
  __decorate([
117
125
  eventDispatcher.listen(httpWorkflow.onRoute, 101) //after default route listener at 100
118
126
  ,
@@ -132,7 +140,8 @@ __decorate([
132
140
  * ```
133
141
  */
134
142
  export class RequestHandler {
135
- constructor(logger, requestContext, http, server, staticListener) {
143
+ constructor(config, logger, requestContext, http, server, staticListener) {
144
+ this.config = config;
136
145
  this.logger = logger;
137
146
  this.requestContext = requestContext;
138
147
  this.http = http;
@@ -140,14 +149,13 @@ export class RequestHandler {
140
149
  this.staticListener = staticListener;
141
150
  this.started = false;
142
151
  }
143
- create(url, ngApp) {
152
+ create() {
144
153
  var _a;
145
- this.staticListener.localPath = resolve(dirname(fileURLToPath(url)), '../browser');
146
154
  const global = ((_a = globalThis).deepkitAngular || (_a.deepkitAngular = {}));
147
155
  const waitForClose = global.server ? global.server.close() : Promise.resolve();
148
- _ngApp = ngApp;
156
+ const mainModule = isMainModule(this.config.moduleUrl);
149
157
  // We only listen for process signals in the main module.
150
- const listenOnSignals = isMainModule(url);
158
+ const listenOnSignals = mainModule;
151
159
  global.server = this.server;
152
160
  const waitBootstrap = waitForClose.then(() => this.server.start({
153
161
  listenOnSignals,
@@ -159,7 +167,7 @@ export class RequestHandler {
159
167
  }
160
168
  this.requestContext.serverBaseUrl = `http://${host}`;
161
169
  if (!this.requestContext.serverBaseUrl) {
162
- if (isMainModule(url)) {
170
+ if (mainModule) {
163
171
  this.requestContext.serverBaseUrl = 'http://localhost:8080';
164
172
  }
165
173
  else {
@@ -191,7 +199,7 @@ export class RequestHandler {
191
199
  }, ['req', 'res', 'next', '', 'P"2!"2""2#"/$']));
192
200
  }
193
201
  }
194
- RequestHandler.__type = ['started', function () { return false; }, () => Logger, 'logger', () => AngularRequestContext, 'requestContext', () => HttpKernel, 'http', () => ApplicationServer, 'server', () => AngularStaticListener, 'staticListener', 'constructor', 'url', () => AngularNodeAppEngine, 'ngApp', 'NodeRequestHandlerFunction', 'create', 'RequestHandler', ')3!<>"PP7#2$<P7%2&<P7\'2(<P7)2*<P7+2,<"0-P&2.P7/20"w1025w3'];
202
+ RequestHandler.__type = ['started', function () { return false; }, () => AngularConfig, 'config', () => Logger, 'logger', () => AngularRequestContext, 'requestContext', () => HttpKernel, 'http', () => ApplicationServer, 'server', () => AngularStaticListener, 'staticListener', 'constructor', 'NodeRequestHandlerFunction', 'create', 'RequestHandler', ')3!<>"PP7#2$<P7%2&<P7\'2(<P7)2*<P7+2,<P7-2.<"0/P"w0015w2'];
195
203
  export class AngularModule extends createModuleClass({
196
204
  name: 'angular',
197
205
  config: AngularConfig,
@@ -199,11 +207,13 @@ export class AngularModule extends createModuleClass({
199
207
  RequestHandler,
200
208
  AngularRequestContext,
201
209
  AngularStaticListener,
210
+ AngularState,
202
211
  ],
203
212
  exports: [
204
213
  RequestHandler,
205
214
  AngularRequestContext,
206
215
  AngularStaticListener,
216
+ AngularState,
207
217
  ],
208
218
  listeners: [
209
219
  AngularListener,
@@ -211,5 +221,5 @@ export class AngularModule extends createModuleClass({
211
221
  ],
212
222
  }) {
213
223
  }
214
- AngularModule.__type = [() => createModuleClass({ name: "angular", config: AngularConfig, providers: [RequestHandler, AngularRequestContext, AngularStaticListener], exports: [RequestHandler, AngularRequestContext, AngularStaticListener], listeners: [AngularListener, AngularStaticListener] }), 'AngularModule', 'P7!5w"'];
224
+ AngularModule.__type = [() => createModuleClass({ name: "angular", config: AngularConfig, providers: [RequestHandler, AngularRequestContext, AngularStaticListener, AngularState], exports: [RequestHandler, AngularRequestContext, AngularStaticListener, AngularState], listeners: [AngularListener, AngularStaticListener] }), 'AngularModule', 'P7!5w"'];
215
225
  //# sourceMappingURL=angular.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"angular.js","sourceRoot":"","sources":["../../../src/angular.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular.js","sourceRoot":"","sources":["../../../src/angular.ts"],"names":[],"mappings":"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"}