react-on-rails-pro-node-renderer 16.2.0-beta.5
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/CHANGELOG.md +570 -0
- package/LICENSE +98 -0
- package/LICENSE_SETUP.md +272 -0
- package/README.md +577 -0
- package/package.json +159 -0
- package/packages/node-renderer/dist/ReactOnRailsProNodeRenderer.d.ts +3 -0
- package/packages/node-renderer/dist/ReactOnRailsProNodeRenderer.d.ts.map +1 -0
- package/packages/node-renderer/dist/ReactOnRailsProNodeRenderer.js +48 -0
- package/packages/node-renderer/dist/ReactOnRailsProNodeRenderer.js.map +1 -0
- package/packages/node-renderer/dist/default-node-renderer.d.ts +2 -0
- package/packages/node-renderer/dist/default-node-renderer.d.ts.map +1 -0
- package/packages/node-renderer/dist/default-node-renderer.js +9 -0
- package/packages/node-renderer/dist/default-node-renderer.js.map +1 -0
- package/packages/node-renderer/dist/integrations/api.d.ts +29 -0
- package/packages/node-renderer/dist/integrations/api.d.ts.map +1 -0
- package/packages/node-renderer/dist/integrations/api.js +43 -0
- package/packages/node-renderer/dist/integrations/api.js.map +1 -0
- package/packages/node-renderer/dist/integrations/honeybadger.d.ts +4 -0
- package/packages/node-renderer/dist/integrations/honeybadger.d.ts.map +1 -0
- package/packages/node-renderer/dist/integrations/honeybadger.js +52 -0
- package/packages/node-renderer/dist/integrations/honeybadger.js.map +1 -0
- package/packages/node-renderer/dist/integrations/sentry.d.ts +11 -0
- package/packages/node-renderer/dist/integrations/sentry.d.ts.map +1 -0
- package/packages/node-renderer/dist/integrations/sentry.js +59 -0
- package/packages/node-renderer/dist/integrations/sentry.js.map +1 -0
- package/packages/node-renderer/dist/integrations/sentry6.d.ts +13 -0
- package/packages/node-renderer/dist/integrations/sentry6.d.ts.map +1 -0
- package/packages/node-renderer/dist/integrations/sentry6.js +43 -0
- package/packages/node-renderer/dist/integrations/sentry6.js.map +1 -0
- package/packages/node-renderer/dist/master/restartWorkers.d.ts +12 -0
- package/packages/node-renderer/dist/master/restartWorkers.d.ts.map +1 -0
- package/packages/node-renderer/dist/master/restartWorkers.js +48 -0
- package/packages/node-renderer/dist/master/restartWorkers.js.map +1 -0
- package/packages/node-renderer/dist/master.d.ts +4 -0
- package/packages/node-renderer/dist/master.d.ts.map +1 -0
- package/packages/node-renderer/dist/master.js +85 -0
- package/packages/node-renderer/dist/master.js.map +1 -0
- package/packages/node-renderer/dist/shared/configBuilder.d.ts +34 -0
- package/packages/node-renderer/dist/shared/configBuilder.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/configBuilder.js +200 -0
- package/packages/node-renderer/dist/shared/configBuilder.js.map +1 -0
- package/packages/node-renderer/dist/shared/debug.d.ts +3 -0
- package/packages/node-renderer/dist/shared/debug.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/debug.js +4 -0
- package/packages/node-renderer/dist/shared/debug.js.map +1 -0
- package/packages/node-renderer/dist/shared/errorReporter.d.ts +25 -0
- package/packages/node-renderer/dist/shared/errorReporter.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/errorReporter.js +57 -0
- package/packages/node-renderer/dist/shared/errorReporter.js.map +1 -0
- package/packages/node-renderer/dist/shared/fileExistsAsync.d.ts +3 -0
- package/packages/node-renderer/dist/shared/fileExistsAsync.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/fileExistsAsync.js +21 -0
- package/packages/node-renderer/dist/shared/fileExistsAsync.js.map +1 -0
- package/packages/node-renderer/dist/shared/licensePublicKey.d.ts +2 -0
- package/packages/node-renderer/dist/shared/licensePublicKey.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/licensePublicKey.js +23 -0
- package/packages/node-renderer/dist/shared/licensePublicKey.js.map +1 -0
- package/packages/node-renderer/dist/shared/licenseValidator.d.ts +34 -0
- package/packages/node-renderer/dist/shared/licenseValidator.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/licenseValidator.js +240 -0
- package/packages/node-renderer/dist/shared/licenseValidator.js.map +1 -0
- package/packages/node-renderer/dist/shared/locks.d.ts +13 -0
- package/packages/node-renderer/dist/shared/locks.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/locks.js +73 -0
- package/packages/node-renderer/dist/shared/locks.js.map +1 -0
- package/packages/node-renderer/dist/shared/log.d.ts +5 -0
- package/packages/node-renderer/dist/shared/log.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/log.js +56 -0
- package/packages/node-renderer/dist/shared/log.js.map +1 -0
- package/packages/node-renderer/dist/shared/packageJson.d.ts +3 -0
- package/packages/node-renderer/dist/shared/packageJson.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/packageJson.js +7 -0
- package/packages/node-renderer/dist/shared/packageJson.js.map +1 -0
- package/packages/node-renderer/dist/shared/sharedConsoleHistory.d.ts +17 -0
- package/packages/node-renderer/dist/shared/sharedConsoleHistory.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/sharedConsoleHistory.js +88 -0
- package/packages/node-renderer/dist/shared/sharedConsoleHistory.js.map +1 -0
- package/packages/node-renderer/dist/shared/tracing.d.ts +53 -0
- package/packages/node-renderer/dist/shared/tracing.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/tracing.js +39 -0
- package/packages/node-renderer/dist/shared/tracing.js.map +1 -0
- package/packages/node-renderer/dist/shared/truthy.d.ts +3 -0
- package/packages/node-renderer/dist/shared/truthy.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/truthy.js +5 -0
- package/packages/node-renderer/dist/shared/truthy.js.map +1 -0
- package/packages/node-renderer/dist/shared/utils.d.ts +45 -0
- package/packages/node-renderer/dist/shared/utils.d.ts.map +1 -0
- package/packages/node-renderer/dist/shared/utils.js +169 -0
- package/packages/node-renderer/dist/shared/utils.js.map +1 -0
- package/packages/node-renderer/dist/tsconfig.tsbuildinfo +1 -0
- package/packages/node-renderer/dist/worker/authHandler.d.ts +16 -0
- package/packages/node-renderer/dist/worker/authHandler.d.ts.map +1 -0
- package/packages/node-renderer/dist/worker/authHandler.js +21 -0
- package/packages/node-renderer/dist/worker/authHandler.js.map +1 -0
- package/packages/node-renderer/dist/worker/checkProtocolVersionHandler.d.ts +14 -0
- package/packages/node-renderer/dist/worker/checkProtocolVersionHandler.d.ts.map +1 -0
- package/packages/node-renderer/dist/worker/checkProtocolVersionHandler.js +89 -0
- package/packages/node-renderer/dist/worker/checkProtocolVersionHandler.js.map +1 -0
- package/packages/node-renderer/dist/worker/handleGracefulShutdown.d.ts +4 -0
- package/packages/node-renderer/dist/worker/handleGracefulShutdown.d.ts.map +1 -0
- package/packages/node-renderer/dist/worker/handleGracefulShutdown.js +45 -0
- package/packages/node-renderer/dist/worker/handleGracefulShutdown.js.map +1 -0
- package/packages/node-renderer/dist/worker/handleRenderRequest.d.ts +24 -0
- package/packages/node-renderer/dist/worker/handleRenderRequest.d.ts.map +1 -0
- package/packages/node-renderer/dist/worker/handleRenderRequest.js +200 -0
- package/packages/node-renderer/dist/worker/handleRenderRequest.js.map +1 -0
- package/packages/node-renderer/dist/worker/types.d.ts +6 -0
- package/packages/node-renderer/dist/worker/types.d.ts.map +1 -0
- package/packages/node-renderer/dist/worker/types.js +3 -0
- package/packages/node-renderer/dist/worker/types.js.map +1 -0
- package/packages/node-renderer/dist/worker/vm.d.ts +50 -0
- package/packages/node-renderer/dist/worker/vm.d.ts.map +1 -0
- package/packages/node-renderer/dist/worker/vm.js +297 -0
- package/packages/node-renderer/dist/worker/vm.js.map +1 -0
- package/packages/node-renderer/dist/worker.d.ts +25 -0
- package/packages/node-renderer/dist/worker.d.ts.map +1 -0
- package/packages/node-renderer/dist/worker.js +374 -0
- package/packages/node-renderer/dist/worker.js.map +1 -0
- package/readme-gen-docs.md +1 -0
- package/script/preinstall.js +31 -0
- package/spec/dummy/.nvmrc +1 -0
- package/spec/execjs-compatible-dummy/log/.keep +0 -0
- package/spec/execjs-compatible-dummy/storage/.keep +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/shared/tracing.ts"],"names":[],"mappings":";;;AAsEA,oCAWC;AAKD,sBAEC;AAxFD,mDAA0C;AAwB1C,2DAA2D;AAE3D,IAAI,QAAQ,GAAG,KAAK,CAAC;AAMrB,IAAI,QAAQ,GAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AActC,IAAI,6BAA6B,GAA2B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAEhE,MAAM,sBAAsB,GAA2B,CAAC,OAAO,EAAE,EAAE,CACxE,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAD5B,QAAA,sBAAsB,0BACM;AAYzC,+CAA+C;AAC/C,uGAAuG;AACvG;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,OAAkC;IAC7D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAA,uBAAO,EAAC,4FAA4F,CAAC,CAAC;QACtG,OAAO;IACT,CAAC;IAED,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC5B,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACnC,6BAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IACjE,CAAC;IACD,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAI,EAAiB,EAAE,iBAAoC;IAC9E,OAAO,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truthy.d.ts","sourceRoot":"","sources":["../../src/shared/truthy.ts"],"names":[],"mappings":"gCAAgC,OAAO;AAAvC,kBAEE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truthy.js","sourceRoot":"","sources":["../../src/shared/truthy.ts"],"names":[],"mappings":";AAAA,iBAAS,SAAS,MAAM,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC;AACtG,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { MultipartFile } from '@fastify/multipart';
|
|
2
|
+
import { MoveOptions, CopyOptions } from 'fs-extra';
|
|
3
|
+
import { Readable, PassThrough } from 'stream';
|
|
4
|
+
import type { RenderResult } from '../worker/vm';
|
|
5
|
+
export declare const TRUNCATION_FILLER = "\n... TRUNCATED ...\n";
|
|
6
|
+
export declare const SHUTDOWN_WORKER_MESSAGE = "NODE_RENDERER_SHUTDOWN_WORKER";
|
|
7
|
+
export declare function workerIdLabel(): number | "NO WORKER ID";
|
|
8
|
+
export declare function smartTrim(value: unknown, maxLength?: number): string | null;
|
|
9
|
+
export interface ResponseResult {
|
|
10
|
+
headers: {
|
|
11
|
+
'Cache-Control'?: string;
|
|
12
|
+
};
|
|
13
|
+
status: number;
|
|
14
|
+
data?: unknown;
|
|
15
|
+
stream?: Readable;
|
|
16
|
+
}
|
|
17
|
+
export declare function errorResponseResult(msg: string): ResponseResult;
|
|
18
|
+
/**
|
|
19
|
+
* @param renderingRequest The JavaScript code which threw an error
|
|
20
|
+
* @param error The error that was thrown (typed as `unknown` to minimize casts in `catch`)
|
|
21
|
+
* @param context Optional context to include in the error message
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatExceptionMessage(renderingRequest: string, error: unknown, context?: string): string;
|
|
24
|
+
export declare function saveMultipartFile(multipartFile: MultipartFile, destinationPath: string): Promise<void>;
|
|
25
|
+
export interface Asset {
|
|
26
|
+
type: 'asset';
|
|
27
|
+
savedFilePath: string;
|
|
28
|
+
filename: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function moveUploadedAsset(asset: Asset, destinationPath: string, options?: MoveOptions): Promise<void>;
|
|
31
|
+
export declare function copyUploadedAsset(asset: Asset, destinationPath: string, options?: CopyOptions): Promise<void>;
|
|
32
|
+
export declare function copyUploadedAssets(uploadedAssets: Asset[], targetDirectory: string): Promise<void>;
|
|
33
|
+
export declare function deleteUploadedAssets(uploadedAssets: Asset[]): Promise<void>;
|
|
34
|
+
export declare function isPromise<T>(value: T | Promise<T>): value is Promise<T>;
|
|
35
|
+
export declare const isReadableStream: (stream: unknown) => stream is Readable;
|
|
36
|
+
export declare const handleStreamError: (stream: Readable, onError: (error: Error) => void) => PassThrough;
|
|
37
|
+
export declare const isErrorRenderResult: (result: RenderResult) => result is {
|
|
38
|
+
exceptionMessage: string;
|
|
39
|
+
};
|
|
40
|
+
export declare const majorVersion: (version: string) => number;
|
|
41
|
+
export declare const delay: (milliseconds: number) => Promise<unknown>;
|
|
42
|
+
export declare function getBundleDirectory(bundleTimestamp: string | number): string;
|
|
43
|
+
export declare function getRequestBundleFilePath(bundleTimestamp: string | number): string;
|
|
44
|
+
export declare function getAssetPath(bundleTimestamp: string | number, filename: string): string;
|
|
45
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAsC,WAAW,EAAQ,WAAW,EAAU,MAAM,UAAU,CAAC;AACtG,OAAO,EAAE,QAAQ,EAAY,WAAW,EAAE,MAAM,QAAQ,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AAEzD,eAAO,MAAM,uBAAuB,kCAAkC,CAAC;AAEvE,wBAAgB,aAAa,4BAG5B;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAoC,iBAqBtF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAO/D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,UAUhG;AAKD,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASxG;AAED,wBAAsB,oBAAoB,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAEvE;AAED,eAAO,MAAM,gBAAgB,WAAY,OAAO,KAAG,MAAM,IAAI,QAIZ,CAAC;AAElD,eAAO,MAAM,iBAAiB,WAAY,QAAQ,WAAW,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,gBAKlF,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,YAAY,KAAG,MAAM,IAAI;IAAE,gBAAgB,EAAE,MAAM,CAAA;CACN,CAAC;AAG1F,eAAO,MAAM,YAAY,YAAa,MAAM,WAAmD,CAAC;AAGhG,eAAO,MAAM,KAAK,iBAAkB,MAAM,qBAGtC,CAAC;AAEL,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,UAGlE;AAED,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,UAGxE;AAED,wBAAgB,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,UAG9E"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.delay = exports.majorVersion = exports.isErrorRenderResult = exports.handleStreamError = exports.isReadableStream = exports.SHUTDOWN_WORKER_MESSAGE = exports.TRUNCATION_FILLER = void 0;
|
|
30
|
+
exports.workerIdLabel = workerIdLabel;
|
|
31
|
+
exports.smartTrim = smartTrim;
|
|
32
|
+
exports.errorResponseResult = errorResponseResult;
|
|
33
|
+
exports.formatExceptionMessage = formatExceptionMessage;
|
|
34
|
+
exports.saveMultipartFile = saveMultipartFile;
|
|
35
|
+
exports.moveUploadedAsset = moveUploadedAsset;
|
|
36
|
+
exports.copyUploadedAsset = copyUploadedAsset;
|
|
37
|
+
exports.copyUploadedAssets = copyUploadedAssets;
|
|
38
|
+
exports.deleteUploadedAssets = deleteUploadedAssets;
|
|
39
|
+
exports.isPromise = isPromise;
|
|
40
|
+
exports.getBundleDirectory = getBundleDirectory;
|
|
41
|
+
exports.getRequestBundleFilePath = getRequestBundleFilePath;
|
|
42
|
+
exports.getAssetPath = getAssetPath;
|
|
43
|
+
const cluster_1 = __importDefault(require("cluster"));
|
|
44
|
+
const path_1 = __importDefault(require("path"));
|
|
45
|
+
const fs_extra_1 = require("fs-extra");
|
|
46
|
+
const stream_1 = require("stream");
|
|
47
|
+
const util_1 = require("util");
|
|
48
|
+
const errorReporter = __importStar(require("./errorReporter"));
|
|
49
|
+
const configBuilder_1 = require("./configBuilder");
|
|
50
|
+
const log_1 = __importDefault(require("./log"));
|
|
51
|
+
exports.TRUNCATION_FILLER = '\n... TRUNCATED ...\n';
|
|
52
|
+
exports.SHUTDOWN_WORKER_MESSAGE = 'NODE_RENDERER_SHUTDOWN_WORKER';
|
|
53
|
+
function workerIdLabel() {
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- worker is nullable in the primary process
|
|
55
|
+
return cluster_1.default?.worker?.id || 'NO WORKER ID';
|
|
56
|
+
}
|
|
57
|
+
// From https://stackoverflow.com/a/831583/1009332
|
|
58
|
+
function smartTrim(value, maxLength = (0, configBuilder_1.getConfig)().maxDebugSnippetLength) {
|
|
59
|
+
let string;
|
|
60
|
+
if (value == null)
|
|
61
|
+
return null;
|
|
62
|
+
if (typeof value === 'string') {
|
|
63
|
+
string = value;
|
|
64
|
+
}
|
|
65
|
+
else if (value instanceof String) {
|
|
66
|
+
string = value.toString();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
string = JSON.stringify(value);
|
|
70
|
+
}
|
|
71
|
+
if (maxLength < 1)
|
|
72
|
+
return string;
|
|
73
|
+
if (string.length <= maxLength)
|
|
74
|
+
return string;
|
|
75
|
+
if (maxLength === 1)
|
|
76
|
+
return string.substring(0, 1) + exports.TRUNCATION_FILLER;
|
|
77
|
+
const midpoint = Math.ceil(string.length / 2);
|
|
78
|
+
const toRemove = string.length - maxLength;
|
|
79
|
+
const lstrip = Math.ceil(toRemove / 2);
|
|
80
|
+
const rstrip = toRemove - lstrip;
|
|
81
|
+
return string.substring(0, midpoint - lstrip) + exports.TRUNCATION_FILLER + string.substring(midpoint + rstrip);
|
|
82
|
+
}
|
|
83
|
+
function errorResponseResult(msg) {
|
|
84
|
+
errorReporter.message(msg);
|
|
85
|
+
return {
|
|
86
|
+
headers: { 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate' },
|
|
87
|
+
status: 400,
|
|
88
|
+
data: msg,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @param renderingRequest The JavaScript code which threw an error
|
|
93
|
+
* @param error The error that was thrown (typed as `unknown` to minimize casts in `catch`)
|
|
94
|
+
* @param context Optional context to include in the error message
|
|
95
|
+
*/
|
|
96
|
+
function formatExceptionMessage(renderingRequest, error, context) {
|
|
97
|
+
return `${context ? `\nContext:\n${context}\n` : ''}
|
|
98
|
+
JS code for rendering request was:
|
|
99
|
+
${smartTrim(renderingRequest)}
|
|
100
|
+
|
|
101
|
+
EXCEPTION MESSAGE:
|
|
102
|
+
${error.message || error}
|
|
103
|
+
|
|
104
|
+
STACK:
|
|
105
|
+
${error.stack}`;
|
|
106
|
+
}
|
|
107
|
+
// https://github.com/fastify/fastify-multipart?tab=readme-ov-file#usage
|
|
108
|
+
const pump = (0, util_1.promisify)(stream_1.pipeline);
|
|
109
|
+
async function saveMultipartFile(multipartFile, destinationPath) {
|
|
110
|
+
await (0, fs_extra_1.ensureDir)(path_1.default.dirname(destinationPath));
|
|
111
|
+
return pump(multipartFile.file, (0, fs_extra_1.createWriteStream)(destinationPath));
|
|
112
|
+
}
|
|
113
|
+
function moveUploadedAsset(asset, destinationPath, options = {}) {
|
|
114
|
+
return (0, fs_extra_1.move)(asset.savedFilePath, destinationPath, options);
|
|
115
|
+
}
|
|
116
|
+
function copyUploadedAsset(asset, destinationPath, options = {}) {
|
|
117
|
+
return (0, fs_extra_1.copy)(asset.savedFilePath, destinationPath, options);
|
|
118
|
+
}
|
|
119
|
+
async function copyUploadedAssets(uploadedAssets, targetDirectory) {
|
|
120
|
+
const copyMultipleAssets = uploadedAssets.map((asset) => {
|
|
121
|
+
const destinationAssetFilePath = path_1.default.join(targetDirectory, asset.filename);
|
|
122
|
+
return copyUploadedAsset(asset, destinationAssetFilePath, { overwrite: true });
|
|
123
|
+
});
|
|
124
|
+
await Promise.all(copyMultipleAssets);
|
|
125
|
+
log_1.default.info(`Copied assets ${JSON.stringify(uploadedAssets.map((fileDescriptor) => fileDescriptor.filename))}`);
|
|
126
|
+
}
|
|
127
|
+
async function deleteUploadedAssets(uploadedAssets) {
|
|
128
|
+
const deleteMultipleAssets = uploadedAssets.map((asset) => (0, fs_extra_1.unlink)(asset.savedFilePath));
|
|
129
|
+
await Promise.all(deleteMultipleAssets);
|
|
130
|
+
log_1.default.info(`Deleted assets ${JSON.stringify(uploadedAssets.map((fileDescriptor) => fileDescriptor.filename))}`);
|
|
131
|
+
}
|
|
132
|
+
function isPromise(value) {
|
|
133
|
+
return value && typeof value.then === 'function';
|
|
134
|
+
}
|
|
135
|
+
const isReadableStream = (stream) => typeof stream === 'object' &&
|
|
136
|
+
stream !== null &&
|
|
137
|
+
typeof stream.pipe === 'function' &&
|
|
138
|
+
typeof stream.read === 'function';
|
|
139
|
+
exports.isReadableStream = isReadableStream;
|
|
140
|
+
const handleStreamError = (stream, onError) => {
|
|
141
|
+
stream.on('error', onError);
|
|
142
|
+
const newStreamAfterHandlingError = new stream_1.PassThrough();
|
|
143
|
+
stream.pipe(newStreamAfterHandlingError);
|
|
144
|
+
return newStreamAfterHandlingError;
|
|
145
|
+
};
|
|
146
|
+
exports.handleStreamError = handleStreamError;
|
|
147
|
+
const isErrorRenderResult = (result) => typeof result === 'object' && !(0, exports.isReadableStream)(result) && 'exceptionMessage' in result;
|
|
148
|
+
exports.isErrorRenderResult = isErrorRenderResult;
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
150
|
+
const majorVersion = (version) => Number.parseInt(version.split('.', 2)[0], 10);
|
|
151
|
+
exports.majorVersion = majorVersion;
|
|
152
|
+
// Can be replaced by `import { setTimeout } from 'timers/promises'` when Node 16 is the minimum supported version
|
|
153
|
+
const delay = (milliseconds) => new Promise((resolve) => {
|
|
154
|
+
setTimeout(resolve, milliseconds);
|
|
155
|
+
});
|
|
156
|
+
exports.delay = delay;
|
|
157
|
+
function getBundleDirectory(bundleTimestamp) {
|
|
158
|
+
const { serverBundleCachePath } = (0, configBuilder_1.getConfig)();
|
|
159
|
+
return path_1.default.join(serverBundleCachePath, `${bundleTimestamp}`);
|
|
160
|
+
}
|
|
161
|
+
function getRequestBundleFilePath(bundleTimestamp) {
|
|
162
|
+
const bundleDirectory = getBundleDirectory(bundleTimestamp);
|
|
163
|
+
return path_1.default.join(bundleDirectory, `${bundleTimestamp}.js`);
|
|
164
|
+
}
|
|
165
|
+
function getAssetPath(bundleTimestamp, filename) {
|
|
166
|
+
const bundleDirectory = getBundleDirectory(bundleTimestamp);
|
|
167
|
+
return path_1.default.join(bundleDirectory, filename);
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"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"}
|