@mnemonik/shared 7.140.1 → 7.140.2

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 (40) hide show
  1. package/dist/codeScanner.d.ts +41 -1
  2. package/dist/codeScanner.d.ts.map +1 -1
  3. package/dist/codeScanner.js +90 -12
  4. package/dist/codeScanner.js.map +1 -1
  5. package/dist/hookRuntime.d.ts +9 -8
  6. package/dist/hookRuntime.d.ts.map +1 -1
  7. package/dist/hookRuntime.js +21 -10
  8. package/dist/hookRuntime.js.map +1 -1
  9. package/dist/hookTrace.d.ts +149 -0
  10. package/dist/hookTrace.d.ts.map +1 -0
  11. package/dist/hookTrace.js +483 -0
  12. package/dist/hookTrace.js.map +1 -0
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/projectIdentityFile.d.ts +13 -0
  18. package/dist/projectIdentityFile.d.ts.map +1 -1
  19. package/dist/projectIdentityFile.js +31 -18
  20. package/dist/projectIdentityFile.js.map +1 -1
  21. package/dist/protectedPaths.d.ts +6 -0
  22. package/dist/protectedPaths.d.ts.map +1 -1
  23. package/dist/protectedPaths.js +15 -6
  24. package/dist/protectedPaths.js.map +1 -1
  25. package/dist/repositoryRoot.d.ts +20 -8
  26. package/dist/repositoryRoot.d.ts.map +1 -1
  27. package/dist/repositoryRoot.js +167 -79
  28. package/dist/repositoryRoot.js.map +1 -1
  29. package/package.json +2 -2
  30. package/src/codeScanner.ts +107 -9
  31. package/src/hookRuntime.ts +26 -14
  32. package/src/hookTrace.ts +588 -0
  33. package/src/index.ts +4 -0
  34. package/src/projectIdentityFile.ts +34 -20
  35. package/src/protectedPaths.ts +18 -7
  36. package/src/repositoryRoot.ts +188 -82
  37. package/test-fixtures/identity/runner.d.mts +1 -1
  38. package/test-fixtures/identity/runner.mjs +299 -25
  39. package/tests/hookTrace.test.ts +350 -0
  40. package/tests/nearestProjectIdentity.test.ts +253 -0
@@ -1 +1 @@
1
- {"version":3,"file":"projectIdentityFile.js","sourceRoot":"","sources":["../src/projectIdentityFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectIdentityFile.js","sourceRoot":"","sources":["../src/projectIdentityFile.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  type Platform = NodeJS.Platform;
2
+ /**
3
+ * Mnemonik's local state folder: the same answer as `stateDirectory` in
4
+ * @mnemonik/local-setup, which depends on this package and so cannot be
5
+ * imported here.
6
+ */
7
+ export declare function mnemonikStateDirectory(platform?: Platform, env?: NodeJS.ProcessEnv, home?: string): string;
2
8
  /** Local state and credential locations that Mnemonik must never scan. */
3
9
  export declare function protectedLocalPaths(platform?: Platform, env?: NodeJS.ProcessEnv, home?: string): string[];
4
10
  /** True when candidate is the protected path itself or lies below it. */
@@ -1 +1 @@
1
- {"version":3,"file":"protectedPaths.d.ts","sourceRoot":"","sources":["../src/protectedPaths.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAMhC,0EAA0E;AAC1E,wBAAgB,mBAAmB,CACjC,QAAQ,GAAE,QAA2B,EACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,MAAkB,GACvB,MAAM,EAAE,CAwCV;AAQD,yEAAyE;AACzE,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,SAAS,MAAM,EAA0B,EACzD,QAAQ,GAAE,QAA2B,GACpC,OAAO,CAWT;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,SAAS,MAAM,EAA0B,EACzD,QAAQ,GAAE,QAA2B,GACpC,MAAM,EAAE,CAEV"}
1
+ {"version":3,"file":"protectedPaths.d.ts","sourceRoot":"","sources":["../src/protectedPaths.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAMhC;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,QAA2B,EACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,MAAkB,GACvB,MAAM,CAMR;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CACjC,QAAQ,GAAE,QAA2B,EACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,MAAkB,GACvB,MAAM,EAAE,CAkCV;AAQD,yEAAyE;AACzE,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,SAAS,MAAM,EAA0B,EACzD,QAAQ,GAAE,QAA2B,GACpC,OAAO,CAWT;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,SAAS,MAAM,EAA0B,EACzD,QAAQ,GAAE,QAA2B,GACpC,MAAM,EAAE,CAEV"}
@@ -3,17 +3,26 @@ import { posix, win32 } from 'node:path';
3
3
  function pathsFor(platform) {
4
4
  return platform === 'win32' ? win32 : posix;
5
5
  }
6
+ /**
7
+ * Mnemonik's local state folder: the same answer as `stateDirectory` in
8
+ * @mnemonik/local-setup, which depends on this package and so cannot be
9
+ * imported here.
10
+ */
11
+ export function mnemonikStateDirectory(platform = process.platform, env = process.env, home = homedir()) {
12
+ if (env.MNEMONIK_STATE_DIR)
13
+ return env.MNEMONIK_STATE_DIR;
14
+ if (platform === 'win32')
15
+ return win32.join(env.LOCALAPPDATA || win32.join(home, 'AppData', 'Local'), 'Mnemonik');
16
+ if (platform === 'darwin')
17
+ return posix.join(home, 'Library', 'Application Support', 'Mnemonik');
18
+ return posix.join(env.XDG_STATE_HOME || posix.join(home, '.local', 'state'), 'mnemonik');
19
+ }
6
20
  /** Local state and credential locations that Mnemonik must never scan. */
7
21
  export function protectedLocalPaths(platform = process.platform, env = process.env, home = homedir()) {
8
22
  const path = pathsFor(platform);
9
23
  const localAppData = env.LOCALAPPDATA || win32.join(home, 'AppData', 'Local');
10
24
  const appData = env.APPDATA || win32.join(home, 'AppData', 'Roaming');
11
- const state = env.MNEMONIK_STATE_DIR ||
12
- (platform === 'win32'
13
- ? win32.join(localAppData, 'Mnemonik')
14
- : platform === 'darwin'
15
- ? posix.join(home, 'Library', 'Application Support', 'Mnemonik')
16
- : posix.join(env.XDG_STATE_HOME || posix.join(home, '.local', 'state'), 'mnemonik'));
25
+ const state = mnemonikStateDirectory(platform, env, home);
17
26
  const common = [
18
27
  state,
19
28
  path.join(home, '.mnemonik'),
@@ -1 +1 @@
1
- {"version":3,"file":"protectedPaths.js","sourceRoot":"","sources":["../src/protectedPaths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protectedPaths.js","sourceRoot":"","sources":["../src/protectedPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAqB,MAAM,WAAW,CAAC;AAI5D,SAAS,QAAQ,CAAC,QAAkB;IAClC,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAQ,GAAa,OAAO,CAAC,QAAQ,EACrC,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,IAAI,GAAW,OAAO,EAAE;IAExB,IAAI,GAAG,CAAC,kBAAkB;QAAE,OAAO,GAAG,CAAC,kBAAkB,CAAC;IAC1D,IAAI,QAAQ,KAAK,OAAO;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1F,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;IACjG,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;AAC3F,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,QAAQ,GAAa,OAAO,CAAC,QAAQ,EACrC,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,IAAI,GAAW,OAAO,EAAE;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG;QACb,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,mBAAmB,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,sBAAsB,CAAC;KACjD,CAAC;IACF,MAAM,OAAO,GACX,QAAQ,KAAK,QAAQ;QACnB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,QAAQ,KAAK,OAAO;YACpB,CAAC,CAAC;gBACE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;aAC5C;YACH,CAAC,CAAC;gBACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;aAC3B,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,QAAkB;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/F,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,cAAc,GAAsB,mBAAmB,EAAE,EACzD,QAAQ,GAAa,OAAO,CAAC,QAAQ;IAErC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,CACL,QAAQ,KAAK,EAAE;YACf,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC3F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,cAAc,GAAsB,mBAAmB,EAAE,EACzD,QAAQ,GAAa,OAAO,CAAC,QAAQ;IAErC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjG,CAAC"}
@@ -37,21 +37,33 @@ export type ProjectIdentityResolution = (ResolvedBase & {
37
37
  kind: 'malformed';
38
38
  detail: string;
39
39
  path: string;
40
- }) | (ResolvedBase & {
41
- kind: 'nested';
42
- parentIdentity?: ProjectIdentityFile;
43
- }) | (ResolvedBase & {
44
- kind: 'conflict';
45
- rootIdentity: ProjectIdentityFile;
46
- nestedIdentity: ProjectIdentityFile;
47
40
  }) | {
48
41
  kind: 'git_unavailable';
49
42
  detail: string;
50
43
  };
51
44
  export declare function resolveRepositoryRoot(cwd: string): Promise<RepositoryRootResult>;
45
+ /**
46
+ * The project a working folder belongs to: the nearest `.mnemonik.json` above
47
+ * it. Git repositories are not project boundaries; a clone, submodule,
48
+ * subsystem or subproject inside a project belongs to that project unless it
49
+ * has its own identity file. Git has one part in identity: a linked worktree
50
+ * (and anything inside it without an identity file of its own below the
51
+ * worktree's top, nested clones and submodules included) belongs to the
52
+ * project of its main checkout; the worktree's own top-level copy of the
53
+ * identity file does not count.
54
+ */
55
+ export declare function resolveNearestProjectIdentity(cwd: string): Promise<ProjectIdentityResolution>;
56
+ /**
57
+ * Which project a folder is in. By default this is the rule every reader
58
+ * shares with the hooks (resolveNearestProjectIdentity). `namedRoot` and
59
+ * `selectedRoot` read exactly the folder given instead, for commands that make
60
+ * that folder a project on purpose; `selectedRoot` (folders ticked during
61
+ * install) also treats a configuration-only file as no identity, as the
62
+ * nearest-file walk always does.
63
+ */
52
64
  export declare function resolveProjectIdentity(cwd: string, options?: {
53
- allowNestedInherit?: boolean;
54
65
  selectedRoot?: boolean;
66
+ namedRoot?: boolean;
55
67
  }): Promise<ProjectIdentityResolution>;
56
68
  export {};
57
69
  //# sourceMappingURL=repositoryRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryRoot.d.ts","sourceRoot":"","sources":["../src/repositoryRoot.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,KAAK,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAAC;AAErF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAAC,GAC9D,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GACnC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5E,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACpE,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC,GACzE,CAAC,YAAY,GAAG;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,mBAAmB,CAAC;IAClC,cAAc,EAAE,mBAAmB,CAAC;CACrC,CAAC,GACF;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoGhD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkCtF;AA2BD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACrE,OAAO,CAAC,yBAAyB,CAAC,CAgDpC"}
1
+ {"version":3,"file":"repositoryRoot.d.ts","sourceRoot":"","sources":["../src/repositoryRoot.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,KAAK,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAAC;AAErF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAAC,GAC9D,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GACnC,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5E,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACpE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAkGhD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA4CtF;AAmFD;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,yBAAyB,CAAC,CAepC;AAwDD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5D,OAAO,CAAC,yBAAyB,CAAC,CAKpC"}
@@ -1,4 +1,4 @@
1
- import { lstat, readFile } from 'node:fs/promises';
1
+ import { lstat, readFile, realpath } from 'node:fs/promises';
2
2
  import { execFile } from 'node:child_process';
3
3
  import { homedir } from 'node:os';
4
4
  import { dirname, join, resolve } from 'node:path';
@@ -63,7 +63,7 @@ async function confirmedBoundaryAt(path) {
63
63
  async function boundariesBetween(cwd, root) {
64
64
  const boundaries = [];
65
65
  let directory = cwd;
66
- while (directory !== root) {
66
+ while (!samePath(directory, root)) {
67
67
  const boundary = await confirmedBoundaryAt(directory);
68
68
  if (boundary)
69
69
  boundaries.push(boundary);
@@ -86,38 +86,43 @@ async function containingRepository(root) {
86
86
  directory = parent;
87
87
  }
88
88
  }
89
- async function canonicalBoundaryRoot(boundary) {
90
- if (boundary.kind === 'directory')
91
- return boundary.path;
92
- const pointer = /^gitdir:\s*(.+)\s*$/im.exec(await readFile(join(boundary.path, '.git'), 'utf8'))?.[1];
93
- if (!pointer)
94
- return boundary.path;
95
- const gitDir = resolve(boundary.path, pointer);
96
- try {
97
- const commonDir = resolve(gitDir, (await readFile(join(gitDir, 'commondir'), 'utf8')).trim());
98
- return dirname(commonDir);
99
- }
100
- catch (error) {
101
- if (error.code === 'ENOENT')
102
- return boundary.path;
103
- throw error;
104
- }
89
+ /**
90
+ * A path as the file system knows it, symlinks resolved, so it compares equal
91
+ * with the real paths of git's answers. A path that does not exist stays as given.
92
+ */
93
+ async function canonicalPath(path) {
94
+ const absolute = resolve(path);
95
+ return realpath(absolute).catch(() => absolute);
96
+ }
97
+ /** Path equality; Windows paths compare without regard to case. */
98
+ function samePath(left, right) {
99
+ return process.platform === 'win32' ? left.toLowerCase() === right.toLowerCase() : left === right;
105
100
  }
106
101
  export async function resolveRepositoryRoot(cwd) {
107
- const absoluteCwd = resolve(cwd);
102
+ const absoluteCwd = await canonicalPath(cwd);
108
103
  try {
109
104
  const { stdout } = await runGit(absoluteCwd, [
110
105
  'rev-parse',
111
106
  '--show-toplevel',
107
+ '--git-dir',
112
108
  '--git-common-dir',
113
109
  ]);
114
- const [rootLine, commonLine, ...extra] = stdout.trim().split(/\r?\n/);
115
- if (!rootLine || !commonLine || extra.length) {
110
+ const [rootLine, gitDirLine, commonLine, ...extra] = stdout.trim().split(/\r?\n/);
111
+ if (!rootLine || !gitDirLine || !commonLine || extra.length) {
116
112
  return { kind: 'git_unavailable', detail: 'git rev-parse returned an unexpected response' };
117
113
  }
118
- const root = resolve(rootLine);
119
- const commonDir = resolve(root, commonLine);
120
- const isLinkedWorktree = commonDir !== join(root, '.git');
114
+ // git prints --git-dir and --git-common-dir relative to the directory it
115
+ // ran in (`../.git` from a subfolder) or absolute; every git version
116
+ // agrees on that. Real paths make them comparable with each other and
117
+ // with real paths from the file system.
118
+ const fromGit = (line) => canonicalPath(resolve(absoluteCwd, line));
119
+ const root = await fromGit(rootLine);
120
+ const gitDir = await fromGit(gitDirLine);
121
+ const commonDir = await fromGit(commonLine);
122
+ // Only a linked worktree keeps its own git directory apart from the common
123
+ // one. A submodule (`.git/modules/<name>`) and a `--separate-git-dir`
124
+ // checkout keep both in one place, wherever that is.
125
+ const isLinkedWorktree = !samePath(gitDir, commonDir);
121
126
  const nested = await boundariesBetween(absoluteCwd, root);
122
127
  if (!isLinkedWorktree && (await containingRepository(root))) {
123
128
  const boundary = await boundaryAt(root);
@@ -140,14 +145,57 @@ export async function resolveRepositoryRoot(cwd) {
140
145
  return { kind: 'git_unavailable', detail: failure.message };
141
146
  }
142
147
  }
148
+ /**
149
+ * The common git directory when `dir` is the top of a linked worktree: its
150
+ * `.git` is a file pointing at a git directory that has a `commondir`. A
151
+ * submodule's `.git` file points at `.git/modules/<name>`, which has none.
152
+ * Read from the files git writes, so it holds without a git command.
153
+ */
154
+ async function linkedWorktreeCommonDir(dir) {
155
+ try {
156
+ if (!(await lstat(join(dir, '.git'))).isFile())
157
+ return undefined;
158
+ const pointer = /^gitdir:\s*(.+?)\s*$/im.exec(await readFile(join(dir, '.git'), 'utf8'))?.[1];
159
+ if (!pointer)
160
+ return undefined;
161
+ const gitDir = resolve(dir, pointer);
162
+ const common = (await readFile(join(gitDir, 'commondir'), 'utf8')).trim();
163
+ return common ? await canonicalPath(resolve(gitDir, common)) : undefined;
164
+ }
165
+ catch {
166
+ return undefined;
167
+ }
168
+ }
169
+ /**
170
+ * The project folder of a linked worktree's main checkout: the first entry of
171
+ * `git worktree list --porcelain`. When that entry is a bare repository
172
+ * (`proj/.bare` with worktrees beside it), the project folder is the folder
173
+ * holding it, never the git directory itself. Without git, the folder holding
174
+ * the common git directory, which is the same answer for both layouts.
175
+ */
176
+ async function mainCheckout(worktreeTop, commonDir) {
177
+ try {
178
+ const { stdout } = await runGit(worktreeTop, ['worktree', 'list', '--porcelain']);
179
+ const first = stdout.split(/\r?\n\r?\n/)[0] ?? '';
180
+ const path = /^worktree (.+)$/m.exec(first)?.[1];
181
+ if (path) {
182
+ const main = await canonicalPath(resolve(worktreeTop, path));
183
+ return /^bare$/m.test(first) ? dirname(main) : main;
184
+ }
185
+ }
186
+ catch {
187
+ /* fall through */
188
+ }
189
+ return dirname(commonDir);
190
+ }
143
191
  async function readPlainIdentity(start) {
144
- const home = resolve(homedir());
192
+ const home = await canonicalPath(homedir());
145
193
  let directory = start;
146
194
  while (true) {
147
- const result = await readIdentityFile(directory);
195
+ const result = await readIdentityFile(directory, { configurationOnlyAbsent: true });
148
196
  if (result.kind !== 'absent')
149
197
  return { root: directory, result };
150
- if (directory === home)
198
+ if (samePath(directory, home))
151
199
  break;
152
200
  const parent = dirname(directory);
153
201
  if (parent === directory)
@@ -156,62 +204,102 @@ async function readPlainIdentity(start) {
156
204
  }
157
205
  return { root: start, result: { kind: 'absent' } };
158
206
  }
207
+ /**
208
+ * Walk up from `start` to the nearest identity file, stopping at the home
209
+ * folder (whose own file still counts). A configuration-only file (no
210
+ * `projectId`) is not an identity and the walk passes it. Reaching the top of a linked worktree
211
+ * first ends the walk there: the worktree belongs to its main checkout, and
212
+ * the copy of the identity file at its top does not count.
213
+ */
214
+ async function nearestIdentity(start) {
215
+ const home = await canonicalPath(homedir());
216
+ let directory = start;
217
+ while (true) {
218
+ const commonDir = await linkedWorktreeCommonDir(directory);
219
+ if (commonDir)
220
+ return { worktreeTop: directory, commonDir };
221
+ const result = await readIdentityFile(directory, { configurationOnlyAbsent: true });
222
+ if (result.kind !== 'absent')
223
+ return { root: directory, result };
224
+ if (samePath(directory, home))
225
+ return undefined;
226
+ const parent = dirname(directory);
227
+ if (parent === directory)
228
+ return undefined;
229
+ directory = parent;
230
+ }
231
+ }
232
+ /**
233
+ * The project a working folder belongs to: the nearest `.mnemonik.json` above
234
+ * it. Git repositories are not project boundaries; a clone, submodule,
235
+ * subsystem or subproject inside a project belongs to that project unless it
236
+ * has its own identity file. Git has one part in identity: a linked worktree
237
+ * (and anything inside it without an identity file of its own below the
238
+ * worktree's top, nested clones and submodules included) belongs to the
239
+ * project of its main checkout; the worktree's own top-level copy of the
240
+ * identity file does not count.
241
+ */
242
+ export async function resolveNearestProjectIdentity(cwd) {
243
+ const start = await canonicalPath(cwd);
244
+ const resolved = await resolveRepositoryRoot(start);
245
+ const repository = resolved.kind === 'git_unavailable' ? { kind: 'plain', root: start } : resolved;
246
+ const nested = repository.kind === 'git' ? repository.nested : [];
247
+ let found = await nearestIdentity(start);
248
+ if (found && 'worktreeTop' in found) {
249
+ found = await readPlainIdentity(await mainCheckout(found.worktreeTop, found.commonDir));
250
+ }
251
+ if (found) {
252
+ return shapedIdentity(found, await projectFolderRepository(found.root, repository), nested);
253
+ }
254
+ return { ...withBase(repository, repository.root, nested), kind: 'absent' };
255
+ }
256
+ /**
257
+ * The identity of exactly the folder named, for commands that create or link
258
+ * a project there on purpose, even inside another project. The top of a
259
+ * linked worktree stands for its main checkout.
260
+ */
261
+ async function resolveNamedProjectIdentity(cwd, options) {
262
+ const start = await canonicalPath(cwd);
263
+ const resolved = await resolveRepositoryRoot(start);
264
+ const repository = resolved.kind === 'git_unavailable' ? { kind: 'plain', root: start } : resolved;
265
+ const commonDir = await linkedWorktreeCommonDir(start);
266
+ const root = commonDir ? await mainCheckout(start, commonDir) : start;
267
+ return shapedIdentity({ root, result: await readIdentityFile(root, options) }, await projectFolderRepository(root, repository), repository.kind === 'git' ? repository.nested : []);
268
+ }
269
+ function shapedIdentity(found, repository, nested) {
270
+ const base = withBase(repository, found.root, nested);
271
+ if (found.result.kind === 'ok')
272
+ return { ...base, ...found.result };
273
+ if (found.result.kind === 'unknown_version')
274
+ return { ...base, ...found.result, path: found.root };
275
+ if (found.result.kind === 'malformed')
276
+ return { ...base, ...found.result, path: found.root };
277
+ return { ...base, kind: 'absent' };
278
+ }
279
+ /** The project folder counts as a git repository only when it is the repository's top. */
280
+ async function projectFolderRepository(projectRoot, known) {
281
+ if (known.kind === 'git' && samePath(known.root, projectRoot))
282
+ return known;
283
+ const repository = await resolveRepositoryRoot(projectRoot);
284
+ if (repository.kind === 'git' && samePath(repository.root, projectRoot))
285
+ return repository;
286
+ return { kind: 'plain', root: projectRoot };
287
+ }
159
288
  function withBase(repository, root, nested) {
160
289
  return { root, repository, nested };
161
290
  }
291
+ /**
292
+ * Which project a folder is in. By default this is the rule every reader
293
+ * shares with the hooks (resolveNearestProjectIdentity). `namedRoot` and
294
+ * `selectedRoot` read exactly the folder given instead, for commands that make
295
+ * that folder a project on purpose; `selectedRoot` (folders ticked during
296
+ * install) also treats a configuration-only file as no identity, as the
297
+ * nearest-file walk always does.
298
+ */
162
299
  export async function resolveProjectIdentity(cwd, options = {}) {
163
- const resolved = await resolveRepositoryRoot(cwd);
164
- // Git is optional. When the git command cannot answer, the folder is still a folder.
165
- const repository = resolved.kind === 'git_unavailable' ? { kind: 'plain', root: resolve(cwd) } : resolved;
166
- if (repository.kind === 'plain') {
167
- const { root, result } = options.selectedRoot
168
- ? { root: repository.root, result: await readIdentityFile(repository.root, options) }
169
- : await readPlainIdentity(repository.root);
170
- const base = withBase(repository, root, []);
171
- if (result.kind === 'ok')
172
- return { ...base, ...result };
173
- if (result.kind === 'unknown_version')
174
- return { ...base, ...result, path: root };
175
- if (result.kind === 'malformed')
176
- return { ...base, ...result, path: root };
177
- return { ...base, kind: 'absent' };
178
- }
179
- const ownRoot = repository.isLinkedWorktree ? dirname(repository.commonDir) : repository.root;
180
- const outer = repository.isLinkedWorktree
181
- ? undefined
182
- : await containingRepository(repository.root);
183
- const own = await readIdentityFile(ownRoot, options);
184
- if (!outer || options.selectedRoot || own.kind === 'ok') {
185
- const base = withBase(repository, ownRoot, repository.nested);
186
- if (own.kind === 'ok')
187
- return { ...base, ...own };
188
- if (own.kind === 'unknown_version')
189
- return { ...base, ...own, path: ownRoot };
190
- if (own.kind === 'malformed')
191
- return { ...base, ...own, path: ownRoot };
192
- return { ...base, kind: 'absent' };
193
- }
194
- const nested = repository.nested;
195
- const parentRoot = await canonicalBoundaryRoot(outer);
196
- const parent = await readIdentityFile(parentRoot);
197
- const base = withBase(repository, parentRoot, nested);
198
- if (own.kind === 'unknown_version')
199
- return { ...base, ...own, path: ownRoot };
200
- if (own.kind === 'malformed')
201
- return { ...base, ...own, path: ownRoot };
202
- if (parent.kind === 'unknown_version')
203
- return { ...base, ...parent, path: parentRoot };
204
- if (parent.kind === 'malformed')
205
- return { ...base, ...parent, path: parentRoot };
206
- if (!options.allowNestedInherit) {
207
- return {
208
- ...base,
209
- kind: 'nested',
210
- ...(parent.kind === 'ok' ? { parentIdentity: parent.identity } : {}),
211
- };
300
+ if (options.selectedRoot || options.namedRoot) {
301
+ return resolveNamedProjectIdentity(cwd, { selectedRoot: options.selectedRoot });
212
302
  }
213
- if (parent.kind === 'ok')
214
- return { ...base, kind: 'ok', identity: parent.identity };
215
- return { ...base, kind: 'absent' };
303
+ return resolveNearestProjectIdentity(cwd);
216
304
  }
217
305
  //# sourceMappingURL=repositoryRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryRoot.js","sourceRoot":"","sources":["../src/repositoryRoot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repositoryRoot.js","sourceRoot":"","sources":["../src/repositoryRoot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemonik/shared",
3
- "version": "7.140.1",
3
+ "version": "7.140.2",
4
4
  "description": "Shared constants and utilities for Mnemonik packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -45,7 +45,7 @@
45
45
  }
46
46
  },
47
47
  "scripts": {
48
- "test": "tsx --test --test-concurrency=2 tests/repositoryFingerprint.test.ts tests/projectIdentity.test.ts tests/readiness.test.ts tests/scannerDisclosure.test.ts tests/hookRuntime.test.ts tests/grantHost.test.ts",
48
+ "test": "tsx --test --test-concurrency=2 tests/repositoryFingerprint.test.ts tests/projectIdentity.test.ts tests/nearestProjectIdentity.test.ts tests/readiness.test.ts tests/scannerDisclosure.test.ts tests/hookRuntime.test.ts tests/grantHost.test.ts tests/hookTrace.test.ts",
49
49
  "build": "node ../../node_modules/@typescript/native/bin/tsc",
50
50
  "typecheck": "node ../../node_modules/@typescript/native/bin/tsc --noEmit -p tsconfig.test.json",
51
51
  "prepublishOnly": "npm run build"