oc 0.50.57 → 0.50.58

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 (56) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/.turbo/turbo-test-silent.log +8 -8
  3. package/CHANGELOG.md +12 -0
  4. package/dist/cli/facade/dev.d.ts +2 -140
  5. package/dist/components/oc-client/_package/package.json +4 -4
  6. package/dist/components/oc-client/_package/server.js +1 -1
  7. package/dist/components/oc-client/package.json +1 -1
  8. package/dist/index.d.ts +2 -0
  9. package/dist/registry/domain/extract-package.d.ts +3 -2
  10. package/dist/registry/domain/http-server/express-adapter.d.ts +3 -0
  11. package/dist/registry/domain/http-server/express-adapter.js +196 -0
  12. package/dist/registry/domain/http-server/types.d.ts +108 -0
  13. package/dist/registry/domain/http-server/types.js +2 -0
  14. package/dist/registry/domain/options-sanitiser.d.ts +3 -2
  15. package/dist/registry/domain/options-sanitiser.js +13 -0
  16. package/dist/registry/domain/server-adapter.d.ts +4 -0
  17. package/dist/registry/domain/server-adapter.js +20 -0
  18. package/dist/registry/domain/validators/uploaded-package.d.ts +5 -4
  19. package/dist/registry/index.d.ts +10 -68
  20. package/dist/registry/index.js +14 -16
  21. package/dist/registry/middleware/base-url-handler.d.ts +3 -2
  22. package/dist/registry/middleware/base-url-handler.js +3 -4
  23. package/dist/registry/middleware/compression.d.ts +2 -2
  24. package/dist/registry/middleware/compression.js +1 -1
  25. package/dist/registry/middleware/cors.d.ts +3 -2
  26. package/dist/registry/middleware/cors.js +7 -8
  27. package/dist/registry/middleware/discovery-handler.d.ts +3 -2
  28. package/dist/registry/middleware/discovery-handler.js +3 -4
  29. package/dist/registry/middleware/index.d.ts +2 -2
  30. package/dist/registry/middleware/index.js +39 -36
  31. package/dist/registry/router.d.ts +2 -2
  32. package/dist/registry/router.js +33 -27
  33. package/dist/registry/routes/component-info.d.ts +2 -2
  34. package/dist/registry/routes/component-info.js +1 -1
  35. package/dist/registry/routes/component-preview.d.ts +2 -2
  36. package/dist/registry/routes/component.d.ts +2 -2
  37. package/dist/registry/routes/component.js +3 -5
  38. package/dist/registry/routes/components.d.ts +2 -2
  39. package/dist/registry/routes/components.js +3 -1
  40. package/dist/registry/routes/dependencies.d.ts +2 -2
  41. package/dist/registry/routes/helpers/get-component-fallback.d.ts +3 -3
  42. package/dist/registry/routes/helpers/get-component.d.ts +1 -1
  43. package/dist/registry/routes/history.d.ts +2 -2
  44. package/dist/registry/routes/history.js +1 -1
  45. package/dist/registry/routes/index.d.ts +2 -2
  46. package/dist/registry/routes/plugins.d.ts +2 -2
  47. package/dist/registry/routes/publish.d.ts +2 -2
  48. package/dist/registry/routes/static-redirector.d.ts +3 -2
  49. package/dist/registry/routes/static-redirector.js +8 -12
  50. package/dist/registry/routes/validate.d.ts +2 -2
  51. package/dist/types.d.ts +9 -1
  52. package/package.json +7 -7
  53. package/dist/registry/middleware/file-uploads.d.ts +0 -2
  54. package/dist/registry/middleware/file-uploads.js +0 -23
  55. package/dist/registry/middleware/request-handler.d.ts +0 -2
  56. package/dist/registry/middleware/request-handler.js +0 -30
@@ -16,7 +16,8 @@ const plugins_1 = __importDefault(require("./routes/plugins"));
16
16
  const publish_1 = __importDefault(require("./routes/publish"));
17
17
  const static_redirector_1 = __importDefault(require("./routes/static-redirector"));
18
18
  const validate_1 = __importDefault(require("./routes/validate"));
19
- function create(app, conf, repository) {
19
+ function create(adapter, conf, repository) {
20
+ const route = (method, path, id, ...handlers) => adapter.route(method, path, id, handlers);
20
21
  const routes = {
21
22
  component: (0, component_1.default)(conf, repository),
22
23
  components: (0, components_1.default)(conf, repository),
@@ -24,7 +25,12 @@ function create(app, conf, repository) {
24
25
  componentPreview: (0, component_preview_1.default)(conf, repository),
25
26
  index: (0, routes_1.default)(repository),
26
27
  publish: (0, publish_1.default)(repository),
27
- staticRedirector: (0, static_redirector_1.default)(repository),
28
+ staticRedirector: {
29
+ client: (0, static_redirector_1.default)(repository, 'client'),
30
+ devClient: (0, static_redirector_1.default)(repository, 'dev-client'),
31
+ clientMap: (0, static_redirector_1.default)(repository, 'client-map'),
32
+ localStatic: (0, static_redirector_1.default)(repository, 'local-static')
33
+ },
28
34
  plugins: (0, plugins_1.default)(conf),
29
35
  dependencies: (0, dependencies_1.default)(conf),
30
36
  history: (0, history_1.default)(repository),
@@ -33,42 +39,42 @@ function create(app, conf, repository) {
33
39
  const prefix = conf.prefix;
34
40
  const definedBaseRoute = conf.routes?.find((route) => route.route === '/');
35
41
  if (prefix !== '/' && !definedBaseRoute) {
36
- app.get('/', (_req, res) => res.redirect(prefix));
37
- app.get(prefix.substring(0, prefix.length - 1), routes.index);
42
+ route('get', '/', 'root-redirect', (_req, res) => res.redirect(prefix));
43
+ route('get', prefix.substring(0, prefix.length - 1), 'prefix-index', routes.index);
38
44
  }
39
- app.get(`${prefix}oc-client/client.js`, routes.staticRedirector);
40
- app.get(`${prefix}oc-client/client.dev.js`, routes.staticRedirector);
41
- app.get(`${prefix}oc-client/oc-client.min.map`, routes.staticRedirector);
42
- app.get(`${prefix}~registry/plugins`, routes.plugins);
43
- app.get(`${prefix}~registry/dependencies`, routes.dependencies);
44
- app.get(`${prefix}~registry/history`, routes.history);
45
+ route('get', `${prefix}oc-client/client.js`, 'client', routes.staticRedirector.client);
46
+ route('get', `${prefix}oc-client/client.dev.js`, 'dev-client', routes.staticRedirector.devClient);
47
+ route('get', `${prefix}oc-client/oc-client.min.map`, 'client-map', routes.staticRedirector.clientMap);
48
+ route('get', `${prefix}~registry/plugins`, 'plugins', routes.plugins);
49
+ route('get', `${prefix}~registry/dependencies`, 'dependencies', routes.dependencies);
50
+ route('get', `${prefix}~registry/history`, 'history', routes.history);
45
51
  if (conf.discovery.validate) {
46
- app.post(`${prefix}~registry/validate`, routes.validate);
52
+ route('post', `${prefix}~registry/validate`, 'validate', routes.validate);
47
53
  }
48
54
  if (conf.local) {
49
- app.get(`${prefix}:componentName/:componentVersion/${settings_1.default.registry.localStaticRedirectorPath}*splat`, routes.staticRedirector);
55
+ route('get', `${prefix}:componentName/:componentVersion/${settings_1.default.registry.localStaticRedirectorPath}*splat`, 'local-static', routes.staticRedirector.localStatic);
50
56
  }
51
57
  else {
52
- app.put(`${prefix}:componentName/:componentVersion`, conf.beforePublish, routes.publish);
58
+ route('put', `${prefix}:componentName/:componentVersion`, 'publish', adapter.fromConnect(conf.beforePublish), routes.publish);
53
59
  }
54
- app.get(prefix, routes.index);
55
- app.post(prefix, routes.components);
56
- app.get(`${prefix}:componentName/:componentVersion${settings_1.default.registry.componentInfoPath}`, routes.componentInfo);
57
- app.get(`${prefix}:componentName${settings_1.default.registry.componentInfoPath}`, routes.componentInfo);
58
- app.get(`${prefix}:componentName/:componentVersion${settings_1.default.registry.componentPreviewPath}`, routes.componentPreview);
59
- app.get(`${prefix}:componentName${settings_1.default.registry.componentPreviewPath}`, routes.componentPreview);
60
- app.get(`${prefix}:componentName/:componentVersion`, routes.component);
61
- app.get(`${prefix}:componentName`, routes.component);
62
- app.post(`${prefix}~actions/:action/:componentName/:componentVersion`, routes.component);
63
- app.post(`${prefix}~actions/:action/:componentName`, routes.component);
60
+ route('get', prefix, 'index', routes.index);
61
+ route('post', prefix, 'components', routes.components);
62
+ route('get', `${prefix}:componentName/:componentVersion${settings_1.default.registry.componentInfoPath}`, 'component-version-info', routes.componentInfo);
63
+ route('get', `${prefix}:componentName${settings_1.default.registry.componentInfoPath}`, 'component-info', routes.componentInfo);
64
+ route('get', `${prefix}:componentName/:componentVersion${settings_1.default.registry.componentPreviewPath}`, 'component-version-preview', routes.componentPreview);
65
+ route('get', `${prefix}:componentName${settings_1.default.registry.componentPreviewPath}`, 'component-preview', routes.componentPreview);
66
+ route('get', `${prefix}:componentName/:componentVersion`, 'component-version', routes.component);
67
+ route('get', `${prefix}:componentName`, 'component', routes.component);
68
+ route('post', `${prefix}~actions/:action/:componentName/:componentVersion`, 'component-version-action', routes.component);
69
+ route('post', `${prefix}~actions/:action/:componentName`, 'component-action', routes.component);
64
70
  if (conf.routes) {
65
- for (const route of conf.routes) {
71
+ for (const routeConfig of conf.routes) {
66
72
  // Ensure handler is a function (should be converted by options-sanitiser)
67
- if (typeof route.handler === 'function') {
68
- app[route.method.toLowerCase()](route.route, route.handler);
73
+ if (typeof routeConfig.handler === 'function') {
74
+ route(routeConfig.method.toLowerCase(), routeConfig.route, routeConfig.route, adapter.fromConnect(routeConfig.handler));
69
75
  }
70
76
  else {
71
- console.warn(`Warning: Route handler for "${route.route}" is not a function. Skipping route.`);
77
+ console.warn(`Warning: Route handler for "${routeConfig.route}" is not a function. Skipping route.`);
72
78
  }
73
79
  }
74
80
  }
@@ -1,4 +1,4 @@
1
- import type { Request, Response } from 'express';
2
1
  import type { Config } from '../../types';
2
+ import type { OcHandler } from '../domain/http-server/types';
3
3
  import type { Repository } from '../domain/repository';
4
- export default function componentInfoRoute(conf: Config, repository: Repository): (req: Request, res: Response) => Promise<void>;
4
+ export default function componentInfoRoute(conf: Config, repository: Repository): OcHandler;
@@ -84,7 +84,7 @@ function componentInfo(err, req, res, component, componentDetail) {
84
84
  href = `//${req.headers.host}${res.conf.prefix}`;
85
85
  }
86
86
  // Get theme from cookie or default to dark
87
- const theme = req.cookies?.['oc-theme'] || 'dark';
87
+ const theme = req.cookies?.['oc-theme'] === 'light' ? 'light' : 'dark';
88
88
  res.send((0, info_1.default)({
89
89
  component,
90
90
  componentDetail,
@@ -1,4 +1,4 @@
1
- import type { Request, Response } from 'express';
2
1
  import type { Config } from '../../types';
2
+ import type { OcHandler } from '../domain/http-server/types';
3
3
  import type { Repository } from '../domain/repository';
4
- export default function componentPreviewRoute(conf: Config, repository: Repository): (req: Request, res: Response) => void;
4
+ export default function componentPreviewRoute(conf: Config, repository: Repository): OcHandler;
@@ -1,4 +1,4 @@
1
- import type { RequestHandler } from 'express';
2
1
  import type { Config } from '../../types';
2
+ import type { OcHandler } from '../domain/http-server/types';
3
3
  import type { Repository } from '../domain/repository';
4
- export default function component(conf: Config, repository: Repository): RequestHandler;
4
+ export default function component(conf: Config, repository: Repository): OcHandler;
@@ -70,7 +70,7 @@ function component(conf, repository) {
70
70
  res.errorDetails = result.response.error;
71
71
  }
72
72
  try {
73
- if (Object.keys(result.headers ?? {}).length) {
73
+ if (result.headers && Object.keys(result.headers).length) {
74
74
  res.set(result.headers);
75
75
  }
76
76
  if (Array.isArray(result.cookies) && result.cookies.length > 0) {
@@ -89,10 +89,8 @@ function component(conf, repository) {
89
89
  nodeStream.on('error', (err) => {
90
90
  res.status(500).end(String(err));
91
91
  });
92
- res.setHeader('Content-Type', 'x-text/stream');
93
- nodeStream.pipe(res).on('finish', () => {
94
- res.end();
95
- });
92
+ res.set('Content-Type', 'x-text/stream');
93
+ res.stream(nodeStream);
96
94
  }
97
95
  else {
98
96
  res.status(result.status).json(result.response);
@@ -1,4 +1,4 @@
1
- import type { RequestHandler } from 'express';
2
1
  import type { Config } from '../../types';
2
+ import type { OcHandler } from '../domain/http-server/types';
3
3
  import type { Repository } from '../domain/repository';
4
- export default function components(conf: Config, repository: Repository): RequestHandler;
4
+ export default function components(conf: Config, repository: Repository): OcHandler;
@@ -13,7 +13,9 @@ function components(conf, repository) {
13
13
  if (results?.length !== 1 || !results[0] || !res.set) {
14
14
  return;
15
15
  }
16
- res.set(results[0].headers);
16
+ if (results[0].headers) {
17
+ res.set(results[0].headers);
18
+ }
17
19
  };
18
20
  const setCookies = (results, res) => {
19
21
  if (results?.length !== 1 || !results[0] || !res.cookie) {
@@ -1,3 +1,3 @@
1
- import type { Request, Response } from 'express';
2
1
  import type { Config } from '../../types';
3
- export default function dependencies(conf: Config): (_req: Request, res: Response) => void;
2
+ import type { OcHandler } from '../domain/http-server/types';
3
+ export default function dependencies(conf: Config): OcHandler;
@@ -1,6 +1,6 @@
1
1
  import type { IncomingHttpHeaders } from 'node:http';
2
- import type { Request, Response } from 'express';
3
2
  import type { Component, Config } from '../../../types';
3
+ import type { OcRequest, OcResponse } from '../../domain/http-server/types';
4
4
  import type { GetComponentResult } from './get-component';
5
5
  type ComponentCallback = (err: {
6
6
  registryError: any;
@@ -11,6 +11,6 @@ export declare function getComponent(fallbackRegistryUrl: string, headers: Incom
11
11
  version: string;
12
12
  parameters: IncomingHttpHeaders;
13
13
  }, callback: (result: GetComponentResult) => void): void;
14
- export declare function getComponentPreview(conf: Config, req: Request, res: Response, registryError: string | null, callback: ComponentCallback): void;
15
- export declare function getComponentInfo(conf: Config, req: Request, res: Response, registryError: string | null, callback: ComponentCallback): void;
14
+ export declare function getComponentPreview(conf: Config, req: OcRequest, res: OcResponse, registryError: string | null, callback: ComponentCallback): void;
15
+ export declare function getComponentInfo(conf: Config, req: OcRequest, res: OcResponse, registryError: string | null, callback: ComponentCallback): void;
16
16
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { IncomingHttpHeaders } from 'node:http';
2
- import type { CookieOptions } from 'express';
3
2
  import type { Config } from '../../../types';
3
+ import type { CookieOptions } from '../../domain/http-server/types';
4
4
  import type { Repository } from '../../domain/repository';
5
5
  export interface RendererOptions {
6
6
  action?: string;
@@ -1,3 +1,3 @@
1
- import type { Request, Response } from 'express';
1
+ import type { OcHandler } from '../domain/http-server/types';
2
2
  import type { Repository } from '../domain/repository';
3
- export default function history(repository: Repository): (_req: Request, res: Response) => Promise<void>;
3
+ export default function history(repository: Repository): OcHandler;
@@ -11,7 +11,7 @@ function history(repository) {
11
11
  if (res.conf.discovery.ui && !res.conf.local) {
12
12
  const details = await repository.getComponentsDetails();
13
13
  const componentsHistory = (0, get_components_history_1.default)(details);
14
- res.setHeader('Cache-Control', 'public, max-age=600');
14
+ res.set('Cache-Control', 'public, max-age=600');
15
15
  res.status(200).json({ componentsHistory });
16
16
  }
17
17
  else {
@@ -1,3 +1,3 @@
1
- import type { Request, Response } from 'express';
1
+ import type { OcHandler } from '../domain/http-server/types';
2
2
  import type { Repository } from '../domain/repository';
3
- export default function (repository: Repository): (req: Request, res: Response) => Promise<void>;
3
+ export default function (repository: Repository): OcHandler;
@@ -1,3 +1,3 @@
1
- import type { Request, Response } from 'express';
2
1
  import type { Config } from '../../types';
3
- export default function plugins(conf: Config): (_req: Request, res: Response) => void;
2
+ import type { OcHandler } from '../domain/http-server/types';
3
+ export default function plugins(conf: Config): OcHandler;
@@ -1,3 +1,3 @@
1
- import type { Request, Response } from 'express';
1
+ import type { OcHandler } from '../domain/http-server/types';
2
2
  import type { Repository } from '../domain/repository';
3
- export default function publish(repository: Repository): (req: Request, res: Response) => Promise<void>;
3
+ export default function publish(repository: Repository): OcHandler;
@@ -1,3 +1,4 @@
1
- import type { Request, Response } from 'express';
1
+ import type { OcHandler } from '../domain/http-server/types';
2
2
  import type { Repository } from '../domain/repository';
3
- export default function staticRedirector(repository: Repository): (req: Request, res: Response) => void;
3
+ export type StaticRedirectorRouteId = 'client' | 'dev-client' | 'client-map' | 'local-static';
4
+ export default function staticRedirector(repository: Repository, routeId: StaticRedirectorRouteId): OcHandler;
@@ -41,13 +41,10 @@ const node_path_1 = __importDefault(require("node:path"));
41
41
  const fs_extra_1 = __importDefault(require("fs-extra"));
42
42
  const storageUtils = __importStar(require("oc-storage-adapters-utils"));
43
43
  const compression_1 = __importDefault(require("../middleware/compression"));
44
- function staticRedirector(repository) {
44
+ function staticRedirector(repository, routeId) {
45
45
  return (req, res) => {
46
46
  let filePath;
47
- const clientPath = `${res.conf.prefix || '/'}oc-client/client.js`;
48
- const devClientPath = `${res.conf.prefix || '/'}oc-client/client.dev.js`;
49
- const clientMapPath = `${res.conf.prefix || '/'}oc-client/oc-client.min.map`;
50
- if (req.route.path === clientPath || req.route.path === devClientPath) {
47
+ if (routeId === 'client' || routeId === 'dev-client') {
51
48
  if (res.conf.local) {
52
49
  if (res.conf.compiledClient) {
53
50
  res.type('application/javascript');
@@ -59,7 +56,7 @@ function staticRedirector(repository) {
59
56
  else {
60
57
  if (res.conf.compiledClient) {
61
58
  res.type('application/javascript');
62
- if (req.route.path === clientPath) {
59
+ if (routeId === 'client') {
63
60
  (0, compression_1.default)({
64
61
  uncompressed: res.conf.compiledClient.code.minified,
65
62
  brotli: res.conf.compiledClient.code.brotli,
@@ -71,11 +68,11 @@ function staticRedirector(repository) {
71
68
  }
72
69
  return;
73
70
  }
74
- res.redirect(repository.getStaticClientPath(req.route.path === devClientPath));
71
+ res.redirect(repository.getStaticClientPath(routeId === 'dev-client'));
75
72
  return;
76
73
  }
77
74
  }
78
- else if (req.route.path === clientMapPath) {
75
+ else if (routeId === 'client-map') {
79
76
  if (res.conf.local) {
80
77
  filePath = node_path_1.default.join(__dirname, '../../components/oc-client/_package/src/oc-client.min.map');
81
78
  }
@@ -90,14 +87,13 @@ function staticRedirector(repository) {
90
87
  }
91
88
  }
92
89
  else if (req.params['componentName'] === 'oc-client') {
93
- filePath = node_path_1.default.join(__dirname, '../../components/oc-client/_package/' +
94
- req.params['splat'].join('/'));
90
+ filePath = node_path_1.default.join(__dirname, '../../components/oc-client/_package/' + req.params['splat']);
95
91
  }
96
92
  else {
97
93
  filePath =
98
94
  node_path_1.default.join(res.conf.path, req.params['componentName']) +
99
95
  '/_package/' +
100
- req.params['splat'].join('/');
96
+ req.params['splat'];
101
97
  }
102
98
  if (!fs_extra_1.default.existsSync(filePath)) {
103
99
  res.errorDetails = `File ${filePath} not found`;
@@ -119,7 +115,7 @@ function staticRedirector(repository) {
119
115
  res.set('Content-Encoding', 'gzip');
120
116
  }
121
117
  fileStream.on('open', () => {
122
- fileStream.pipe(res);
118
+ res.stream(fileStream);
123
119
  });
124
120
  };
125
121
  }
@@ -1,2 +1,2 @@
1
- import type { Request, Response } from 'express';
2
- export default function validate(): (req: Request, res: Response) => Promise<void>;
1
+ import type { OcHandler } from '../domain/http-server/types';
2
+ export default function validate(): OcHandler;
package/dist/types.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { NextFunction, Request, Response } from 'express';
2
2
  import type { MetadataStore as MetadataStoreType } from 'oc-metadata-adapters-utils';
3
3
  import type { StorageAdapter } from 'oc-storage-adapters-utils';
4
4
  import type { PackageJson } from 'type-fest';
5
+ import type { HttpServerAdapterFactory, HttpServerAdapterOptions } from './registry/domain/http-server/types';
5
6
  export type { ComponentRow, MetadataStore } from 'oc-metadata-adapters-utils';
6
7
  type Middleware = (req: Request, res: Response, next: NextFunction) => void;
7
8
  export interface Author {
@@ -179,7 +180,7 @@ export type PublishAuthConfig = {
179
180
  } | ({
180
181
  type: string | Authentication;
181
182
  } & Record<string, any>);
182
- export interface Config<T = any> {
183
+ export interface Config<T = any, TServerAdapter extends HttpServerAdapterFactory = HttpServerAdapterFactory> {
183
184
  /**
184
185
  * Public base URL where the registry is reachable by consumers.
185
186
  *
@@ -420,6 +421,13 @@ export interface Config<T = any> {
420
421
  componentsDir: string;
421
422
  };
422
423
  };
424
+ /**
425
+ * Low-level HTTP server adapter used by the registry.
426
+ */
427
+ server: {
428
+ adapter: TServerAdapter;
429
+ options?: HttpServerAdapterOptions<TServerAdapter>;
430
+ };
423
431
  /**
424
432
  * Directory used by the registry for temporary files.
425
433
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oc",
3
- "version": "0.50.57",
3
+ "version": "0.50.58",
4
4
  "description": "A framework for developing and distributing html components",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,8 +11,8 @@
11
11
  "preview": "bun run preview/uiPreview.ts",
12
12
  "prebuild": "rimraf dist",
13
13
  "build": "npm run lint && tsc && node tasks/build.js",
14
- "test": "npm run build && node tasks/mochaTest.js",
15
- "test-silent": "npm run build && node tasks/mochaTest.js --silent",
14
+ "test": "node tasks/mochaTest.js",
15
+ "test-silent": "node tasks/mochaTest.js --silent",
16
16
  "bench": "node tasks/benchmarks/server-benchmark.js --repetitions=5",
17
17
  "bench:quick": "node tasks/benchmarks/server-benchmark.js --repetitions=3",
18
18
  "bench:update-baseline": "node tasks/benchmarks/server-benchmark.js --repetitions=5 --update-baseline=true",
@@ -95,12 +95,12 @@
95
95
  "multer": "^2.0.2",
96
96
  "nice-cache": "^0.0.5",
97
97
  "oc-client": "^4.0.3",
98
- "oc-client-browser": "2.1.11",
98
+ "oc-client-browser": "^2.1.11",
99
99
  "oc-empty-response-handler": "^1.0.2",
100
100
  "oc-get-unix-utc-timestamp": "^1.0.6",
101
101
  "oc-metadata-adapters-utils": "^0.1.1",
102
- "oc-s3-storage-adapter": "*",
103
- "oc-storage-adapters-utils": "*",
102
+ "oc-s3-storage-adapter": "^2.2.3",
103
+ "oc-storage-adapters-utils": "^2.1.2",
104
104
  "oc-template-es6": "^2.0.0",
105
105
  "oc-template-es6-compiler": "^7.1.4",
106
106
  "oc-template-handlebars": "^6.0.26",
@@ -118,7 +118,7 @@
118
118
  "source-map": "^0.7.6",
119
119
  "targz": "^1.0.1",
120
120
  "try-require": "^1.2.1",
121
- "undici": "^8.4.1",
121
+ "undici": "^8.5.0",
122
122
  "universalify": "^2.0.1",
123
123
  "yargs": "^17.7.2"
124
124
  }
@@ -1,2 +0,0 @@
1
- import type { NextFunction, Request, Response } from 'express';
2
- export default function fileUpload(req: Request, res: Response, next: NextFunction): any;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = fileUpload;
7
- const multer_1 = __importDefault(require("multer"));
8
- function fileUpload(req, res, next) {
9
- if (res.conf.local) {
10
- return next();
11
- }
12
- const normaliseFileName = (x) => x.replace('.tar.gz', '').replace(/\W+/g, '-').toLowerCase();
13
- const upload = (0, multer_1.default)({
14
- limits: {
15
- fieldSize: 10
16
- },
17
- storage: multer_1.default.diskStorage({
18
- destination: res.conf.tempDir,
19
- filename: (_req, file, cb) => cb(null, `${normaliseFileName(file.originalname)}-${Date.now()}.tar.gz`)
20
- })
21
- });
22
- return upload.any()(req, res, next);
23
- }
@@ -1,2 +0,0 @@
1
- import type { RequestHandler } from 'express';
2
- export default function requestHandler(): RequestHandler;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = requestHandler;
7
- const response_time_1 = __importDefault(require("response-time"));
8
- const events_handler_1 = __importDefault(require("../domain/events-handler"));
9
- function requestHandler() {
10
- return (0, response_time_1.default)((req, res, time) => {
11
- const data = {
12
- body: req.body,
13
- duration: time,
14
- headers: req.headers,
15
- method: req.method,
16
- path: req.path,
17
- relativeUrl: req.originalUrl,
18
- query: req.query,
19
- url: req.protocol + '://' + req.get('host') + req.originalUrl,
20
- statusCode: res.statusCode
21
- };
22
- if (res.errorDetails) {
23
- data.errorDetails = res.errorDetails;
24
- }
25
- if (res.errorCode) {
26
- data.errorCode = res.errorCode;
27
- }
28
- events_handler_1.default.fire('request', data);
29
- });
30
- }