@trigger.dev/react-hooks 3.3.17 → 4.0.0-v4-beta.1

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.
@@ -38,7 +38,7 @@ function useTaskTrigger(id, options) {
38
38
  const handle = await apiClient.triggerTask(id, {
39
39
  payload: payloadPacket.data,
40
40
  options: {
41
- queue: options?.queue,
41
+ queue: options?.queue ? { name: options.queue } : undefined,
42
42
  concurrencyKey: options?.concurrencyKey,
43
43
  payloadType: payloadPacket.dataType,
44
44
  idempotencyKey: await (0, v3_1.makeIdempotencyKey)(options?.idempotencyKey),
@@ -1 +1 @@
1
- {"version":3,"file":"useTaskTrigger.js","sourceRoot":"","sources":["../../../src/hooks/useTaskTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTaskTrigger.js","sourceRoot":"","sources":["../../../src/hooks/useTaskTrigger.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AAwDb,wCAiDC;AA2CD,8EAkBC;AA8BD,wDAmBC;AArND,6CAS8B;AAC9B,4DAA0C;AAC1C,uDAAsE;AACtE,qDAK0B;AAoB1B;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,cAAc,CAC5B,EAAyB,EACzB,OAA+B;IAE/B,MAAM,SAAS,GAAG,IAAA,8BAAY,EAAC,OAAO,CAAC,CAAC;IAExC,KAAK,UAAU,WAAW,CACxB,EAAU,EACV,EACE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAC0C;QAErE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE;YAC7C,OAAO,EAAE,aAAa,CAAC,IAAI;YAC3B,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC3D,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,WAAW,EAAE,aAAa,CAAC,QAAQ;gBACnC,cAAc,EAAE,MAAM,IAAA,uBAAkB,EAAC,OAAO,EAAE,cAAc,CAAC;gBACjE,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,aAAa,EAAE,OAAO,EAAE,OAAO;aAChC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,kBAAc,EAAC,EAAY,EAAE,WAAW,CAAC,CAAC;IAE3D,OAAO;QACL,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YAC3B,0CAA0C;YAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,MAAM,EAAE,QAAQ,CAAC,IAAgD;QACjE,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,iCAAiC,CAI/C,EAAyB,EACzB,OAAuC;IAEvC,MAAM,eAAe,GAAG,cAAc,CAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAA,0CAAyB,EAAkB,eAAe,CAAC,MAAM,EAAE,EAAE,EAAE;QAC9F,GAAG,OAAO;QACV,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE;QAC9B,WAAW,EAAE,eAAe,CAAC,MAAM,EAAE,iBAAiB,IAAI,OAAO,EAAE,WAAW;KAC/E,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,gBAAgB;QACnB,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,SAAgB,sBAAsB,CACpC,EAAyB,EACzB,OAAuC;IAEvC,MAAM,eAAe,GAAG,cAAc,CAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAA,+BAAc,EAAQ,eAAe,CAAC,MAAM,EAAE,EAAE,EAAE;QACzE,GAAG,OAAO;QACV,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE;QAC9B,WAAW,EAAE,eAAe,CAAC,MAAM,EAAE,iBAAiB,IAAI,OAAO,EAAE,WAAW;KAC/E,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,SAAS,EAAE,eAAe,CAAC,SAAS;QACpC,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,GAAG,EAAE,gBAAgB,CAAC,GAAG;QACzB,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK;QACtD,IAAI,EAAE,gBAAgB,CAAC,IAAI;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { UseApiClientOptions } from "./useApiClient.js";
2
+ /**
3
+ * Base interface for task trigger instances.
4
+ *
5
+ * @template TOutput - The type of the output
6
+ */
7
+ export interface WaitTokenInstance<TOutput> {
8
+ /** Function to complete the waitpoint with an output */
9
+ complete: (output: TOutput) => void;
10
+ /** Whether the waitpoint is currently being completed */
11
+ isLoading: boolean;
12
+ /** Whether the waitpoint has been completed */
13
+ isCompleted: boolean;
14
+ /** Any error that occurred during completion */
15
+ error?: Error;
16
+ /** Whether the waitpoint is ready to be completed */
17
+ isReady: boolean;
18
+ }
19
+ /**
20
+ * Hook to complete a waitpoint and manage its completion state.
21
+ *
22
+ * @template TOutput - The type of the output
23
+ * @param {string} waitpointId - The identifier of the waitpoint to complete
24
+ * @returns {WaitTokenInstance<TOutput>} An object containing the complete function, loading state, isCompleted, and any errors
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * import type { myTask } from './path/to/task';
29
+ * const { complete, isLoading, isCompleted, error } = useWaitToken('waitpoint-id');
30
+ *
31
+ * // Complete the waitpoint with an output
32
+ * complete({ foo: 'bar' });
33
+ * ```
34
+ */
35
+ export declare function useWaitToken<TOutput>(waitpointId?: string, options?: UseApiClientOptions): WaitTokenInstance<TOutput>;
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.useWaitToken = useWaitToken;
8
+ const mutation_1 = __importDefault(require("swr/mutation"));
9
+ const useApiClient_js_1 = require("./useApiClient.js");
10
+ /**
11
+ * Hook to complete a waitpoint and manage its completion state.
12
+ *
13
+ * @template TOutput - The type of the output
14
+ * @param {string} waitpointId - The identifier of the waitpoint to complete
15
+ * @returns {WaitTokenInstance<TOutput>} An object containing the complete function, loading state, isCompleted, and any errors
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * import type { myTask } from './path/to/task';
20
+ * const { complete, isLoading, isCompleted, error } = useWaitToken('waitpoint-id');
21
+ *
22
+ * // Complete the waitpoint with an output
23
+ * complete({ foo: 'bar' });
24
+ * ```
25
+ */
26
+ function useWaitToken(waitpointId, options) {
27
+ const apiClient = (0, useApiClient_js_1.useApiClient)(options);
28
+ async function completeWaitpoint(id, { arg: { output } }) {
29
+ if (!apiClient) {
30
+ throw new Error("Could not complete waitpoint in useWaitToken: Missing access token");
31
+ }
32
+ if (!waitpointId) {
33
+ throw new Error("Could not complete waitpoint in useWaitToken: Missing waitpoint ID");
34
+ }
35
+ const result = await apiClient.completeWaitpointToken(waitpointId, {
36
+ data: output,
37
+ });
38
+ return result;
39
+ }
40
+ const mutation = (0, mutation_1.default)(waitpointId, completeWaitpoint);
41
+ return {
42
+ complete: (output) => {
43
+ // trigger the task with the given payload
44
+ mutation.trigger({ output });
45
+ },
46
+ isLoading: mutation.isMutating,
47
+ isCompleted: !!mutation.data?.success,
48
+ isReady: !!waitpointId,
49
+ error: mutation.error,
50
+ };
51
+ }
52
+ //# sourceMappingURL=useWaitToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaitToken.js","sourceRoot":"","sources":["../../../src/hooks/useWaitToken.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AAuCb,oCAkCC;AAvED,4DAA0C;AAC1C,uDAAsE;AAoBtE;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,YAAY,CAC1B,WAAoB,EACpB,OAA6B;IAE7B,MAAM,SAAS,GAAG,IAAA,8BAAY,EAAC,OAAO,CAAC,CAAC;IAExC,KAAK,UAAU,iBAAiB,CAAC,EAAU,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAgC;QAC5F,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE;YACjE,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,kBAAc,EAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAEhE,OAAO;QACL,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACnB,0CAA0C;YAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO;QACrC,OAAO,EAAE,CAAC,CAAC,WAAW;QACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC"}
@@ -3,3 +3,4 @@ export * from "./hooks/useApiClient.js";
3
3
  export * from "./hooks/useRun.js";
4
4
  export * from "./hooks/useRealtime.js";
5
5
  export * from "./hooks/useTaskTrigger.js";
6
+ export * from "./hooks/useWaitToken.js";
@@ -19,4 +19,5 @@ __exportStar(require("./hooks/useApiClient.js"), exports);
19
19
  __exportStar(require("./hooks/useRun.js"), exports);
20
20
  __exportStar(require("./hooks/useRealtime.js"), exports);
21
21
  __exportStar(require("./hooks/useTaskTrigger.js"), exports);
22
+ __exportStar(require("./hooks/useWaitToken.js"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,4DAA0C;AAC1C,0DAAwC"}
@@ -30,7 +30,7 @@ export function useTaskTrigger(id, options) {
30
30
  const handle = await apiClient.triggerTask(id, {
31
31
  payload: payloadPacket.data,
32
32
  options: {
33
- queue: options?.queue,
33
+ queue: options?.queue ? { name: options.queue } : undefined,
34
34
  concurrencyKey: options?.concurrencyKey,
35
35
  payloadType: payloadPacket.dataType,
36
36
  idempotencyKey: await makeIdempotencyKey(options?.idempotencyKey),
@@ -1 +1 @@
1
- {"version":3,"file":"useTaskTrigger.js","sourceRoot":"","sources":["../../../src/hooks/useTaskTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTaskTrigger.js","sourceRoot":"","sources":["../../../src/hooks/useTaskTrigger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { UseApiClientOptions } from "./useApiClient.js";
2
+ /**
3
+ * Base interface for task trigger instances.
4
+ *
5
+ * @template TOutput - The type of the output
6
+ */
7
+ export interface WaitTokenInstance<TOutput> {
8
+ /** Function to complete the waitpoint with an output */
9
+ complete: (output: TOutput) => void;
10
+ /** Whether the waitpoint is currently being completed */
11
+ isLoading: boolean;
12
+ /** Whether the waitpoint has been completed */
13
+ isCompleted: boolean;
14
+ /** Any error that occurred during completion */
15
+ error?: Error;
16
+ /** Whether the waitpoint is ready to be completed */
17
+ isReady: boolean;
18
+ }
19
+ /**
20
+ * Hook to complete a waitpoint and manage its completion state.
21
+ *
22
+ * @template TOutput - The type of the output
23
+ * @param {string} waitpointId - The identifier of the waitpoint to complete
24
+ * @returns {WaitTokenInstance<TOutput>} An object containing the complete function, loading state, isCompleted, and any errors
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * import type { myTask } from './path/to/task';
29
+ * const { complete, isLoading, isCompleted, error } = useWaitToken('waitpoint-id');
30
+ *
31
+ * // Complete the waitpoint with an output
32
+ * complete({ foo: 'bar' });
33
+ * ```
34
+ */
35
+ export declare function useWaitToken<TOutput>(waitpointId?: string, options?: UseApiClientOptions): WaitTokenInstance<TOutput>;
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import useSWRMutation from "swr/mutation";
3
+ import { useApiClient } from "./useApiClient.js";
4
+ /**
5
+ * Hook to complete a waitpoint and manage its completion state.
6
+ *
7
+ * @template TOutput - The type of the output
8
+ * @param {string} waitpointId - The identifier of the waitpoint to complete
9
+ * @returns {WaitTokenInstance<TOutput>} An object containing the complete function, loading state, isCompleted, and any errors
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import type { myTask } from './path/to/task';
14
+ * const { complete, isLoading, isCompleted, error } = useWaitToken('waitpoint-id');
15
+ *
16
+ * // Complete the waitpoint with an output
17
+ * complete({ foo: 'bar' });
18
+ * ```
19
+ */
20
+ export function useWaitToken(waitpointId, options) {
21
+ const apiClient = useApiClient(options);
22
+ async function completeWaitpoint(id, { arg: { output } }) {
23
+ if (!apiClient) {
24
+ throw new Error("Could not complete waitpoint in useWaitToken: Missing access token");
25
+ }
26
+ if (!waitpointId) {
27
+ throw new Error("Could not complete waitpoint in useWaitToken: Missing waitpoint ID");
28
+ }
29
+ const result = await apiClient.completeWaitpointToken(waitpointId, {
30
+ data: output,
31
+ });
32
+ return result;
33
+ }
34
+ const mutation = useSWRMutation(waitpointId, completeWaitpoint);
35
+ return {
36
+ complete: (output) => {
37
+ // trigger the task with the given payload
38
+ mutation.trigger({ output });
39
+ },
40
+ isLoading: mutation.isMutating,
41
+ isCompleted: !!mutation.data?.success,
42
+ isReady: !!waitpointId,
43
+ error: mutation.error,
44
+ };
45
+ }
46
+ //# sourceMappingURL=useWaitToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaitToken.js","sourceRoot":"","sources":["../../../src/hooks/useWaitToken.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAoBtE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAC1B,WAAoB,EACpB,OAA6B;IAE7B,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAExC,KAAK,UAAU,iBAAiB,CAAC,EAAU,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAgC;QAC5F,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE;YACjE,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAEhE,OAAO;QACL,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACnB,0CAA0C;YAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO;QACrC,OAAO,EAAE,CAAC,CAAC,WAAW;QACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC"}
@@ -3,3 +3,4 @@ export * from "./hooks/useApiClient.js";
3
3
  export * from "./hooks/useRun.js";
4
4
  export * from "./hooks/useRealtime.js";
5
5
  export * from "./hooks/useTaskTrigger.js";
6
+ export * from "./hooks/useWaitToken.js";
package/dist/esm/index.js CHANGED
@@ -3,4 +3,5 @@ export * from "./hooks/useApiClient.js";
3
3
  export * from "./hooks/useRun.js";
4
4
  export * from "./hooks/useRealtime.js";
5
5
  export * from "./hooks/useTaskTrigger.js";
6
+ export * from "./hooks/useWaitToken.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trigger.dev/react-hooks",
3
- "version": "3.3.17",
3
+ "version": "4.0.0-v4-beta.1",
4
4
  "description": "trigger.dev react hooks",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -29,18 +29,16 @@
29
29
  ]
30
30
  },
31
31
  "dependencies": {
32
- "@trigger.dev/core": "^3.3.17",
32
+ "@trigger.dev/core": "^4.0.0-v4-beta.1",
33
33
  "swr": "^2.2.5"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@arethetypeswrong/cli": "^0.15.4",
37
- "@types/node": "^20.14.14",
38
37
  "@types/react": "*",
39
38
  "@types/react-dom": "*",
40
39
  "rimraf": "^3.0.2",
41
40
  "tshy": "^3.0.2",
42
- "tsx": "4.17.0",
43
- "typescript": "^5.5.4"
41
+ "tsx": "4.17.0"
44
42
  },
45
43
  "peerDependencies": {
46
44
  "react": "^18.0 || ^19.0 || ^19.0.0-rc",
@@ -67,7 +65,7 @@
67
65
  "types": "./dist/commonjs/index.d.ts",
68
66
  "module": "./dist/esm/index.js",
69
67
  "scripts": {
70
- "clean": "rimraf dist",
68
+ "clean": "rimraf dist .tshy .tshy-build .turbo",
71
69
  "build": "tshy && pnpm run update-version",
72
70
  "dev": "tshy --watch",
73
71
  "typecheck": "tsc --noEmit",