@ttsc/playground 0.24.0 → 0.26.0

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/README.md CHANGED
@@ -101,7 +101,7 @@ export default function SitePlayground() {
101
101
  }
102
102
  ```
103
103
 
104
- `sandbox.signal` aborts when source or compiler options change, another Execute starts, or the shell unmounts. Pass it to setup work such as `loadTypiaRuntimePack(url, { signal: sandbox.signal })`. Runtime-pack loads default to a 30-second deadline, share one request per URL, and evict a rejected request so the next Execute retries. A signal cannot preempt synchronous evaluated user code; use an isolated executor with its own termination mechanism when that boundary matters.
104
+ `sandbox.signal` aborts when source or compiler options change, another Execute starts, or the shell unmounts. Pass it to setup work such as `loadTypiaRuntimePack(url, { signal: sandbox.signal })`. Runtime-pack loads share one request per URL and evict a rejected request so the next Execute retries. Nothing else ends the load: how long a fetch takes belongs to the network, not to a number chosen here. A signal cannot preempt synchronous evaluated user code; use an isolated executor with its own termination mechanism when that boundary matters.
105
105
 
106
106
  ## Typia integration (optional)
107
107
 
@@ -128,7 +128,7 @@ const service = createWorkerCompiler({
128
128
 
129
129
  The typia pack itself is built by the site (typically with a `pack-typia-sources.cjs`-style script that bundles `typia/`, `@typia/utils`, and `@typia/interface` into a flat JSON map). See the ttsc website's [`build/pack-typia-sources.cjs`](https://github.com/samchon/ttsc/blob/master/website/build/pack-typia-sources.cjs) for the reference implementation.
130
130
 
131
- Source-pack loads have a 30-second default deadline covering both the fetch and JSON body read. Calls for one URL share a single in-flight request; any caller's `signal` or deadline cancels that shared attempt, and a rejected attempt is evicted so the next compiler request retries the mount without starting another WASM runtime. Override the policy with `createTypiaSourcePackMount({ url, signal, timeoutMs })`.
131
+ Calls for one URL share a single in-flight request; any caller's `signal` cancels that shared attempt, and a rejected attempt is evicted so the next compiler request retries the mount without starting another WASM runtime. There is no deadline over the fetch or the JSON body read — the network decides how long it takes. Pass the policy with `createTypiaSourcePackMount({ url, signal })`.
132
132
 
133
133
  ## Runtime npm dependency installer
134
134
 
@@ -1,10 +1,10 @@
1
1
  import type { IInstallTypiaSourcePackOptions } from "../structures/IInstallTypiaSourcePackOptions";
2
- export declare const DEFAULT_SOURCE_PACK_TIMEOUT_MS = 30000;
3
2
  /**
4
3
  * Fetch the typia source pack JSON once per URL.
5
4
  *
6
- * Concurrent callers share one load. A caller abort or deadline cancels that
7
- * shared attempt; rejection removes it from the cache so the next call retries
8
- * from scratch. The deadline covers both the response and its JSON body.
5
+ * Concurrent callers share one load. A caller abort cancels that shared
6
+ * attempt; rejection removes it from the cache so the next call retries from
7
+ * scratch. Nothing else ends the load: how long a fetch takes belongs to the
8
+ * network, not to a number chosen here.
9
9
  */
10
10
  export declare function loadTypiaSourcePack(options: IInstallTypiaSourcePackOptions): Promise<Record<string, string>>;
@@ -1,21 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_SOURCE_PACK_TIMEOUT_MS = void 0;
4
3
  exports.loadTypiaSourcePack = loadTypiaSourcePack;
5
- exports.DEFAULT_SOURCE_PACK_TIMEOUT_MS = 30_000;
6
4
  const packCache = new Map();
7
5
  /**
8
6
  * Fetch the typia source pack JSON once per URL.
9
7
  *
10
- * Concurrent callers share one load. A caller abort or deadline cancels that
11
- * shared attempt; rejection removes it from the cache so the next call retries
12
- * from scratch. The deadline covers both the response and its JSON body.
8
+ * Concurrent callers share one load. A caller abort cancels that shared
9
+ * attempt; rejection removes it from the cache so the next call retries from
10
+ * scratch. Nothing else ends the load: how long a fetch takes belongs to the
11
+ * network, not to a number chosen here.
13
12
  */
14
13
  function loadTypiaSourcePack(options) {
15
- const timeoutMs = resolveSourcePackTimeout(options.timeoutMs);
16
14
  const cached = packCache.get(options.url);
17
15
  if (cached) {
18
- attachSourcePackCancellation(cached, options.signal, timeoutMs);
16
+ attachSourcePackCancellation(cached, options.signal);
19
17
  return cached.promise;
20
18
  }
21
19
  const fetchImpl = options.fetch ?? globalThis.fetch?.bind(globalThis);
@@ -43,17 +41,10 @@ function loadTypiaSourcePack(options) {
43
41
  .finally(cancellation.dispose);
44
42
  entry = { controller, promise };
45
43
  packCache.set(url, entry);
46
- attachSourcePackCancellation(entry, options.signal, timeoutMs);
44
+ attachSourcePackCancellation(entry, options.signal);
47
45
  return promise;
48
46
  }
49
- function resolveSourcePackTimeout(timeoutMs) {
50
- const value = timeoutMs ?? exports.DEFAULT_SOURCE_PACK_TIMEOUT_MS;
51
- if (!Number.isSafeInteger(value) || value <= 0 || value > 2_147_483_647) {
52
- throw new RangeError("loadTypiaSourcePack: timeoutMs must be a positive integer no greater than 2147483647.");
53
- }
54
- return value;
55
- }
56
- function attachSourcePackCancellation(entry, callerSignal, timeoutMs) {
47
+ function attachSourcePackCancellation(entry, callerSignal) {
57
48
  const abortFromCaller = () => {
58
49
  if (!entry.controller.signal.aborted) {
59
50
  entry.controller.abort({
@@ -66,16 +57,7 @@ function attachSourcePackCancellation(entry, callerSignal, timeoutMs) {
66
57
  abortFromCaller();
67
58
  else
68
59
  callerSignal?.addEventListener("abort", abortFromCaller, { once: true });
69
- const timer = setTimeout(() => {
70
- if (!entry.controller.signal.aborted) {
71
- entry.controller.abort({
72
- kind: "timeout",
73
- timeoutMs,
74
- });
75
- }
76
- }, timeoutMs);
77
60
  const cleanup = () => {
78
- clearTimeout(timer);
79
61
  callerSignal?.removeEventListener("abort", abortFromCaller);
80
62
  };
81
63
  void entry.promise.then(cleanup, cleanup);
@@ -109,9 +91,6 @@ async function raceSourcePackCancellation(work, cancellation, signal, getPhase)
109
91
  }
110
92
  function sourcePackCancellationError(signal, phase) {
111
93
  const reason = signal.reason;
112
- if (reason?.kind === "timeout") {
113
- return new Error(`loadTypiaSourcePack: timed out after ${reason.timeoutMs}ms while ${phase}.`);
114
- }
115
94
  const error = new Error(`loadTypiaSourcePack: aborted while ${phase}.`);
116
95
  const cause = reason?.kind === "abort" ? reason.reason : signal.reason;
117
96
  if (cause !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"loadTypiaSourcePack.js","sourceRoot":"","sources":["../../../src/compiler/loadTypiaSourcePack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadTypiaSourcePack.js","sourceRoot":"","sources":["../../../src/compiler/loadTypiaSourcePack.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export { DEFAULT_WORK_DIR } from "./compiler/DEFAULT_WORK_DIR";
22
22
  export { installDependenciesIntoMemFS } from "./compiler/installDependenciesIntoMemFS";
23
23
  export { installTypiaSourcePack } from "./compiler/installTypiaSourcePack";
24
24
  export { lineColumnOf } from "./compiler/lineColumnOf";
25
- export { DEFAULT_SOURCE_PACK_TIMEOUT_MS, loadTypiaSourcePack, } from "./compiler/loadTypiaSourcePack";
25
+ export { loadTypiaSourcePack } from "./compiler/loadTypiaSourcePack";
26
26
  export { mapDiagnostic } from "./compiler/mapDiagnostic";
27
27
  export { normalizeError } from "./compiler/normalizeError";
28
28
  export { normalizeNodeModulePath } from "./compiler/normalizeNodeModulePath";
@@ -32,7 +32,7 @@ export { collectExternalPackageNames } from "./npm/collectExternalPackageNames";
32
32
  export { installPlaygroundDependencies } from "./npm/installPlaygroundDependencies";
33
33
  export { packageNameFromSpecifier } from "./npm/packageNameFromSpecifier";
34
34
  export { createSandboxRequire } from "./sandbox/createSandboxRequire";
35
- export { DEFAULT_RUNTIME_PACK_TIMEOUT_MS, loadTypiaRuntimePack, } from "./sandbox/loadTypiaRuntimePack";
35
+ export { loadTypiaRuntimePack } from "./sandbox/loadTypiaRuntimePack";
36
36
  export { ConsoleViewer } from "./react/ConsoleViewer";
37
37
  export { createCompilerClient } from "./react/createCompilerClient";
38
38
  export { DEFAULT_OPTION_TOGGLES } from "./react/DEFAULT_OPTION_TOGGLES";
package/lib/src/index.js CHANGED
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.SourceEditor = exports.ResultViewer = exports.PlaygroundShell = exports.OptionsPanel = exports.LintPane = exports.ExamplePicker = exports.DiagnosticsPanel = exports.DependencyProgressModal = exports.DEFAULT_OPTION_TOGGLES = exports.createCompilerClient = exports.ConsoleViewer = exports.loadTypiaRuntimePack = exports.DEFAULT_RUNTIME_PACK_TIMEOUT_MS = exports.createSandboxRequire = exports.packageNameFromSpecifier = exports.installPlaygroundDependencies = exports.collectExternalPackageNames = exports.BUILT_IN_PLAYGROUND_PACKAGES = exports.pickEmittedJS = exports.normalizeNodeModulePath = exports.normalizeError = exports.mapDiagnostic = exports.loadTypiaSourcePack = exports.DEFAULT_SOURCE_PACK_TIMEOUT_MS = exports.lineColumnOf = exports.installTypiaSourcePack = exports.installDependenciesIntoMemFS = exports.DEFAULT_WORK_DIR = exports.DEFAULT_TYPIA_PLUGIN_NAME = exports.DEFAULT_TSCONFIG_PATH = exports.DEFAULT_PLAYGROUND_COMPILER_OPTIONS = exports.DEFAULT_LINT_PLUGIN_NAME = exports.DEFAULT_ENTRY_FILE = exports.createWorkerCompiler = exports.createTypiaSourcePackMount = exports.buildTsconfigJSON = void 0;
29
+ exports.SourceEditor = exports.ResultViewer = exports.PlaygroundShell = exports.OptionsPanel = exports.LintPane = exports.ExamplePicker = exports.DiagnosticsPanel = exports.DependencyProgressModal = exports.DEFAULT_OPTION_TOGGLES = exports.createCompilerClient = exports.ConsoleViewer = exports.loadTypiaRuntimePack = exports.createSandboxRequire = exports.packageNameFromSpecifier = exports.installPlaygroundDependencies = exports.collectExternalPackageNames = exports.BUILT_IN_PLAYGROUND_PACKAGES = exports.pickEmittedJS = exports.normalizeNodeModulePath = exports.normalizeError = exports.mapDiagnostic = exports.loadTypiaSourcePack = exports.lineColumnOf = exports.installTypiaSourcePack = exports.installDependenciesIntoMemFS = exports.DEFAULT_WORK_DIR = exports.DEFAULT_TYPIA_PLUGIN_NAME = exports.DEFAULT_TSCONFIG_PATH = exports.DEFAULT_PLAYGROUND_COMPILER_OPTIONS = exports.DEFAULT_LINT_PLUGIN_NAME = exports.DEFAULT_ENTRY_FILE = exports.createWorkerCompiler = exports.createTypiaSourcePackMount = exports.buildTsconfigJSON = void 0;
30
30
  // ── compiler / worker core ────────────────────────────────────────────────
31
31
  var buildTsconfigJSON_1 = require("./compiler/buildTsconfigJSON");
32
32
  Object.defineProperty(exports, "buildTsconfigJSON", { enumerable: true, get: function () { return buildTsconfigJSON_1.buildTsconfigJSON; } });
@@ -53,7 +53,6 @@ Object.defineProperty(exports, "installTypiaSourcePack", { enumerable: true, get
53
53
  var lineColumnOf_1 = require("./compiler/lineColumnOf");
54
54
  Object.defineProperty(exports, "lineColumnOf", { enumerable: true, get: function () { return lineColumnOf_1.lineColumnOf; } });
55
55
  var loadTypiaSourcePack_1 = require("./compiler/loadTypiaSourcePack");
56
- Object.defineProperty(exports, "DEFAULT_SOURCE_PACK_TIMEOUT_MS", { enumerable: true, get: function () { return loadTypiaSourcePack_1.DEFAULT_SOURCE_PACK_TIMEOUT_MS; } });
57
56
  Object.defineProperty(exports, "loadTypiaSourcePack", { enumerable: true, get: function () { return loadTypiaSourcePack_1.loadTypiaSourcePack; } });
58
57
  var mapDiagnostic_1 = require("./compiler/mapDiagnostic");
59
58
  Object.defineProperty(exports, "mapDiagnostic", { enumerable: true, get: function () { return mapDiagnostic_1.mapDiagnostic; } });
@@ -76,7 +75,6 @@ Object.defineProperty(exports, "packageNameFromSpecifier", { enumerable: true, g
76
75
  var createSandboxRequire_1 = require("./sandbox/createSandboxRequire");
77
76
  Object.defineProperty(exports, "createSandboxRequire", { enumerable: true, get: function () { return createSandboxRequire_1.createSandboxRequire; } });
78
77
  var loadTypiaRuntimePack_1 = require("./sandbox/loadTypiaRuntimePack");
79
- Object.defineProperty(exports, "DEFAULT_RUNTIME_PACK_TIMEOUT_MS", { enumerable: true, get: function () { return loadTypiaRuntimePack_1.DEFAULT_RUNTIME_PACK_TIMEOUT_MS; } });
80
78
  Object.defineProperty(exports, "loadTypiaRuntimePack", { enumerable: true, get: function () { return loadTypiaRuntimePack_1.loadTypiaRuntimePack; } });
81
79
  // ── React UI surface ──────────────────────────────────────────────────────
82
80
  var ConsoleViewer_1 = require("./react/ConsoleViewer");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;AAEH,6EAA6E;AAC7E,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAC1B,oFAAmF;AAA1E,wIAAA,0BAA0B,OAAA;AACnC,wEAAuE;AAA9D,4HAAA,oBAAoB,OAAA;AAC7B,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAC3B,gFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,sGAAqG;AAA5F,0JAAA,mCAAmC,OAAA;AAC5C,0EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,kFAAiF;AAAxE,sIAAA,yBAAyB,OAAA;AAClC,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AACzB,wFAAuF;AAA9E,4IAAA,4BAA4B,OAAA;AACrC,4EAA2E;AAAlE,gIAAA,sBAAsB,OAAA;AAC/B,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,sEAGwC;AAFtC,qIAAA,8BAA8B,OAAA;AAC9B,0HAAA,mBAAmB,OAAA;AAErB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAChC,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAEtB,6EAA6E;AAC7E,mFAAkF;AAAzE,4IAAA,4BAA4B,OAAA;AACrC,iFAAgF;AAAvE,0IAAA,2BAA2B,OAAA;AACpC,qFAAoF;AAA3E,8IAAA,6BAA6B,OAAA;AACtC,2EAA0E;AAAjE,oIAAA,wBAAwB,OAAA;AAEjC,6EAA6E;AAC7E,uEAAsE;AAA7D,4HAAA,oBAAoB,OAAA;AAC7B,uEAGwC;AAFtC,uIAAA,+BAA+B,OAAA;AAC/B,4HAAA,oBAAoB,OAAA;AAGtB,6EAA6E;AAC7E,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAC7B,yEAAwE;AAA/D,gIAAA,sBAAsB,OAAA;AAC/B,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAChC,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AACzB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AACxB,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AAErB,6EAA6E;AAC7E,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;AAEH,6EAA6E;AAC7E,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAC1B,oFAAmF;AAA1E,wIAAA,0BAA0B,OAAA;AACnC,wEAAuE;AAA9D,4HAAA,oBAAoB,OAAA;AAC7B,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAC3B,gFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,sGAAqG;AAA5F,0JAAA,mCAAmC,OAAA;AAC5C,0EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,kFAAiF;AAAxE,sIAAA,yBAAyB,OAAA;AAClC,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AACzB,wFAAuF;AAA9E,4IAAA,4BAA4B,OAAA;AACrC,4EAA2E;AAAlE,gIAAA,sBAAsB,OAAA;AAC/B,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,sEAAqE;AAA5D,0HAAA,mBAAmB,OAAA;AAC5B,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAChC,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAEtB,6EAA6E;AAC7E,mFAAkF;AAAzE,4IAAA,4BAA4B,OAAA;AACrC,iFAAgF;AAAvE,0IAAA,2BAA2B,OAAA;AACpC,qFAAoF;AAA3E,8IAAA,6BAA6B,OAAA;AACtC,2EAA0E;AAAjE,oIAAA,wBAAwB,OAAA;AAEjC,6EAA6E;AAC7E,uEAAsE;AAA7D,4HAAA,oBAAoB,OAAA;AAC7B,uEAAsE;AAA7D,4HAAA,oBAAoB,OAAA;AAE7B,6EAA6E;AAC7E,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAC7B,yEAAwE;AAA/D,gIAAA,sBAAsB,OAAA;AAC/B,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAChC,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AACzB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AACxB,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AAErB,6EAA6E;AAC7E,qDAAmC"}
@@ -1,10 +1,10 @@
1
1
  import type { ILoadTypiaRuntimePackOptions } from "../structures/ILoadTypiaRuntimePackOptions";
2
- export declare const DEFAULT_RUNTIME_PACK_TIMEOUT_MS = 30000;
3
2
  /**
4
3
  * Fetches the prebuilt runtime pack once per URL.
5
4
  *
6
- * Concurrent callers share one load. A caller abort or deadline cancels that
7
- * shared attempt; rejection removes it from the cache so the next call retries
8
- * from scratch. Successful packs remain cached.
5
+ * Concurrent callers share one load. A caller abort cancels that shared
6
+ * attempt; rejection removes it from the cache so the next call retries from
7
+ * scratch. Successful packs remain cached. Nothing else ends the load: how long
8
+ * a fetch takes belongs to the network, not to a number chosen here.
9
9
  */
10
10
  export declare function loadTypiaRuntimePack(url: string, options?: ILoadTypiaRuntimePackOptions): Promise<Record<string, string>>;
@@ -1,21 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_RUNTIME_PACK_TIMEOUT_MS = void 0;
4
3
  exports.loadTypiaRuntimePack = loadTypiaRuntimePack;
5
- exports.DEFAULT_RUNTIME_PACK_TIMEOUT_MS = 30_000;
6
4
  const packCache = new Map();
7
5
  /**
8
6
  * Fetches the prebuilt runtime pack once per URL.
9
7
  *
10
- * Concurrent callers share one load. A caller abort or deadline cancels that
11
- * shared attempt; rejection removes it from the cache so the next call retries
12
- * from scratch. Successful packs remain cached.
8
+ * Concurrent callers share one load. A caller abort cancels that shared
9
+ * attempt; rejection removes it from the cache so the next call retries from
10
+ * scratch. Successful packs remain cached. Nothing else ends the load: how long
11
+ * a fetch takes belongs to the network, not to a number chosen here.
13
12
  */
14
13
  function loadTypiaRuntimePack(url, options = {}) {
15
- const timeoutMs = resolveRuntimePackTimeout(options.timeoutMs);
16
14
  const cached = packCache.get(url);
17
15
  if (cached) {
18
- attachRuntimePackCancellation(cached, options.signal, timeoutMs);
16
+ attachRuntimePackCancellation(cached, options.signal);
19
17
  return cached.promise;
20
18
  }
21
19
  const controller = new AbortController();
@@ -37,16 +35,10 @@ function loadTypiaRuntimePack(url, options = {}) {
37
35
  .finally(cancellation.dispose);
38
36
  entry = { controller, promise };
39
37
  packCache.set(url, entry);
40
- attachRuntimePackCancellation(entry, options.signal, timeoutMs);
38
+ attachRuntimePackCancellation(entry, options.signal);
41
39
  return promise;
42
40
  }
43
- function resolveRuntimePackTimeout(timeoutMs) {
44
- const value = timeoutMs ?? exports.DEFAULT_RUNTIME_PACK_TIMEOUT_MS;
45
- if (!Number.isSafeInteger(value) || value <= 0 || value > 2_147_483_647)
46
- throw new RangeError("loadTypiaRuntimePack: timeoutMs must be a positive integer no greater than 2147483647.");
47
- return value;
48
- }
49
- function attachRuntimePackCancellation(entry, callerSignal, timeoutMs) {
41
+ function attachRuntimePackCancellation(entry, callerSignal) {
50
42
  const abortFromCaller = () => {
51
43
  if (!entry.controller.signal.aborted)
52
44
  entry.controller.abort({
@@ -58,15 +50,7 @@ function attachRuntimePackCancellation(entry, callerSignal, timeoutMs) {
58
50
  abortFromCaller();
59
51
  else
60
52
  callerSignal?.addEventListener("abort", abortFromCaller, { once: true });
61
- const timer = setTimeout(() => {
62
- if (!entry.controller.signal.aborted)
63
- entry.controller.abort({
64
- kind: "timeout",
65
- timeoutMs,
66
- });
67
- }, timeoutMs);
68
53
  const cleanup = () => {
69
- clearTimeout(timer);
70
54
  callerSignal?.removeEventListener("abort", abortFromCaller);
71
55
  };
72
56
  void entry.promise.then(cleanup, cleanup);
@@ -99,8 +83,6 @@ async function raceRuntimePackCancellation(work, cancellation, signal, getPhase)
99
83
  }
100
84
  function runtimePackCancellationError(signal, phase) {
101
85
  const reason = signal.reason;
102
- if (reason?.kind === "timeout")
103
- return new Error(`loadTypiaRuntimePack: timed out after ${reason.timeoutMs}ms while ${phase}.`);
104
86
  const error = new Error(`loadTypiaRuntimePack: aborted while ${phase}.`);
105
87
  const cause = reason?.kind === "abort" ? reason.reason : signal.reason;
106
88
  if (cause !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"loadTypiaRuntimePack.js","sourceRoot":"","sources":["../../../src/sandbox/loadTypiaRuntimePack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadTypiaRuntimePack.js","sourceRoot":"","sources":["../../../src/sandbox/loadTypiaRuntimePack.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,6 @@ export interface IInstallTypiaSourcePackOptions {
12
12
  mountRoot?: string;
13
13
  /** Cancel the shared in-flight load. */
14
14
  signal?: AbortSignal;
15
- /** Maximum fetch and JSON-read time. Defaults to 30 seconds. */
16
- timeoutMs?: number;
17
15
  /**
18
16
  * Optional fetcher. Defaults to `globalThis.fetch`. Override for tests or for
19
17
  * sites that want their own caching strategy.
@@ -1,7 +1,5 @@
1
- /** Cancellation and deadline policy for `loadTypiaRuntimePack`. */
1
+ /** Cancellation policy for `loadTypiaRuntimePack`. */
2
2
  export interface ILoadTypiaRuntimePackOptions {
3
3
  /** Cancel the shared in-flight load. */
4
4
  signal?: AbortSignal;
5
- /** Maximum fetch and JSON-read time. Defaults to 30 seconds. */
6
- timeoutMs?: number;
7
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttsc/playground",
3
- "version": "0.24.0",
3
+ "version": "0.26.0",
4
4
  "description": "Reusable React + Web Worker scaffolding for in-browser ttsc playgrounds built on @ttsc/wasm.",
5
5
  "main": "lib/src/index.js",
6
6
  "types": "lib/src/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  "react": "^18.0.0",
40
40
  "react-dom": "^18.0.0",
41
41
  "tgrid": "^1.0.3",
42
- "@ttsc/wasm": "^0.24.0"
42
+ "@ttsc/wasm": "^0.26.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@monaco-editor/react": "^4.6.0",
@@ -52,7 +52,7 @@
52
52
  "rimraf": "^6.1.2",
53
53
  "tgrid": "^1.0.3",
54
54
  "typescript": "^7.0.2",
55
- "@ttsc/wasm": "^0.24.0"
55
+ "@ttsc/wasm": "^0.26.0"
56
56
  },
57
57
  "keywords": [
58
58
  "ttsc",
@@ -6,9 +6,8 @@ interface SourcePackEntry {
6
6
  }
7
7
 
8
8
  interface SourcePackCancellationReason {
9
- kind: "abort" | "timeout";
9
+ kind: "abort";
10
10
  reason?: unknown;
11
- timeoutMs?: number;
12
11
  }
13
12
 
14
13
  interface SourcePackCancellation {
@@ -16,24 +15,22 @@ interface SourcePackCancellation {
16
15
  dispose: () => void;
17
16
  }
18
17
 
19
- export const DEFAULT_SOURCE_PACK_TIMEOUT_MS = 30_000;
20
-
21
18
  const packCache = new Map<string, SourcePackEntry>();
22
19
 
23
20
  /**
24
21
  * Fetch the typia source pack JSON once per URL.
25
22
  *
26
- * Concurrent callers share one load. A caller abort or deadline cancels that
27
- * shared attempt; rejection removes it from the cache so the next call retries
28
- * from scratch. The deadline covers both the response and its JSON body.
23
+ * Concurrent callers share one load. A caller abort cancels that shared
24
+ * attempt; rejection removes it from the cache so the next call retries from
25
+ * scratch. Nothing else ends the load: how long a fetch takes belongs to the
26
+ * network, not to a number chosen here.
29
27
  */
30
28
  export function loadTypiaSourcePack(
31
29
  options: IInstallTypiaSourcePackOptions,
32
30
  ): Promise<Record<string, string>> {
33
- const timeoutMs = resolveSourcePackTimeout(options.timeoutMs);
34
31
  const cached = packCache.get(options.url);
35
32
  if (cached) {
36
- attachSourcePackCancellation(cached, options.signal, timeoutMs);
33
+ attachSourcePackCancellation(cached, options.signal);
37
34
  return cached.promise;
38
35
  }
39
36
 
@@ -81,24 +78,13 @@ export function loadTypiaSourcePack(
81
78
 
82
79
  entry = { controller, promise };
83
80
  packCache.set(url, entry);
84
- attachSourcePackCancellation(entry, options.signal, timeoutMs);
81
+ attachSourcePackCancellation(entry, options.signal);
85
82
  return promise;
86
83
  }
87
84
 
88
- function resolveSourcePackTimeout(timeoutMs: number | undefined): number {
89
- const value = timeoutMs ?? DEFAULT_SOURCE_PACK_TIMEOUT_MS;
90
- if (!Number.isSafeInteger(value) || value <= 0 || value > 2_147_483_647) {
91
- throw new RangeError(
92
- "loadTypiaSourcePack: timeoutMs must be a positive integer no greater than 2147483647.",
93
- );
94
- }
95
- return value;
96
- }
97
-
98
85
  function attachSourcePackCancellation(
99
86
  entry: SourcePackEntry,
100
87
  callerSignal: AbortSignal | undefined,
101
- timeoutMs: number,
102
88
  ): void {
103
89
  const abortFromCaller = (): void => {
104
90
  if (!entry.controller.signal.aborted) {
@@ -111,16 +97,7 @@ function attachSourcePackCancellation(
111
97
  if (callerSignal?.aborted) abortFromCaller();
112
98
  else callerSignal?.addEventListener("abort", abortFromCaller, { once: true });
113
99
 
114
- const timer = setTimeout(() => {
115
- if (!entry.controller.signal.aborted) {
116
- entry.controller.abort({
117
- kind: "timeout",
118
- timeoutMs,
119
- } satisfies SourcePackCancellationReason);
120
- }
121
- }, timeoutMs);
122
100
  const cleanup = (): void => {
123
- clearTimeout(timer);
124
101
  callerSignal?.removeEventListener("abort", abortFromCaller);
125
102
  };
126
103
  void entry.promise.then(cleanup, cleanup);
@@ -166,12 +143,6 @@ function sourcePackCancellationError(
166
143
  phase: string,
167
144
  ): Error {
168
145
  const reason = signal.reason as SourcePackCancellationReason | undefined;
169
- if (reason?.kind === "timeout") {
170
- return new Error(
171
- `loadTypiaSourcePack: timed out after ${reason.timeoutMs}ms while ${phase}.`,
172
- );
173
- }
174
-
175
146
  const error = new Error(`loadTypiaSourcePack: aborted while ${phase}.`);
176
147
  const cause = reason?.kind === "abort" ? reason.reason : signal.reason;
177
148
  if (cause !== undefined) (error as Error & { cause?: unknown }).cause = cause;
package/src/index.ts CHANGED
@@ -24,10 +24,7 @@ export { DEFAULT_WORK_DIR } from "./compiler/DEFAULT_WORK_DIR";
24
24
  export { installDependenciesIntoMemFS } from "./compiler/installDependenciesIntoMemFS";
25
25
  export { installTypiaSourcePack } from "./compiler/installTypiaSourcePack";
26
26
  export { lineColumnOf } from "./compiler/lineColumnOf";
27
- export {
28
- DEFAULT_SOURCE_PACK_TIMEOUT_MS,
29
- loadTypiaSourcePack,
30
- } from "./compiler/loadTypiaSourcePack";
27
+ export { loadTypiaSourcePack } from "./compiler/loadTypiaSourcePack";
31
28
  export { mapDiagnostic } from "./compiler/mapDiagnostic";
32
29
  export { normalizeError } from "./compiler/normalizeError";
33
30
  export { normalizeNodeModulePath } from "./compiler/normalizeNodeModulePath";
@@ -41,10 +38,7 @@ export { packageNameFromSpecifier } from "./npm/packageNameFromSpecifier";
41
38
 
42
39
  // ── typia runtime sandbox (CJS-flavoured require over a pack JSON) ────────
43
40
  export { createSandboxRequire } from "./sandbox/createSandboxRequire";
44
- export {
45
- DEFAULT_RUNTIME_PACK_TIMEOUT_MS,
46
- loadTypiaRuntimePack,
47
- } from "./sandbox/loadTypiaRuntimePack";
41
+ export { loadTypiaRuntimePack } from "./sandbox/loadTypiaRuntimePack";
48
42
 
49
43
  // ── React UI surface ──────────────────────────────────────────────────────
50
44
  export { ConsoleViewer } from "./react/ConsoleViewer";
@@ -13,9 +13,8 @@ interface RuntimePackEntry {
13
13
  }
14
14
 
15
15
  interface RuntimePackCancellationReason {
16
- kind: "abort" | "timeout";
16
+ kind: "abort";
17
17
  reason?: unknown;
18
- timeoutMs?: number;
19
18
  }
20
19
 
21
20
  interface RuntimePackCancellation {
@@ -23,25 +22,23 @@ interface RuntimePackCancellation {
23
22
  dispose: () => void;
24
23
  }
25
24
 
26
- export const DEFAULT_RUNTIME_PACK_TIMEOUT_MS = 30_000;
27
-
28
25
  const packCache = new Map<string, RuntimePackEntry>();
29
26
 
30
27
  /**
31
28
  * Fetches the prebuilt runtime pack once per URL.
32
29
  *
33
- * Concurrent callers share one load. A caller abort or deadline cancels that
34
- * shared attempt; rejection removes it from the cache so the next call retries
35
- * from scratch. Successful packs remain cached.
30
+ * Concurrent callers share one load. A caller abort cancels that shared
31
+ * attempt; rejection removes it from the cache so the next call retries from
32
+ * scratch. Successful packs remain cached. Nothing else ends the load: how long
33
+ * a fetch takes belongs to the network, not to a number chosen here.
36
34
  */
37
35
  export function loadTypiaRuntimePack(
38
36
  url: string,
39
37
  options: ILoadTypiaRuntimePackOptions = {},
40
38
  ): Promise<Record<string, string>> {
41
- const timeoutMs = resolveRuntimePackTimeout(options.timeoutMs);
42
39
  const cached = packCache.get(url);
43
40
  if (cached) {
44
- attachRuntimePackCancellation(cached, options.signal, timeoutMs);
41
+ attachRuntimePackCancellation(cached, options.signal);
45
42
  return cached.promise;
46
43
  }
47
44
 
@@ -80,23 +77,13 @@ export function loadTypiaRuntimePack(
80
77
 
81
78
  entry = { controller, promise };
82
79
  packCache.set(url, entry);
83
- attachRuntimePackCancellation(entry, options.signal, timeoutMs);
80
+ attachRuntimePackCancellation(entry, options.signal);
84
81
  return promise;
85
82
  }
86
83
 
87
- function resolveRuntimePackTimeout(timeoutMs: number | undefined): number {
88
- const value = timeoutMs ?? DEFAULT_RUNTIME_PACK_TIMEOUT_MS;
89
- if (!Number.isSafeInteger(value) || value <= 0 || value > 2_147_483_647)
90
- throw new RangeError(
91
- "loadTypiaRuntimePack: timeoutMs must be a positive integer no greater than 2147483647.",
92
- );
93
- return value;
94
- }
95
-
96
84
  function attachRuntimePackCancellation(
97
85
  entry: RuntimePackEntry,
98
86
  callerSignal: AbortSignal | undefined,
99
- timeoutMs: number,
100
87
  ): void {
101
88
  const abortFromCaller = (): void => {
102
89
  if (!entry.controller.signal.aborted)
@@ -108,15 +95,7 @@ function attachRuntimePackCancellation(
108
95
  if (callerSignal?.aborted) abortFromCaller();
109
96
  else callerSignal?.addEventListener("abort", abortFromCaller, { once: true });
110
97
 
111
- const timer = setTimeout(() => {
112
- if (!entry.controller.signal.aborted)
113
- entry.controller.abort({
114
- kind: "timeout",
115
- timeoutMs,
116
- } satisfies RuntimePackCancellationReason);
117
- }, timeoutMs);
118
98
  const cleanup = (): void => {
119
- clearTimeout(timer);
120
99
  callerSignal?.removeEventListener("abort", abortFromCaller);
121
100
  };
122
101
  void entry.promise.then(cleanup, cleanup);
@@ -160,11 +139,6 @@ function runtimePackCancellationError(
160
139
  phase: string,
161
140
  ): Error {
162
141
  const reason = signal.reason as RuntimePackCancellationReason | undefined;
163
- if (reason?.kind === "timeout")
164
- return new Error(
165
- `loadTypiaRuntimePack: timed out after ${reason.timeoutMs}ms while ${phase}.`,
166
- );
167
-
168
142
  const error = new Error(`loadTypiaRuntimePack: aborted while ${phase}.`);
169
143
  const cause = reason?.kind === "abort" ? reason.reason : signal.reason;
170
144
  if (cause !== undefined) (error as Error & { cause?: unknown }).cause = cause;
@@ -12,8 +12,6 @@ export interface IInstallTypiaSourcePackOptions {
12
12
  mountRoot?: string;
13
13
  /** Cancel the shared in-flight load. */
14
14
  signal?: AbortSignal;
15
- /** Maximum fetch and JSON-read time. Defaults to 30 seconds. */
16
- timeoutMs?: number;
17
15
  /**
18
16
  * Optional fetcher. Defaults to `globalThis.fetch`. Override for tests or for
19
17
  * sites that want their own caching strategy.
@@ -1,7 +1,5 @@
1
- /** Cancellation and deadline policy for `loadTypiaRuntimePack`. */
1
+ /** Cancellation policy for `loadTypiaRuntimePack`. */
2
2
  export interface ILoadTypiaRuntimePackOptions {
3
3
  /** Cancel the shared in-flight load. */
4
4
  signal?: AbortSignal;
5
- /** Maximum fetch and JSON-read time. Defaults to 30 seconds. */
6
- timeoutMs?: number;
7
5
  }