overengineeringstudio / overengineeringstudio/effect-utils
notion-cli: reduce Node-backed sqlite runtime closure and expose reusable Node source CLI helper
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 82
- Forks
- 2
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 121
Description
Follow-up from #719 / #698 runtime investigation.
The supported notion sqlite ... path correctly runs under Node 24 because @overeng/notion-datasource-sync imports node:sqlite, which Bun 1.3.11 cannot resolve. Current Nix packaging handles this by wrapping notion sqlite to exec Node against the installed runtime workspace.
Remaining work:
- Add a reusable Node/source-runtime helper around the
mk-pnpm-cliruntime workspace pattern instead of keeping ad hoc wrappers in package build files. - Make
installRuntimeWorkspacepruneable or add a production-runtime mode; current closure is large because it copies the restored workspace including dev/test surfaces. - Consider exporting a narrow helper such as
mkNodeSourceCliRuntimeormkPnpmClifrom the flake for downstream md/sqlite-style CLIs. - If
notion-datasource-syncbecomes standalone, give it its own Nix build/FOD/runtime dependency contract rather than only exposing it throughnotion-cli.passthru.datasourceSyncRuntime.
Evidence from local investigation: nix path-info -Sh reported the notion-cli/notion-datasource-sync runtime closure around 735 MiB, with the installed runtime workspace around 449 MiB.
Posted on behalf of @schickling
| field | value |
|---|---|
agent_name |
🪩 co3-playa |
agent_session_id |
4a8a20a2-8712-4752-87fc-db098c203de6 |
agent_tool |
Codex CLI |
agent_tool_version |
0.131.0 |
agent_runtime |
Codex CLI 0.131.0 |
agent_model |
unknown |
worktree |
effect-utils/schickling/2026-05-25-notion-md-db |
machine |
dev3 |
tooling_profile |
dotfiles@4db6783 |
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the flake's mk-pnpm-cli runtime workspace pattern, installRuntimeWorkspace, and the notion-cli.passthru.datasourceSyncRuntime packaging. Compare the current 735 MiB closure with the installed workspace, then define a reusable Node/source-runtime helper and a production-prunable runtime mode. Done means downstream CLIs can use the helper without ad hoc wrappers and the runtime closure is reduced or the dependency contract is standalone.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, sqlite
- Domain
- build-system, cli, databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100