mapples 0.1.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 (135) hide show
  1. package/README.md +42 -0
  2. package/dist/adopt/mappingTable.d.ts +1 -0
  3. package/dist/adopt/mappingTable.js +18 -0
  4. package/dist/adopt/mappingTable.js.map +1 -0
  5. package/dist/adopt/scan.d.ts +4 -0
  6. package/dist/adopt/scan.js +51 -0
  7. package/dist/adopt/scan.js.map +1 -0
  8. package/dist/api/canonical.d.ts +12 -0
  9. package/dist/api/canonical.js +65 -0
  10. package/dist/api/canonical.js.map +1 -0
  11. package/dist/api/client.d.ts +37 -0
  12. package/dist/api/client.js +79 -0
  13. package/dist/api/client.js.map +1 -0
  14. package/dist/api/commit.d.ts +18 -0
  15. package/dist/api/commit.js +47 -0
  16. package/dist/api/commit.js.map +1 -0
  17. package/dist/api/errors.d.ts +30 -0
  18. package/dist/api/errors.js +74 -0
  19. package/dist/api/errors.js.map +1 -0
  20. package/dist/api/objects.d.ts +55 -0
  21. package/dist/api/objects.js +48 -0
  22. package/dist/api/objects.js.map +1 -0
  23. package/dist/api/poll.d.ts +10 -0
  24. package/dist/api/poll.js +33 -0
  25. package/dist/api/poll.js.map +1 -0
  26. package/dist/assets/assets.d.ts +15 -0
  27. package/dist/assets/assets.js +110 -0
  28. package/dist/assets/assets.js.map +1 -0
  29. package/dist/codegen/emit.d.ts +8 -0
  30. package/dist/codegen/emit.js +33 -0
  31. package/dist/codegen/emit.js.map +1 -0
  32. package/dist/codegen/format.d.ts +8 -0
  33. package/dist/codegen/format.js +24 -0
  34. package/dist/codegen/format.js.map +1 -0
  35. package/dist/codegen/imports.d.ts +15 -0
  36. package/dist/codegen/imports.js +79 -0
  37. package/dist/codegen/imports.js.map +1 -0
  38. package/dist/commands/adopt.d.ts +2 -0
  39. package/dist/commands/adopt.js +11 -0
  40. package/dist/commands/adopt.js.map +1 -0
  41. package/dist/commands/create.d.ts +2 -0
  42. package/dist/commands/create.js +13 -0
  43. package/dist/commands/create.js.map +1 -0
  44. package/dist/commands/doctor.d.ts +2 -0
  45. package/dist/commands/doctor.js +11 -0
  46. package/dist/commands/doctor.js.map +1 -0
  47. package/dist/commands/impl/adoptImpl.d.ts +1 -0
  48. package/dist/commands/impl/adoptImpl.js +24 -0
  49. package/dist/commands/impl/adoptImpl.js.map +1 -0
  50. package/dist/commands/impl/createImpl.d.ts +2 -0
  51. package/dist/commands/impl/createImpl.js +65 -0
  52. package/dist/commands/impl/createImpl.js.map +1 -0
  53. package/dist/commands/impl/doctorImpl.d.ts +1 -0
  54. package/dist/commands/impl/doctorImpl.js +25 -0
  55. package/dist/commands/impl/doctorImpl.js.map +1 -0
  56. package/dist/commands/impl/initImpl.d.ts +1 -0
  57. package/dist/commands/impl/initImpl.js +65 -0
  58. package/dist/commands/impl/initImpl.js.map +1 -0
  59. package/dist/commands/impl/syncImpl.d.ts +1 -0
  60. package/dist/commands/impl/syncImpl.js +34 -0
  61. package/dist/commands/impl/syncImpl.js.map +1 -0
  62. package/dist/commands/init.d.ts +2 -0
  63. package/dist/commands/init.js +13 -0
  64. package/dist/commands/init.js.map +1 -0
  65. package/dist/commands/sync.d.ts +2 -0
  66. package/dist/commands/sync.js +13 -0
  67. package/dist/commands/sync.js.map +1 -0
  68. package/dist/index.d.ts +2 -0
  69. package/dist/index.js +23 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/merge/applyOps.d.ts +11 -0
  72. package/dist/merge/applyOps.js +134 -0
  73. package/dist/merge/applyOps.js.map +1 -0
  74. package/dist/merge/deprecate.d.ts +3 -0
  75. package/dist/merge/deprecate.js +28 -0
  76. package/dist/merge/deprecate.js.map +1 -0
  77. package/dist/merge/diff.d.ts +15 -0
  78. package/dist/merge/diff.js +124 -0
  79. package/dist/merge/diff.js.map +1 -0
  80. package/dist/merge/mergePatch.d.ts +8 -0
  81. package/dist/merge/mergePatch.js +63 -0
  82. package/dist/merge/mergePatch.js.map +1 -0
  83. package/dist/merge/threeWay.d.ts +15 -0
  84. package/dist/merge/threeWay.js +242 -0
  85. package/dist/merge/threeWay.js.map +1 -0
  86. package/dist/merge/toEdits.d.ts +3 -0
  87. package/dist/merge/toEdits.js +92 -0
  88. package/dist/merge/toEdits.js.map +1 -0
  89. package/dist/nav/routeTree.d.ts +11 -0
  90. package/dist/nav/routeTree.js +182 -0
  91. package/dist/nav/routeTree.js.map +1 -0
  92. package/dist/project/baseStore.d.ts +19 -0
  93. package/dist/project/baseStore.js +78 -0
  94. package/dist/project/baseStore.js.map +1 -0
  95. package/dist/project/config.d.ts +13 -0
  96. package/dist/project/config.js +28 -0
  97. package/dist/project/config.js.map +1 -0
  98. package/dist/project/head.d.ts +6 -0
  99. package/dist/project/head.js +22 -0
  100. package/dist/project/head.js.map +1 -0
  101. package/dist/project/outbox.d.ts +14 -0
  102. package/dist/project/outbox.js +31 -0
  103. package/dist/project/outbox.js.map +1 -0
  104. package/dist/project/pagesMap.d.ts +8 -0
  105. package/dist/project/pagesMap.js +20 -0
  106. package/dist/project/pagesMap.js.map +1 -0
  107. package/dist/services/adoptService.d.ts +11 -0
  108. package/dist/services/adoptService.js +197 -0
  109. package/dist/services/adoptService.js.map +1 -0
  110. package/dist/services/doctorService.d.ts +11 -0
  111. package/dist/services/doctorService.js +135 -0
  112. package/dist/services/doctorService.js.map +1 -0
  113. package/dist/services/scaffold.d.ts +7 -0
  114. package/dist/services/scaffold.js +56 -0
  115. package/dist/services/scaffold.js.map +1 -0
  116. package/dist/services/syncEngine.d.ts +11 -0
  117. package/dist/services/syncEngine.js +618 -0
  118. package/dist/services/syncEngine.js.map +1 -0
  119. package/dist/style/theme.d.ts +12 -0
  120. package/dist/style/theme.js +125 -0
  121. package/dist/style/theme.js.map +1 -0
  122. package/dist/types.d.ts +136 -0
  123. package/dist/types.js +6 -0
  124. package/dist/types.js.map +1 -0
  125. package/dist/ui/report.d.ts +24 -0
  126. package/dist/ui/report.js +50 -0
  127. package/dist/ui/report.js.map +1 -0
  128. package/package.json +38 -0
  129. package/templates/app/_layout.tsx +5 -0
  130. package/templates/app.json +15 -0
  131. package/templates/babel.config.js +8 -0
  132. package/templates/gitignore +7 -0
  133. package/templates/mapples/sid.d.ts +13 -0
  134. package/templates/package.json +30 -0
  135. package/templates/tsconfig.json +10 -0
@@ -0,0 +1,7 @@
1
+ export declare function templatesDir(): string;
2
+ /** Copy the app-shell templates into `target`, substituting __APP_NAME__. Never overwrites. */
3
+ export declare function scaffoldApp(target: string, appName: string): string[];
4
+ /** Write mapples/sid.d.ts into an existing app (init). Never overwrites. */
5
+ export declare function writeSidTypes(root: string): boolean;
6
+ /** Ensure babel-plugin-mapples-sid is wired. Creates babel.config.js when absent; never edits an existing one. */
7
+ export declare function ensureBabelPlugin(root: string): 'created' | 'present' | 'manual';
@@ -0,0 +1,56 @@
1
+ // Scaffolding shared by `mapples create` and `mapples init`.
2
+ import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
3
+ import { dirname, join } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ export function templatesDir() {
6
+ // dist/services/scaffold.js -> ../../templates
7
+ return fileURLToPath(new URL('../../templates/', import.meta.url));
8
+ }
9
+ const RENAMES = { gitignore: '.gitignore' };
10
+ /** Copy the app-shell templates into `target`, substituting __APP_NAME__. Never overwrites. */
11
+ export function scaffoldApp(target, appName) {
12
+ const written = [];
13
+ const src = templatesDir();
14
+ const walk = (rel) => {
15
+ for (const entry of readdirSync(join(src, rel), { withFileTypes: true })) {
16
+ const relPath = rel ? join(rel, entry.name) : entry.name;
17
+ if (entry.isDirectory()) {
18
+ walk(relPath);
19
+ continue;
20
+ }
21
+ const outRel = RENAMES[relPath] ?? relPath;
22
+ const outPath = join(target, outRel);
23
+ if (existsSync(outPath))
24
+ continue; // never overwrite
25
+ mkdirSync(dirname(outPath), { recursive: true });
26
+ const content = readFileSync(join(src, relPath), 'utf8').replaceAll('__APP_NAME__', appName);
27
+ writeFileSync(outPath, content);
28
+ written.push(outRel);
29
+ }
30
+ };
31
+ walk('');
32
+ return written;
33
+ }
34
+ /** Write mapples/sid.d.ts into an existing app (init). Never overwrites. */
35
+ export function writeSidTypes(root) {
36
+ const target = join(root, 'mapples', 'sid.d.ts');
37
+ if (existsSync(target))
38
+ return false;
39
+ mkdirSync(dirname(target), { recursive: true });
40
+ cpSync(join(templatesDir(), 'mapples', 'sid.d.ts'), target);
41
+ return true;
42
+ }
43
+ /** Ensure babel-plugin-mapples-sid is wired. Creates babel.config.js when absent; never edits an existing one. */
44
+ export function ensureBabelPlugin(root) {
45
+ const configPath = join(root, 'babel.config.js');
46
+ if (!existsSync(configPath)) {
47
+ cpSync(join(templatesDir(), 'babel.config.js'), configPath);
48
+ return 'created';
49
+ }
50
+ const content = readFileSync(configPath, 'utf8');
51
+ if (content.includes('babel-plugin-mapples-sid'))
52
+ return 'present';
53
+ // Never silently rewrite user config — tell them what to add instead.
54
+ return 'manual';
55
+ }
56
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/services/scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { JpatchClient } from '../api/client.js';
2
+ import { type SyncReport } from '../ui/report.js';
3
+ export interface SyncEngineInput {
4
+ root: string;
5
+ client: JpatchClient;
6
+ }
7
+ export declare function runSyncEngine({ root, client }: SyncEngineInput): Promise<SyncReport>;
8
+ export declare function verifyNoLocalDrift(root: string): {
9
+ file: string;
10
+ drifted: boolean;
11
+ }[];