@frehilm/ordna-core 0.1.4 → 0.2.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.
Files changed (65) hide show
  1. package/README.md +34 -0
  2. package/dist/config.d.ts +26 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +41 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/git.d.ts +10 -0
  7. package/dist/git.d.ts.map +1 -1
  8. package/dist/git.js +14 -27
  9. package/dist/git.js.map +1 -1
  10. package/dist/index.d.ts +3 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/schema.d.ts +18 -1
  15. package/dist/schema.d.ts.map +1 -1
  16. package/dist/schema.js.map +1 -1
  17. package/dist/storage/auto-detect.d.ts +82 -0
  18. package/dist/storage/auto-detect.d.ts.map +1 -0
  19. package/dist/storage/auto-detect.js +158 -0
  20. package/dist/storage/auto-detect.js.map +1 -0
  21. package/dist/storage/auto-push.d.ts +36 -0
  22. package/dist/storage/auto-push.d.ts.map +1 -0
  23. package/dist/storage/auto-push.js +100 -0
  24. package/dist/storage/auto-push.js.map +1 -0
  25. package/dist/storage/backend.d.ts +86 -0
  26. package/dist/storage/backend.d.ts.map +1 -0
  27. package/dist/storage/backend.js +14 -0
  28. package/dist/storage/backend.js.map +1 -0
  29. package/dist/storage/backends/file.d.ts +31 -0
  30. package/dist/storage/backends/file.d.ts.map +1 -0
  31. package/dist/storage/backends/file.js +213 -0
  32. package/dist/storage/backends/file.js.map +1 -0
  33. package/dist/storage/backends/hybrid.d.ts +39 -0
  34. package/dist/storage/backends/hybrid.d.ts.map +1 -0
  35. package/dist/storage/backends/hybrid.js +270 -0
  36. package/dist/storage/backends/hybrid.js.map +1 -0
  37. package/dist/storage/backends/namespace.d.ts +55 -0
  38. package/dist/storage/backends/namespace.d.ts.map +1 -0
  39. package/dist/storage/backends/namespace.js +907 -0
  40. package/dist/storage/backends/namespace.js.map +1 -0
  41. package/dist/storage/file-io.d.ts +38 -0
  42. package/dist/storage/file-io.d.ts.map +1 -0
  43. package/dist/storage/file-io.js +69 -0
  44. package/dist/storage/file-io.js.map +1 -0
  45. package/dist/storage/git-ref.d.ts +77 -0
  46. package/dist/storage/git-ref.d.ts.map +1 -0
  47. package/dist/storage/git-ref.js +184 -0
  48. package/dist/storage/git-ref.js.map +1 -0
  49. package/dist/storage/markdown.d.ts +17 -0
  50. package/dist/storage/markdown.d.ts.map +1 -0
  51. package/dist/storage/markdown.js +17 -0
  52. package/dist/storage/markdown.js.map +1 -0
  53. package/dist/storage/sync-ref.d.ts +82 -0
  54. package/dist/storage/sync-ref.d.ts.map +1 -0
  55. package/dist/storage/sync-ref.js +191 -0
  56. package/dist/storage/sync-ref.js.map +1 -0
  57. package/dist/store.d.ts +56 -8
  58. package/dist/store.d.ts.map +1 -1
  59. package/dist/store.js +93 -115
  60. package/dist/store.js.map +1 -1
  61. package/dist/watcher.d.ts +33 -1
  62. package/dist/watcher.d.ts.map +1 -1
  63. package/dist/watcher.js +12 -30
  64. package/dist/watcher.js.map +1 -1
  65. package/package.json +1 -1
package/dist/watcher.js CHANGED
@@ -1,32 +1,14 @@
1
- import { basename } from "node:path";
2
- import chokidar from "chokidar";
3
- import { parseTaskFile } from "./parser.js";
4
- export function watchTasks(ctx, listener, options = {}) {
5
- const watcher = chokidar.watch(ctx.tasksDir, {
6
- ignoreInitial: options.ignoreInitial ?? true,
7
- depth: 0,
8
- persistent: true,
9
- });
10
- const emitIfMarkdown = async (type, filePath) => {
11
- if (!filePath.endsWith(".md"))
12
- return;
13
- try {
14
- const task = await parseTaskFile(filePath);
15
- listener({ type, task });
16
- }
17
- catch {
18
- // Ignore partial writes or malformed files.
19
- }
20
- };
21
- watcher.on("add", (path) => void emitIfMarkdown("added", path));
22
- watcher.on("change", (path) => void emitIfMarkdown("changed", path));
23
- watcher.on("unlink", (path) => {
24
- if (!path.endsWith(".md"))
25
- return;
26
- listener({ type: "removed", filePath: path });
27
- });
28
- return async () => {
29
- await watcher.close();
30
- };
1
+ /**
2
+ * Subscribe to task changes.
3
+ *
4
+ * Delegates to the active backend's `watch` method. The file backend
5
+ * uses chokidar on `<tasksDir>`; future remote backends (hybrid uses
6
+ * the same chokidar pattern; namespace polls `git for-each-ref`)
7
+ * plug their own implementations behind the same listener contract.
8
+ *
9
+ * Returns an unsubscribe function. Call it on shutdown.
10
+ */
11
+ export function watchTasks(ctx, listener, _options = {}) {
12
+ return ctx.backend.watch(listener);
31
13
  }
32
14
  //# sourceMappingURL=watcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAc5C,MAAM,UAAU,UAAU,CACzB,GAAiB,EACjB,QAA2B,EAC3B,UAAwB,EAAE;IAE1B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;QAC5C,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,EAC3B,IAAyB,EACzB,QAAgB,EACA,EAAE;QAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QACtC,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACR,4CAA4C;QAC7C,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACzB,GAAiB,EACjB,QAA2B,EAC3B,WAAyB,EAAE;IAE3B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frehilm/ordna-core",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Git-native task management — pure data layer. Tasks are markdown files; the board is the directory.",
5
5
  "license": "MIT",
6
6
  "author": "FreHilm <1584617+FreHilm@users.noreply.github.com>",