@chkit/plugin-backfill 0.1.0-beta.2 → 0.1.0-beta.21
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 +170 -0
- package/dist/args.d.ts +109 -6
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +73 -97
- package/dist/args.js.map +1 -1
- package/dist/async-backfill.d.ts +64 -0
- package/dist/async-backfill.d.ts.map +1 -0
- package/dist/async-backfill.js +251 -0
- package/dist/async-backfill.js.map +1 -0
- package/dist/check.d.ts +9 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +79 -0
- package/dist/check.js.map +1 -0
- package/dist/chunking/analyze.d.ts +8 -0
- package/dist/chunking/analyze.d.ts.map +1 -0
- package/dist/chunking/analyze.js +8 -0
- package/dist/chunking/analyze.js.map +1 -0
- package/dist/chunking/boundary-codec.d.ts +10 -0
- package/dist/chunking/boundary-codec.d.ts.map +1 -0
- package/dist/chunking/boundary-codec.js +79 -0
- package/dist/chunking/boundary-codec.js.map +1 -0
- package/dist/chunking/build.d.ts +11 -0
- package/dist/chunking/build.d.ts.map +1 -0
- package/dist/chunking/build.js +51 -0
- package/dist/chunking/build.js.map +1 -0
- package/dist/chunking/e2e/constants.d.ts +2 -0
- package/dist/chunking/e2e/constants.d.ts.map +1 -0
- package/dist/chunking/e2e/constants.js +2 -0
- package/dist/chunking/e2e/constants.js.map +1 -0
- package/dist/chunking/e2e/seed-datasets.script.d.ts +20 -0
- package/dist/chunking/e2e/seed-datasets.script.d.ts.map +1 -0
- package/dist/chunking/e2e/seed-datasets.script.js +134 -0
- package/dist/chunking/e2e/seed-datasets.script.js.map +1 -0
- package/dist/chunking/introspect.d.ts +40 -0
- package/dist/chunking/introspect.d.ts.map +1 -0
- package/dist/chunking/introspect.js +187 -0
- package/dist/chunking/introspect.js.map +1 -0
- package/dist/chunking/partition-slices.d.ts +14 -0
- package/dist/chunking/partition-slices.d.ts.map +1 -0
- package/dist/chunking/partition-slices.js +111 -0
- package/dist/chunking/partition-slices.js.map +1 -0
- package/dist/chunking/planner.d.ts +3 -0
- package/dist/chunking/planner.d.ts.map +1 -0
- package/dist/chunking/planner.js +343 -0
- package/dist/chunking/planner.js.map +1 -0
- package/dist/chunking/services/distribution-source.d.ts +11 -0
- package/dist/chunking/services/distribution-source.d.ts.map +1 -0
- package/dist/chunking/services/distribution-source.js +60 -0
- package/dist/chunking/services/distribution-source.js.map +1 -0
- package/dist/chunking/services/metadata-source.d.ts +4 -0
- package/dist/chunking/services/metadata-source.d.ts.map +1 -0
- package/dist/chunking/services/metadata-source.js +138 -0
- package/dist/chunking/services/metadata-source.js.map +1 -0
- package/dist/chunking/services/row-probe.d.ts +14 -0
- package/dist/chunking/services/row-probe.d.ts.map +1 -0
- package/dist/chunking/services/row-probe.js +62 -0
- package/dist/chunking/services/row-probe.js.map +1 -0
- package/dist/chunking/splitter.d.ts +20 -0
- package/dist/chunking/splitter.d.ts.map +1 -0
- package/dist/chunking/splitter.js +76 -0
- package/dist/chunking/splitter.js.map +1 -0
- package/dist/chunking/sql.d.ts +20 -0
- package/dist/chunking/sql.d.ts.map +1 -0
- package/dist/chunking/sql.js +304 -0
- package/dist/chunking/sql.js.map +1 -0
- package/dist/chunking/strategies/equal-width-split.d.ts +4 -0
- package/dist/chunking/strategies/equal-width-split.d.ts.map +1 -0
- package/dist/chunking/strategies/equal-width-split.js +46 -0
- package/dist/chunking/strategies/equal-width-split.js.map +1 -0
- package/dist/chunking/strategies/group-by-key-split.d.ts +3 -0
- package/dist/chunking/strategies/group-by-key-split.d.ts.map +1 -0
- package/dist/chunking/strategies/group-by-key-split.js +54 -0
- package/dist/chunking/strategies/group-by-key-split.js.map +1 -0
- package/dist/chunking/strategies/metadata-single-chunk.d.ts +3 -0
- package/dist/chunking/strategies/metadata-single-chunk.d.ts.map +1 -0
- package/dist/chunking/strategies/metadata-single-chunk.js +5 -0
- package/dist/chunking/strategies/metadata-single-chunk.js.map +1 -0
- package/dist/chunking/strategies/quantile-range-split.d.ts +5 -0
- package/dist/chunking/strategies/quantile-range-split.d.ts.map +1 -0
- package/dist/chunking/strategies/quantile-range-split.js +132 -0
- package/dist/chunking/strategies/quantile-range-split.js.map +1 -0
- package/dist/chunking/strategies/refinement.d.ts +4 -0
- package/dist/chunking/strategies/refinement.d.ts.map +1 -0
- package/dist/chunking/strategies/refinement.js +61 -0
- package/dist/chunking/strategies/refinement.js.map +1 -0
- package/dist/chunking/strategies/string-prefix-split.d.ts +4 -0
- package/dist/chunking/strategies/string-prefix-split.d.ts.map +1 -0
- package/dist/chunking/strategies/string-prefix-split.js +73 -0
- package/dist/chunking/strategies/string-prefix-split.js.map +1 -0
- package/dist/chunking/strategies/temporal-bucket-split.d.ts +4 -0
- package/dist/chunking/strategies/temporal-bucket-split.d.ts.map +1 -0
- package/dist/chunking/strategies/temporal-bucket-split.js +67 -0
- package/dist/chunking/strategies/temporal-bucket-split.js.map +1 -0
- package/dist/chunking/strategy-policy.d.ts +3 -0
- package/dist/chunking/strategy-policy.d.ts.map +1 -0
- package/dist/chunking/strategy-policy.js +4 -0
- package/dist/chunking/strategy-policy.js.map +1 -0
- package/dist/chunking/types.d.ts +139 -0
- package/dist/chunking/types.d.ts.map +1 -0
- package/dist/chunking/types.js +2 -0
- package/dist/chunking/types.js.map +1 -0
- package/dist/chunking/utils/binary-string.d.ts +8 -0
- package/dist/chunking/utils/binary-string.d.ts.map +1 -0
- package/dist/chunking/utils/binary-string.js +52 -0
- package/dist/chunking/utils/binary-string.js.map +1 -0
- package/dist/chunking/utils/ids.d.ts +4 -0
- package/dist/chunking/utils/ids.d.ts.map +1 -0
- package/dist/chunking/utils/ids.js +11 -0
- package/dist/chunking/utils/ids.js.map +1 -0
- package/dist/chunking/utils/ranges.d.ts +5 -0
- package/dist/chunking/utils/ranges.d.ts.map +1 -0
- package/dist/chunking/utils/ranges.js +19 -0
- package/dist/chunking/utils/ranges.js.map +1 -0
- package/dist/detect.d.ts +13 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/detect.js +113 -0
- package/dist/detect.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +12 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +61 -0
- package/dist/logging.js.map +1 -0
- package/dist/options.d.ts +151 -4
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +161 -109
- package/dist/options.js.map +1 -1
- package/dist/payload.d.ts +7 -17
- package/dist/payload.d.ts.map +1 -1
- package/dist/payload.js +7 -19
- package/dist/payload.js.map +1 -1
- package/dist/planner.d.ts +10 -8
- package/dist/planner.d.ts.map +1 -1
- package/dist/planner.js +76 -97
- package/dist/planner.js.map +1 -1
- package/dist/plugin.d.ts +4 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +311 -215
- package/dist/plugin.js.map +1 -1
- package/dist/queries.d.ts +21 -0
- package/dist/queries.d.ts.map +1 -0
- package/dist/queries.js +113 -0
- package/dist/queries.js.map +1 -0
- package/dist/runtime.d.ts +14 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +162 -83
- package/dist/runtime.js.map +1 -1
- package/dist/sdk.d.ts +12 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +9 -0
- package/dist/sdk.js.map +1 -0
- package/dist/state.d.ts +16 -28
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +73 -127
- package/dist/state.js.map +1 -1
- package/dist/table-config.d.ts +9 -0
- package/dist/table-config.d.ts.map +1 -0
- package/dist/table-config.js +2 -0
- package/dist/table-config.js.map +1 -0
- package/dist/types.d.ts +49 -114
- package/dist/types.d.ts.map +1 -1
- package/package.json +31 -2
package/dist/planner.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { ResolvedChxConfig } from '@chkit/core';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PlanOptions } from './options.js';
|
|
3
|
+
import type { BuildBackfillPlanOutput } from './types.js';
|
|
3
4
|
export declare function buildBackfillPlan(input: {
|
|
4
|
-
|
|
5
|
-
from: string;
|
|
6
|
-
to: string;
|
|
5
|
+
opts: PlanOptions;
|
|
7
6
|
configPath: string;
|
|
8
|
-
config: Pick<ResolvedChxConfig, 'metaDir'>;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
config: Pick<ResolvedChxConfig, 'metaDir' | 'schema'>;
|
|
8
|
+
clickhouse?: {
|
|
9
|
+
url: string;
|
|
10
|
+
database: string;
|
|
11
|
+
};
|
|
12
|
+
clickhouseQuery: <T>(sql: string, settings?: Record<string, string | number | boolean | undefined>) => Promise<T[]>;
|
|
13
|
+
querySettings?: Record<string, string | number | boolean | undefined>;
|
|
12
14
|
}): Promise<BuildBackfillPlanOutput>;
|
|
13
15
|
//# sourceMappingURL=planner.d.ts.map
|
package/dist/planner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAOpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAQ/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEzD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,IAAI,EAAE,WAAW,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAA;IACrD,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IACnH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;CACtE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqGnC"}
|
package/dist/planner.js
CHANGED
|
@@ -1,113 +1,92 @@
|
|
|
1
|
+
import { dirname } from 'node:path';
|
|
2
|
+
import { loadSchemaDefinitions } from '@chkit/core/schema-loader';
|
|
3
|
+
import { encodeChunkPlanForPersistence } from './chunking/boundary-codec.js';
|
|
4
|
+
import { generateChunkPlan } from './chunking/planner.js';
|
|
5
|
+
import { findMvForTarget } from './detect.js';
|
|
1
6
|
import { BackfillConfigError } from './errors.js';
|
|
2
|
-
import { backfillPaths, computeBackfillStateDir,
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
if (
|
|
7
|
-
throw new BackfillConfigError('Invalid
|
|
7
|
+
import { backfillPaths, computeBackfillStateDir, computeEnvironmentFingerprint, nowIso, writeJson, } from './state.js';
|
|
8
|
+
export async function buildBackfillPlan(input) {
|
|
9
|
+
const { opts } = input;
|
|
10
|
+
const [database, table] = opts.target.split('.');
|
|
11
|
+
if (!database || !table) {
|
|
12
|
+
throw new BackfillConfigError('Invalid target format. Expected <database.table>.');
|
|
8
13
|
}
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
const chunkPlan = await generateChunkPlan({
|
|
15
|
+
database,
|
|
16
|
+
table,
|
|
17
|
+
from: opts.from,
|
|
18
|
+
to: opts.to,
|
|
19
|
+
targetChunkBytes: opts.maxChunkBytes,
|
|
20
|
+
query: input.clickhouseQuery,
|
|
21
|
+
querySettings: input.querySettings,
|
|
22
|
+
});
|
|
23
|
+
const firstPartition = chunkPlan.partitions[0];
|
|
24
|
+
if (!firstPartition) {
|
|
25
|
+
throw new BackfillConfigError(`No partitions found for ${opts.target}${opts.from || opts.to ? ' within the specified time range' : ''}. The table may be empty.`);
|
|
12
26
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
function buildChunks(input) {
|
|
25
|
-
const fromMillis = new Date(input.from).getTime();
|
|
26
|
-
const toMillis = new Date(input.to).getTime();
|
|
27
|
-
const chunkMillis = input.chunkHours * 60 * 60 * 1000;
|
|
28
|
-
const chunks = [];
|
|
29
|
-
let current = fromMillis;
|
|
30
|
-
while (current < toMillis) {
|
|
31
|
-
const next = Math.min(current + chunkMillis, toMillis);
|
|
32
|
-
const chunkFrom = new Date(current).toISOString();
|
|
33
|
-
const chunkTo = new Date(next).toISOString();
|
|
34
|
-
const idSeed = `${input.planId}:${chunkFrom}:${chunkTo}`;
|
|
35
|
-
const chunkId = hashId(`chunk:${idSeed}`).slice(0, 16);
|
|
36
|
-
const token = input.requireIdempotencyToken ? hashId(`token:${idSeed}`) : '';
|
|
37
|
-
chunks.push({
|
|
38
|
-
id: chunkId,
|
|
39
|
-
from: chunkFrom,
|
|
40
|
-
to: chunkTo,
|
|
41
|
-
status: 'pending',
|
|
42
|
-
attempts: 0,
|
|
43
|
-
idempotencyToken: token,
|
|
44
|
-
sqlTemplate: buildChunkSqlTemplate({
|
|
45
|
-
planId: input.planId,
|
|
46
|
-
chunkId,
|
|
47
|
-
token,
|
|
48
|
-
target: input.target,
|
|
49
|
-
from: chunkFrom,
|
|
50
|
-
to: chunkTo,
|
|
51
|
-
}),
|
|
27
|
+
const env = computeEnvironmentFingerprint(input.clickhouse);
|
|
28
|
+
const derivedFrom = opts.from ?? chunkPlan.partitions.reduce((min, partition) => (partition.minTime < min ? partition.minTime : min), firstPartition.minTime);
|
|
29
|
+
const derivedTo = opts.to ?? chunkPlan.partitions.reduce((max, partition) => (partition.maxTime > max ? partition.maxTime : max), firstPartition.maxTime);
|
|
30
|
+
const stateDir = computeBackfillStateDir(input.config, input.configPath, opts.stateDir);
|
|
31
|
+
const paths = backfillPaths(stateDir, chunkPlan.planId);
|
|
32
|
+
let mvAsQuery;
|
|
33
|
+
let targetColumns;
|
|
34
|
+
try {
|
|
35
|
+
const definitions = await loadSchemaDefinitions(input.config.schema, {
|
|
36
|
+
cwd: dirname(input.configPath),
|
|
52
37
|
});
|
|
53
|
-
|
|
38
|
+
const mv = findMvForTarget(definitions, database, table);
|
|
39
|
+
if (mv) {
|
|
40
|
+
mvAsQuery = mv.as;
|
|
41
|
+
const tableDef = definitions.find((definition) => definition.kind === 'table' && definition.database === database && definition.name === table);
|
|
42
|
+
if (tableDef?.kind === 'table') {
|
|
43
|
+
targetColumns = tableDef.columns.map((column) => column.name);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
54
46
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
export async function buildBackfillPlan(input) {
|
|
58
|
-
const chunkHours = input.chunkHours ?? input.options.defaults.chunkHours;
|
|
59
|
-
if (chunkHours * 60 < input.options.limits.minChunkMinutes) {
|
|
60
|
-
throw new BackfillConfigError(`Chunk size ${chunkHours}h is below limits.minChunkMinutes=${input.options.limits.minChunkMinutes}.`);
|
|
47
|
+
catch {
|
|
48
|
+
// Schema load failed, fall back to direct copy.
|
|
61
49
|
}
|
|
62
|
-
ensureHoursWithinLimits({
|
|
63
|
-
from: input.from,
|
|
64
|
-
to: input.to,
|
|
65
|
-
limits: input.options.limits,
|
|
66
|
-
forceLargeWindow: input.forceLargeWindow ?? false,
|
|
67
|
-
});
|
|
68
|
-
const planId = hashId(planIdentity(input.target, input.from, input.to, chunkHours)).slice(0, 16);
|
|
69
|
-
const stateDir = computeBackfillStateDir(input.config, input.configPath, input.options);
|
|
70
|
-
const paths = backfillPaths(stateDir, planId);
|
|
71
50
|
const plan = {
|
|
72
|
-
planId,
|
|
73
|
-
target:
|
|
74
|
-
createdAt:
|
|
75
|
-
|
|
76
|
-
from:
|
|
77
|
-
to:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
requireIdempotencyToken:
|
|
85
|
-
}
|
|
51
|
+
planId: chunkPlan.planId,
|
|
52
|
+
target: opts.target,
|
|
53
|
+
createdAt: nowIso(),
|
|
54
|
+
...(env ? { environment: env } : {}),
|
|
55
|
+
from: derivedFrom,
|
|
56
|
+
to: derivedTo,
|
|
57
|
+
chunkPlan,
|
|
58
|
+
execution: {
|
|
59
|
+
mode: mvAsQuery ? 'mv_replay' : 'copy',
|
|
60
|
+
sourceTarget: opts.target,
|
|
61
|
+
...(mvAsQuery ? { mvAsQuery } : {}),
|
|
62
|
+
...(targetColumns ? { targetColumns } : {}),
|
|
63
|
+
requireIdempotencyToken: opts.requireIdempotencyToken,
|
|
64
|
+
},
|
|
86
65
|
options: {
|
|
87
|
-
|
|
88
|
-
maxParallelChunks:
|
|
89
|
-
maxRetriesPerChunk:
|
|
90
|
-
requireIdempotencyToken:
|
|
66
|
+
maxChunkBytes: opts.maxChunkBytes,
|
|
67
|
+
maxParallelChunks: opts.maxParallelChunks,
|
|
68
|
+
maxRetriesPerChunk: opts.maxRetriesPerChunk,
|
|
69
|
+
requireIdempotencyToken: opts.requireIdempotencyToken,
|
|
70
|
+
sortKeyColumn: chunkPlan.table.sortKeys[0]?.name,
|
|
71
|
+
},
|
|
72
|
+
policy: {
|
|
73
|
+
requireDryRunBeforeRun: opts.requireDryRunBeforeRun,
|
|
74
|
+
requireExplicitWindow: opts.requireExplicitWindow,
|
|
75
|
+
blockOverlappingRuns: opts.blockOverlappingRuns,
|
|
76
|
+
failCheckOnRequiredPendingBackfill: opts.failCheckOnRequiredPendingBackfill,
|
|
77
|
+
},
|
|
78
|
+
limits: {
|
|
79
|
+
maxWindowHours: opts.maxWindowHours,
|
|
80
|
+
minChunkMinutes: opts.minChunkMinutes,
|
|
91
81
|
},
|
|
92
|
-
policy: input.options.policy,
|
|
93
|
-
limits: input.options.limits,
|
|
94
82
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
return {
|
|
101
|
-
plan: existing,
|
|
102
|
-
planPath: paths.planPath,
|
|
103
|
-
existed: true,
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
await writeJson(paths.planPath, plan);
|
|
83
|
+
await writeJson(paths.planPath, {
|
|
84
|
+
...plan,
|
|
85
|
+
chunkPlan: encodeChunkPlanForPersistence(plan.chunkPlan),
|
|
86
|
+
});
|
|
107
87
|
return {
|
|
108
88
|
plan,
|
|
109
89
|
planPath: paths.planPath,
|
|
110
|
-
existed: false,
|
|
111
90
|
};
|
|
112
91
|
}
|
|
113
92
|
//# sourceMappingURL=planner.js.map
|
package/dist/planner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
1
|
+
import { type PluginConfig } from './options.js';
|
|
2
|
+
import type { BackfillPlugin, BackfillPluginRegistration } from './types.js';
|
|
3
|
+
export declare function createBackfillPlugin(options?: PluginConfig): BackfillPlugin;
|
|
4
|
+
export declare function backfill(options?: PluginConfig): BackfillPluginRegistration;
|
|
4
5
|
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAWL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AAcrB,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAE3B,MAAM,YAAY,CAAA;AAkJnB,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,YAAiB,GAAG,cAAc,CAkS/E;AAED,wBAAgB,QAAQ,CAAC,OAAO,GAAE,YAAiB,GAAG,0BAA0B,CAO/E"}
|