bullmq 1.74.3 → 1.76.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/bullmq.d.ts +424 -16
- package/dist/cjs/classes/index.d.ts +10 -4
- package/dist/cjs/classes/index.js +10 -4
- package/dist/cjs/classes/index.js.map +1 -1
- package/dist/cjs/classes/queue-getters.d.ts +16 -0
- package/dist/cjs/classes/queue-getters.js +39 -0
- package/dist/cjs/classes/queue-getters.js.map +1 -1
- package/dist/cjs/classes/queue.d.ts +5 -9
- package/dist/cjs/classes/queue.js +3 -3
- package/dist/cjs/classes/queue.js.map +1 -1
- package/dist/cjs/classes/redis-connection.js +1 -1
- package/dist/cjs/classes/redis-connection.js.map +1 -1
- package/dist/cjs/classes/scripts.d.ts +3 -3
- package/dist/cjs/classes/scripts.js +8 -5
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/commands/includes/collectMetrics.lua +42 -0
- package/dist/cjs/commands/moveToActive-8.lua +14 -4
- package/dist/cjs/commands/{moveToFinished-8.lua → moveToFinished-9.lua} +17 -8
- package/dist/cjs/commands/obliterate-2.lua +13 -4
- package/dist/cjs/commands/retryJobs-4.lua +2 -2
- package/dist/cjs/enums/index.d.ts +1 -0
- package/dist/cjs/enums/index.js +1 -0
- package/dist/cjs/enums/index.js.map +1 -1
- package/dist/cjs/enums/metrics-time.d.ts +10 -0
- package/dist/cjs/enums/metrics-time.js +15 -0
- package/dist/cjs/enums/metrics-time.js.map +1 -0
- package/dist/cjs/interfaces/index.d.ts +2 -0
- package/dist/cjs/interfaces/index.js +2 -0
- package/dist/cjs/interfaces/index.js.map +1 -1
- package/dist/cjs/interfaces/metrics-options.d.ts +12 -0
- package/dist/cjs/{types/finished-target.js → interfaces/metrics-options.js} +1 -1
- package/dist/cjs/interfaces/metrics-options.js.map +1 -0
- package/dist/cjs/interfaces/metrics.d.ts +9 -0
- package/dist/cjs/interfaces/metrics.js +3 -0
- package/dist/cjs/interfaces/metrics.js.map +1 -0
- package/dist/cjs/interfaces/worker-options.d.ts +7 -0
- package/dist/{esm/types/finished-target.d.ts → cjs/types/finished-status.d.ts} +1 -1
- package/dist/cjs/types/finished-status.js +3 -0
- package/dist/cjs/types/finished-status.js.map +1 -0
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.js +1 -1
- package/dist/cjs/types/job-type.d.ts +2 -2
- package/dist/esm/classes/index.d.ts +10 -4
- package/dist/esm/classes/index.js +10 -4
- package/dist/esm/classes/index.js.map +1 -1
- package/dist/esm/classes/queue-getters.d.ts +16 -0
- package/dist/esm/classes/queue-getters.js +39 -0
- package/dist/esm/classes/queue-getters.js.map +1 -1
- package/dist/esm/classes/queue.d.ts +5 -9
- package/dist/esm/classes/queue.js +3 -3
- package/dist/esm/classes/queue.js.map +1 -1
- package/dist/esm/classes/redis-connection.js +1 -1
- package/dist/esm/classes/redis-connection.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +3 -3
- package/dist/esm/classes/scripts.js +8 -5
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/commands/includes/collectMetrics.lua +42 -0
- package/dist/esm/commands/moveToActive-8.lua +14 -4
- package/dist/esm/commands/{moveToFinished-8.lua → moveToFinished-9.lua} +17 -8
- package/dist/esm/commands/obliterate-2.lua +13 -4
- package/dist/esm/commands/retryJobs-4.lua +2 -2
- package/dist/esm/enums/index.d.ts +1 -0
- package/dist/esm/enums/index.js +1 -0
- package/dist/esm/enums/index.js.map +1 -1
- package/dist/esm/enums/metrics-time.d.ts +10 -0
- package/dist/esm/enums/metrics-time.js +12 -0
- package/dist/esm/enums/metrics-time.js.map +1 -0
- package/dist/esm/interfaces/index.d.ts +2 -0
- package/dist/esm/interfaces/index.js +2 -0
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/interfaces/metrics-options.d.ts +12 -0
- package/dist/esm/interfaces/metrics-options.js +1 -0
- package/dist/esm/interfaces/metrics-options.js.map +1 -0
- package/dist/esm/interfaces/metrics.d.ts +9 -0
- package/dist/esm/interfaces/metrics.js +1 -0
- package/dist/esm/interfaces/metrics.js.map +1 -0
- package/dist/esm/interfaces/worker-options.d.ts +7 -0
- package/dist/{cjs/types/finished-target.d.ts → esm/types/finished-status.d.ts} +1 -1
- package/dist/esm/types/finished-status.js +1 -0
- package/dist/esm/types/finished-status.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/types/job-type.d.ts +2 -2
- package/package.json +1 -1
- package/dist/cjs/types/finished-target.js.map +0 -1
- package/dist/esm/types/finished-target.js +0 -1
- package/dist/esm/types/finished-target.js.map +0 -1
@@ -0,0 +1,42 @@
|
|
1
|
+
--[[
|
2
|
+
Functions to collect metrics based on a current and previous count of jobs.
|
3
|
+
Granualarity is fixed at 1 minute.
|
4
|
+
]] local function collectMetrics(metaKey, dataPointsList, maxDataPoints,
|
5
|
+
timestamp)
|
6
|
+
-- Increment current count
|
7
|
+
local count = rcall("HINCRBY", metaKey, "count", 1) - 1
|
8
|
+
|
9
|
+
-- Compute how many data points we need to add to the list, N.
|
10
|
+
local prevTS = rcall("HGET", metaKey, "prevTS")
|
11
|
+
|
12
|
+
if not prevTS then
|
13
|
+
-- If prevTS is nil, set it to the current timestamp
|
14
|
+
rcall("HSET", metaKey, "prevTS", timestamp, "prevCount", 0)
|
15
|
+
return
|
16
|
+
end
|
17
|
+
|
18
|
+
local N = math.floor((timestamp - prevTS) / 60000)
|
19
|
+
|
20
|
+
if N > 0 then
|
21
|
+
local delta = count - rcall("HGET", metaKey, "prevCount")
|
22
|
+
-- If N > 1, add N-1 zeros to the list
|
23
|
+
if N > 1 then
|
24
|
+
local points = {}
|
25
|
+
points[1] = delta
|
26
|
+
for i = 2, N do
|
27
|
+
points[i] = 0
|
28
|
+
end
|
29
|
+
rcall("LPUSH", dataPointsList, unpack(points))
|
30
|
+
else
|
31
|
+
-- LPUSH delta to the list
|
32
|
+
rcall("LPUSH", dataPointsList, delta)
|
33
|
+
end
|
34
|
+
|
35
|
+
-- LTRIM to keep list to its max size
|
36
|
+
rcall("LTRIM", dataPointsList, 0, maxDataPoints - 1)
|
37
|
+
|
38
|
+
-- update prev count with current count
|
39
|
+
rcall("HSET", metaKey, "prevCount", count, "prevTS", timestamp)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -55,16 +55,26 @@ if jobId then
|
|
55
55
|
if(maxJobs) then
|
56
56
|
local rateLimiterKey = KEYS[6];
|
57
57
|
|
58
|
+
local groupKey
|
58
59
|
if(ARGV[8]) then
|
59
|
-
|
60
|
-
if groupKey ~=
|
60
|
+
groupKey = string.match(jobId, "[^:]+$")
|
61
|
+
if groupKey ~= jobId then
|
61
62
|
rateLimiterKey = rateLimiterKey .. ":" .. groupKey
|
62
63
|
end
|
63
64
|
end
|
64
65
|
|
65
|
-
local jobCounter
|
66
|
+
local jobCounter
|
67
|
+
|
68
|
+
if groupKey ~= nil then
|
69
|
+
if rateLimiterKey ~= KEYS[6] then
|
70
|
+
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
71
|
+
end
|
72
|
+
else
|
73
|
+
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
74
|
+
end
|
75
|
+
|
66
76
|
-- check if rate limit hit
|
67
|
-
if jobCounter > maxJobs then
|
77
|
+
if jobCounter ~= nil and jobCounter > maxJobs then
|
68
78
|
local exceedingJobs = jobCounter - maxJobs
|
69
79
|
local expireTime = tonumber(rcall("PTTL", rateLimiterKey))
|
70
80
|
local delay = expireTime + ((exceedingJobs - 1) * ARGV[7]) / maxJobs;
|
@@ -13,6 +13,7 @@
|
|
13
13
|
KEYS[6] event stream key
|
14
14
|
KEYS[7] meta key
|
15
15
|
KEYS[8] stalled key
|
16
|
+
KEYS[9] metrics key
|
16
17
|
|
17
18
|
ARGV[1] jobId
|
18
19
|
ARGV[2] timestamp
|
@@ -30,6 +31,7 @@
|
|
30
31
|
ARGV[14] parentKey
|
31
32
|
ARGV[15] max attempts
|
32
33
|
ARGV[16] attemptsMade
|
34
|
+
ARGV[17] maxMetricsSize
|
33
35
|
|
34
36
|
Output:
|
35
37
|
0 OK
|
@@ -40,15 +42,15 @@
|
|
40
42
|
|
41
43
|
Events:
|
42
44
|
'completed/failed'
|
43
|
-
]]
|
44
|
-
local rcall = redis.call
|
45
|
+
]] local rcall = redis.call
|
45
46
|
|
46
|
-
|
47
|
+
--- Includes
|
47
48
|
--- @include "includes/destructureJobKey"
|
48
49
|
--- @include "includes/moveJobFromWaitToActive"
|
49
50
|
--- @include "includes/removeJob"
|
50
51
|
--- @include "includes/trimEvents"
|
51
52
|
--- @include "includes/updateParentDepsIfNeeded"
|
53
|
+
--- @include "includes/collectMetrics"
|
52
54
|
|
53
55
|
local jobIdKey = KEYS[3]
|
54
56
|
if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
@@ -72,9 +74,7 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
72
74
|
-- Remove from active list (if not active we shall return error)
|
73
75
|
local numRemovedElements = rcall("LREM", KEYS[1], -1, jobId)
|
74
76
|
|
75
|
-
if (numRemovedElements < 1) then
|
76
|
-
return -3
|
77
|
-
end
|
77
|
+
if (numRemovedElements < 1) then return -3 end
|
78
78
|
|
79
79
|
-- Trim events before emiting them to avoid trimming events emitted in this script
|
80
80
|
trimEvents(KEYS[7], KEYS[6])
|
@@ -117,14 +117,18 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
117
117
|
if maxAge ~= nil then
|
118
118
|
local start = timestamp - maxAge * 1000
|
119
119
|
local jobIds = rcall("ZREVRANGEBYSCORE", targetSet, start, "-inf")
|
120
|
-
for i, jobId in ipairs(jobIds) do
|
120
|
+
for i, jobId in ipairs(jobIds) do
|
121
|
+
removeJob(jobId, false, prefix)
|
122
|
+
end
|
121
123
|
rcall("ZREMRANGEBYSCORE", targetSet, "-inf", start)
|
122
124
|
end
|
123
125
|
|
124
126
|
if maxCount ~= nil and maxCount > 0 then
|
125
127
|
local start = maxCount
|
126
128
|
local jobIds = rcall("ZREVRANGE", targetSet, start, -1)
|
127
|
-
for i, jobId in ipairs(jobIds) do
|
129
|
+
for i, jobId in ipairs(jobIds) do
|
130
|
+
removeJob(jobId, false, prefix)
|
131
|
+
end
|
128
132
|
rcall("ZREMRANGEBYRANK", targetSet, 0, -(maxCount + 1))
|
129
133
|
end
|
130
134
|
else
|
@@ -141,6 +145,11 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
141
145
|
end
|
142
146
|
end
|
143
147
|
|
148
|
+
-- Collect metrics
|
149
|
+
if ARGV[17] ~= "" then
|
150
|
+
collectMetrics(KEYS[9], KEYS[9]..':data', ARGV[17], timestamp)
|
151
|
+
end
|
152
|
+
|
144
153
|
-- Try to get next job to avoid an extra roundtrip if the queue is not closing,
|
145
154
|
-- and not rate limited.
|
146
155
|
if (ARGV[8] == "1") then
|
@@ -75,10 +75,19 @@ if(maxCount <= 0) then
|
|
75
75
|
end
|
76
76
|
|
77
77
|
if(maxCount > 0) then
|
78
|
-
rcall("DEL",
|
79
|
-
baseKey .. '
|
80
|
-
baseKey .. '
|
81
|
-
baseKey .. '
|
78
|
+
rcall("DEL",
|
79
|
+
baseKey .. 'priority',
|
80
|
+
baseKey .. 'events',
|
81
|
+
baseKey .. 'delay',
|
82
|
+
baseKey .. 'stalled-check',
|
83
|
+
baseKey .. 'stalled',
|
84
|
+
baseKey .. 'id',
|
85
|
+
baseKey .. 'meta',
|
86
|
+
baseKey .. 'repeat',
|
87
|
+
baseKey .. 'metrics:completed',
|
88
|
+
baseKey .. 'metrics:completed:data',
|
89
|
+
baseKey .. 'metrics:failed',
|
90
|
+
baseKey .. 'metrics:failed:data')
|
82
91
|
return 0
|
83
92
|
else
|
84
93
|
return 1
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Input:
|
5
5
|
KEYS[1] base key
|
6
6
|
KEYS[2] events stream
|
7
|
-
KEYS[3]
|
7
|
+
KEYS[3] state key (failed, completed)
|
8
8
|
KEYS[4] wait state key
|
9
9
|
|
10
10
|
ARGV[1] count
|
@@ -28,7 +28,7 @@ local jobs = rcall('ZRANGEBYSCORE', KEYS[3], 0, timestamp, 'LIMIT', 0, maxCount)
|
|
28
28
|
if (#jobs > 0) then
|
29
29
|
for i, key in ipairs(jobs) do
|
30
30
|
local jobKey = baseKey .. key
|
31
|
-
rcall("HDEL", jobKey, "finishedOn", "processedOn", "failedReason")
|
31
|
+
rcall("HDEL", jobKey, "finishedOn", "processedOn", "failedReason", "returnvalue")
|
32
32
|
|
33
33
|
-- Emit waiting event
|
34
34
|
rcall("XADD", KEYS[2], "*", "event", "waiting", "jobId", key);
|
package/dist/esm/enums/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export var MetricsTime;
|
2
|
+
(function (MetricsTime) {
|
3
|
+
MetricsTime[MetricsTime["ONE_MINUTE"] = 1] = "ONE_MINUTE";
|
4
|
+
MetricsTime[MetricsTime["FIVE_MINUTES"] = 5] = "FIVE_MINUTES";
|
5
|
+
MetricsTime[MetricsTime["FIFTEEN_MINUTES"] = 15] = "FIFTEEN_MINUTES";
|
6
|
+
MetricsTime[MetricsTime["THIRTY_MINUTES"] = 30] = "THIRTY_MINUTES";
|
7
|
+
MetricsTime[MetricsTime["ONE_HOUR"] = 60] = "ONE_HOUR";
|
8
|
+
MetricsTime[MetricsTime["ONE_WEEK"] = 10080] = "ONE_WEEK";
|
9
|
+
MetricsTime[MetricsTime["TWO_WEEKS"] = 20160] = "TWO_WEEKS";
|
10
|
+
MetricsTime[MetricsTime["ONE_MONTH"] = 80640] = "ONE_MONTH";
|
11
|
+
})(MetricsTime || (MetricsTime = {}));
|
12
|
+
//# sourceMappingURL=metrics-time.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"metrics-time.js","sourceRoot":"","sources":["../../../src/enums/metrics-time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,yDAAc,CAAA;IACd,6DAAgB,CAAA;IAChB,oEAAoB,CAAA;IACpB,kEAAmB,CAAA;IACnB,sDAAa,CAAA;IACb,yDAAsB,CAAA;IACtB,2DAA2B,CAAA;IAC3B,2DAA+B,CAAA;AACjC,CAAC,EATW,WAAW,KAAX,WAAW,QAStB"}
|
@@ -7,6 +7,8 @@ export * from './flow-job';
|
|
7
7
|
export * from './job-json';
|
8
8
|
export * from './jobs-options';
|
9
9
|
export * from './keep-jobs';
|
10
|
+
export * from './metrics-options';
|
11
|
+
export * from './metrics';
|
10
12
|
export * from './parent-command';
|
11
13
|
export * from './parent-message';
|
12
14
|
export * from './parent';
|
@@ -7,6 +7,8 @@ export * from './flow-job';
|
|
7
7
|
export * from './job-json';
|
8
8
|
export * from './jobs-options';
|
9
9
|
export * from './keep-jobs';
|
10
|
+
export * from './metrics-options';
|
11
|
+
export * from './metrics';
|
10
12
|
export * from './parent-command';
|
11
13
|
export * from './parent-message';
|
12
14
|
export * from './parent';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=metrics-options.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"metrics-options.js","sourceRoot":"","sources":["../../../src/interfaces/metrics-options.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=metrics.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/interfaces/metrics.ts"],"names":[],"mappings":""}
|
@@ -2,6 +2,7 @@ import { Job } from '../classes/job';
|
|
2
2
|
import { AdvancedOptions } from './advanced-options';
|
3
3
|
import { QueueBaseOptions } from './queue-options';
|
4
4
|
import { RateLimiterOptions } from './rate-limiter-options';
|
5
|
+
import { MetricsOptions } from './metrics-options';
|
5
6
|
/**
|
6
7
|
* An async function that receives `Job`s and handles them.
|
7
8
|
*/
|
@@ -19,9 +20,15 @@ export interface WorkerOptions extends QueueBaseOptions {
|
|
19
20
|
*/
|
20
21
|
concurrency?: number;
|
21
22
|
/**
|
23
|
+
* Enable rate limiter
|
22
24
|
* @see {@link https://docs.bullmq.io/guide/rate-limiting}
|
23
25
|
*/
|
24
26
|
limiter?: RateLimiterOptions;
|
27
|
+
/**
|
28
|
+
* Enable collect metrics.
|
29
|
+
* @see {@link https://docs.bullmq.io/guide/metrics}
|
30
|
+
*/
|
31
|
+
metrics?: MetricsOptions;
|
25
32
|
skipDelayCheck?: boolean;
|
26
33
|
drainDelay?: number;
|
27
34
|
lockDuration?: number;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare type
|
1
|
+
export declare type FinishedStatus = 'completed' | 'failed';
|
2
2
|
export declare type FinishedPropValAttribute = 'returnvalue' | 'failedReason';
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=finished-status.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"finished-status.js","sourceRoot":"","sources":["../../../src/types/finished-status.ts"],"names":[],"mappings":""}
|
package/dist/esm/types/index.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
import {
|
2
|
-
export declare type JobState =
|
1
|
+
import { FinishedStatus } from './finished-status';
|
2
|
+
export declare type JobState = FinishedStatus | 'active' | 'delayed' | 'waiting' | 'waiting-children';
|
3
3
|
export declare type JobType = JobState | 'paused' | 'repeat' | 'wait';
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"finished-target.js","sourceRoot":"","sources":["../../../src/types/finished-target.ts"],"names":[],"mappings":""}
|
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=finished-target.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"finished-target.js","sourceRoot":"","sources":["../../../src/types/finished-target.ts"],"names":[],"mappings":""}
|