spec-cat 0.1.36 → 0.1.38

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 (39) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/builds/latest.json +1 -1
  3. package/.output/public/_nuxt/builds/meta/da500b55-1d43-43b8-96d4-7da11af86d86.json +1 -0
  4. package/.output/server/chunks/_/git.mjs +89 -1
  5. package/.output/server/chunks/_/git.mjs.map +1 -1
  6. package/.output/server/chunks/nitro/nitro.mjs +545 -545
  7. package/.output/server/chunks/routes/api/git/commit.post.mjs +3 -6
  8. package/.output/server/chunks/routes/api/git/commit.post.mjs.map +1 -1
  9. package/.output/server/chunks/routes/api/git/log.get.mjs +1 -2
  10. package/.output/server/chunks/routes/api/git/log.get.mjs.map +1 -1
  11. package/.output/server/chunks/routes/api/git/merge-base.get.mjs +1 -1
  12. package/.output/server/chunks/routes/api/git/remote.delete.mjs +1 -1
  13. package/.output/server/chunks/routes/api/git/remote.post.mjs +1 -1
  14. package/.output/server/chunks/routes/api/git/remote.put.mjs +1 -1
  15. package/.output/server/chunks/routes/api/git/remotes.get.mjs +1 -1
  16. package/.output/server/chunks/routes/api/git/show.get.mjs +1 -1
  17. package/.output/server/chunks/routes/api/git/stage.post.mjs +3 -9
  18. package/.output/server/chunks/routes/api/git/stage.post.mjs.map +1 -1
  19. package/.output/server/chunks/routes/api/git/stash-apply.post.mjs +1 -1
  20. package/.output/server/chunks/routes/api/git/stash-branch.post.mjs +1 -1
  21. package/.output/server/chunks/routes/api/git/stash-drop.post.mjs +1 -1
  22. package/.output/server/chunks/routes/api/git/stash-pop.post.mjs +1 -1
  23. package/.output/server/chunks/routes/api/git/stash.get.mjs +1 -1
  24. package/.output/server/chunks/routes/api/git/stash.post.mjs +1 -1
  25. package/.output/server/chunks/routes/api/git/state.get.mjs +1 -1
  26. package/.output/server/chunks/routes/api/git/status.get.mjs +2 -53
  27. package/.output/server/chunks/routes/api/git/status.get.mjs.map +1 -1
  28. package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs +1 -1
  29. package/.output/server/chunks/routes/api/git/tag-push.post.mjs +1 -1
  30. package/.output/server/chunks/routes/api/git/tag.delete.mjs +1 -1
  31. package/.output/server/chunks/routes/api/git/tag.post.mjs +1 -1
  32. package/.output/server/chunks/routes/api/git/unstage.post.mjs +3 -10
  33. package/.output/server/chunks/routes/api/git/unstage.post.mjs.map +1 -1
  34. package/.output/server/chunks/routes/api/repository/status.get.mjs +1 -1
  35. package/.output/server/package.json +1 -1
  36. package/package.json +1 -1
  37. package/.output/public/_nuxt/builds/meta/7a0d0443-5ff4-47d0-b629-668dc37b3124.json +0 -1
  38. package/.output/server/chunks/_/git2.mjs +0 -33
  39. package/.output/server/chunks/_/git2.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { e as execGitArgs } from '../../../_/git.mjs';
2
+ import { e as execGitArgs, p as parseGitStatusPorcelain } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -35,11 +35,8 @@ const commit_post = defineEventHandler(async (event) => {
35
35
  });
36
36
  }
37
37
  const statusOutput = execGitArgs(workingDirectory, ["status", "--porcelain"]);
38
- const lines = statusOutput.trim().split("\n").filter(Boolean);
39
- const hasStagedChanges = lines.some((line) => {
40
- const stagingStatus = line.charAt(0);
41
- return stagingStatus !== " " && stagingStatus !== "?";
42
- });
38
+ const { stagedFiles } = parseGitStatusPorcelain(statusOutput);
39
+ const hasStagedChanges = stagedFiles.length > 0;
43
40
  if (!hasStagedChanges) {
44
41
  throw createError({
45
42
  statusCode: 400,
@@ -1 +1 @@
1
- {"version":3,"file":"commit.post.mjs","sources":["../../../../../../server/api/git/commit.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,CAAA,OAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA,MAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,eAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,aAAA,IAAA,EAAA,CAAA,MAAA,IAAA,CAAA,CAAA,OAAA,OAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,IAAA,KAAA;AACA,MAAA,MAAA,aAAA,GAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,MAAA,OAAA,aAAA,KAAA,OAAA,aAAA,KAAA,GAAA;AAAA,IACA,CAAA,CAAA;AAEA,IAAA,IAAA,CAAA,gBAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,IAAA;AACA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,KAAA,OAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GAAA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AAEA,MAAA,IAAA,YAAA,CAAA,QAAA,CAAA,mBAAA,CAAA,EAAA;AACA,QAAA,MAAA,WAAA,CAAA;AAAA,UACA,UAAA,EAAA,GAAA;AAAA,UACA,aAAA,EAAA;AAAA,SACA,CAAA;AAAA,MACA;AAEA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,sBAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,OAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,uBAAA,EAAA;AAAA,MACA,IAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAA,IAAA,CAAA,OAAA,CAAA,IAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,6BAAA,yBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"commit.post.mjs","sources":["../../../../../../server/api/git/commit.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,CAAA,OAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA,MAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,eAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,WAAA,EAAA,GAAA,uBAAA,CAAA,YAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,YAAA,MAAA,GAAA,CAAA;AAEA,IAAA,IAAA,CAAA,gBAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,IAAA;AACA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,KAAA,OAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GAAA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AAEA,MAAA,IAAA,YAAA,CAAA,QAAA,CAAA,mBAAA,CAAA,EAAA;AACA,QAAA,MAAA,WAAA,CAAA;AAAA,UACA,UAAA,EAAA,GAAA;AAAA,UACA,aAAA,EAAA;AAAA,SACA,CAAA;AAAA,MACA;AAEA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,sBAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,OAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,uBAAA,EAAA;AAAA,MACA,IAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAA,IAAA,CAAA,OAAA,CAAA,IAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,6BAAA,yBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
@@ -1,6 +1,5 @@
1
1
  import { d as defineEventHandler, f as getQuery, l as logger } from '../../../nitro/nitro.mjs';
2
- import { G as GRAPH_CONSTANTS } from '../../../_/git2.mjs';
3
- import { k as getBranchesSync, l as getTags, m as getCommitCount, c as execGit, p as parseGitLog, g as generateBranchColor } from '../../../_/git.mjs';
2
+ import { G as GRAPH_CONSTANTS, k as getBranchesSync, l as getTags, m as getCommitCount, c as execGit, n as parseGitLog, g as generateBranchColor } from '../../../_/git.mjs';
4
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
5
4
  import 'node:http';
6
5
  import 'node:https';
@@ -1 +1 @@
1
- {"version":3,"file":"log.get.mjs","sources":["../../../../../../server/api/git/log.get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.get.mjs","sources":["../../../../../../server/api/git/log.get.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, f as getQuery, c as createError } from '../../../nitro/nitro.mjs';
2
- import { n as getMergeBase, a as execGitCommand } from '../../../_/git.mjs';
2
+ import { o as getMergeBase, a as execGitCommand } from '../../../_/git.mjs';
3
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { o as deleteRemote } from '../../../_/git.mjs';
2
+ import { q as deleteRemote } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { q as addRemote } from '../../../_/git.mjs';
2
+ import { r as addRemote } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { r as editRemote } from '../../../_/git.mjs';
2
+ import { s as editRemote } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError } from '../../../nitro/nitro.mjs';
2
- import { s as listRemotes } from '../../../_/git.mjs';
2
+ import { t as listRemotes } from '../../../_/git.mjs';
3
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, f as getQuery, c as createError } from '../../../nitro/nitro.mjs';
2
- import { t as getCommitDetailSync, u as getCommitFiles, v as getCommitStats } from '../../../_/git.mjs';
2
+ import { u as getCommitDetailSync, v as getCommitFiles, w as getCommitStats } from '../../../_/git.mjs';
3
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, l as logger } from '../../../nitro/nitro.mjs';
2
- import { e as execGitArgs } from '../../../_/git.mjs';
2
+ import { e as execGitArgs, p as parseGitStatusPorcelain } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -35,14 +35,8 @@ const stage_post = defineEventHandler(async (event) => {
35
35
  execGitArgs(workingDirectory, ["add", "--", ...files]);
36
36
  }
37
37
  const statusOutput = execGitArgs(workingDirectory, ["status", "--porcelain"]);
38
- const lines = statusOutput.trim().split("\n").filter(Boolean);
39
- let stagedCount = 0;
40
- for (const line of lines) {
41
- const stagingStatus = line.charAt(0);
42
- if (stagingStatus !== " " && stagingStatus !== "?") {
43
- stagedCount++;
44
- }
45
- }
38
+ const { stagedFiles } = parseGitStatusPorcelain(statusOutput);
39
+ const stagedCount = stagedFiles.length;
46
40
  logger.api.info("Git stage successful", {
47
41
  files: files.length === 0 ? "all" : files,
48
42
  stagedCount
@@ -1 +1 @@
1
- {"version":3,"file":"stage.post.mjs","sources":["../../../../../../server/api/git/stage.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AACA,IAAA,MAAA,QAAA,IAAA,CAAA,KAAA;AAEA,IAAA,IAAA,KAAA,CAAA,WAAA,CAAA,EAAA;AAEA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,KAAA,EAAA,IAAA,CAAA,CAAA;AAAA,IACA,CAAA,MAAA;AAEA,MAAA,WAAA,CAAA,kBAAA,CAAA,KAAA,EAAA,IAAA,EAAA,GAAA,KAAA,CAAA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,eAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,aAAA,IAAA,EAAA,CAAA,MAAA,IAAA,CAAA,CAAA,OAAA,OAAA,CAAA;AACA,IAAA,IAAA,WAAA,GAAA,CAAA;AACA,IAAA,KAAA,MAAA,QAAA,KAAA,EAAA;AACA,MAAA,MAAA,aAAA,GAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,aAAA,KAAA,GAAA,IAAA,aAAA,KAAA,GAAA,EAAA;AACA,QAAA,WAAA,EAAA;AAAA,MACA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,sBAAA,EAAA;AAAA,MACA,KAAA,EAAA,KAAA,CAAA,MAAA,KAAA,CAAA,GAAA,KAAA,GAAA,KAAA;AAAA,MACA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,EAAA,IAAA,EAAA,WAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,uBAAA,uBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"stage.post.mjs","sources":["../../../../../../server/api/git/stage.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AACA,IAAA,MAAA,QAAA,IAAA,CAAA,KAAA;AAEA,IAAA,IAAA,KAAA,CAAA,WAAA,CAAA,EAAA;AAEA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,KAAA,EAAA,IAAA,CAAA,CAAA;AAAA,IACA,CAAA,MAAA;AAEA,MAAA,WAAA,CAAA,kBAAA,CAAA,KAAA,EAAA,IAAA,EAAA,GAAA,KAAA,CAAA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,eAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,WAAA,EAAA,GAAA,uBAAA,CAAA,YAAA,CAAA;AACA,IAAA,MAAA,cAAA,WAAA,CAAA,MAAA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,sBAAA,EAAA;AAAA,MACA,KAAA,EAAA,KAAA,CAAA,MAAA,KAAA,CAAA,GAAA,KAAA,GAAA,KAAA;AAAA,MACA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,EAAA,IAAA,EAAA,WAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,uBAAA,uBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { w as applyStash } from '../../../_/git.mjs';
2
+ import { x as applyStash } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { x as stashBranch } from '../../../_/git.mjs';
2
+ import { y as stashBranch } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { y as dropStash } from '../../../_/git.mjs';
2
+ import { z as dropStash } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { z as popStash } from '../../../_/git.mjs';
2
+ import { A as popStash } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler } from '../../../nitro/nitro.mjs';
2
- import { A as listStashes } from '../../../_/git.mjs';
2
+ import { B as listStashes } from '../../../_/git.mjs';
3
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { B as createStash } from '../../../_/git.mjs';
2
+ import { C as createStash } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler } from '../../../nitro/nitro.mjs';
2
- import { C as getStashListHash, D as getWorkingTreeHash, E as getUncommittedFileCount, F as getBranchListHash, G as getHeadCommit } from '../../../_/git.mjs';
2
+ import { D as getStashListHash, E as getWorkingTreeHash, F as getUncommittedFileCount, H as getBranchListHash, I as getHeadCommit } from '../../../_/git.mjs';
3
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,6 +1,5 @@
1
1
  import { d as defineEventHandler } from '../../../nitro/nitro.mjs';
2
- import { F as FileChangeStatus } from '../../../_/git2.mjs';
3
- import { c as execGit } from '../../../_/git.mjs';
2
+ import { c as execGit, p as parseGitStatusPorcelain } from '../../../_/git.mjs';
4
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
5
4
  import 'node:http';
6
5
  import 'node:https';
@@ -30,57 +29,7 @@ const status_get = defineEventHandler(async (event) => {
30
29
  try {
31
30
  const workingDirectory = resolveWorkingDirectoryFromQuery(event);
32
31
  const output = execGit(workingDirectory, "status --porcelain");
33
- const lines = output.trim().split("\n").filter(Boolean);
34
- const stagedFiles = [];
35
- const unstagedFiles = [];
36
- for (const line of lines) {
37
- if (line.length < 3) continue;
38
- const stagingStatus = line.charAt(0);
39
- const workingStatus = line.charAt(1);
40
- const filePath = line.substring(3);
41
- let path = filePath;
42
- let oldPath;
43
- if (filePath.includes(" -> ")) {
44
- const parts = filePath.split(" -> ");
45
- oldPath = parts[0];
46
- path = parts[1];
47
- }
48
- if (stagingStatus !== " " && stagingStatus !== "?") {
49
- let status;
50
- if (stagingStatus === "A") status = FileChangeStatus.Added;
51
- else if (stagingStatus === "D") status = FileChangeStatus.Deleted;
52
- else if (stagingStatus === "R") status = FileChangeStatus.Renamed;
53
- else if (stagingStatus === "C") status = FileChangeStatus.Copied;
54
- else status = FileChangeStatus.Modified;
55
- const file = {
56
- path,
57
- status,
58
- staged: true,
59
- unstaged: false
60
- };
61
- if (oldPath) file.oldPath = oldPath;
62
- stagedFiles.push(file);
63
- }
64
- const isUntracked = stagingStatus === "?" && workingStatus === "?";
65
- if (workingStatus !== " " || isUntracked) {
66
- let status;
67
- if (isUntracked) {
68
- status = FileChangeStatus.Added;
69
- } else if (workingStatus === "D") {
70
- status = FileChangeStatus.Deleted;
71
- } else {
72
- status = FileChangeStatus.Modified;
73
- }
74
- const file = {
75
- path,
76
- status,
77
- staged: false,
78
- unstaged: true
79
- };
80
- if (oldPath) file.oldPath = oldPath;
81
- unstagedFiles.push(file);
82
- }
83
- }
32
+ const { stagedFiles, unstagedFiles } = parseGitStatusPorcelain(output);
84
33
  const response = {
85
34
  stagedFiles,
86
35
  unstagedFiles,
@@ -1 +1 @@
1
- {"version":3,"file":"status.get.mjs","sources":["../../../../../../server/api/git/status.get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.get.mjs","sources":["../../../../../../server/api/git/status.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,gBAAA,GAAA,iCAAA,KAAA,CAAA;AAEA,IAAA,MAAA,MAAA,GAAA,OAAA,CAAA,gBAAA,EAAA,oBAAA,CAAA;AACA,IAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,GAAA,wBAAA,MAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA,EAAA,WAAA,CAAA,MAAA,GAAA,CAAA,IAAA,cAAA,MAAA,GAAA,CAAA;AAAA,MACA,aAAA,WAAA,CAAA,MAAA;AAAA,MACA,eAAA,aAAA,CAAA;AAAA,KACA;AAEA,IAAA,OAAA,QAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,4BAAA,2BAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, i as getRouterParam, c as createError } from '../../../../nitro/nitro.mjs';
2
- import { L as getTagDetail } from '../../../../_/git.mjs';
2
+ import { N as getTagDetail } from '../../../../_/git.mjs';
3
3
  import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { H as pushTag } from '../../../_/git.mjs';
2
+ import { J as pushTag } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { I as deleteTag, J as deleteRemoteTag } from '../../../_/git.mjs';
2
+ import { K as deleteTag, L as deleteRemoteTag } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
2
- import { K as createTag, H as pushTag } from '../../../_/git.mjs';
2
+ import { M as createTag, J as pushTag } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, l as logger } from '../../../nitro/nitro.mjs';
2
- import { e as execGitArgs } from '../../../_/git.mjs';
2
+ import { e as execGitArgs, p as parseGitStatusPorcelain } from '../../../_/git.mjs';
3
3
  import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -34,15 +34,8 @@ const unstage_post = defineEventHandler(async (event) => {
34
34
  execGitArgs(workingDirectory, ["reset", "HEAD", "--", ...body.files]);
35
35
  }
36
36
  const statusOutput = execGitArgs(workingDirectory, ["status", "--porcelain"]);
37
- const lines = statusOutput.trim().split("\n").filter(Boolean);
38
- let unstagedCount = 0;
39
- for (const line of lines) {
40
- const stagingStatus = line.charAt(0);
41
- const workingStatus = line.charAt(1);
42
- if (workingStatus !== " " || stagingStatus === "?") {
43
- unstagedCount++;
44
- }
45
- }
37
+ const { unstagedFiles } = parseGitStatusPorcelain(statusOutput);
38
+ const unstagedCount = unstagedFiles.length;
46
39
  logger.api.info("Git unstage successful", {
47
40
  files: body.files.length === 0 ? "all" : body.files,
48
41
  unstagedCount
@@ -1 +1 @@
1
- {"version":3,"file":"unstage.post.mjs","sources":["../../../../../../server/api/git/unstage.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,qBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA,IAAA,CAAA,KAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AAEA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,CAAA,MAAA;AAEA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,GAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,eAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,aAAA,IAAA,EAAA,CAAA,MAAA,IAAA,CAAA,CAAA,OAAA,OAAA,CAAA;AACA,IAAA,IAAA,aAAA,GAAA,CAAA;AACA,IAAA,KAAA,MAAA,QAAA,KAAA,EAAA;AACA,MAAA,MAAA,aAAA,GAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACA,MAAA,IAAA,aAAA,KAAA,GAAA,IAAA,aAAA,KAAA,GAAA,EAAA;AACA,QAAA,aAAA,EAAA;AAAA,MACA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,wBAAA,EAAA;AAAA,MACA,OAAA,IAAA,CAAA,KAAA,CAAA,MAAA,KAAA,CAAA,GAAA,QAAA,IAAA,CAAA,KAAA;AAAA,MACA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,EAAA,IAAA,EAAA,aAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,yBAAA,yBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"unstage.post.mjs","sources":["../../../../../../server/api/git/unstage.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,qBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA,IAAA,CAAA,KAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AAEA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;AAAA,IACA,CAAA,MAAA;AAEA,MAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,GAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACA;AAGA,IAAA,MAAA,eAAA,WAAA,CAAA,gBAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,aAAA,EAAA,GAAA,uBAAA,CAAA,YAAA,CAAA;AACA,IAAA,MAAA,gBAAA,aAAA,CAAA,MAAA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,wBAAA,EAAA;AAAA,MACA,OAAA,IAAA,CAAA,KAAA,CAAA,MAAA,KAAA,CAAA,GAAA,QAAA,IAAA,CAAA,KAAA;AAAA,MACA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,EAAA,IAAA,EAAA,aAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,yBAAA,yBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { d as defineEventHandler, e as getProjectDir, c as createError } from '../../../nitro/nitro.mjs';
2
- import { M as isGitRepository, a as execGitCommand } from '../../../_/git.mjs';
2
+ import { O as isGitRepository, a as execGitCommand } from '../../../_/git.mjs';
3
3
  import 'node:http';
4
4
  import 'node:https';
5
5
  import 'node:crypto';
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-cat-prod",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-cat",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "Spec-driven development workbench",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -1 +0,0 @@
1
- {"id":"7a0d0443-5ff4-47d0-b629-668dc37b3124","timestamp":1776768287174,"prerendered":[]}
@@ -1,33 +0,0 @@
1
- var FileChangeStatus = /* @__PURE__ */ ((FileChangeStatus2) => {
2
- FileChangeStatus2["Added"] = "A";
3
- FileChangeStatus2["Modified"] = "M";
4
- FileChangeStatus2["Deleted"] = "D";
5
- FileChangeStatus2["Renamed"] = "R";
6
- FileChangeStatus2["Copied"] = "C";
7
- FileChangeStatus2["Unmerged"] = "U";
8
- return FileChangeStatus2;
9
- })(FileChangeStatus || {});
10
- const GRAPH_CONSTANTS = {
11
- INITIAL_LOAD: 300,
12
- // FR-067: Initial commit load count
13
- INCREMENTAL_LOAD: 100,
14
- // FR-067: Commits per incremental load
15
- COMMITS_PER_PAGE: 300,
16
- // Alias for INITIAL_LOAD
17
- MAX_LANES: 10,
18
- NODE_RADIUS: 4,
19
- LANE_WIDTH: 20,
20
- ROW_HEIGHT: 32,
21
- COLUMN_WIDTH: 20,
22
- PADDING: 10,
23
- VISIBLE_BUFFER: 10,
24
- POLL_INTERVAL: 1e4,
25
- // FR-063: Auto-refresh interval (ms)
26
- SEARCH_DEBOUNCE: 300,
27
- // FR-061: Search debounce (ms)
28
- SEARCH_CACHE_MAX: 10
29
- // FR-062: Max cached search results
30
- };
31
-
32
- export { FileChangeStatus as F, GRAPH_CONSTANTS as G };
33
- //# sourceMappingURL=git2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git2.mjs","sources":["../../../../types/git.ts"],"names":["FileChangeStatus"],"mappings":"AA8CO,IAAK,gBAAA,qBAAAA,iBAAAA,KAAL;AACL,EAAAA,kBAAA,OAAA,CAAA,GAAQ,GAAA;AACR,EAAAA,kBAAA,UAAA,CAAA,GAAW,GAAA;AACX,EAAAA,kBAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,kBAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,kBAAA,QAAA,CAAA,GAAS,GAAA;AACT,EAAAA,kBAAA,UAAA,CAAA,GAAW,GAAA;AAND,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;AAsPL,MAAM,eAAA,GAAkB;AAAA,EAC7B,YAAA,EAAc,GAAA;AAAA;AAAA,EACd,gBAAA,EAAkB,GAAA;AAAA;AAAA,EAClB,gBAAA,EAAkB,GAAA;AAAA;AAAA,EAClB,SAAA,EAAW,EAAA;AAAA,EACX,WAAA,EAAa,CAAA;AAAA,EACb,UAAA,EAAY,EAAA;AAAA,EACZ,UAAA,EAAY,EAAA;AAAA,EACZ,YAAA,EAAc,EAAA;AAAA,EACd,OAAA,EAAS,EAAA;AAAA,EACT,cAAA,EAAgB,EAAA;AAAA,EAChB,aAAA,EAAe,GAAA;AAAA;AAAA,EACf,eAAA,EAAiB,GAAA;AAAA;AAAA,EACjB,gBAAA,EAAkB;AAAA;AACpB;;;;"}