@webpieces/ai-hook-rules 0.3.184 → 0.3.185

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 (55) hide show
  1. package/package.json +3 -6
  2. package/src/adapters/global-hook.js +3 -3
  3. package/src/adapters/global-hook.js.map +1 -1
  4. package/src/core/disable-directives.d.ts +1 -2
  5. package/src/core/disable-directives.js +17 -31
  6. package/src/core/disable-directives.js.map +1 -1
  7. package/src/core/load-rules.js +2 -0
  8. package/src/core/load-rules.js.map +1 -1
  9. package/src/core/rules/catch-error-pattern.js +2 -1
  10. package/src/core/rules/catch-error-pattern.js.map +1 -1
  11. package/src/core/rules/index.js +1 -0
  12. package/src/core/rules/index.js.map +1 -1
  13. package/src/core/rules/merge-in-progress-guard.d.ts +3 -0
  14. package/src/core/rules/merge-in-progress-guard.js +66 -0
  15. package/src/core/rules/merge-in-progress-guard.js.map +1 -0
  16. package/src/core/rules/no-any-unknown.js +2 -1
  17. package/src/core/rules/no-any-unknown.js.map +1 -1
  18. package/src/core/rules/no-destructure.js +2 -1
  19. package/src/core/rules/no-destructure.js.map +1 -1
  20. package/src/core/rules/no-implicit-any.js +2 -1
  21. package/src/core/rules/no-implicit-any.js.map +1 -1
  22. package/src/core/rules/no-symbol-di-tokens.js +2 -1
  23. package/src/core/rules/no-symbol-di-tokens.js.map +1 -1
  24. package/src/core/rules/no-unmanaged-exceptions.js +2 -1
  25. package/src/core/rules/no-unmanaged-exceptions.js.map +1 -1
  26. package/src/core/rules/pr-creation-guard.d.ts +0 -1
  27. package/src/core/rules/pr-creation-guard.js +29 -64
  28. package/src/core/rules/pr-creation-guard.js.map +1 -1
  29. package/src/core/rules/require-return-type.js +2 -1
  30. package/src/core/rules/require-return-type.js.map +1 -1
  31. package/src/core/rules/throw-cause-required.js +2 -1
  32. package/src/core/rules/throw-cause-required.js.map +1 -1
  33. package/src/core/to-error.js +0 -1
  34. package/src/core/to-error.js.map +1 -1
  35. package/src/scripts/git-gatherInfo.d.ts +0 -2
  36. package/src/scripts/git-gatherInfo.js +0 -98
  37. package/src/scripts/git-gatherInfo.js.map +0 -1
  38. package/src/scripts/git-mergeComplete.d.ts +0 -2
  39. package/src/scripts/git-mergeComplete.js +0 -58
  40. package/src/scripts/git-mergeComplete.js.map +0 -1
  41. package/src/scripts/git-updateFromMain.d.ts +0 -2
  42. package/src/scripts/git-updateFromMain.js +0 -290
  43. package/src/scripts/git-updateFromMain.js.map +0 -1
  44. package/src/scripts/workflow/cleanTmp.d.ts +0 -1
  45. package/src/scripts/workflow/cleanTmp.js +0 -57
  46. package/src/scripts/workflow/cleanTmp.js.map +0 -1
  47. package/src/scripts/workflow/git-findForkPoint.d.ts +0 -2
  48. package/src/scripts/workflow/git-findForkPoint.js +0 -120
  49. package/src/scripts/workflow/git-findForkPoint.js.map +0 -1
  50. package/src/scripts/workflow/git-readAiBranchName.d.ts +0 -2
  51. package/src/scripts/workflow/git-readAiBranchName.js +0 -20
  52. package/src/scripts/workflow/git-readAiBranchName.js.map +0 -1
  53. package/src/scripts/workflow/git-validateUpToDate.d.ts +0 -1
  54. package/src/scripts/workflow/git-validateUpToDate.js +0 -72
  55. package/src/scripts/workflow/git-validateUpToDate.js.map +0 -1
@@ -1 +0,0 @@
1
- export declare function main(): Promise<void>;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.main = main;
4
- const child_process_1 = require("child_process");
5
- const SEP = '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n';
6
- async function main() {
7
- const branch = (0, child_process_1.execSync)('git branch --show-current', { encoding: 'utf8' }).trim();
8
- if (branch === 'main') {
9
- process.stdout.write('✅ On main branch - no validation needed\n');
10
- return;
11
- }
12
- process.stdout.write('Validating branch is up to date with origin/main...\n');
13
- process.stdout.write(`Current branch: ${branch}\n`);
14
- process.stdout.write('\n');
15
- process.stdout.write('Fetching latest from origin/main...\n');
16
- (0, child_process_1.spawnSync)('git', ['fetch', 'origin', 'main', '--quiet'], { stdio: 'inherit' });
17
- const isUpToDate = (0, child_process_1.spawnSync)('git', ['merge-base', '--is-ancestor', 'origin/main', 'HEAD']).status === 0;
18
- if (isUpToDate) {
19
- process.stdout.write('✅ Branch is up to date with origin/main\n');
20
- return;
21
- }
22
- const behindResult = (0, child_process_1.spawnSync)('git', ['rev-list', '--count', 'HEAD..origin/main'], { encoding: 'utf8' });
23
- const commitsBehind = (behindResult.stdout ?? '').trim();
24
- const recentResult = (0, child_process_1.spawnSync)('git', ['log', '--oneline', 'HEAD..origin/main'], { encoding: 'utf8' });
25
- const recentLines = (recentResult.stdout ?? '').split('\n').filter((l) => l).slice(0, 5).join('\n');
26
- process.stdout.write('\n');
27
- process.stdout.write(SEP);
28
- process.stdout.write('❌ ERROR: Branch is NOT up to date with origin/main\n');
29
- process.stdout.write(SEP);
30
- process.stdout.write('\n');
31
- process.stdout.write(`Your branch is ${commitsBehind} commit(s) behind origin/main\n`);
32
- process.stdout.write('\n');
33
- process.stdout.write('Recent commits in origin/main not in your branch:\n');
34
- process.stdout.write(recentLines + '\n');
35
- process.stdout.write('\n');
36
- process.stdout.write(SEP);
37
- process.stdout.write('⚠️ CRITICAL: You must update your branch first!\n');
38
- process.stdout.write(SEP);
39
- process.stdout.write('\n');
40
- process.stdout.write('1. Update your branch with latest main:\n');
41
- process.stdout.write(' pnpm wp-git-update\n');
42
- process.stdout.write('\n');
43
- process.stdout.write('2. ⚠️ IMPORTANT: REVIEW THE CODE AFTER MERGE!\n');
44
- process.stdout.write(' - Check for merge conflicts\n');
45
- process.stdout.write(' - Review how your changes interact with new main code\n');
46
- process.stdout.write(' - Test that everything still works\n');
47
- process.stdout.write(' - This is where things often go wrong!\n');
48
- process.stdout.write('\n');
49
- process.stdout.write('3. After reviewing, run your command again\n');
50
- process.stdout.write('\n');
51
- process.stdout.write(SEP);
52
- process.stdout.write('Why this matters:\n');
53
- process.stdout.write(SEP);
54
- process.stdout.write('\n');
55
- process.stdout.write('- Your test plan should cover how your changes work with\n');
56
- process.stdout.write(' the LATEST code from main, not outdated code\n');
57
- process.stdout.write('- Merging main might introduce conflicts or integration\n');
58
- process.stdout.write(' issues that need testing\n');
59
- process.stdout.write('- Your changes might interact unexpectedly with new code\n');
60
- process.stdout.write(' from main\n');
61
- process.stdout.write('\n');
62
- process.stdout.write(SEP);
63
- process.exit(1);
64
- }
65
- if (require.main === module) {
66
- main().catch((err) => {
67
- const message = err instanceof Error ? err.message : String(err);
68
- process.stderr.write(message + '\n');
69
- process.exit(1);
70
- });
71
- }
72
- //# sourceMappingURL=git-validateUpToDate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-validateUpToDate.js","sourceRoot":"","sources":["../../../../../../../packages/tooling/ai-hook-rules/src/scripts/workflow/git-validateUpToDate.ts"],"names":[],"mappings":"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","sourcesContent":["import { execSync, spawnSync } from 'child_process';\n\nconst SEP = '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n';\n\nexport async function main(): Promise<void> {\n const branch = execSync('git branch --show-current', { encoding: 'utf8' }).trim();\n\n if (branch === 'main') {\n process.stdout.write('✅ On main branch - no validation needed\\n');\n return;\n }\n\n process.stdout.write('Validating branch is up to date with origin/main...\\n');\n process.stdout.write(`Current branch: ${branch}\\n`);\n process.stdout.write('\\n');\n\n process.stdout.write('Fetching latest from origin/main...\\n');\n spawnSync('git', ['fetch', 'origin', 'main', '--quiet'], { stdio: 'inherit' });\n\n const isUpToDate = spawnSync('git', ['merge-base', '--is-ancestor', 'origin/main', 'HEAD']).status === 0;\n\n if (isUpToDate) {\n process.stdout.write('✅ Branch is up to date with origin/main\\n');\n return;\n }\n\n const behindResult = spawnSync('git', ['rev-list', '--count', 'HEAD..origin/main'], { encoding: 'utf8' });\n const commitsBehind = (behindResult.stdout ?? '').trim();\n\n const recentResult = spawnSync('git', ['log', '--oneline', 'HEAD..origin/main'], { encoding: 'utf8' });\n const recentLines = (recentResult.stdout ?? '').split('\\n').filter((l: string) => l).slice(0, 5).join('\\n');\n\n process.stdout.write('\\n');\n process.stdout.write(SEP);\n process.stdout.write('❌ ERROR: Branch is NOT up to date with origin/main\\n');\n process.stdout.write(SEP);\n process.stdout.write('\\n');\n process.stdout.write(`Your branch is ${commitsBehind} commit(s) behind origin/main\\n`);\n process.stdout.write('\\n');\n process.stdout.write('Recent commits in origin/main not in your branch:\\n');\n process.stdout.write(recentLines + '\\n');\n process.stdout.write('\\n');\n process.stdout.write(SEP);\n process.stdout.write('⚠️ CRITICAL: You must update your branch first!\\n');\n process.stdout.write(SEP);\n process.stdout.write('\\n');\n process.stdout.write('1. Update your branch with latest main:\\n');\n process.stdout.write(' pnpm wp-git-update\\n');\n process.stdout.write('\\n');\n process.stdout.write('2. ⚠️ IMPORTANT: REVIEW THE CODE AFTER MERGE!\\n');\n process.stdout.write(' - Check for merge conflicts\\n');\n process.stdout.write(' - Review how your changes interact with new main code\\n');\n process.stdout.write(' - Test that everything still works\\n');\n process.stdout.write(' - This is where things often go wrong!\\n');\n process.stdout.write('\\n');\n process.stdout.write('3. After reviewing, run your command again\\n');\n process.stdout.write('\\n');\n process.stdout.write(SEP);\n process.stdout.write('Why this matters:\\n');\n process.stdout.write(SEP);\n process.stdout.write('\\n');\n process.stdout.write('- Your test plan should cover how your changes work with\\n');\n process.stdout.write(' the LATEST code from main, not outdated code\\n');\n process.stdout.write('- Merging main might introduce conflicts or integration\\n');\n process.stdout.write(' issues that need testing\\n');\n process.stdout.write('- Your changes might interact unexpectedly with new code\\n');\n process.stdout.write(' from main\\n');\n process.stdout.write('\\n');\n process.stdout.write(SEP);\n\n process.exit(1);\n}\n\nif (require.main === module) {\n main().catch((err) => {\n const message = err instanceof Error ? err.message : String(err);\n process.stderr.write(message + '\\n');\n process.exit(1);\n });\n}\n"]}