slackmark-node 0.1.0 → 0.1.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.
- package/dist/errors.d.ts +5 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -5
- package/dist/index.js.map +1 -1
- package/dist/katex-renderer.d.ts.map +1 -1
- package/dist/puppeteer-render-runtime.d.ts.map +1 -1
- package/dist/puppeteer.d.ts +1 -0
- package/dist/puppeteer.d.ts.map +1 -1
- package/dist/puppeteer.js +35 -4
- package/dist/puppeteer.js.map +1 -1
- package/dist/renderers.d.ts +1 -0
- package/dist/renderers.d.ts.map +1 -1
- package/dist/renderers.js +34 -3
- package/dist/renderers.js.map +1 -1
- package/package.json +13 -13
package/dist/errors.d.ts
CHANGED
|
@@ -56,5 +56,10 @@ export declare class NodeRenderError extends Error implements StructuredRenderer
|
|
|
56
56
|
readonly rendererId: string | undefined;
|
|
57
57
|
constructor(code: NodeRenderErrorCode, message: string, options?: NodeRenderErrorOptions);
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Identifies a {@link NodeRenderError} from any entry of this package. Prefer this to
|
|
61
|
+
* `instanceof`, which is false across an entry boundary.
|
|
62
|
+
*/
|
|
63
|
+
export declare function isNodeRenderError(value: unknown): value is NodeRenderError;
|
|
59
64
|
export declare function normalizeNodeRenderError(error: unknown, code: NodeRenderErrorCode, message: string, stage?: NodeRenderStage, retryable?: boolean): NodeRenderError | OperationError;
|
|
60
65
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createNodeConverter } from "./create-node-converter.js";
|
|
2
2
|
export type { CreateNodeConverterOptions, NodeCloseOptions, NodeConvertOptions, NodeConverter, NodeRenderingOptions, NodeUploadOptions, } from "./create-node-converter.js";
|
|
3
|
-
export { NodeRenderError, NodeRenderErrorCode, NodeRenderStage, NodeShutdownTimeoutError, } from "./errors.js";
|
|
3
|
+
export { isNodeRenderError, NodeRenderError, NodeRenderErrorCode, NodeRenderStage, NodeShutdownTimeoutError, } from "./errors.js";
|
|
4
4
|
export type { NodeRenderErrorOptions } from "./errors.js";
|
|
5
5
|
export { NodeConverterState } from "./status.js";
|
|
6
6
|
export type { NodeConverterStatus, NodeWorkStatus } from "./status.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,cAAc,EACd,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,cAAc,EACd,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,17 @@ import { dirname, join } from "node:path";
|
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { SlackUploadError, SlackUploadStage } from "slackmark/slack";
|
|
7
7
|
//#region src/errors.ts
|
|
8
|
+
/**
|
|
9
|
+
* Registry-keyed marker, not a module-local symbol.
|
|
10
|
+
*
|
|
11
|
+
* Each published entry (`slackmark-node`, `slackmark-node/renderers`,
|
|
12
|
+
* `slackmark-node/puppeteer`) is bundled without code splitting, so every entry carries
|
|
13
|
+
* its own copy of {@link NodeRenderError} and `instanceof` is false for an error that
|
|
14
|
+
* crosses an entry boundary. A renderer always crosses one: the renderers live in
|
|
15
|
+
* `/renderers` and the runtime that throws at them lives in `/puppeteer`. `Symbol.for`
|
|
16
|
+
* keys are shared by every copy, which is what makes {@link isNodeRenderError} reliable.
|
|
17
|
+
*/
|
|
18
|
+
const NODE_RENDER_ERROR_BRAND = Symbol.for("slackmark.error.nodeRender");
|
|
8
19
|
const NodeRenderErrorCode = {
|
|
9
20
|
AssetMissing: "asset_missing",
|
|
10
21
|
BrowserBinaryMissing: "browser_binary_missing",
|
|
@@ -56,6 +67,14 @@ var NodeShutdownTimeoutError = class extends Error {
|
|
|
56
67
|
* Sanitized failure from the Node rendering boundary.
|
|
57
68
|
*/
|
|
58
69
|
var NodeRenderError = class extends Error {
|
|
70
|
+
static {
|
|
71
|
+
Object.defineProperty(this.prototype, NODE_RENDER_ERROR_BRAND, {
|
|
72
|
+
configurable: false,
|
|
73
|
+
enumerable: false,
|
|
74
|
+
value: true,
|
|
75
|
+
writable: false
|
|
76
|
+
});
|
|
77
|
+
}
|
|
59
78
|
code;
|
|
60
79
|
stage;
|
|
61
80
|
retryable;
|
|
@@ -72,8 +91,20 @@ var NodeRenderError = class extends Error {
|
|
|
72
91
|
this.rendererId = options.rendererId;
|
|
73
92
|
}
|
|
74
93
|
};
|
|
94
|
+
/**
|
|
95
|
+
* Identifies a {@link NodeRenderError} from any entry of this package. Prefer this to
|
|
96
|
+
* `instanceof`, which is false across an entry boundary.
|
|
97
|
+
*/
|
|
98
|
+
function isNodeRenderError(value) {
|
|
99
|
+
if (typeof value !== "object" || value === null) return false;
|
|
100
|
+
try {
|
|
101
|
+
return Reflect.get(value, NODE_RENDER_ERROR_BRAND) === true;
|
|
102
|
+
} catch {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
75
106
|
function normalizeNodeRenderError(error, code, message, stage = NodeRenderStage.Render, retryable = false) {
|
|
76
|
-
return error
|
|
107
|
+
return isNodeRenderError(error) || isOperationError(error) ? error : new NodeRenderError(code, message, {
|
|
77
108
|
stage,
|
|
78
109
|
retryable,
|
|
79
110
|
cause: error
|
|
@@ -397,7 +428,7 @@ var KatexRenderer = class {
|
|
|
397
428
|
}, context);
|
|
398
429
|
} catch (error) {
|
|
399
430
|
if (isOperationError(error)) throw error;
|
|
400
|
-
if (error
|
|
431
|
+
if (isNodeRenderError(error)) {
|
|
401
432
|
const sanitizedRenderFailure = error.code === NodeRenderErrorCode.RenderFailed && error.cause === void 0;
|
|
402
433
|
if (error.code !== NodeRenderErrorCode.RenderFailed || sanitizedRenderFailure) throw error;
|
|
403
434
|
}
|
|
@@ -612,7 +643,7 @@ var MermaidRenderer = class {
|
|
|
612
643
|
}, context);
|
|
613
644
|
} catch (error) {
|
|
614
645
|
if (isOperationError(error)) throw error;
|
|
615
|
-
if (error
|
|
646
|
+
if (isNodeRenderError(error)) {
|
|
616
647
|
if (error.code !== NodeRenderErrorCode.RenderFailed) throw error;
|
|
617
648
|
}
|
|
618
649
|
throw new NodeRenderError(NodeRenderErrorCode.RenderFailed, "Mermaid rendering failed", {
|
|
@@ -950,7 +981,7 @@ var PuppeteerRenderRuntime = class {
|
|
|
950
981
|
if (context !== void 0) try {
|
|
951
982
|
await cleanupContext();
|
|
952
983
|
} catch (cleanupError) {
|
|
953
|
-
if (outcome.ok || cleanupError
|
|
984
|
+
if (outcome.ok || isNodeRenderError(cleanupError) && cleanupError.stage === "browser_cleanup") outcome = {
|
|
954
985
|
ok: false,
|
|
955
986
|
error: cleanupError
|
|
956
987
|
};
|
|
@@ -1787,6 +1818,6 @@ function normalizeConfigurationError(error) {
|
|
|
1787
1818
|
});
|
|
1788
1819
|
}
|
|
1789
1820
|
//#endregion
|
|
1790
|
-
export { ConfigurationError, NodeConverterState, NodeRenderError, NodeRenderErrorCode, NodeRenderStage, NodeShutdownTimeoutError, OperationAbortedError, OperationDeadlineExceededError, OperationError, OperationErrorCode, OperationShutdownError, createNodeConverter };
|
|
1821
|
+
export { ConfigurationError, NodeConverterState, NodeRenderError, NodeRenderErrorCode, NodeRenderStage, NodeShutdownTimeoutError, OperationAbortedError, OperationDeadlineExceededError, OperationError, OperationErrorCode, OperationShutdownError, createNodeConverter, isNodeRenderError };
|
|
1791
1822
|
|
|
1792
1823
|
//# sourceMappingURL=index.js.map
|