sensemaking 0.21.1 → 0.22.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/README.md +1 -1
- package/dist/cjs/chunk/group.js +13 -9
- package/dist/cjs/chunk/group.js.map +1 -1
- package/dist/cjs/commands/search.js +1 -1
- package/dist/cjs/commands/search.js.map +1 -1
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/scan/pool.d.cts +1 -0
- package/dist/cjs/scan/pool.d.ts +1 -0
- package/dist/cjs/scan/pool.js +2 -1
- package/dist/cjs/scan/pool.js.map +1 -1
- package/dist/cjs/scan/reparse.d.cts +1 -0
- package/dist/cjs/scan/reparse.d.ts +1 -0
- package/dist/cjs/scan/reparse.js +6 -3
- package/dist/cjs/scan/reparse.js.map +1 -1
- package/dist/cjs/store/builder.d.cts +2 -0
- package/dist/cjs/store/builder.d.ts +2 -0
- package/dist/cjs/store/builder.js.map +1 -1
- package/dist/cjs/store/index.d.cts +1 -5
- package/dist/cjs/store/index.d.ts +1 -5
- package/dist/cjs/store/index.js +9 -46
- package/dist/cjs/store/index.js.map +1 -1
- package/dist/cjs/store/lock-wait.d.cts +2 -0
- package/dist/cjs/store/lock-wait.d.ts +2 -0
- package/dist/cjs/store/lock-wait.js +51 -0
- package/dist/cjs/store/lock-wait.js.map +1 -0
- package/dist/cjs/store/open.d.cts +2 -4
- package/dist/cjs/store/open.d.ts +2 -4
- package/dist/cjs/store/open.js +29 -66
- package/dist/cjs/store/open.js.map +1 -1
- package/dist/cjs/store/reconcile.d.cts +2 -0
- package/dist/cjs/store/reconcile.d.ts +2 -0
- package/dist/cjs/store/reconcile.js +407 -255
- package/dist/cjs/store/reconcile.js.map +1 -1
- package/dist/cjs/store/sqlite/lexical.js +1 -1
- package/dist/cjs/store/sqlite/lexical.js.map +1 -1
- package/dist/cjs/store/sqlite/store.js +0 -1
- package/dist/cjs/store/sqlite/store.js.map +1 -1
- package/dist/cjs/store/stages.d.cts +18 -0
- package/dist/cjs/store/stages.d.ts +18 -0
- package/dist/cjs/store/stages.js +372 -0
- package/dist/cjs/store/stages.js.map +1 -0
- package/dist/cjs/store/turso/store.js.map +1 -1
- package/dist/cjs/store/types.d.cts +1 -1
- package/dist/cjs/store/types.d.ts +1 -1
- package/dist/cjs/store/types.js +0 -1
- package/dist/cjs/store/types.js.map +1 -1
- package/dist/cjs/text/segment.js +7 -5
- package/dist/cjs/text/segment.js.map +1 -1
- package/dist/cjs/watch.js +162 -107
- package/dist/cjs/watch.js.map +1 -1
- package/dist/cjs/workers/parse.d.cts +1 -0
- package/dist/cjs/workers/parse.d.ts +1 -0
- package/dist/cjs/workers/parse.js +4 -1
- package/dist/cjs/workers/parse.js.map +1 -1
- package/dist/esm/chunk/group.js +13 -9
- package/dist/esm/chunk/group.js.map +1 -1
- package/dist/esm/commands/search.js +1 -1
- package/dist/esm/commands/search.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/scan/pool.d.ts +1 -0
- package/dist/esm/scan/pool.js +2 -1
- package/dist/esm/scan/pool.js.map +1 -1
- package/dist/esm/scan/reparse.d.ts +1 -0
- package/dist/esm/scan/reparse.js +5 -2
- package/dist/esm/scan/reparse.js.map +1 -1
- package/dist/esm/store/builder.d.ts +2 -0
- package/dist/esm/store/builder.js.map +1 -1
- package/dist/esm/store/index.d.ts +1 -5
- package/dist/esm/store/index.js +6 -28
- package/dist/esm/store/index.js.map +1 -1
- package/dist/esm/store/lock-wait.d.ts +2 -0
- package/dist/esm/store/lock-wait.js +36 -0
- package/dist/esm/store/lock-wait.js.map +1 -0
- package/dist/esm/store/open.d.ts +2 -4
- package/dist/esm/store/open.js +17 -32
- package/dist/esm/store/open.js.map +1 -1
- package/dist/esm/store/reconcile.d.ts +2 -0
- package/dist/esm/store/reconcile.js +72 -44
- package/dist/esm/store/reconcile.js.map +1 -1
- package/dist/esm/store/sqlite/lexical.js +1 -1
- package/dist/esm/store/sqlite/lexical.js.map +1 -1
- package/dist/esm/store/sqlite/store.js +0 -1
- package/dist/esm/store/sqlite/store.js.map +1 -1
- package/dist/esm/store/stages.d.ts +18 -0
- package/dist/esm/store/stages.js +63 -0
- package/dist/esm/store/stages.js.map +1 -0
- package/dist/esm/store/turso/store.js +1 -1
- package/dist/esm/store/turso/store.js.map +1 -1
- package/dist/esm/store/types.d.ts +1 -1
- package/dist/esm/store/types.js +0 -1
- package/dist/esm/store/types.js.map +1 -1
- package/dist/esm/text/segment.js +7 -5
- package/dist/esm/text/segment.js.map +1 -1
- package/dist/esm/watch.js +63 -38
- package/dist/esm/watch.js.map +1 -1
- package/dist/esm/workers/parse.d.ts +1 -0
- package/dist/esm/workers/parse.js +4 -1
- package/dist/esm/workers/parse.js.map +1 -1
- package/package.json +1 -1
- package/skills/sense/SKILL.md +1 -1
- package/skills/sense-setup/SKILL.md +1 -1
|
@@ -20,7 +20,9 @@ var _indexts = require("../features/index.js");
|
|
|
20
20
|
var _progressts = require("../output/progress.js");
|
|
21
21
|
var _indexts1 = require("../scan/index.js");
|
|
22
22
|
var _reparsets = require("../scan/reparse.js");
|
|
23
|
+
var _lockwaitts = require("./lock-wait.js");
|
|
23
24
|
var _sharedts = require("./shared.js");
|
|
25
|
+
var _stagests = require("./stages.js");
|
|
24
26
|
var _transactionts = require("./transaction.js");
|
|
25
27
|
function _array_like_to_array(arr, len) {
|
|
26
28
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -203,23 +205,56 @@ var CORE_FRONTMATTER_COLUMNS = new Set([
|
|
|
203
205
|
]);
|
|
204
206
|
function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
205
207
|
return _async_to_generator(function() {
|
|
206
|
-
var files, currentSet,
|
|
208
|
+
var start, features, stages, elapsed, files, currentSet, existingRows, existing, vanished, toReparse, seenColumns, report, _ref, parsedDocs, warnings, newColumns, workerParseMs, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, col, allColumns, writableColumns, insertSql, added, delta, addedSet, reparsedExisting, touched, txStart, durationMs;
|
|
207
209
|
return _ts_generator(this, function(_state) {
|
|
208
210
|
switch(_state.label){
|
|
209
211
|
case 0:
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
212
|
+
start = process.hrtime.bigint();
|
|
213
|
+
features = (0, _indexts.activeFeatures)(cfg);
|
|
214
|
+
stages = (0, _stagests.stageRecorder)(features.map(function(f) {
|
|
215
|
+
return f.name;
|
|
213
216
|
}));
|
|
217
|
+
elapsed = function elapsed() {
|
|
218
|
+
return Number(process.hrtime.bigint() - start) / 1e6;
|
|
219
|
+
};
|
|
214
220
|
return [
|
|
215
221
|
4,
|
|
216
|
-
|
|
222
|
+
stages.time('list', function() {
|
|
223
|
+
return (0, _indexts1.listFiles)(cfg, baseDir);
|
|
224
|
+
})
|
|
217
225
|
];
|
|
218
226
|
case 1:
|
|
219
|
-
|
|
227
|
+
files = _state.sent();
|
|
228
|
+
currentSet = new Set(files.map(function(f) {
|
|
229
|
+
return f.relPath;
|
|
230
|
+
}));
|
|
220
231
|
return [
|
|
221
232
|
4,
|
|
222
|
-
|
|
233
|
+
stages.time('existing', function() {
|
|
234
|
+
return _async_to_generator(function() {
|
|
235
|
+
var existingStmt;
|
|
236
|
+
return _ts_generator(this, function(_state) {
|
|
237
|
+
switch(_state.label){
|
|
238
|
+
case 0:
|
|
239
|
+
return [
|
|
240
|
+
4,
|
|
241
|
+
conn.prepare('SELECT "path", "_mtime", "_size" FROM frontmatter')
|
|
242
|
+
];
|
|
243
|
+
case 1:
|
|
244
|
+
existingStmt = _state.sent();
|
|
245
|
+
return [
|
|
246
|
+
4,
|
|
247
|
+
existingStmt.all()
|
|
248
|
+
];
|
|
249
|
+
case 2:
|
|
250
|
+
return [
|
|
251
|
+
2,
|
|
252
|
+
_state.sent()
|
|
253
|
+
];
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
})();
|
|
257
|
+
})
|
|
223
258
|
];
|
|
224
259
|
case 2:
|
|
225
260
|
existingRows = _state.sent();
|
|
@@ -248,10 +283,10 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
248
283
|
2,
|
|
249
284
|
{
|
|
250
285
|
parsed: 0,
|
|
251
|
-
warnings: []
|
|
286
|
+
warnings: [],
|
|
287
|
+
stages: stages.take(elapsed(), 0)
|
|
252
288
|
}
|
|
253
289
|
];
|
|
254
|
-
features = (0, _indexts.activeFeatures)(cfg);
|
|
255
290
|
return [
|
|
256
291
|
4,
|
|
257
292
|
(0, _sharedts.getColumns)(conn)
|
|
@@ -263,12 +298,14 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
263
298
|
report = (0, _progressts.progress)('reparsing files', toReparse.length);
|
|
264
299
|
return [
|
|
265
300
|
4,
|
|
266
|
-
(
|
|
267
|
-
|
|
301
|
+
stages.time('parse', function() {
|
|
302
|
+
return (0, _reparsets.reparseFiles)(toReparse, features, cfg, seenColumns, report.tick, {
|
|
303
|
+
pool: pool
|
|
304
|
+
});
|
|
268
305
|
})
|
|
269
306
|
];
|
|
270
307
|
case 4:
|
|
271
|
-
_ref = _state.sent(), parsedDocs = _ref.docs, warnings = _ref.warnings, newColumns = _ref.newColumns;
|
|
308
|
+
_ref = _state.sent(), parsedDocs = _ref.docs, warnings = _ref.warnings, newColumns = _ref.newColumns, workerParseMs = _ref.workerParseMs;
|
|
272
309
|
report.finish();
|
|
273
310
|
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
274
311
|
try {
|
|
@@ -335,7 +372,7 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
335
372
|
4,
|
|
336
373
|
(0, _transactionts.withTransaction)(conn, function() {
|
|
337
374
|
return _async_to_generator(function() {
|
|
338
|
-
var
|
|
375
|
+
var present, missingColumns, contentTouched, toRow, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _loop1, _iterator1, _step1, err, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _loop2, _iterator2, _step2, err;
|
|
339
376
|
return _ts_generator(this, function(_state) {
|
|
340
377
|
switch(_state.label){
|
|
341
378
|
case 0:
|
|
@@ -354,7 +391,9 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
354
391
|
];
|
|
355
392
|
return [
|
|
356
393
|
4,
|
|
357
|
-
|
|
394
|
+
stages.time('alter', function() {
|
|
395
|
+
return dialect.addColumns(conn, missingColumns);
|
|
396
|
+
})
|
|
358
397
|
];
|
|
359
398
|
case 2:
|
|
360
399
|
_state.sent();
|
|
@@ -368,35 +407,53 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
368
407
|
contentTouched = touched;
|
|
369
408
|
if (!(added.length > 0)) return [
|
|
370
409
|
3,
|
|
371
|
-
|
|
410
|
+
5
|
|
372
411
|
];
|
|
373
412
|
return [
|
|
374
413
|
4,
|
|
375
|
-
|
|
414
|
+
stages.time('added-recheck', function() {
|
|
415
|
+
return _async_to_generator(function() {
|
|
416
|
+
var currentPathsStmt, currentPaths, _, staleAdded;
|
|
417
|
+
return _ts_generator(this, function(_state) {
|
|
418
|
+
switch(_state.label){
|
|
419
|
+
case 0:
|
|
420
|
+
return [
|
|
421
|
+
4,
|
|
422
|
+
conn.prepare('SELECT "path" FROM frontmatter')
|
|
423
|
+
];
|
|
424
|
+
case 1:
|
|
425
|
+
currentPathsStmt = _state.sent();
|
|
426
|
+
_ = Set.bind;
|
|
427
|
+
return [
|
|
428
|
+
4,
|
|
429
|
+
currentPathsStmt.all()
|
|
430
|
+
];
|
|
431
|
+
case 2:
|
|
432
|
+
currentPaths = new (_.apply(Set, [
|
|
433
|
+
void 0,
|
|
434
|
+
_state.sent().map(function(r) {
|
|
435
|
+
return r.path;
|
|
436
|
+
})
|
|
437
|
+
]));
|
|
438
|
+
staleAdded = added.filter(function(p) {
|
|
439
|
+
return currentPaths.has(p);
|
|
440
|
+
});
|
|
441
|
+
return [
|
|
442
|
+
2,
|
|
443
|
+
staleAdded.length > 0 ? _to_consumable_array(touched).concat(_to_consumable_array(staleAdded)) : touched
|
|
444
|
+
];
|
|
445
|
+
}
|
|
446
|
+
});
|
|
447
|
+
})();
|
|
448
|
+
})
|
|
376
449
|
];
|
|
377
450
|
case 4:
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
return [
|
|
381
|
-
4,
|
|
382
|
-
currentPathsStmt.all()
|
|
383
|
-
];
|
|
451
|
+
contentTouched = _state.sent();
|
|
452
|
+
_state.label = 5;
|
|
384
453
|
case 5:
|
|
385
|
-
currentPaths = new (_.apply(Set, [
|
|
386
|
-
void 0,
|
|
387
|
-
_state.sent().map(function(r) {
|
|
388
|
-
return r.path;
|
|
389
|
-
})
|
|
390
|
-
]));
|
|
391
|
-
staleAdded = added.filter(function(p) {
|
|
392
|
-
return currentPaths.has(p);
|
|
393
|
-
});
|
|
394
|
-
if (staleAdded.length > 0) contentTouched = _to_consumable_array(touched).concat(_to_consumable_array(staleAdded));
|
|
395
|
-
_state.label = 6;
|
|
396
|
-
case 6:
|
|
397
454
|
if (!(parsedDocs.length > 0)) return [
|
|
398
455
|
3,
|
|
399
|
-
|
|
456
|
+
7
|
|
400
457
|
];
|
|
401
458
|
toRow = function toRow(doc) {
|
|
402
459
|
return writableColumns.map(function(col) {
|
|
@@ -410,223 +467,289 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
410
467
|
return (_doc_data_col = doc.data[col]) !== null && _doc_data_col !== void 0 ? _doc_data_col : null;
|
|
411
468
|
});
|
|
412
469
|
};
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
11
|
|
416
|
-
];
|
|
417
|
-
newDocs = parsedDocs.filter(function(d) {
|
|
418
|
-
return addedSet.has(d.relPath);
|
|
419
|
-
});
|
|
420
|
-
updateDocs = parsedDocs.filter(function(d) {
|
|
421
|
-
return !addedSet.has(d.relPath);
|
|
422
|
-
});
|
|
423
|
-
if (!(newDocs.length > 0)) return [
|
|
424
|
-
3,
|
|
425
|
-
8
|
|
426
|
-
];
|
|
470
|
+
// A path in `added` has no existing frontmatter row, so it can never conflict: where a
|
|
471
|
+
// dialect offers a faster append-only path (insertNew), only the rest go through the upsert.
|
|
427
472
|
return [
|
|
428
473
|
4,
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
474
|
+
stages.time('fm-upsert', function() {
|
|
475
|
+
return _async_to_generator(function() {
|
|
476
|
+
var newDocs, updateDocs;
|
|
477
|
+
return _ts_generator(this, function(_state) {
|
|
478
|
+
switch(_state.label){
|
|
479
|
+
case 0:
|
|
480
|
+
if (!dialect.insertNew) return [
|
|
481
|
+
3,
|
|
482
|
+
5
|
|
483
|
+
];
|
|
484
|
+
newDocs = parsedDocs.filter(function(d) {
|
|
485
|
+
return addedSet.has(d.relPath);
|
|
486
|
+
});
|
|
487
|
+
updateDocs = parsedDocs.filter(function(d) {
|
|
488
|
+
return !addedSet.has(d.relPath);
|
|
489
|
+
});
|
|
490
|
+
if (!(newDocs.length > 0)) return [
|
|
491
|
+
3,
|
|
492
|
+
2
|
|
493
|
+
];
|
|
494
|
+
return [
|
|
495
|
+
4,
|
|
496
|
+
dialect.insertNew(conn, 'frontmatter', writableColumns, newDocs.map(toRow))
|
|
497
|
+
];
|
|
498
|
+
case 1:
|
|
499
|
+
_state.sent();
|
|
500
|
+
_state.label = 2;
|
|
501
|
+
case 2:
|
|
502
|
+
if (!(updateDocs.length > 0)) return [
|
|
503
|
+
3,
|
|
504
|
+
4
|
|
505
|
+
];
|
|
506
|
+
return [
|
|
507
|
+
4,
|
|
508
|
+
conn.runBatch(insertSql, updateDocs.map(toRow))
|
|
509
|
+
];
|
|
510
|
+
case 3:
|
|
511
|
+
_state.sent();
|
|
512
|
+
_state.label = 4;
|
|
513
|
+
case 4:
|
|
514
|
+
return [
|
|
515
|
+
3,
|
|
516
|
+
7
|
|
517
|
+
];
|
|
518
|
+
case 5:
|
|
519
|
+
return [
|
|
520
|
+
4,
|
|
521
|
+
conn.runBatch(insertSql, parsedDocs.map(toRow))
|
|
522
|
+
];
|
|
523
|
+
case 6:
|
|
524
|
+
_state.sent();
|
|
525
|
+
_state.label = 7;
|
|
526
|
+
case 7:
|
|
527
|
+
return [
|
|
528
|
+
2
|
|
529
|
+
];
|
|
530
|
+
}
|
|
531
|
+
});
|
|
532
|
+
})();
|
|
533
|
+
})
|
|
455
534
|
];
|
|
456
|
-
case
|
|
535
|
+
case 6:
|
|
457
536
|
_state.sent();
|
|
458
|
-
_state.label =
|
|
459
|
-
case
|
|
537
|
+
_state.label = 7;
|
|
538
|
+
case 7:
|
|
460
539
|
// After the upsert, so every doc already has the frontmatter row sqlite's content rowid
|
|
461
540
|
// couples to. ON CONFLICT DO UPDATE preserves that rowid, so a reparse keeps its identity.
|
|
462
541
|
return [
|
|
463
542
|
4,
|
|
464
|
-
|
|
543
|
+
stages.time('text-index', function() {
|
|
544
|
+
return dialect.reconcileContent(conn, contentTouched, parsedDocs, delta, cfg);
|
|
545
|
+
})
|
|
465
546
|
];
|
|
466
|
-
case
|
|
547
|
+
case 8:
|
|
467
548
|
_state.sent();
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
16
|
|
471
|
-
];
|
|
549
|
+
// A preset edit forces a full rebuild, so an unchanged doc's coverage is already correct;
|
|
550
|
+
// new docs have nothing to clear, which keeps cold builds linear.
|
|
472
551
|
return [
|
|
473
552
|
4,
|
|
474
|
-
|
|
475
|
-
return
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
553
|
+
stages.time('presets', function() {
|
|
554
|
+
return _async_to_generator(function() {
|
|
555
|
+
var presetRows, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator, _step, doc, _iterator1, _step1, presetName;
|
|
556
|
+
return _ts_generator(this, function(_state) {
|
|
557
|
+
switch(_state.label){
|
|
558
|
+
case 0:
|
|
559
|
+
if (!(touched.length > 0)) return [
|
|
560
|
+
3,
|
|
561
|
+
2
|
|
562
|
+
];
|
|
563
|
+
return [
|
|
564
|
+
4,
|
|
565
|
+
conn.runBatch('DELETE FROM preset_files WHERE "path" = ?', touched.map(function(p) {
|
|
566
|
+
return [
|
|
567
|
+
p
|
|
568
|
+
];
|
|
569
|
+
}))
|
|
570
|
+
];
|
|
571
|
+
case 1:
|
|
572
|
+
_state.sent();
|
|
573
|
+
_state.label = 2;
|
|
574
|
+
case 2:
|
|
575
|
+
presetRows = [];
|
|
576
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined, _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
|
|
577
|
+
try {
|
|
578
|
+
for(_iterator = parsedDocs[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step = _iterator.next()).done); _iteratorNormalCompletion1 = true){
|
|
579
|
+
doc = _step.value;
|
|
580
|
+
try {
|
|
581
|
+
for(_iterator1 = doc.presets[Symbol.iterator](); !(_iteratorNormalCompletion = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion = true){
|
|
582
|
+
presetName = _step1.value;
|
|
583
|
+
presetRows.push([
|
|
584
|
+
doc.relPath,
|
|
585
|
+
presetName
|
|
586
|
+
]);
|
|
587
|
+
}
|
|
588
|
+
} catch (err) {
|
|
589
|
+
_didIteratorError = true;
|
|
590
|
+
_iteratorError = err;
|
|
591
|
+
} finally{
|
|
592
|
+
try {
|
|
593
|
+
if (!_iteratorNormalCompletion && _iterator1.return != null) {
|
|
594
|
+
_iterator1.return();
|
|
595
|
+
}
|
|
596
|
+
} finally{
|
|
597
|
+
if (_didIteratorError) {
|
|
598
|
+
throw _iteratorError;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
} catch (err) {
|
|
604
|
+
_didIteratorError1 = true;
|
|
605
|
+
_iteratorError1 = err;
|
|
606
|
+
} finally{
|
|
607
|
+
try {
|
|
608
|
+
if (!_iteratorNormalCompletion1 && _iterator.return != null) {
|
|
609
|
+
_iterator.return();
|
|
610
|
+
}
|
|
611
|
+
} finally{
|
|
612
|
+
if (_didIteratorError1) {
|
|
613
|
+
throw _iteratorError1;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
if (!(presetRows.length > 0)) return [
|
|
618
|
+
3,
|
|
619
|
+
4
|
|
620
|
+
];
|
|
621
|
+
return [
|
|
622
|
+
4,
|
|
623
|
+
conn.runBatch('INSERT INTO preset_files ("path", preset) VALUES (?, ?) ON CONFLICT("path", preset) DO NOTHING', presetRows)
|
|
624
|
+
];
|
|
625
|
+
case 3:
|
|
626
|
+
_state.sent();
|
|
627
|
+
_state.label = 4;
|
|
628
|
+
case 4:
|
|
629
|
+
return [
|
|
630
|
+
2
|
|
631
|
+
];
|
|
504
632
|
}
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
} catch (err) {
|
|
513
|
-
_didIteratorError1 = true;
|
|
514
|
-
_iteratorError1 = err;
|
|
515
|
-
} finally{
|
|
516
|
-
try {
|
|
517
|
-
if (!_iteratorNormalCompletion1 && _iterator.return != null) {
|
|
518
|
-
_iterator.return();
|
|
519
|
-
}
|
|
520
|
-
} finally{
|
|
521
|
-
if (_didIteratorError1) {
|
|
522
|
-
throw _iteratorError1;
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
if (!(presetRows.length > 0)) return [
|
|
527
|
-
3,
|
|
528
|
-
18
|
|
529
|
-
];
|
|
530
|
-
return [
|
|
531
|
-
4,
|
|
532
|
-
conn.runBatch('INSERT INTO preset_files ("path", preset) VALUES (?, ?) ON CONFLICT("path", preset) DO NOTHING', presetRows)
|
|
633
|
+
});
|
|
634
|
+
})();
|
|
635
|
+
})
|
|
533
636
|
];
|
|
534
|
-
case
|
|
637
|
+
case 9:
|
|
535
638
|
_state.sent();
|
|
536
|
-
_state.label = 18;
|
|
537
|
-
case 18:
|
|
538
639
|
if (!(vanished.length > 0)) return [
|
|
539
640
|
3,
|
|
540
|
-
|
|
641
|
+
11
|
|
541
642
|
];
|
|
542
643
|
return [
|
|
543
644
|
4,
|
|
544
|
-
|
|
545
|
-
return
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
645
|
+
stages.time('vanished', function() {
|
|
646
|
+
return conn.runBatch('DELETE FROM frontmatter WHERE "path" = ?', vanished.map(function(p) {
|
|
647
|
+
return [
|
|
648
|
+
p
|
|
649
|
+
];
|
|
650
|
+
}));
|
|
651
|
+
})
|
|
549
652
|
];
|
|
550
|
-
case
|
|
653
|
+
case 10:
|
|
551
654
|
_state.sent();
|
|
552
|
-
_state.label =
|
|
553
|
-
case
|
|
554
|
-
|
|
655
|
+
_state.label = 11;
|
|
656
|
+
case 11:
|
|
657
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
555
658
|
if (!(touched.length > 0)) return [
|
|
556
659
|
3,
|
|
557
|
-
|
|
660
|
+
19
|
|
558
661
|
];
|
|
559
|
-
_state.label =
|
|
560
|
-
case
|
|
662
|
+
_state.label = 12;
|
|
663
|
+
case 12:
|
|
561
664
|
_state.trys.push([
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
665
|
+
12,
|
|
666
|
+
17,
|
|
667
|
+
18,
|
|
668
|
+
19
|
|
566
669
|
]);
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
670
|
+
_loop = function() {
|
|
671
|
+
var feature;
|
|
672
|
+
return _ts_generator(this, function(_state) {
|
|
673
|
+
switch(_state.label){
|
|
674
|
+
case 0:
|
|
675
|
+
feature = _step.value;
|
|
676
|
+
return [
|
|
677
|
+
4,
|
|
678
|
+
stages.time((0, _stagests.featureStage)(feature.name, 'remove'), function() {
|
|
679
|
+
var _feature_remove;
|
|
680
|
+
return (_feature_remove = feature.remove) === null || _feature_remove === void 0 ? void 0 : _feature_remove.call(feature, conn, touched, delta);
|
|
681
|
+
})
|
|
682
|
+
];
|
|
683
|
+
case 1:
|
|
684
|
+
_state.sent();
|
|
685
|
+
return [
|
|
686
|
+
2
|
|
687
|
+
];
|
|
688
|
+
}
|
|
689
|
+
});
|
|
690
|
+
};
|
|
691
|
+
_iterator = features[Symbol.iterator]();
|
|
692
|
+
_state.label = 13;
|
|
693
|
+
case 13:
|
|
694
|
+
if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
|
|
571
695
|
3,
|
|
572
|
-
|
|
696
|
+
16
|
|
573
697
|
];
|
|
574
|
-
feature = _step2.value;
|
|
575
698
|
return [
|
|
576
|
-
|
|
577
|
-
(
|
|
699
|
+
5,
|
|
700
|
+
_ts_values(_loop())
|
|
578
701
|
];
|
|
579
|
-
case
|
|
702
|
+
case 14:
|
|
580
703
|
_state.sent();
|
|
581
|
-
_state.label =
|
|
582
|
-
case
|
|
583
|
-
|
|
704
|
+
_state.label = 15;
|
|
705
|
+
case 15:
|
|
706
|
+
_iteratorNormalCompletion = true;
|
|
584
707
|
return [
|
|
585
708
|
3,
|
|
586
|
-
|
|
709
|
+
13
|
|
587
710
|
];
|
|
588
|
-
case
|
|
711
|
+
case 16:
|
|
589
712
|
return [
|
|
590
713
|
3,
|
|
591
|
-
|
|
714
|
+
19
|
|
592
715
|
];
|
|
593
|
-
case
|
|
716
|
+
case 17:
|
|
594
717
|
err = _state.sent();
|
|
595
|
-
|
|
596
|
-
|
|
718
|
+
_didIteratorError = true;
|
|
719
|
+
_iteratorError = err;
|
|
597
720
|
return [
|
|
598
721
|
3,
|
|
599
|
-
|
|
722
|
+
19
|
|
600
723
|
];
|
|
601
|
-
case
|
|
724
|
+
case 18:
|
|
602
725
|
try {
|
|
603
|
-
if (!
|
|
604
|
-
|
|
726
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
727
|
+
_iterator.return();
|
|
605
728
|
}
|
|
606
729
|
} finally{
|
|
607
|
-
if (
|
|
608
|
-
throw
|
|
730
|
+
if (_didIteratorError) {
|
|
731
|
+
throw _iteratorError;
|
|
609
732
|
}
|
|
610
733
|
}
|
|
611
734
|
return [
|
|
612
735
|
7
|
|
613
736
|
];
|
|
614
|
-
case
|
|
615
|
-
|
|
616
|
-
_state.label =
|
|
617
|
-
case
|
|
737
|
+
case 19:
|
|
738
|
+
_iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
|
|
739
|
+
_state.label = 20;
|
|
740
|
+
case 20:
|
|
618
741
|
_state.trys.push([
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
742
|
+
20,
|
|
743
|
+
25,
|
|
744
|
+
26,
|
|
745
|
+
27
|
|
623
746
|
]);
|
|
624
|
-
|
|
625
|
-
var feature,
|
|
747
|
+
_loop1 = function() {
|
|
748
|
+
var feature, docsForFeature;
|
|
626
749
|
return _ts_generator(this, function(_state) {
|
|
627
750
|
switch(_state.label){
|
|
628
751
|
case 0:
|
|
629
|
-
feature =
|
|
752
|
+
feature = _step1.value;
|
|
630
753
|
docsForFeature = parsedDocs.map(function(doc) {
|
|
631
754
|
return {
|
|
632
755
|
path: doc.relPath,
|
|
@@ -635,7 +758,10 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
635
758
|
});
|
|
636
759
|
return [
|
|
637
760
|
4,
|
|
638
|
-
(
|
|
761
|
+
stages.time((0, _stagests.featureStage)(feature.name, 'store'), function() {
|
|
762
|
+
var _feature_store;
|
|
763
|
+
return (_feature_store = feature.store) === null || _feature_store === void 0 ? void 0 : _feature_store.call(feature, conn, docsForFeature, delta);
|
|
764
|
+
})
|
|
639
765
|
];
|
|
640
766
|
case 1:
|
|
641
767
|
_state.sent();
|
|
@@ -645,110 +771,130 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
645
771
|
}
|
|
646
772
|
});
|
|
647
773
|
};
|
|
648
|
-
|
|
649
|
-
_state.label =
|
|
650
|
-
case
|
|
651
|
-
if (!!(
|
|
774
|
+
_iterator1 = features[Symbol.iterator]();
|
|
775
|
+
_state.label = 21;
|
|
776
|
+
case 21:
|
|
777
|
+
if (!!(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done)) return [
|
|
652
778
|
3,
|
|
653
|
-
|
|
779
|
+
24
|
|
654
780
|
];
|
|
655
781
|
return [
|
|
656
782
|
5,
|
|
657
|
-
_ts_values(
|
|
783
|
+
_ts_values(_loop1())
|
|
658
784
|
];
|
|
659
|
-
case
|
|
785
|
+
case 22:
|
|
660
786
|
_state.sent();
|
|
661
|
-
_state.label =
|
|
662
|
-
case
|
|
663
|
-
|
|
787
|
+
_state.label = 23;
|
|
788
|
+
case 23:
|
|
789
|
+
_iteratorNormalCompletion1 = true;
|
|
664
790
|
return [
|
|
665
791
|
3,
|
|
666
|
-
|
|
792
|
+
21
|
|
667
793
|
];
|
|
668
|
-
case
|
|
794
|
+
case 24:
|
|
669
795
|
return [
|
|
670
796
|
3,
|
|
671
|
-
|
|
797
|
+
27
|
|
672
798
|
];
|
|
673
|
-
case
|
|
799
|
+
case 25:
|
|
674
800
|
err = _state.sent();
|
|
675
|
-
|
|
676
|
-
|
|
801
|
+
_didIteratorError1 = true;
|
|
802
|
+
_iteratorError1 = err;
|
|
677
803
|
return [
|
|
678
804
|
3,
|
|
679
|
-
|
|
805
|
+
27
|
|
680
806
|
];
|
|
681
|
-
case
|
|
807
|
+
case 26:
|
|
682
808
|
try {
|
|
683
|
-
if (!
|
|
684
|
-
|
|
809
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
810
|
+
_iterator1.return();
|
|
685
811
|
}
|
|
686
812
|
} finally{
|
|
687
|
-
if (
|
|
688
|
-
throw
|
|
813
|
+
if (_didIteratorError1) {
|
|
814
|
+
throw _iteratorError1;
|
|
689
815
|
}
|
|
690
816
|
}
|
|
691
817
|
return [
|
|
692
818
|
7
|
|
693
819
|
];
|
|
694
|
-
case
|
|
695
|
-
|
|
696
|
-
_state.label =
|
|
697
|
-
case
|
|
820
|
+
case 27:
|
|
821
|
+
_iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = undefined;
|
|
822
|
+
_state.label = 28;
|
|
823
|
+
case 28:
|
|
698
824
|
_state.trys.push([
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
825
|
+
28,
|
|
826
|
+
33,
|
|
827
|
+
34,
|
|
828
|
+
35
|
|
703
829
|
]);
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
830
|
+
_loop2 = function() {
|
|
831
|
+
var feature;
|
|
832
|
+
return _ts_generator(this, function(_state) {
|
|
833
|
+
switch(_state.label){
|
|
834
|
+
case 0:
|
|
835
|
+
feature = _step2.value;
|
|
836
|
+
return [
|
|
837
|
+
4,
|
|
838
|
+
stages.time((0, _stagests.featureStage)(feature.name, 'after'), function() {
|
|
839
|
+
var _feature_afterReconcile;
|
|
840
|
+
return (_feature_afterReconcile = feature.afterReconcile) === null || _feature_afterReconcile === void 0 ? void 0 : _feature_afterReconcile.call(feature, conn, delta);
|
|
841
|
+
})
|
|
842
|
+
];
|
|
843
|
+
case 1:
|
|
844
|
+
_state.sent();
|
|
845
|
+
return [
|
|
846
|
+
2
|
|
847
|
+
];
|
|
848
|
+
}
|
|
849
|
+
});
|
|
850
|
+
};
|
|
851
|
+
_iterator2 = features[Symbol.iterator]();
|
|
852
|
+
_state.label = 29;
|
|
853
|
+
case 29:
|
|
854
|
+
if (!!(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done)) return [
|
|
708
855
|
3,
|
|
709
|
-
|
|
856
|
+
32
|
|
710
857
|
];
|
|
711
|
-
feature1 = _step4.value;
|
|
712
858
|
return [
|
|
713
|
-
|
|
714
|
-
(
|
|
859
|
+
5,
|
|
860
|
+
_ts_values(_loop2())
|
|
715
861
|
];
|
|
716
|
-
case
|
|
862
|
+
case 30:
|
|
717
863
|
_state.sent();
|
|
718
|
-
_state.label =
|
|
719
|
-
case
|
|
720
|
-
|
|
864
|
+
_state.label = 31;
|
|
865
|
+
case 31:
|
|
866
|
+
_iteratorNormalCompletion2 = true;
|
|
721
867
|
return [
|
|
722
868
|
3,
|
|
723
|
-
|
|
869
|
+
29
|
|
724
870
|
];
|
|
725
|
-
case
|
|
871
|
+
case 32:
|
|
726
872
|
return [
|
|
727
873
|
3,
|
|
728
|
-
|
|
874
|
+
35
|
|
729
875
|
];
|
|
730
|
-
case
|
|
876
|
+
case 33:
|
|
731
877
|
err = _state.sent();
|
|
732
|
-
|
|
733
|
-
|
|
878
|
+
_didIteratorError2 = true;
|
|
879
|
+
_iteratorError2 = err;
|
|
734
880
|
return [
|
|
735
881
|
3,
|
|
736
|
-
|
|
882
|
+
35
|
|
737
883
|
];
|
|
738
|
-
case
|
|
884
|
+
case 34:
|
|
739
885
|
try {
|
|
740
|
-
if (!
|
|
741
|
-
|
|
886
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
887
|
+
_iterator2.return();
|
|
742
888
|
}
|
|
743
889
|
} finally{
|
|
744
|
-
if (
|
|
745
|
-
throw
|
|
890
|
+
if (_didIteratorError2) {
|
|
891
|
+
throw _iteratorError2;
|
|
746
892
|
}
|
|
747
893
|
}
|
|
748
894
|
return [
|
|
749
895
|
7
|
|
750
896
|
];
|
|
751
|
-
case
|
|
897
|
+
case 35:
|
|
752
898
|
return [
|
|
753
899
|
2
|
|
754
900
|
];
|
|
@@ -760,13 +906,18 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
760
906
|
case 5:
|
|
761
907
|
_state.sent();
|
|
762
908
|
durationMs = Date.now() - txStart;
|
|
909
|
+
// Every store, not just the ones with a PRAGMA to derive: connectUnlocked's lock-wait budget needs it too.
|
|
910
|
+
(0, _lockwaitts.recordLockWaitMs)(baseDir, durationMs);
|
|
763
911
|
if (!dialect.recordDuration) return [
|
|
764
912
|
3,
|
|
765
913
|
7
|
|
766
914
|
];
|
|
767
915
|
return [
|
|
768
916
|
4,
|
|
769
|
-
|
|
917
|
+
stages.time('meta', function() {
|
|
918
|
+
var _dialect_recordDuration;
|
|
919
|
+
return (_dialect_recordDuration = dialect.recordDuration) === null || _dialect_recordDuration === void 0 ? void 0 : _dialect_recordDuration.call(dialect, conn, durationMs);
|
|
920
|
+
})
|
|
770
921
|
];
|
|
771
922
|
case 6:
|
|
772
923
|
_state.sent();
|
|
@@ -776,7 +927,8 @@ function reconcile(conn, cfg, baseDir, dialect, pool, forcedPaths) {
|
|
|
776
927
|
2,
|
|
777
928
|
{
|
|
778
929
|
parsed: parsedDocs.length,
|
|
779
|
-
warnings: warnings
|
|
930
|
+
warnings: warnings,
|
|
931
|
+
stages: stages.take(elapsed(), durationMs, workerParseMs)
|
|
780
932
|
}
|
|
781
933
|
];
|
|
782
934
|
}
|