@nocobase/app-server 2.0.0-beta.1 → 2.0.0-beta.3

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.
@@ -8,9 +8,9 @@ export interface ApplicationNotConfiguredDetails {
8
8
  * The application has nothing to start with: no configuration supplies what it cannot run without.
9
9
  *
10
10
  * It states what is missing and nothing more. The remedy depends on how the application is run — a standalone start
11
- * points at `pnpm nocobase config init`, while an application hosted by a Hub is configured through the Hub — so the entry point
12
- * that prints the error adds it, and a Hub showing the same error to an operator does not pass on advice that does not
13
- * apply. Recognised by `name` as well as by class, so a second copy of this package in the process is still
11
+ * points at `pnpm nocobase config init`, while an application run by a host is configured through that host — so the entry
12
+ * point that prints the error adds it, and a host showing the same error to an operator does not pass on advice that does
13
+ * not apply. Recognised by `name` as well as by class, so a second copy of this package in the process is still
14
14
  * recognised.
15
15
  */
16
16
  export declare class ApplicationNotConfiguredError extends Error {
@@ -2,9 +2,9 @@
2
2
  * The application has nothing to start with: no configuration supplies what it cannot run without.
3
3
  *
4
4
  * It states what is missing and nothing more. The remedy depends on how the application is run — a standalone start
5
- * points at `pnpm nocobase config init`, while an application hosted by a Hub is configured through the Hub — so the entry point
6
- * that prints the error adds it, and a Hub showing the same error to an operator does not pass on advice that does not
7
- * apply. Recognised by `name` as well as by class, so a second copy of this package in the process is still
5
+ * points at `pnpm nocobase config init`, while an application run by a host is configured through that host — so the entry
6
+ * point that prints the error adds it, and a host showing the same error to an operator does not pass on advice that does
7
+ * not apply. Recognised by `name` as well as by class, so a second copy of this package in the process is still
8
8
  * recognised.
9
9
  */
10
10
  export class ApplicationNotConfiguredError extends Error {
@@ -10,7 +10,7 @@ export interface DatabaseProviderApplication {
10
10
  /**
11
11
  * Set by `nocobase dev` on the server process it starts, to that
12
12
  * application's root. Naming the root rather than switching the behavior on
13
- * matters for a Hub: applications it hosts in the same process see the same
13
+ * matters for a host: applications it runs in the same process see the same
14
14
  * environment, and their directories are deployed revisions a cache must not
15
15
  * be written into.
16
16
  */
@@ -16,7 +16,7 @@ import { loggingToken } from '../logging/token.js';
16
16
  /**
17
17
  * Set by `nocobase dev` on the server process it starts, to that
18
18
  * application's root. Naming the root rather than switching the behavior on
19
- * matters for a Hub: applications it hosts in the same process see the same
19
+ * matters for a host: applications it runs in the same process see the same
20
20
  * environment, and their directories are deployed revisions a cache must not
21
21
  * be written into.
22
22
  */
@@ -38,7 +38,7 @@ export interface ApiErrorOptions {
38
38
  readonly status: ApiErrorStatus;
39
39
  /** What went wrong, in UPPER_SNAKE_CASE, unique within `domain`. Clients branch on `reason`, never on `message`. */
40
40
  readonly reason: string;
41
- /** Who defined `reason`: the plugin's URL namespace, such as `hub`, or `app` for the framework. */
41
+ /** Who defined `reason`: the plugin's URL namespace, such as `workflows`, or `app` for the framework. */
42
42
  readonly domain: string;
43
43
  /** Developer-facing English description. Never shown to end users and never relied on by clients. */
44
44
  readonly message: string;
@@ -73,7 +73,7 @@ export interface ApiErrorBody {
73
73
  * An error a route throws to answer with the standard `/api` error body.
74
74
  *
75
75
  * ```ts
76
- * throw new ApiError({ status: 'NOT_FOUND', reason: 'APP_NOT_FOUND', domain: 'hub', message: `App ${id} was not found.` });
76
+ * throw new ApiError({ status: 'NOT_FOUND', reason: 'WORKFLOW_NOT_FOUND', domain: 'workflows', message: `Workflow ${id} was not found.` });
77
77
  * ```
78
78
  */
79
79
  export declare class ApiError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../src/router/api-error.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE;IAChC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC;CAehC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE9D,2GAA2G;AAC3G,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,oHAAoH;IACpH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxD,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,uCAAuC;IACvC,SAAgB,IAAI,EAAE,oBAAoB,CAAC;IAC3C,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,gBAAgB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAClE,SAAgB,eAAe,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAC1E,SAAgB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;gBAErD,OAAO,EAAE,eAAe;IAepC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;CAiBtD;AAgBD,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAInE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CA0BtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAWnD;AA0BD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,YAAY,CAEd;AAcD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAI1E;AAED,eAAO,MAAM,kBAAkB,EAAE,eAS9B,CAAC;AAEJ,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2GAA2G;AAC3G,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,OAAO,GACpB;QAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GAC5C;QACE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;SAAE,CAAC;KAC/D,CAAC;CACP;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAI7E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GACnC,QAAQ,CAqBV;AAED,4GAA4G;AAC5G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EACZ,SAAS,CAAC,WAAW,GAAG;QAAE,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;KAAE,CAAC,EAAE,GAAG,SAAS,CAAC;CACxE;AAED,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAU,kBAAkB;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF;AAKD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAYrD;AAED,6GAA6G;AAC7G,wBAAgB,mBAAmB,IAAI,iBAAiB,CAYvD"}
1
+ {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../src/router/api-error.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export const appErrorDomain = 'app';
28
28
  * An error a route throws to answer with the standard `/api` error body.
29
29
  *
30
30
  * ```ts
31
- * throw new ApiError({ status: 'NOT_FOUND', reason: 'APP_NOT_FOUND', domain: 'hub', message: `App ${id} was not found.` });
31
+ * throw new ApiError({ status: 'NOT_FOUND', reason: 'WORKFLOW_NOT_FOUND', domain: 'workflows', message: `Workflow ${id} was not found.` });
32
32
  * ```
33
33
  */
34
34
  export class ApiError extends Error {
@@ -70,7 +70,7 @@ export declare function apiTimeoutMiddleware(timeoutMs: number): MiddlewareHandl
70
70
  *
71
71
  * The client is the address of the connection, read from the Node.js server bindings. The signed-in user is not known
72
72
  * at this point: authentication runs inside the routes that need it. A request whose address is unknown, such as one an
73
- * in-process Hub forwards, is not counted. Counters live in this process, so each instance of a multi-instance
73
+ * in-process host forwards, is not counted. Counters live in this process, so each instance of a multi-instance
74
74
  * deployment counts on its own.
75
75
  */
76
76
  export declare function apiRateLimitMiddleware(limit: {
@@ -220,7 +220,7 @@ const maxTrackedClients = 100_000;
220
220
  *
221
221
  * The client is the address of the connection, read from the Node.js server bindings. The signed-in user is not known
222
222
  * at this point: authentication runs inside the routes that need it. A request whose address is unknown, such as one an
223
- * in-process Hub forwards, is not counted. Counters live in this process, so each instance of a multi-instance
223
+ * in-process host forwards, is not counted. Counters live in this process, so each instance of a multi-instance
224
224
  * deployment counts on its own.
225
225
  */
226
226
  export function apiRateLimitMiddleware(limit, options = {}) {
@@ -33,7 +33,15 @@ export function registerSpaRoutes(router, options) {
33
33
  }));
34
34
  }
35
35
  async function serveSpaHandler(request, options) {
36
- const response = await options.handler?.(request);
36
+ let upstreamRequest = request;
37
+ if (isSpaPageRequest(request, options)) {
38
+ // The upstream validators describe HTML before runtime configuration is injected.
39
+ const headers = new Headers(request.headers);
40
+ headers.delete('if-none-match');
41
+ headers.delete('if-modified-since');
42
+ upstreamRequest = new Request(request, { headers });
43
+ }
44
+ const response = await options.handler?.(upstreamRequest);
37
45
  if (!response) {
38
46
  throw new Error('SPA handler is not configured.');
39
47
  }
@@ -43,12 +51,42 @@ async function serveSpaHandler(request, options) {
43
51
  }
44
52
  const headers = new Headers(response.headers);
45
53
  headers.delete('content-length');
54
+ headers.delete('etag');
55
+ headers.delete('last-modified');
46
56
  headers.set('cache-control', 'no-cache');
47
- return new Response(injectSpaRuntimeHtml(await response.text(), {
48
- clientConfig: options.clientConfig,
49
- publicConfig: resolvePublicConfig(options),
50
- publicBasePath: options.publicBasePath,
51
- }), { headers, status: response.status, statusText: response.statusText });
57
+ return new Response(request.method === 'HEAD'
58
+ ? null
59
+ : injectSpaRuntimeHtml(await response.text(), {
60
+ clientConfig: options.clientConfig,
61
+ publicConfig: resolvePublicConfig(options),
62
+ publicBasePath: options.publicBasePath,
63
+ }), { headers, status: response.status, statusText: response.statusText });
64
+ }
65
+ function isSpaPageRequest(request, options) {
66
+ if (request.method !== 'GET' && request.method !== 'HEAD')
67
+ return false;
68
+ const destination = request.headers.get('sec-fetch-dest');
69
+ if (destination &&
70
+ !['document', 'iframe', 'frame', 'empty'].includes(destination)) {
71
+ return false;
72
+ }
73
+ const url = new URL(request.url);
74
+ // HTML can also be imported as a Vite module; those requests keep resource caching.
75
+ if (['html-proxy', 'import', 'raw', 'url', 'worker', 'sharedworker'].some((name) => url.searchParams.has(name)))
76
+ return false;
77
+ const basePath = normalizeBasePath(options.basePath);
78
+ const pathname = url.pathname.slice(basePath.length) || '/';
79
+ if (/^\/(?:@vite|@id|@fs)(?:\/|$)|^\/@react-refresh(?:\/|$)/u.test(pathname)) {
80
+ return false;
81
+ }
82
+ const assetsPath = normalizeBasePath(options.assetsPath ?? '/assets');
83
+ if (pathname === assetsPath || pathname.startsWith(`${assetsPath}/`))
84
+ return false;
85
+ const extension = path.posix.extname(pathname).toLowerCase();
86
+ if (extension && extension !== '.html')
87
+ return false;
88
+ const accept = request.headers.get('accept')?.toLowerCase();
89
+ return !accept || accept.includes('text/html') || accept.includes('*/*');
52
90
  }
53
91
  function resolvePublicConfig(options) {
54
92
  return typeof options.publicConfig === 'function'
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/spa/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/spa/routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/app-server",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.0.0-beta.3",
4
4
  "type": "module",
5
5
  "prettier": "@nocobase/dev-config/prettier",
6
6
  "engines": {
@@ -116,8 +116,8 @@
116
116
  "@nocobase/app-websocket": "^0.0.1",
117
117
  "@nocobase/config": "^0.1.0-beta.2",
118
118
  "@nocobase/drive": "^0.1.0-beta.4",
119
- "@nocobase/realtime": "^0.0.2-beta.0",
120
119
  "@nocobase/logging": "^0.1.0-beta.6",
120
+ "@nocobase/realtime": "^0.0.2-beta.0",
121
121
  "@nocobase/secrets": "^0.1.0-beta.0",
122
122
  "@nocobase/session": "^0.1.0-beta.2",
123
123
  "@nocobase/snowflake": "^1.0.0-beta.3"
@@ -130,31 +130,31 @@
130
130
  "vitest": "^4.1.10",
131
131
  "swagger-ui-dist": "^5.33.1",
132
132
  "@nocobase/db-mysql": "0.1.0-beta.4",
133
+ "@nocobase/db-mssql": "0.1.0-beta.3",
133
134
  "@nocobase/db-oracle": "0.1.0-beta.3",
134
135
  "@nocobase/db-postgres": "0.1.0-beta.3",
135
136
  "@nocobase/db-sqlite": "0.1.0-beta.4",
136
- "@nocobase/db-mssql": "0.1.0-beta.3",
137
137
  "@nocobase/db-testing": "0.1.0-beta.0",
138
138
  "@nocobase/api-client": "1.0.0-beta.3",
139
- "@nocobase/dev-config": "0.1.0-beta.19",
140
- "@nocobase/db-kingbase": "0.1.0-beta.3",
139
+ "@nocobase/dev-config": "0.1.0-beta.21",
141
140
  "@nocobase/db-dameng": "0.1.0-beta.3",
141
+ "@nocobase/db-kingbase": "0.1.0-beta.3",
142
142
  "@nocobase/db-oceanbase": "0.1.0-beta.3"
143
143
  },
144
144
  "peerDependencies": {
145
- "@nocobase/i18n": "^1.0.0-beta.5",
145
+ "@nocobase/i18n": "^1.0.0-beta.6",
146
146
  "@nocobase/caching": "^0.1.0-beta.2",
147
147
  "@nocobase/db": "^1.0.0-beta.18",
148
+ "@nocobase/service-provider": "^0.0.2-beta.1",
148
149
  "@nocobase/queue": "^0.1.0-beta.8",
149
150
  "@nocobase/jobs": "^0.1.0-beta.2",
150
- "@nocobase/service-provider": "^0.0.2-beta.1",
151
151
  "@nocobase/db-sqlite": "^0.1.0-beta.4",
152
152
  "@nocobase/db-mysql": "^0.1.0-beta.4",
153
153
  "@nocobase/db-postgres": "^0.1.0-beta.3",
154
+ "@nocobase/db-mssql": "^0.1.0-beta.3",
155
+ "@nocobase/db-oracle": "^0.1.0-beta.3",
154
156
  "@nocobase/db-dameng": "^0.1.0-beta.3",
155
157
  "@nocobase/db-kingbase": "^0.1.0-beta.3",
156
- "@nocobase/db-oracle": "^0.1.0-beta.3",
157
- "@nocobase/db-mssql": "^0.1.0-beta.3",
158
158
  "@nocobase/db-oceanbase": "^0.1.0-beta.3"
159
159
  },
160
160
  "peerDependenciesMeta": {