@zukhruf/git-hooks 0.3.41 → 0.3.43

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 (66) hide show
  1. package/README.md +157 -3
  2. package/dist/build.d.ts +15 -0
  3. package/dist/build.d.ts.map +1 -0
  4. package/dist/build.js +163 -0
  5. package/dist/build.js.map +1 -0
  6. package/dist/codegen.d.ts +1 -1
  7. package/dist/codegen.d.ts.map +1 -1
  8. package/dist/codegen.js.map +1 -1
  9. package/dist/commit.d.ts.map +1 -1
  10. package/dist/commit.js +2 -1
  11. package/dist/commit.js.map +1 -1
  12. package/dist/format.d.ts +1 -1
  13. package/dist/format.d.ts.map +1 -1
  14. package/dist/format.js +5 -2
  15. package/dist/format.js.map +1 -1
  16. package/dist/index.d.ts +4 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/push.d.ts +29 -0
  21. package/dist/push.d.ts.map +1 -0
  22. package/dist/push.js +108 -0
  23. package/dist/push.js.map +1 -0
  24. package/dist/ref-update.d.ts +17 -0
  25. package/dist/ref-update.d.ts.map +1 -0
  26. package/dist/ref-update.js +43 -0
  27. package/dist/ref-update.js.map +1 -0
  28. package/dist/scripts/pre-commit.d.ts +2 -1
  29. package/dist/scripts/pre-commit.d.ts.map +1 -1
  30. package/dist/scripts/pre-commit.js.map +1 -1
  31. package/dist/scripts/pre-push.d.ts +4 -0
  32. package/dist/scripts/pre-push.d.ts.map +1 -0
  33. package/dist/scripts/pre-push.js +35 -0
  34. package/dist/scripts/pre-push.js.map +1 -0
  35. package/dist/snapshot/commit-files.d.ts +5 -0
  36. package/dist/snapshot/commit-files.d.ts.map +1 -0
  37. package/dist/snapshot/commit-files.js +101 -0
  38. package/dist/snapshot/commit-files.js.map +1 -0
  39. package/dist/snapshot/drift.d.ts +3 -0
  40. package/dist/snapshot/drift.d.ts.map +1 -0
  41. package/dist/snapshot/drift.js +72 -0
  42. package/dist/snapshot/drift.js.map +1 -0
  43. package/dist/snapshot/installs.d.ts +2 -0
  44. package/dist/snapshot/installs.d.ts.map +1 -0
  45. package/dist/snapshot/installs.js +83 -0
  46. package/dist/snapshot/installs.js.map +1 -0
  47. package/dist/snapshot/nx.d.ts +7 -0
  48. package/dist/snapshot/nx.d.ts.map +1 -0
  49. package/dist/snapshot/nx.js +20 -0
  50. package/dist/snapshot/nx.js.map +1 -0
  51. package/dist/snapshot/packages.d.ts +2 -0
  52. package/dist/snapshot/packages.d.ts.map +1 -0
  53. package/dist/snapshot/packages.js +72 -0
  54. package/dist/snapshot/packages.js.map +1 -0
  55. package/dist/snapshot/workspaces.d.ts +2 -0
  56. package/dist/snapshot/workspaces.d.ts.map +1 -0
  57. package/dist/snapshot/workspaces.js +26 -0
  58. package/dist/snapshot/workspaces.js.map +1 -0
  59. package/dist/step.d.ts +2 -3
  60. package/dist/step.d.ts.map +1 -1
  61. package/dist/step.js +2 -2
  62. package/dist/step.js.map +1 -1
  63. package/dist/sync.d.ts +1 -1
  64. package/dist/sync.d.ts.map +1 -1
  65. package/dist/sync.js.map +1 -1
  66. package/package.json +4 -1
@@ -0,0 +1,72 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { copyFile, lstat, mkdir, readdir, readlink, realpath, stat, symlink, } from 'node:fs/promises';
3
+ import { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
4
+ import { workspaceFolders } from "./workspaces.js";
5
+ // Gives the snapshot a node_modules made from the install at `installRoot`
6
+ // (the repo, or an install in the state folder). Each node_modules folder is
7
+ // a real folder, so a tool that writes into node_modules (vite writes
8
+ // .vite-temp) writes into the snapshot. A workspace link points to the same
9
+ // path in the snapshot. Each other entry links to the installed entry, with
10
+ // an absolute path: a junction on Windows, which needs no administrator
11
+ // rights. Other dot entries are tool state, and are left out.
12
+ export async function linkPackages(installRoot, snapshot) {
13
+ const root = await realpath(installRoot);
14
+ if (!existsSync(join(root, 'node_modules')))
15
+ return;
16
+ // A link is read from where it really is: node_modules can be a link too.
17
+ const installed = await realpath(join(root, 'node_modules'));
18
+ await mirror(root, installed, join(snapshot, 'node_modules'), snapshot);
19
+ for (const folder of await workspaceFolders(snapshot)) {
20
+ const nested = join(root, folder, 'node_modules');
21
+ if (existsSync(nested))
22
+ await mirror(root, await realpath(nested), join(snapshot, folder, 'node_modules'), snapshot);
23
+ }
24
+ }
25
+ async function mirror(root, source, destination, snapshot) {
26
+ await mkdir(destination, { recursive: true });
27
+ for (const name of await readdir(source)) {
28
+ const entry = join(source, name);
29
+ if (name === '.bin')
30
+ await copyBin(entry, join(destination, name));
31
+ else if (name.startsWith('.'))
32
+ continue;
33
+ else if (name.startsWith('@') && (await lstat(entry)).isDirectory()) {
34
+ await mkdir(join(destination, name));
35
+ for (const scoped of await readdir(entry))
36
+ await link(root, join(entry, scoped), join(destination, name, scoped), snapshot);
37
+ }
38
+ else
39
+ await link(root, entry, join(destination, name), snapshot);
40
+ }
41
+ }
42
+ async function link(root, entry, destination, snapshot) {
43
+ const stats = await lstat(entry);
44
+ if (stats.isSymbolicLink()) {
45
+ // A workspace link points into the repo, outside node_modules. It can
46
+ // point to a folder that a build writes later, so it is read as text.
47
+ const target = resolve(dirname(entry), await readlink(entry));
48
+ const inTree = relative(root, target);
49
+ if (!inTree.startsWith('..') &&
50
+ !isAbsolute(inTree) &&
51
+ !inTree.split(sep).includes('node_modules'))
52
+ return symlink(join(snapshot, inTree), destination, 'junction');
53
+ }
54
+ const isFolder = await stat(entry).then((target) => target.isDirectory(), () => true);
55
+ if (isFolder)
56
+ return symlink(entry, destination, 'junction');
57
+ return copyFile(entry, destination);
58
+ }
59
+ // A link in .bin keeps its relative text, so `../pkg/bin/x` resolves through
60
+ // the snapshot's node_modules, and a workspace bin runs from the snapshot. A
61
+ // file, such as a Windows .cmd shim, is copied.
62
+ async function copyBin(source, destination) {
63
+ await mkdir(destination);
64
+ for (const name of await readdir(source)) {
65
+ const entry = join(source, name);
66
+ if ((await lstat(entry)).isSymbolicLink())
67
+ await symlink(await readlink(entry), join(destination, name));
68
+ else
69
+ await copyFile(entry, join(destination, name));
70
+ }
71
+ }
72
+ //# sourceMappingURL=packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/snapshot/packages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function workspaceFolders(folder: string): Promise<string[]>;
2
+ //# sourceMappingURL=workspaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/snapshot/workspaces.ts"],"names":[],"mappings":"AAKA,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BxE"}
@@ -0,0 +1,26 @@
1
+ import { glob, readFile } from 'node:fs/promises';
2
+ import { dirname, join } from 'node:path';
3
+ // The folders of the workspace packages that the `workspaces` field of the
4
+ // root package.json in `folder` names, relative to `folder`.
5
+ export async function workspaceFolders(folder) {
6
+ const manifest = JSON.parse(await readFile(join(folder, 'package.json'), 'utf8'));
7
+ const field = typeof manifest === 'object' &&
8
+ manifest !== null &&
9
+ 'workspaces' in manifest
10
+ ? manifest.workspaces
11
+ : [];
12
+ const patterns = typeof field === 'object' && field !== null && 'packages' in field
13
+ ? field.packages
14
+ : field;
15
+ if (!Array.isArray(patterns) ||
16
+ !patterns.every((pattern) => typeof pattern === 'string'))
17
+ return [];
18
+ const folders = new Set();
19
+ for await (const path of glob(patterns.map((pattern) => `${pattern}/package.json`), {
20
+ cwd: folder,
21
+ exclude: (path) => path.split(/[\\/]/).includes('node_modules'),
22
+ }))
23
+ folders.add(dirname(path));
24
+ return [...folders];
25
+ }
26
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/snapshot/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,2EAA2E;AAC3E,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc;IACnD,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAClC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACrD,CAAC;IACF,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,YAAY,IAAI,QAAQ;QACtB,CAAC,CAAC,QAAQ,CAAC,UAAU;QACrB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK;QAChE,CAAC,CAAC,KAAK,CAAC,QAAQ;QAChB,CAAC,CAAC,KAAK,CAAC;IACZ,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC;QAEzD,OAAO,EAAE,CAAC;IACZ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,eAAe,CAAC,EACpD;QACE,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;KAChE,CACF;QACC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC"}
package/dist/step.d.ts CHANGED
@@ -1,11 +1,10 @@
1
- import type { Commit } from './commit.ts';
2
1
  export interface Outcome {
3
2
  readonly kind: 'pass' | 'skip' | 'fail';
4
3
  readonly message: string;
5
4
  }
6
- export declare abstract class Step {
5
+ export declare abstract class Step<Subject> {
7
6
  abstract readonly name: string;
8
- abstract run(commit: Commit): Promise<Outcome>;
7
+ abstract run(subject: Subject): Promise<Outcome>;
9
8
  protected pass(message?: string): Outcome;
10
9
  protected skip(message: string): Outcome;
11
10
  protected fail(message: string): Outcome;
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAKD,8BAAsB,IAAI;IACxB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9C,SAAS,CAAC,IAAI,CAAC,OAAO,SAAK,GAAG,OAAO;IAIrC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAKD,8BAAsB,IAAI,CAAC,OAAO;IAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhD,SAAS,CAAC,IAAI,CAAC,OAAO,SAAK,GAAG,OAAO;IAIrC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC"}
package/dist/step.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // One check or task of a hook. A subclass names itself and says what it does
2
- // with the staged commit; the hook runs the steps in order and stops the
3
- // commit at the first fail.
2
+ // with its subject: the staged commit for a pre-commit step, the push for a
3
+ // pre-push step. The hook runs the steps in order and stops at the first fail.
4
4
  export class Step {
5
5
  pass(message = '') {
6
6
  return { kind: 'pass', message };
package/dist/step.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AASA,6EAA6E;AAC7E,yEAAyE;AACzE,4BAA4B;AAC5B,MAAM,OAAgB,IAAI;IAKd,IAAI,CAAC,OAAO,GAAG,EAAE;QACzB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAES,IAAI,CAAC,OAAe;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAES,IAAI,CAAC,OAAe;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAOA,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,MAAM,OAAgB,IAAI;IAKd,IAAI,CAAC,OAAO,GAAG,EAAE;QACzB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAES,IAAI,CAAC,OAAe;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAES,IAAI,CAAC,OAAe;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;CACF"}
package/dist/sync.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Commit } from './commit.ts';
2
2
  import { type Outcome, Step } from './step.ts';
3
- export declare class Sync extends Step {
3
+ export declare class Sync extends Step<Commit> {
4
4
  #private;
5
5
  readonly name = "sync";
6
6
  constructor({ stage, }?: {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAU/C,qBAAa,IAAK,SAAQ,IAAI;;IAC5B,QAAQ,CAAC,IAAI,UAAU;gBAGX,EACV,KAA6B,GAC9B,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAO;IAK/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAmB5C"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAU/C,qBAAa,IAAK,SAAQ,IAAI,CAAC,MAAM,CAAC;;IACpC,QAAQ,CAAC,IAAI,UAAU;gBAGX,EACV,KAA6B,GAC9B,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAO;IAK/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAmB5C"}
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAgB,IAAI,EAAE,MAAM,WAAW,CAAC;AAE/C,2EAA2E;AAC3E,6EAA6E;AAC7E,wDAAwD;AACxD,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,oDAAoD;AACpD,MAAM,OAAO,IAAK,SAAQ,IAAI;IACnB,IAAI,GAAG,MAAM,CAAC;IACd,MAAM,CAAoB;IAEnC,YAAY,EACV,KAAK,GAAG,CAAC,mBAAmB,CAAC,MACI,EAAE;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,6BAA6B;YAC7B,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC5E,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAgB,IAAI,EAAE,MAAM,WAAW,CAAC;AAE/C,2EAA2E;AAC3E,6EAA6E;AAC7E,wDAAwD;AACxD,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,oDAAoD;AACpD,MAAM,OAAO,IAAK,SAAQ,IAAY;IAC3B,IAAI,GAAG,MAAM,CAAC;IACd,MAAM,CAAoB;IAEnC,YAAY,EACV,KAAK,GAAG,CAAC,mBAAmB,CAAC,MACI,EAAE;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,6BAA6B;YAC7B,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC5E,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zukhruf/git-hooks",
3
- "version": "0.3.41",
3
+ "version": "0.3.43",
4
4
  "description": "Git hooks written in TypeScript. A pre-commit hook runs steps in order against the staged commit: it checks the staged copy of each file with Prettier and changes nothing, runs nx sync and stages only the files that sync wrote, and builds generated files when nx says their projects are affected. A repo adds a step of its own as a class.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,6 +42,9 @@
42
42
  "publishConfig": {
43
43
  "access": "public"
44
44
  },
45
+ "dependencies": {
46
+ "@zukhruf/fs": "^0.3.43"
47
+ },
45
48
  "peerDependencies": {
46
49
  "nx": ">=21.0.0",
47
50
  "prettier": "^3.0.0"