feat(core): import progress & perf (#15197)

#### PR Dependency Tree


* **PR #15197** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a new import pipeline with “plan then commit” batch handling for
Markdown, Notion HTML, Obsidian, and Bear backups.
* Enabled native import sessions with progress, cancellation, and
batch-by-batch committing (including assets, folders, icons, and tags).
  * Added web preflight limits for ZIP and multi-file imports.
* **Bug Fixes**
* Improved import error/warning reporting and continued processing when
some items fail.
* Strengthened snapshot-based file/directory picking to preserve paths.
* **Chores**
  * Updated project packaging/configuration for the new import workflow.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-07-06 01:29:24 +08:00
committed by GitHub
parent 477015f064
commit 8d72e4dc29
106 changed files with 3329 additions and 11690 deletions
+7 -23
View File
@@ -6,32 +6,16 @@ publish = false
version = "0.1.0"
[features]
default = []
default = []
hashcash = ["chrono", "hex", "sha3", "rand"]
napi = ["dep:napi"]
ydoc-loader = [
"assert-json-diff",
"nanoid",
"pulldown-cmark",
"serde",
"serde_json",
"thiserror",
"y-octo",
]
napi = ["dep:napi"]
[dependencies]
assert-json-diff = { workspace = true, optional = true }
chrono = { workspace = true, optional = true }
hex = { workspace = true, optional = true }
nanoid = { workspace = true, optional = true }
napi = { workspace = true, optional = true }
pulldown-cmark = { workspace = true, optional = true }
rand = { workspace = true, optional = true }
serde = { workspace = true, optional = true, features = ["derive"] }
serde_json = { workspace = true, optional = true }
sha3 = { workspace = true, optional = true }
thiserror = { workspace = true, optional = true }
y-octo = { workspace = true, optional = true }
chrono = { workspace = true, optional = true }
hex = { workspace = true, optional = true }
napi = { workspace = true, optional = true }
rand = { workspace = true, optional = true }
sha3 = { workspace = true, optional = true }
[dev-dependencies]
criterion = { workspace = true }