@forgehive/record-tape 0.1.5 → 0.2.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/dist/index.d.ts +2 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -78
- package/dist/index.js.map +1 -1
- package/dist/tests/index.test.js +3 -3
- package/dist/tests/index.test.js.map +1 -1
- package/dist/tests/log-format.test.js +18 -27
- package/dist/tests/log-format.test.js.map +1 -1
- package/dist/tests/mode.test.js +66 -54
- package/dist/tests/mode.test.js.map +1 -1
- package/dist/tests/safe-run.test.js +50 -21
- package/dist/tests/safe-run.test.js.map +1 -1
- package/dist/tests/save.test.js +13 -13
- package/dist/tests/save.test.js.map +1 -1
- package/dist/tests/task-listener.test.js +43 -29
- package/dist/tests/task-listener.test.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +43 -105
- package/src/tests/index.test.ts +3 -3
- package/src/tests/log-format.test.ts +20 -32
- package/src/tests/mode.test.ts +75 -62
- package/src/tests/safe-run.test.ts +35 -22
- package/src/tests/save.test.ts +19 -19
- package/src/tests/task-listener.test.ts +36 -30
|
@@ -15,9 +15,13 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
// Create the task
|
|
18
|
-
const task = (0, task_1.createTask)(
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const task = (0, task_1.createTask)({
|
|
19
|
+
schema,
|
|
20
|
+
boundaries,
|
|
21
|
+
fn: async function ({ value }, { fetchData }) {
|
|
22
|
+
const result = await fetchData(value);
|
|
23
|
+
return { result, success: true };
|
|
24
|
+
}
|
|
21
25
|
});
|
|
22
26
|
// Create a record tape
|
|
23
27
|
const tape = new index_1.RecordTape();
|
|
@@ -56,9 +60,13 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
56
60
|
}
|
|
57
61
|
};
|
|
58
62
|
// Create the task
|
|
59
|
-
const task = (0, task_1.createTask)(
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
const task = (0, task_1.createTask)({
|
|
64
|
+
schema,
|
|
65
|
+
boundaries,
|
|
66
|
+
fn: async function ({ value }, { fetchData }) {
|
|
67
|
+
const result = await fetchData(value);
|
|
68
|
+
return { result, success: true };
|
|
69
|
+
}
|
|
62
70
|
});
|
|
63
71
|
// Create a record tape
|
|
64
72
|
const tape = new index_1.RecordTape();
|
|
@@ -71,8 +79,9 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
71
79
|
return (Object.assign(Object.assign({}, entry), { error: (_a = entry.error) !== null && _a !== void 0 ? _a : null, output: (_b = entry.output) !== null && _b !== void 0 ? _b : null }));
|
|
72
80
|
});
|
|
73
81
|
}
|
|
74
|
-
//
|
|
75
|
-
|
|
82
|
+
// Add the record using push method
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
|
+
tape.push('test-task', record);
|
|
76
85
|
});
|
|
77
86
|
// Run the task with safeRun
|
|
78
87
|
const [result, error] = await task.safeRun({ value: 5 });
|
|
@@ -94,7 +103,9 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
94
103
|
output: 10,
|
|
95
104
|
error: null
|
|
96
105
|
}]
|
|
97
|
-
}
|
|
106
|
+
},
|
|
107
|
+
metadata: {},
|
|
108
|
+
taskName: undefined
|
|
98
109
|
});
|
|
99
110
|
});
|
|
100
111
|
it('should record error log items from safeRun', async () => {
|
|
@@ -112,9 +123,13 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
112
123
|
}
|
|
113
124
|
};
|
|
114
125
|
// Create the task
|
|
115
|
-
const task = (0, task_1.createTask)(
|
|
116
|
-
|
|
117
|
-
|
|
126
|
+
const task = (0, task_1.createTask)({
|
|
127
|
+
schema,
|
|
128
|
+
boundaries,
|
|
129
|
+
fn: async function ({ value }, { fetchData }) {
|
|
130
|
+
const result = await fetchData(value);
|
|
131
|
+
return { result, success: true };
|
|
132
|
+
}
|
|
118
133
|
});
|
|
119
134
|
// Create a record tape
|
|
120
135
|
const tape = new index_1.RecordTape();
|
|
@@ -127,8 +142,9 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
127
142
|
return (Object.assign(Object.assign({}, entry), { error: (_a = entry.error) !== null && _a !== void 0 ? _a : null, output: (_b = entry.output) !== null && _b !== void 0 ? _b : null }));
|
|
128
143
|
});
|
|
129
144
|
}
|
|
130
|
-
//
|
|
131
|
-
|
|
145
|
+
// Add the record using push method
|
|
146
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
147
|
+
tape.push('test-task', record);
|
|
132
148
|
});
|
|
133
149
|
// Run the task with safeRun with a value that will cause an error
|
|
134
150
|
const [result, error] = await task.safeRun({ value: -5 });
|
|
@@ -151,7 +167,10 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
151
167
|
error: 'Value cannot be negative',
|
|
152
168
|
output: null
|
|
153
169
|
}]
|
|
154
|
-
}
|
|
170
|
+
},
|
|
171
|
+
metadata: {},
|
|
172
|
+
output: undefined,
|
|
173
|
+
taskName: undefined
|
|
155
174
|
});
|
|
156
175
|
});
|
|
157
176
|
it('should handle error records directly with push', async () => {
|
|
@@ -169,9 +188,13 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
169
188
|
}
|
|
170
189
|
};
|
|
171
190
|
// Create the task
|
|
172
|
-
const task = (0, task_1.createTask)(
|
|
173
|
-
|
|
174
|
-
|
|
191
|
+
const task = (0, task_1.createTask)({
|
|
192
|
+
schema,
|
|
193
|
+
boundaries,
|
|
194
|
+
fn: async function ({ value }, { fetchData }) {
|
|
195
|
+
const result = await fetchData(value);
|
|
196
|
+
return { result, success: true };
|
|
197
|
+
}
|
|
175
198
|
});
|
|
176
199
|
// Create a record tape
|
|
177
200
|
const tape = new index_1.RecordTape();
|
|
@@ -201,7 +224,10 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
201
224
|
output: null,
|
|
202
225
|
error: 'Value cannot be negative'
|
|
203
226
|
}]
|
|
204
|
-
}
|
|
227
|
+
},
|
|
228
|
+
metadata: {},
|
|
229
|
+
output: undefined,
|
|
230
|
+
taskName: undefined
|
|
205
231
|
});
|
|
206
232
|
});
|
|
207
233
|
it('should handle custom execution records with push', async () => {
|
|
@@ -211,6 +237,7 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
211
237
|
const customRecord = {
|
|
212
238
|
input: { value: 10 },
|
|
213
239
|
output: { result: 20 },
|
|
240
|
+
type: 'success',
|
|
214
241
|
boundaries: {
|
|
215
242
|
fetchData: [
|
|
216
243
|
{
|
|
@@ -238,7 +265,7 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
238
265
|
error: null
|
|
239
266
|
}]
|
|
240
267
|
},
|
|
241
|
-
|
|
268
|
+
metadata: {}
|
|
242
269
|
});
|
|
243
270
|
});
|
|
244
271
|
it('should handle execution records with Promise outputs correctly', async () => {
|
|
@@ -249,6 +276,7 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
249
276
|
const promiseRecord = {
|
|
250
277
|
input: { value: 15 },
|
|
251
278
|
output: promiseResult,
|
|
279
|
+
type: 'success',
|
|
252
280
|
boundaries: {
|
|
253
281
|
fetchData: [
|
|
254
282
|
{
|
|
@@ -275,7 +303,8 @@ describe('RecordTape safeRun integration tests', () => {
|
|
|
275
303
|
output: 30,
|
|
276
304
|
error: null
|
|
277
305
|
}]
|
|
278
|
-
}
|
|
306
|
+
},
|
|
307
|
+
metadata: {}
|
|
279
308
|
});
|
|
280
309
|
});
|
|
281
310
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-run.test.js","sourceRoot":"","sources":["../../src/tests/safe-run.test.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"safe-run.test.js","sourceRoot":"","sources":["../../src/tests/safe-run.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/save.test.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const fs_1 = __importDefault(require("fs"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const index_1 = require("../index");
|
|
9
|
-
const logFileData = '{"name":"name","
|
|
9
|
+
const logFileData = '{"name":"name","input":true,"output":true,"boundaries":{},"type":"success"}\n{"name":"name","input":true,"error":"invalid data","boundaries":{},"type":"error"}\n';
|
|
10
10
|
describe('Save to file async', () => {
|
|
11
11
|
it('Save async to existing file(should add new logs)', async () => {
|
|
12
12
|
const tapeFilePath = path_1.default.resolve(__dirname, './fixtures/save');
|
|
@@ -19,8 +19,8 @@ describe('Save to file async', () => {
|
|
|
19
19
|
}
|
|
20
20
|
const tape = new index_1.RecordTape({ path: tapeFilePath });
|
|
21
21
|
await tape.load();
|
|
22
|
-
tape.
|
|
23
|
-
tape.
|
|
22
|
+
tape.addLogRecord({ name: 'name', input: true, output: true, boundaries: {}, type: 'success' });
|
|
23
|
+
tape.addLogRecord({ name: 'name', input: true, error: 'invalid data', boundaries: {}, type: 'error' });
|
|
24
24
|
await tape.save();
|
|
25
25
|
const content = await fs_1.default.promises.readFile(tapeFilePath + '.log', 'utf8');
|
|
26
26
|
expect(tape.getLog().length).toBe(4);
|
|
@@ -30,8 +30,8 @@ describe('Save to file async', () => {
|
|
|
30
30
|
it('Save async to a path of invalid folder', async () => {
|
|
31
31
|
const tapeFilePath = path_1.default.resolve(__dirname, './nowhere/nop');
|
|
32
32
|
const tape = new index_1.RecordTape({ path: tapeFilePath });
|
|
33
|
-
tape.
|
|
34
|
-
tape.
|
|
33
|
+
tape.addLogRecord({ name: 'name', input: true, output: true, boundaries: {}, type: 'success' });
|
|
34
|
+
tape.addLogRecord({ name: 'name', input: true, error: 'invalid data', boundaries: {}, type: 'error' });
|
|
35
35
|
await expect(tape.save()).rejects.toThrow('Folder doesn\'t exists');
|
|
36
36
|
});
|
|
37
37
|
it('Save async to a log file that doesnt exist', async () => {
|
|
@@ -44,8 +44,8 @@ describe('Save to file async', () => {
|
|
|
44
44
|
// console.warn('Didnt found a file to unlink')
|
|
45
45
|
}
|
|
46
46
|
const tape = new index_1.RecordTape({ path: tapeFilePath });
|
|
47
|
-
tape.
|
|
48
|
-
tape.
|
|
47
|
+
tape.addLogRecord({ name: 'name', input: true, output: true, boundaries: {}, type: 'success' });
|
|
48
|
+
tape.addLogRecord({ name: 'name', input: true, error: 'invalid data', boundaries: {}, type: 'error' });
|
|
49
49
|
await tape.save();
|
|
50
50
|
const content = await fs_1.default.promises.readFile(tapeFilePath + '.log', 'utf8');
|
|
51
51
|
expect(content).toBe(logFileData);
|
|
@@ -62,8 +62,8 @@ describe('Save to file sync', () => {
|
|
|
62
62
|
// console.warn('didnt found a file to unlink')
|
|
63
63
|
}
|
|
64
64
|
const tape = new index_1.RecordTape({ path: tapeFilePath });
|
|
65
|
-
tape.
|
|
66
|
-
tape.
|
|
65
|
+
tape.addLogRecord({ name: 'name', input: true, output: true, boundaries: {}, type: 'success' });
|
|
66
|
+
tape.addLogRecord({ name: 'name', input: true, error: 'invalid data', boundaries: {}, type: 'error' });
|
|
67
67
|
tape.saveSync();
|
|
68
68
|
const content = fs_1.default.readFileSync(tapeFilePath + '.log', 'utf8');
|
|
69
69
|
expect(content).toBe(logFileData);
|
|
@@ -71,8 +71,8 @@ describe('Save to file sync', () => {
|
|
|
71
71
|
it('Save sync to a path of invalid folder', () => {
|
|
72
72
|
const tapeFilePath = path_1.default.resolve(__dirname, './nowhere/nop');
|
|
73
73
|
const tape = new index_1.RecordTape({ path: tapeFilePath });
|
|
74
|
-
tape.
|
|
75
|
-
tape.
|
|
74
|
+
tape.addLogRecord({ name: 'name', input: true, output: true, boundaries: {}, type: 'success' });
|
|
75
|
+
tape.addLogRecord({ name: 'name', input: true, error: 'invalid data', boundaries: {}, type: 'error' });
|
|
76
76
|
expect(() => tape.saveSync()).toThrow('Folder doesn\'t exists');
|
|
77
77
|
});
|
|
78
78
|
it('Save sync to a log file that doesnt exist', () => {
|
|
@@ -85,8 +85,8 @@ describe('Save to file sync', () => {
|
|
|
85
85
|
// console.warn('Didnt found a file to unlink')
|
|
86
86
|
}
|
|
87
87
|
const tape = new index_1.RecordTape({ path: tapeFilePath });
|
|
88
|
-
tape.
|
|
89
|
-
tape.
|
|
88
|
+
tape.addLogRecord({ name: 'name', input: true, output: true, boundaries: {}, type: 'success' });
|
|
89
|
+
tape.addLogRecord({ name: 'name', input: true, error: 'invalid data', boundaries: {}, type: 'error' });
|
|
90
90
|
tape.saveSync();
|
|
91
91
|
const content = fs_1.default.readFileSync(tapeFilePath + '.log', 'utf8');
|
|
92
92
|
expect(content).toBe(logFileData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.test.js","sourceRoot":"","sources":["../../src/tests/save.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,gDAAuB;AACvB,oCAAqC;AAErC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"save.test.js","sourceRoot":"","sources":["../../src/tests/save.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,15 @@ describe('Task listener', () => {
|
|
|
9
9
|
return { value: 1, foo: true };
|
|
10
10
|
});
|
|
11
11
|
task.addListener((record) => {
|
|
12
|
-
const
|
|
13
|
-
? { input: record.input, error: record.error, boundaries: record.boundaries }
|
|
14
|
-
: { input: record.input, output: record.output, boundaries: record.boundaries };
|
|
15
|
-
|
|
12
|
+
const executionRecord = record.error
|
|
13
|
+
? { input: record.input, error: record.error, boundaries: record.boundaries || {}, type: 'error' }
|
|
14
|
+
: { input: record.input, output: record.output, boundaries: record.boundaries || {}, type: 'success' };
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
+
tape.push('test', executionRecord);
|
|
16
17
|
});
|
|
17
18
|
await task.run({});
|
|
18
19
|
expect(tape.getLog()).toEqual([
|
|
19
|
-
{ name: 'test', type: 'success', input: {}, output: { value: 1, foo: true }, boundaries: {} }
|
|
20
|
+
{ name: 'test', type: 'success', input: {}, output: { value: 1, foo: true }, boundaries: {}, metadata: {} }
|
|
20
21
|
]);
|
|
21
22
|
});
|
|
22
23
|
it('Should has errors and sucess items', async () => {
|
|
@@ -28,10 +29,11 @@ describe('Task listener', () => {
|
|
|
28
29
|
});
|
|
29
30
|
const tape = new index_1.RecordTape({});
|
|
30
31
|
task.addListener((record) => {
|
|
31
|
-
const
|
|
32
|
-
? { input: record.input, error: record.error, boundaries: record.boundaries }
|
|
33
|
-
: { input: record.input, output: record.output, boundaries: record.boundaries };
|
|
34
|
-
|
|
32
|
+
const executionRecord = record.error
|
|
33
|
+
? { input: record.input, error: record.error, boundaries: record.boundaries || {}, type: 'error' }
|
|
34
|
+
: { input: record.input, output: record.output, boundaries: record.boundaries || {}, type: 'success' };
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
tape.push('test', executionRecord);
|
|
35
37
|
});
|
|
36
38
|
try {
|
|
37
39
|
await task.run({ value: 5 });
|
|
@@ -42,8 +44,8 @@ describe('Task listener', () => {
|
|
|
42
44
|
await task.run({ value: 15 });
|
|
43
45
|
const log = tape.getLog();
|
|
44
46
|
expect(log).toEqual([
|
|
45
|
-
{ name: 'test', type: 'error', input: { value: 5 }, error: 'Value is not between 10 and 20', boundaries: {} },
|
|
46
|
-
{ name: 'test', type: 'success', input: { value: 15 }, output: { result: 30 }, boundaries: {} }
|
|
47
|
+
{ name: 'test', type: 'error', input: { value: 5 }, error: 'Value is not between 10 and 20', boundaries: {}, metadata: {}, output: undefined },
|
|
48
|
+
{ name: 'test', type: 'success', input: { value: 15 }, output: { result: 30 }, boundaries: {}, metadata: {} }
|
|
47
49
|
]);
|
|
48
50
|
});
|
|
49
51
|
it('Should get types from task', async () => {
|
|
@@ -58,16 +60,21 @@ describe('Task listener', () => {
|
|
|
58
60
|
}
|
|
59
61
|
};
|
|
60
62
|
// Create the task using createTask
|
|
61
|
-
const task = (0, task_1.createTask)(
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
const task = (0, task_1.createTask)({
|
|
64
|
+
schema,
|
|
65
|
+
boundaries,
|
|
66
|
+
fn: async (input, { multiply }) => {
|
|
67
|
+
const result = await multiply(input.value);
|
|
68
|
+
return { result };
|
|
69
|
+
}
|
|
64
70
|
});
|
|
65
71
|
const tape = new index_1.RecordTape({});
|
|
66
72
|
task.addListener((record) => {
|
|
67
|
-
const
|
|
68
|
-
? { input: record.input, error: record.error, boundaries: record.boundaries }
|
|
69
|
-
: { input: record.input, output: record.output, boundaries: record.boundaries };
|
|
70
|
-
|
|
73
|
+
const executionRecord = record.error
|
|
74
|
+
? { input: record.input, error: record.error, boundaries: record.boundaries || {}, type: 'error' }
|
|
75
|
+
: { input: record.input, output: record.output, boundaries: record.boundaries || {}, type: 'success' };
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
+
tape.push('test', executionRecord);
|
|
71
78
|
});
|
|
72
79
|
await task.run({ value: 5 });
|
|
73
80
|
expect(tape.getLog()).toEqual([
|
|
@@ -77,8 +84,9 @@ describe('Task listener', () => {
|
|
|
77
84
|
input: { value: 5 },
|
|
78
85
|
output: { result: 10 },
|
|
79
86
|
boundaries: {
|
|
80
|
-
multiply: [{ input: [5], output: 10 }]
|
|
81
|
-
}
|
|
87
|
+
multiply: [{ input: [5], output: 10, error: null }]
|
|
88
|
+
},
|
|
89
|
+
metadata: {}
|
|
82
90
|
}
|
|
83
91
|
]);
|
|
84
92
|
});
|
|
@@ -95,15 +103,20 @@ describe('Task listener', () => {
|
|
|
95
103
|
}
|
|
96
104
|
};
|
|
97
105
|
// Create the task using createTask
|
|
98
|
-
const task = (0, task_1.createTask)(
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
const task = (0, task_1.createTask)({
|
|
107
|
+
schema,
|
|
108
|
+
boundaries,
|
|
109
|
+
fn: async (input, { multiply }) => {
|
|
110
|
+
const result = await multiply(input.value);
|
|
111
|
+
return { result };
|
|
112
|
+
}
|
|
101
113
|
});
|
|
102
114
|
task.addListener((record) => {
|
|
103
|
-
const
|
|
104
|
-
? { input: record.input, error: record.error, boundaries: record.boundaries }
|
|
105
|
-
: { input: record.input, output: record.output, boundaries: record.boundaries };
|
|
106
|
-
|
|
115
|
+
const executionRecord = record.error
|
|
116
|
+
? { input: record.input, error: record.error, boundaries: record.boundaries || {}, type: 'error' }
|
|
117
|
+
: { input: record.input, output: record.output, boundaries: record.boundaries || {}, type: 'success' };
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
119
|
+
tape.push('test', executionRecord);
|
|
107
120
|
});
|
|
108
121
|
await task.run({ value: 5 });
|
|
109
122
|
expect(tape.getLog()).toEqual([
|
|
@@ -113,8 +126,9 @@ describe('Task listener', () => {
|
|
|
113
126
|
input: { value: 5 },
|
|
114
127
|
output: { result: 10 },
|
|
115
128
|
boundaries: {
|
|
116
|
-
multiply: [{ input: [5], output: 10 }]
|
|
117
|
-
}
|
|
129
|
+
multiply: [{ input: [5], output: 10, error: null }]
|
|
130
|
+
},
|
|
131
|
+
metadata: {}
|
|
118
132
|
}
|
|
119
133
|
]);
|
|
120
134
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-listener.test.js","sourceRoot":"","sources":["../../src/tests/task-listener.test.ts"],"names":[],"mappings":";;AAAA,0CAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"task-listener.test.js","sourceRoot":"","sources":["../../src/tests/task-listener.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgehive/record-tape",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"access": "public",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@forgehive/schema": "^0.1.4",
|
|
11
|
-
"@forgehive/task": "^0.
|
|
11
|
+
"@forgehive/task": "^0.2.0"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"typescript": "^5.3.3"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@forgehive/
|
|
23
|
-
"@forgehive/
|
|
22
|
+
"@forgehive/schema": "0.1.4",
|
|
23
|
+
"@forgehive/task": "0.2.0"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "tsc",
|