@koderlabs/tasks-sdk-nextjs 0.1.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/LICENSE +179 -0
- package/README.md +9 -0
- package/dist/chunk-2YRBUQGE.js +177 -0
- package/dist/chunk-2YRBUQGE.js.map +1 -0
- package/dist/client.cjs +38 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.js +16 -0
- package/dist/client.js.map +1 -0
- package/dist/index.cjs +214 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +47 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin.cjs +212 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.cts +44 -0
- package/dist/plugin.d.ts +44 -0
- package/dist/plugin.js +7 -0
- package/dist/plugin.js.map +1 -0
- package/dist/server.cjs +56 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.cts +47 -0
- package/dist/server.d.ts +47 -0
- package/dist/server.js +31 -0
- package/dist/server.js.map +1 -0
- package/package.json +85 -0
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
interface WithInstantTasksOptions {
|
|
2
|
+
/** Matches InitOptions.endpoint — where to POST source maps */
|
|
3
|
+
endpoint?: string;
|
|
4
|
+
/**
|
|
5
|
+
* Management secret key for source-map uploads.
|
|
6
|
+
* Defaults to process.env.INSTANTTASKS_SECRET_KEY.
|
|
7
|
+
*/
|
|
8
|
+
secretKey?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Skip source-map upload even in production. Useful during CI dry-runs.
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
disableSourceMapUpload?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Relative path to Next.js output directory.
|
|
16
|
+
* @default '.next'
|
|
17
|
+
*/
|
|
18
|
+
distDir?: string;
|
|
19
|
+
}
|
|
20
|
+
type NextConfig = Record<string, any>;
|
|
21
|
+
type NextConfigFn = (phase: string, args: Record<string, any>) => NextConfig | Promise<NextConfig>;
|
|
22
|
+
/**
|
|
23
|
+
* `withInstantTasks(opts)(nextConfig)` — higher-order wrapper for next.config.js/ts.
|
|
24
|
+
*
|
|
25
|
+
* What it does:
|
|
26
|
+
* 1. Enables `productionBrowserSourceMaps: true` so Next.js emits browser .map files.
|
|
27
|
+
* 2. In production builds only, injects `InstantTasksSourceMapsPlugin` into the
|
|
28
|
+
* Webpack config so source maps are uploaded after the client bundle is emitted.
|
|
29
|
+
*
|
|
30
|
+
* Turbopack v1 decision: Next.js 15 ships Turbopack as the **dev** bundler only;
|
|
31
|
+
* production builds continue to use Webpack. We hook into `webpack` here (v1).
|
|
32
|
+
* Turbopack plugin support is deferred to v1.1 once the `experimental.turbopack`
|
|
33
|
+
* plugin API stabilises.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```js
|
|
37
|
+
* // next.config.js
|
|
38
|
+
* const { withInstantTasks } = require('@koderlabs/tasks-sdk-nextjs/plugin');
|
|
39
|
+
* module.exports = withInstantTasks({ secretKey: process.env.IT_KEY })({});
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
declare function withInstantTasks(opts?: WithInstantTasksOptions): (nextConfig: NextConfig | NextConfigFn) => NextConfig | NextConfigFn;
|
|
43
|
+
|
|
44
|
+
export { type WithInstantTasksOptions, withInstantTasks };
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/server.cjs
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/server.ts
|
|
21
|
+
var server_exports = {};
|
|
22
|
+
__export(server_exports, {
|
|
23
|
+
getInstantTasks: () => getInstantTasks
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(server_exports);
|
|
26
|
+
var import_tasks_sdk = require("@koderlabs/tasks-sdk");
|
|
27
|
+
function getInstantTasks(initOptions) {
|
|
28
|
+
const client = initOptions ? (0, import_tasks_sdk.init)(initOptions) : (0, import_tasks_sdk.getClient)();
|
|
29
|
+
return {
|
|
30
|
+
async notify(error, extra) {
|
|
31
|
+
if (!client) {
|
|
32
|
+
console.warn("[InstantTasks] notify() called but SDK not initialised.");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
if (typeof client.errors?.notify === "function") {
|
|
37
|
+
await client.errors.notify(error, extra);
|
|
38
|
+
} else {
|
|
39
|
+
await client.send({
|
|
40
|
+
kind: "error",
|
|
41
|
+
message: error.message,
|
|
42
|
+
stack: error.stack,
|
|
43
|
+
...extra
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
} catch (sendErr) {
|
|
47
|
+
console.error("[InstantTasks] Failed to notify error:", sendErr);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
getInstantTasks
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=server.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * Server-side InstantTasks access for React Server Components and Route Handlers.\n *\n * v1 scope: manual `notify()` only — no automatic instrumentation.\n * Automatic error capturing for RSC render errors will be added in v1.1 once\n * the Next.js `onUncaughtException` instrumentation hook is stable.\n *\n * @example\n * ```ts\n * // app/api/route.ts\n * import { getInstantTasks } from '@koderlabs/tasks-sdk-nextjs/server';\n *\n * export async function GET() {\n * try {\n * // … handler logic …\n * } catch (err) {\n * const it = getInstantTasks();\n * await it.notify(err as Error, { context: 'GET /api/route' });\n * return new Response('Internal Server Error', { status: 500 });\n * }\n * }\n * ```\n */\n\nimport { getClient, init } from '@koderlabs/tasks-sdk';\nimport type { InitOptions } from '@koderlabs/tasks-sdk';\n\nexport interface ServerInstantTasks {\n /**\n * Manually capture an error and send it to the InstantTasks API.\n * No-ops when the SDK has not been initialised.\n */\n notify(error: Error, extra?: Record<string, unknown>): Promise<void>;\n}\n\n/**\n * Returns a server-side handle to the SDK.\n *\n * On the server there is no persistent singleton across requests (each Edge /\n * Node.js Worker context is isolated). Call `getInstantTasks()` at the top of\n * each server module or route handler.\n *\n * If `initOptions` is supplied and no client exists yet, init() is called\n * automatically. Otherwise the globally initialised client is reused (useful\n * when you call `init()` in `instrumentation.ts`).\n */\nexport function getInstantTasks(initOptions?: InitOptions): ServerInstantTasks {\n const client = initOptions ? init(initOptions) : getClient();\n\n return {\n async notify(error: Error, extra?: Record<string, unknown>): Promise<void> {\n if (!client) {\n console.warn('[InstantTasks] notify() called but SDK not initialised.');\n return;\n }\n try {\n // Delegate to the errors sub-client when available (Phase B), otherwise\n // fall back to raw send.\n if (typeof (client as any).errors?.notify === 'function') {\n await (client as any).errors.notify(error, extra);\n } else {\n await client.send({\n kind: 'error',\n message: error.message,\n stack: error.stack,\n ...extra,\n } as any);\n }\n } catch (sendErr) {\n console.error('[InstantTasks] Failed to notify error:', sendErr);\n }\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBA,uBAAgC;AAsBzB,SAAS,gBAAgB,aAA+C;AAC7E,QAAM,SAAS,kBAAc,uBAAK,WAAW,QAAI,4BAAU;AAE3D,SAAO;AAAA,IACL,MAAM,OAAO,OAAc,OAAgD;AACzE,UAAI,CAAC,QAAQ;AACX,gBAAQ,KAAK,yDAAyD;AACtE;AAAA,MACF;AACA,UAAI;AAGF,YAAI,OAAQ,OAAe,QAAQ,WAAW,YAAY;AACxD,gBAAO,OAAe,OAAO,OAAO,OAAO,KAAK;AAAA,QAClD,OAAO;AACL,gBAAM,OAAO,KAAK;AAAA,YAChB,MAAM;AAAA,YACN,SAAS,MAAM;AAAA,YACf,OAAO,MAAM;AAAA,YACb,GAAG;AAAA,UACL,CAAQ;AAAA,QACV;AAAA,MACF,SAAS,SAAS;AAChB,gBAAQ,MAAM,0CAA0C,OAAO;AAAA,MACjE;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { InitOptions } from '@koderlabs/tasks-sdk';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Server-side InstantTasks access for React Server Components and Route Handlers.
|
|
5
|
+
*
|
|
6
|
+
* v1 scope: manual `notify()` only — no automatic instrumentation.
|
|
7
|
+
* Automatic error capturing for RSC render errors will be added in v1.1 once
|
|
8
|
+
* the Next.js `onUncaughtException` instrumentation hook is stable.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // app/api/route.ts
|
|
13
|
+
* import { getInstantTasks } from '@koderlabs/tasks-sdk-nextjs/server';
|
|
14
|
+
*
|
|
15
|
+
* export async function GET() {
|
|
16
|
+
* try {
|
|
17
|
+
* // … handler logic …
|
|
18
|
+
* } catch (err) {
|
|
19
|
+
* const it = getInstantTasks();
|
|
20
|
+
* await it.notify(err as Error, { context: 'GET /api/route' });
|
|
21
|
+
* return new Response('Internal Server Error', { status: 500 });
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
interface ServerInstantTasks {
|
|
28
|
+
/**
|
|
29
|
+
* Manually capture an error and send it to the InstantTasks API.
|
|
30
|
+
* No-ops when the SDK has not been initialised.
|
|
31
|
+
*/
|
|
32
|
+
notify(error: Error, extra?: Record<string, unknown>): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns a server-side handle to the SDK.
|
|
36
|
+
*
|
|
37
|
+
* On the server there is no persistent singleton across requests (each Edge /
|
|
38
|
+
* Node.js Worker context is isolated). Call `getInstantTasks()` at the top of
|
|
39
|
+
* each server module or route handler.
|
|
40
|
+
*
|
|
41
|
+
* If `initOptions` is supplied and no client exists yet, init() is called
|
|
42
|
+
* automatically. Otherwise the globally initialised client is reused (useful
|
|
43
|
+
* when you call `init()` in `instrumentation.ts`).
|
|
44
|
+
*/
|
|
45
|
+
declare function getInstantTasks(initOptions?: InitOptions): ServerInstantTasks;
|
|
46
|
+
|
|
47
|
+
export { type ServerInstantTasks, getInstantTasks };
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { InitOptions } from '@koderlabs/tasks-sdk';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Server-side InstantTasks access for React Server Components and Route Handlers.
|
|
5
|
+
*
|
|
6
|
+
* v1 scope: manual `notify()` only — no automatic instrumentation.
|
|
7
|
+
* Automatic error capturing for RSC render errors will be added in v1.1 once
|
|
8
|
+
* the Next.js `onUncaughtException` instrumentation hook is stable.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // app/api/route.ts
|
|
13
|
+
* import { getInstantTasks } from '@koderlabs/tasks-sdk-nextjs/server';
|
|
14
|
+
*
|
|
15
|
+
* export async function GET() {
|
|
16
|
+
* try {
|
|
17
|
+
* // … handler logic …
|
|
18
|
+
* } catch (err) {
|
|
19
|
+
* const it = getInstantTasks();
|
|
20
|
+
* await it.notify(err as Error, { context: 'GET /api/route' });
|
|
21
|
+
* return new Response('Internal Server Error', { status: 500 });
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
interface ServerInstantTasks {
|
|
28
|
+
/**
|
|
29
|
+
* Manually capture an error and send it to the InstantTasks API.
|
|
30
|
+
* No-ops when the SDK has not been initialised.
|
|
31
|
+
*/
|
|
32
|
+
notify(error: Error, extra?: Record<string, unknown>): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns a server-side handle to the SDK.
|
|
36
|
+
*
|
|
37
|
+
* On the server there is no persistent singleton across requests (each Edge /
|
|
38
|
+
* Node.js Worker context is isolated). Call `getInstantTasks()` at the top of
|
|
39
|
+
* each server module or route handler.
|
|
40
|
+
*
|
|
41
|
+
* If `initOptions` is supplied and no client exists yet, init() is called
|
|
42
|
+
* automatically. Otherwise the globally initialised client is reused (useful
|
|
43
|
+
* when you call `init()` in `instrumentation.ts`).
|
|
44
|
+
*/
|
|
45
|
+
declare function getInstantTasks(initOptions?: InitOptions): ServerInstantTasks;
|
|
46
|
+
|
|
47
|
+
export { type ServerInstantTasks, getInstantTasks };
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/server.ts
|
|
2
|
+
import { getClient, init } from "@koderlabs/tasks-sdk";
|
|
3
|
+
function getInstantTasks(initOptions) {
|
|
4
|
+
const client = initOptions ? init(initOptions) : getClient();
|
|
5
|
+
return {
|
|
6
|
+
async notify(error, extra) {
|
|
7
|
+
if (!client) {
|
|
8
|
+
console.warn("[InstantTasks] notify() called but SDK not initialised.");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
if (typeof client.errors?.notify === "function") {
|
|
13
|
+
await client.errors.notify(error, extra);
|
|
14
|
+
} else {
|
|
15
|
+
await client.send({
|
|
16
|
+
kind: "error",
|
|
17
|
+
message: error.message,
|
|
18
|
+
stack: error.stack,
|
|
19
|
+
...extra
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
} catch (sendErr) {
|
|
23
|
+
console.error("[InstantTasks] Failed to notify error:", sendErr);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
getInstantTasks
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server.ts"],"sourcesContent":["/**\n * Server-side InstantTasks access for React Server Components and Route Handlers.\n *\n * v1 scope: manual `notify()` only — no automatic instrumentation.\n * Automatic error capturing for RSC render errors will be added in v1.1 once\n * the Next.js `onUncaughtException` instrumentation hook is stable.\n *\n * @example\n * ```ts\n * // app/api/route.ts\n * import { getInstantTasks } from '@koderlabs/tasks-sdk-nextjs/server';\n *\n * export async function GET() {\n * try {\n * // … handler logic …\n * } catch (err) {\n * const it = getInstantTasks();\n * await it.notify(err as Error, { context: 'GET /api/route' });\n * return new Response('Internal Server Error', { status: 500 });\n * }\n * }\n * ```\n */\n\nimport { getClient, init } from '@koderlabs/tasks-sdk';\nimport type { InitOptions } from '@koderlabs/tasks-sdk';\n\nexport interface ServerInstantTasks {\n /**\n * Manually capture an error and send it to the InstantTasks API.\n * No-ops when the SDK has not been initialised.\n */\n notify(error: Error, extra?: Record<string, unknown>): Promise<void>;\n}\n\n/**\n * Returns a server-side handle to the SDK.\n *\n * On the server there is no persistent singleton across requests (each Edge /\n * Node.js Worker context is isolated). Call `getInstantTasks()` at the top of\n * each server module or route handler.\n *\n * If `initOptions` is supplied and no client exists yet, init() is called\n * automatically. Otherwise the globally initialised client is reused (useful\n * when you call `init()` in `instrumentation.ts`).\n */\nexport function getInstantTasks(initOptions?: InitOptions): ServerInstantTasks {\n const client = initOptions ? init(initOptions) : getClient();\n\n return {\n async notify(error: Error, extra?: Record<string, unknown>): Promise<void> {\n if (!client) {\n console.warn('[InstantTasks] notify() called but SDK not initialised.');\n return;\n }\n try {\n // Delegate to the errors sub-client when available (Phase B), otherwise\n // fall back to raw send.\n if (typeof (client as any).errors?.notify === 'function') {\n await (client as any).errors.notify(error, extra);\n } else {\n await client.send({\n kind: 'error',\n message: error.message,\n stack: error.stack,\n ...extra,\n } as any);\n }\n } catch (sendErr) {\n console.error('[InstantTasks] Failed to notify error:', sendErr);\n }\n },\n };\n}\n"],"mappings":";AAwBA,SAAS,WAAW,YAAY;AAsBzB,SAAS,gBAAgB,aAA+C;AAC7E,QAAM,SAAS,cAAc,KAAK,WAAW,IAAI,UAAU;AAE3D,SAAO;AAAA,IACL,MAAM,OAAO,OAAc,OAAgD;AACzE,UAAI,CAAC,QAAQ;AACX,gBAAQ,KAAK,yDAAyD;AACtE;AAAA,MACF;AACA,UAAI;AAGF,YAAI,OAAQ,OAAe,QAAQ,WAAW,YAAY;AACxD,gBAAO,OAAe,OAAO,OAAO,OAAO,KAAK;AAAA,QAClD,OAAO;AACL,gBAAM,OAAO,KAAK;AAAA,YAChB,MAAM;AAAA,YACN,SAAS,MAAM;AAAA,YACf,OAAO,MAAM;AAAA,YACb,GAAG;AAAA,UACL,CAAQ;AAAA,QACV;AAAA,MACF,SAAS,SAAS;AAChB,gBAAQ,MAAM,0CAA0C,OAAO;AAAA,MACjE;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@koderlabs/tasks-sdk-nextjs",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Next.js plugin + source-map upload + client/server entries for the InstantTasks SDK.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"instanttasks",
|
|
7
|
+
"sdk",
|
|
8
|
+
"nextjs",
|
|
9
|
+
"source-maps"
|
|
10
|
+
],
|
|
11
|
+
"homepage": "https://github.com/jawaidgadiwala/instant-tasks/tree/main/packages/sdk-nextjs#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/jawaidgadiwala/instant-tasks/issues"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/jawaidgadiwala/instant-tasks.git",
|
|
18
|
+
"directory": "packages/sdk-nextjs"
|
|
19
|
+
},
|
|
20
|
+
"license": "UNLICENSED",
|
|
21
|
+
"author": {
|
|
22
|
+
"name": "Jawaid Gadiwala",
|
|
23
|
+
"email": "jawaidgadiwala@gmail.com",
|
|
24
|
+
"url": "https://koderlabs.com"
|
|
25
|
+
},
|
|
26
|
+
"type": "module",
|
|
27
|
+
"main": "./dist/index.cjs",
|
|
28
|
+
"module": "./dist/index.js",
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"import": "./dist/index.js",
|
|
34
|
+
"require": "./dist/index.cjs"
|
|
35
|
+
},
|
|
36
|
+
"./client": {
|
|
37
|
+
"types": "./dist/client.d.ts",
|
|
38
|
+
"import": "./dist/client.js",
|
|
39
|
+
"require": "./dist/client.cjs"
|
|
40
|
+
},
|
|
41
|
+
"./server": {
|
|
42
|
+
"types": "./dist/server.d.ts",
|
|
43
|
+
"import": "./dist/server.js",
|
|
44
|
+
"require": "./dist/server.cjs"
|
|
45
|
+
},
|
|
46
|
+
"./plugin": {
|
|
47
|
+
"types": "./dist/plugin.d.ts",
|
|
48
|
+
"import": "./dist/plugin.js",
|
|
49
|
+
"require": "./dist/plugin.cjs"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"dist",
|
|
54
|
+
"LICENSE"
|
|
55
|
+
],
|
|
56
|
+
"sideEffects": false,
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@koderlabs/tasks-sdk": "0.1.0",
|
|
59
|
+
"@koderlabs/tasks-sdk-react": "0.1.0"
|
|
60
|
+
},
|
|
61
|
+
"peerDependencies": {
|
|
62
|
+
"next": "^14 || ^15",
|
|
63
|
+
"react": "^18 || ^19",
|
|
64
|
+
"react-dom": "^18 || ^19"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@types/node": "^22.0.0",
|
|
68
|
+
"@types/react": "^18.3.0",
|
|
69
|
+
"tsup": "^8.3.0",
|
|
70
|
+
"typescript": "^5.5.0",
|
|
71
|
+
"vitest": "^2.1.0"
|
|
72
|
+
},
|
|
73
|
+
"engines": {
|
|
74
|
+
"node": ">=20"
|
|
75
|
+
},
|
|
76
|
+
"publishConfig": {
|
|
77
|
+
"access": "restricted"
|
|
78
|
+
},
|
|
79
|
+
"scripts": {
|
|
80
|
+
"build": "tsup",
|
|
81
|
+
"dev": "tsup --watch",
|
|
82
|
+
"test": "vitest run",
|
|
83
|
+
"test:watch": "vitest"
|
|
84
|
+
}
|
|
85
|
+
}
|