javi-forge 1.6.1 → 1.7.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 (159) hide show
  1. package/README.md +45 -1
  2. package/ci-local/README.md +56 -11
  3. package/ci-local/ci-local.ps1 +445 -0
  4. package/ci-local/ci-local.sh +52 -9
  5. package/ci-local/docker/python.Dockerfile +7 -0
  6. package/ci-local/hooks/commit-msg +120 -44
  7. package/ci-local/hooks/commit-msg.test.sh +286 -0
  8. package/ci-local/hooks/pre-commit +9 -1
  9. package/ci-local/hooks/pre-push +13 -2
  10. package/ci-local/install.ps1 +367 -0
  11. package/ci-local/install.sh +151 -5
  12. package/ci-local/uninstall.ps1 +85 -0
  13. package/ci-local/uninstall.sh +95 -0
  14. package/dist/cli/dispatch/ci.d.ts +12 -0
  15. package/dist/cli/dispatch/ci.js +38 -0
  16. package/dist/cli/dispatch/security.d.ts +11 -0
  17. package/dist/cli/dispatch/security.js +68 -0
  18. package/dist/cli/dispatch/simple-renderers.d.ts +16 -0
  19. package/dist/cli/dispatch/simple-renderers.js +65 -0
  20. package/dist/cli/dispatch/skill-publish.d.ts +15 -0
  21. package/dist/cli/dispatch/skill-publish.js +44 -0
  22. package/dist/cli/dispatch/skills-cmd.d.ts +13 -0
  23. package/dist/cli/dispatch/skills-cmd.js +93 -0
  24. package/dist/cli/dispatch/tdd.d.ts +11 -0
  25. package/dist/cli/dispatch/tdd.js +45 -0
  26. package/dist/cli/dispatch/types.d.ts +29 -0
  27. package/dist/cli/dispatch/types.js +2 -0
  28. package/dist/cli/dispatch/workflow.d.ts +11 -0
  29. package/dist/cli/dispatch/workflow.js +67 -0
  30. package/dist/cli/help.d.ts +127 -0
  31. package/dist/cli/help.js +138 -0
  32. package/dist/cli/runtime.d.ts +16 -0
  33. package/dist/cli/runtime.js +38 -0
  34. package/dist/cli/validators.d.ts +17 -0
  35. package/dist/cli/validators.js +35 -0
  36. package/dist/commands/analyze.js +1 -3
  37. package/dist/commands/ci.d.ts +47 -0
  38. package/dist/commands/ci.js +380 -63
  39. package/dist/commands/doctor.js +2 -4
  40. package/dist/commands/init/report.d.ts +13 -0
  41. package/dist/commands/init/report.js +13 -0
  42. package/dist/commands/init/steps/agent-skills.d.ts +13 -0
  43. package/dist/commands/init/steps/agent-skills.js +45 -0
  44. package/dist/commands/init/steps/ai-sync.d.ts +15 -0
  45. package/dist/commands/init/steps/ai-sync.js +62 -0
  46. package/dist/commands/init/steps/ci.d.ts +24 -0
  47. package/dist/commands/init/steps/ci.js +74 -0
  48. package/dist/commands/init/steps/claude-md.d.ts +14 -0
  49. package/dist/commands/init/steps/claude-md.js +54 -0
  50. package/dist/commands/init/steps/code-graph.d.ts +16 -0
  51. package/dist/commands/init/steps/code-graph.js +68 -0
  52. package/dist/commands/init/steps/context-dir.d.ts +13 -0
  53. package/dist/commands/init/steps/context-dir.js +47 -0
  54. package/dist/commands/init/steps/docker-deploy.d.ts +16 -0
  55. package/dist/commands/init/steps/docker-deploy.js +60 -0
  56. package/dist/commands/init/steps/ghagga.d.ts +15 -0
  57. package/dist/commands/init/steps/ghagga.js +58 -0
  58. package/dist/commands/init/steps/git.d.ts +25 -0
  59. package/dist/commands/init/steps/git.js +81 -0
  60. package/dist/commands/init/steps/gitignore.d.ts +13 -0
  61. package/dist/commands/init/steps/gitignore.js +39 -0
  62. package/dist/commands/init/steps/local-ai.d.ts +14 -0
  63. package/dist/commands/init/steps/local-ai.js +53 -0
  64. package/dist/commands/init/steps/manifest.d.ts +13 -0
  65. package/dist/commands/init/steps/manifest.js +58 -0
  66. package/dist/commands/init/steps/memory.d.ts +15 -0
  67. package/dist/commands/init/steps/memory.js +60 -0
  68. package/dist/commands/init/steps/mock.d.ts +13 -0
  69. package/dist/commands/init/steps/mock.js +64 -0
  70. package/dist/commands/init/steps/sdd.d.ts +12 -0
  71. package/dist/commands/init/steps/sdd.js +40 -0
  72. package/dist/commands/init/steps/security.d.ts +28 -0
  73. package/dist/commands/init/steps/security.js +103 -0
  74. package/dist/commands/init/types.d.ts +30 -0
  75. package/dist/commands/init/types.js +2 -0
  76. package/dist/commands/init.d.ts +5 -4
  77. package/dist/commands/init.js +42 -630
  78. package/dist/commands/llmstxt.js +1 -1
  79. package/dist/commands/plugin.js +1 -1
  80. package/dist/commands/security.js +23 -4
  81. package/dist/commands/skills/analysis.d.ts +19 -0
  82. package/dist/commands/skills/analysis.js +211 -0
  83. package/dist/commands/skills/benchmark.d.ts +6 -0
  84. package/dist/commands/skills/benchmark.js +82 -0
  85. package/dist/commands/skills/constants.d.ts +10 -0
  86. package/dist/commands/skills/constants.js +27 -0
  87. package/dist/commands/skills/directives.d.ts +21 -0
  88. package/dist/commands/skills/directives.js +101 -0
  89. package/dist/commands/skills/parsing.d.ts +16 -0
  90. package/dist/commands/skills/parsing.js +108 -0
  91. package/dist/commands/skills/rules.d.ts +5 -0
  92. package/dist/commands/skills/rules.js +32 -0
  93. package/dist/commands/skills/scoring.d.ts +47 -0
  94. package/dist/commands/skills/scoring.js +306 -0
  95. package/dist/commands/skills.d.ts +7 -125
  96. package/dist/commands/skills.js +8 -874
  97. package/dist/commands/tdd-pipeline.js +1 -1
  98. package/dist/commands/tdd.js +1 -1
  99. package/dist/commands/workflow.js +2 -0
  100. package/dist/constants.js +2 -2
  101. package/dist/index.js +26 -473
  102. package/dist/lib/agent-skills.js +1 -1
  103. package/dist/{commands → lib}/atlassian-mcp.js +2 -2
  104. package/dist/lib/auto-skill-install.js +2 -3
  105. package/dist/lib/auto-wire.js +7 -7
  106. package/dist/lib/ci-config.d.ts +65 -0
  107. package/dist/lib/ci-config.js +297 -0
  108. package/dist/lib/claudemd.js +1 -1
  109. package/dist/lib/codex-export.js +4 -8
  110. package/dist/lib/common.js +2 -2
  111. package/dist/lib/context.js +2 -2
  112. package/dist/{commands → lib}/crash-recovery.js +4 -4
  113. package/dist/lib/docker.d.ts +22 -1
  114. package/dist/lib/docker.js +57 -49
  115. package/dist/lib/exec.d.ts +10 -0
  116. package/dist/lib/exec.js +11 -0
  117. package/dist/lib/frontmatter.js +2 -2
  118. package/dist/{commands → lib}/harness-audit.js +1 -1
  119. package/dist/{commands → lib}/parallel-batch.js +1 -3
  120. package/dist/lib/plugin.js +2 -4
  121. package/dist/{commands → lib}/secret-scanner.js +3 -1
  122. package/dist/{commands → lib}/security-analysis.js +4 -2
  123. package/dist/lib/skill-publish.js +23 -5
  124. package/dist/{commands → lib}/skill-scanner.d.ts +1 -1
  125. package/dist/{commands → lib}/skill-scanner.js +3 -3
  126. package/dist/lib/stack-detector.js +3 -3
  127. package/dist/{commands → lib}/supply-chain.js +1 -1
  128. package/dist/lib/template.js +2 -2
  129. package/dist/lib/workflow/discovery.d.ts +8 -0
  130. package/dist/lib/workflow/discovery.js +18 -1
  131. package/dist/lib/workflow/parser.js +15 -15
  132. package/dist/lib/workflow/validator.js +4 -4
  133. package/dist/tasks/index.d.ts +3 -3
  134. package/dist/tasks/index.js +3 -3
  135. package/dist/tasks/scaffold-tasks.d.ts +1 -1
  136. package/dist/tasks/scaffold-tasks.js +10 -10
  137. package/dist/tasks/task-id.d.ts +1 -1
  138. package/dist/tasks/task-id.js +9 -5
  139. package/dist/tasks/task-tracker.d.ts +1 -1
  140. package/dist/tasks/task-tracker.js +7 -7
  141. package/dist/ui/App.js +1 -1
  142. package/dist/ui/CIContext.js +1 -2
  143. package/dist/ui/Header.js +4 -4
  144. package/dist/ui/NameInput.js +1 -1
  145. package/dist/ui/Progress.d.ts +1 -1
  146. package/dist/ui/Progress.js +1 -1
  147. package/dist/ui/StackSelector.js +1 -1
  148. package/lib/common.psm1 +167 -0
  149. package/lib/common.sh +30 -0
  150. package/package.json +38 -19
  151. /package/dist/{commands → lib}/atlassian-mcp.d.ts +0 -0
  152. /package/dist/{commands → lib}/crash-recovery.d.ts +0 -0
  153. /package/dist/{commands → lib}/harness-audit.d.ts +0 -0
  154. /package/dist/{commands → lib}/parallel-batch.d.ts +0 -0
  155. /package/dist/{commands → lib}/secret-scanner.d.ts +0 -0
  156. /package/dist/{commands → lib}/security-analysis.d.ts +0 -0
  157. /package/dist/{commands → lib}/supply-chain.d.ts +0 -0
  158. /package/dist/{commands → lib}/team-presets.d.ts +0 -0
  159. /package/dist/{commands → lib}/team-presets.js +0 -0
@@ -0,0 +1,167 @@
1
+ # =============================================================================
2
+ # lib/common.psm1 - Shared functions for javi-forge (PowerShell)
3
+ # =============================================================================
4
+ # Mirror of lib/common.sh for Windows / PowerShell users.
5
+ #
6
+ # Import from scripts: Import-Module "$PSScriptRoot/../lib/common.psm1" -Force
7
+ # Import from ci-local: Import-Module "$PSScriptRoot/../lib/common.psm1" -Force
8
+ #
9
+ # Keep this file in sync with lib/common.sh. The function signatures use
10
+ # PowerShell verb-noun conventions but the BEHAVIOUR must match the bash
11
+ # version. Diff against lib/common.sh on every change.
12
+ # =============================================================================
13
+
14
+ Set-StrictMode -Version Latest
15
+
16
+ # =============================================================================
17
+ # Logging helpers
18
+ # =============================================================================
19
+ function Write-Ok { param([string]$Message) Write-Host " [OK] $Message" -ForegroundColor Green }
20
+ function Write-Warn { param([string]$Message) Write-Host " [WARN] $Message" -ForegroundColor Yellow }
21
+ function Write-Fail { param([string]$Message) Write-Host " [FAIL] $Message" -ForegroundColor Red }
22
+ function Write-Info { param([string]$Message) Write-Host " [INFO] $Message" -ForegroundColor Cyan }
23
+ function Write-Step { param([string]$Message) Write-Host $Message -ForegroundColor Yellow }
24
+
25
+ # =============================================================================
26
+ # Backup-FileIfExists - Create a .bak copy of a file before overwriting
27
+ # =============================================================================
28
+ function Backup-FileIfExists {
29
+ param([Parameter(Mandatory)][string]$Path)
30
+ if (Test-Path -LiteralPath $Path -PathType Leaf) {
31
+ Copy-Item -LiteralPath $Path -Destination "$Path.bak" -Force
32
+ Write-Host " Backed up existing $Path" -ForegroundColor Yellow
33
+ }
34
+ }
35
+
36
+ # =============================================================================
37
+ # Get-Stack - Auto-detect project technology stack
38
+ # =============================================================================
39
+ # Returns a hashtable with: StackType, BuildTool, JavaVersion
40
+ # Detects: java-gradle, java-maven, node, python, go, rust
41
+ # Mirrors detect_stack() from lib/common.sh.
42
+ # =============================================================================
43
+ function Get-Stack {
44
+ param([string]$ProjectDir = '.')
45
+
46
+ $result = @{
47
+ StackType = 'unknown'
48
+ BuildTool = ''
49
+ JavaVersion = '21'
50
+ }
51
+
52
+ # Allow user override via $env:CI_LOCAL_STACK. Mirrors the bash side.
53
+ $override = $env:CI_LOCAL_STACK
54
+ if ($override) {
55
+ $valid = @('node', 'python', 'go', 'rust', 'java-gradle', 'java-maven')
56
+ if ($valid -contains $override) {
57
+ $result.StackType = $override
58
+ switch ($override) {
59
+ 'node' {
60
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'pnpm-lock.yaml') -PathType Leaf) { $result.BuildTool = 'pnpm' }
61
+ elseif (Test-Path -LiteralPath (Join-Path $ProjectDir 'yarn.lock') -PathType Leaf) { $result.BuildTool = 'yarn' }
62
+ else { $result.BuildTool = 'npm' }
63
+ }
64
+ 'python' {
65
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'uv.lock') -PathType Leaf) { $result.BuildTool = 'uv' }
66
+ elseif (Test-Path -LiteralPath (Join-Path $ProjectDir 'poetry.lock') -PathType Leaf) { $result.BuildTool = 'poetry' }
67
+ elseif (Test-Path -LiteralPath (Join-Path $ProjectDir 'Pipfile') -PathType Leaf) { $result.BuildTool = 'pipenv' }
68
+ else { $result.BuildTool = 'pip' }
69
+ }
70
+ 'go' { $result.BuildTool = 'go' }
71
+ 'rust' { $result.BuildTool = 'cargo' }
72
+ 'java-gradle' { $result.BuildTool = 'gradle' }
73
+ 'java-maven' { $result.BuildTool = 'maven' }
74
+ }
75
+ return $result
76
+ }
77
+ Write-Warning "CI_LOCAL_STACK='$override' is not recognised. Falling back to auto-detection."
78
+ }
79
+
80
+ # Java + Gradle
81
+ $gradleKts = Join-Path $ProjectDir 'build.gradle.kts'
82
+ $gradle = Join-Path $ProjectDir 'build.gradle'
83
+ if ((Test-Path -LiteralPath $gradleKts -PathType Leaf) -or
84
+ (Test-Path -LiteralPath $gradle -PathType Leaf)) {
85
+ $result.StackType = 'java-gradle'
86
+ $result.BuildTool = 'gradle'
87
+ # Extract Java version from build file (regex parity with sh version)
88
+ $sourceFile = if (Test-Path -LiteralPath $gradleKts -PathType Leaf) { $gradleKts } else { $gradle }
89
+ try {
90
+ $content = Get-Content -LiteralPath $sourceFile -Raw -ErrorAction Stop
91
+ if ($sourceFile -like '*.kts') {
92
+ if ($content -match 'languageVersion\s*=\s*JavaLanguageVersion\.of\(\s*(\d+)') {
93
+ $result.JavaVersion = $Matches[1]
94
+ }
95
+ } else {
96
+ if ($content -match 'sourceCompatibility\s*=\s*[''"]?\s*(\d+)') {
97
+ $result.JavaVersion = $Matches[1]
98
+ }
99
+ }
100
+ } catch {
101
+ # Keep default '21'
102
+ }
103
+ return $result
104
+ }
105
+
106
+ # Java + Maven
107
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'pom.xml') -PathType Leaf) {
108
+ $result.StackType = 'java-maven'
109
+ $result.BuildTool = 'maven'
110
+ return $result
111
+ }
112
+
113
+ # Node.js
114
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'package.json') -PathType Leaf) {
115
+ $result.StackType = 'node'
116
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'pnpm-lock.yaml') -PathType Leaf) { $result.BuildTool = 'pnpm' }
117
+ elseif (Test-Path -LiteralPath (Join-Path $ProjectDir 'yarn.lock') -PathType Leaf) { $result.BuildTool = 'yarn' }
118
+ else { $result.BuildTool = 'npm' }
119
+ return $result
120
+ }
121
+
122
+ # Python — uv > poetry > pipenv > pip
123
+ $pyMarker = @('pyproject.toml', 'setup.py', 'requirements.txt') |
124
+ ForEach-Object { Join-Path $ProjectDir $_ } |
125
+ Where-Object { Test-Path -LiteralPath $_ -PathType Leaf } |
126
+ Select-Object -First 1
127
+ if ($pyMarker) {
128
+ $result.StackType = 'python'
129
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'uv.lock') -PathType Leaf) { $result.BuildTool = 'uv' }
130
+ elseif (Test-Path -LiteralPath (Join-Path $ProjectDir 'poetry.lock') -PathType Leaf) { $result.BuildTool = 'poetry' }
131
+ elseif (Test-Path -LiteralPath (Join-Path $ProjectDir 'Pipfile') -PathType Leaf) { $result.BuildTool = 'pipenv' }
132
+ else { $result.BuildTool = 'pip' }
133
+ return $result
134
+ }
135
+
136
+ # Go
137
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'go.mod') -PathType Leaf) {
138
+ $result.StackType = 'go'
139
+ $result.BuildTool = 'go'
140
+ return $result
141
+ }
142
+
143
+ # Rust
144
+ if (Test-Path -LiteralPath (Join-Path $ProjectDir 'Cargo.toml') -PathType Leaf) {
145
+ $result.StackType = 'rust'
146
+ $result.BuildTool = 'cargo'
147
+ return $result
148
+ }
149
+
150
+ return $result
151
+ }
152
+
153
+ # =============================================================================
154
+ # Test-CommandExists - Returns $true if a command is available in PATH
155
+ # =============================================================================
156
+ # Replaces "command -v X" from bash.
157
+ # =============================================================================
158
+ function Test-CommandExists {
159
+ param([Parameter(Mandatory)][string]$Name)
160
+ [bool](Get-Command -Name $Name -ErrorAction SilentlyContinue)
161
+ }
162
+
163
+ Export-ModuleMember -Function `
164
+ Write-Ok, Write-Warn, Write-Fail, Write-Info, Write-Step, `
165
+ Backup-FileIfExists, `
166
+ Get-Stack, `
167
+ Test-CommandExists
package/lib/common.sh CHANGED
@@ -95,6 +95,36 @@ detect_stack() {
95
95
  BUILD_TOOL=""
96
96
  JAVA_VERSION="21"
97
97
 
98
+ # Allow user to override auto-detection. Useful for hybrid projects
99
+ # (Node + Go) where the first-match rule otherwise locks the choice.
100
+ # Recognised values: node, python, go, rust, java-gradle, java-maven.
101
+ if [ -n "${CI_LOCAL_STACK:-}" ]; then
102
+ case "$CI_LOCAL_STACK" in
103
+ node|python|go|rust|java-gradle|java-maven)
104
+ STACK_TYPE="$CI_LOCAL_STACK"
105
+ case "$STACK_TYPE" in
106
+ node)
107
+ if [ -f "$project_dir/pnpm-lock.yaml" ]; then BUILD_TOOL="pnpm"
108
+ elif [ -f "$project_dir/yarn.lock" ]; then BUILD_TOOL="yarn"
109
+ else BUILD_TOOL="npm"; fi ;;
110
+ python)
111
+ if [ -f "$project_dir/uv.lock" ]; then BUILD_TOOL="uv"
112
+ elif [ -f "$project_dir/poetry.lock" ]; then BUILD_TOOL="poetry"
113
+ elif [ -f "$project_dir/Pipfile" ]; then BUILD_TOOL="pipenv"
114
+ else BUILD_TOOL="pip"; fi ;;
115
+ go) BUILD_TOOL="go" ;;
116
+ rust) BUILD_TOOL="cargo" ;;
117
+ java-gradle) BUILD_TOOL="gradle" ;;
118
+ java-maven) BUILD_TOOL="maven" ;;
119
+ esac
120
+ return
121
+ ;;
122
+ *)
123
+ echo "WARNING: CI_LOCAL_STACK='$CI_LOCAL_STACK' is not recognised. Falling back to auto-detection." >&2
124
+ ;;
125
+ esac
126
+ fi
127
+
98
128
  # Java + Gradle
99
129
  if [[ -f "$project_dir/build.gradle" || -f "$project_dir/build.gradle.kts" ]]; then
100
130
  STACK_TYPE="java-gradle"
package/package.json CHANGED
@@ -1,20 +1,26 @@
1
1
  {
2
2
  "name": "javi-forge",
3
- "version": "1.6.1",
3
+ "version": "1.7.0",
4
4
  "description": "Project scaffolding and AI-ready CI bootstrap",
5
5
  "type": "module",
6
6
  "bin": {
7
- "javi-forge": "./dist/index.js"
7
+ "javi-forge": "dist/index.js"
8
8
  },
9
9
  "scripts": {
10
10
  "build": "tsc",
11
11
  "dev": "tsx watch src/index.tsx",
12
12
  "start": "node dist/index.js",
13
13
  "typecheck": "tsc --noEmit",
14
+ "typecheck:test": "tsc --project tsconfig.test.json --noEmit",
14
15
  "test": "vitest run",
15
16
  "test:watch": "vitest",
16
17
  "test:coverage": "vitest run --coverage",
17
18
  "test:mutation": "stryker run",
19
+ "test:hooks": "bash ci-local/hooks/commit-msg.test.sh",
20
+ "lint": "biome check src/",
21
+ "lint:fix": "biome check --write src/",
22
+ "format": "biome format --write src/",
23
+ "validate": "pnpm typecheck && pnpm typecheck:test && pnpm lint && pnpm test",
18
24
  "package:check": "npm pack --dry-run --json --cache /tmp/javi-forge-npm-pack-cache > /tmp/javi-forge-pack.json && node scripts/verify-package-contents.mjs /tmp/javi-forge-pack.json"
19
25
  },
20
26
  "files": [
@@ -35,41 +41,54 @@
35
41
  "license": "MIT",
36
42
  "repository": {
37
43
  "type": "git",
38
- "url": "https://github.com/JNZader/javi-forge"
44
+ "url": "git+https://github.com/JNZader/javi-forge.git"
39
45
  },
40
46
  "engines": {
41
- "node": ">=18"
47
+ "node": ">=22"
42
48
  },
43
49
  "dependencies": {
44
50
  "chalk": "^5.6.2",
45
- "fs-extra": "^11.3.4",
51
+ "fs-extra": "^11.3.5",
46
52
  "glob": "^13.0.6",
47
- "ink": "^6.8.0",
53
+ "ink": "^7.0.3",
48
54
  "ink-spinner": "^5.0.0",
49
55
  "meow": "^14.1.0",
50
- "react": "^19.2.4",
56
+ "react": "^19.2.6",
51
57
  "update-notifier": "^7.3.1",
52
- "yaml": "^2.8.2"
58
+ "yaml": "^2.9.0"
53
59
  },
54
60
  "devDependencies": {
61
+ "@biomejs/biome": "^2.4.15",
55
62
  "@semantic-release/changelog": "^6.0.3",
56
63
  "@semantic-release/exec": "^7.1.0",
57
64
  "@semantic-release/git": "^10.0.1",
58
- "@semantic-release/github": "^12.0.6",
59
- "@stryker-mutator/core": "^9.6.0",
60
- "@stryker-mutator/typescript-checker": "^9.6.0",
61
- "@stryker-mutator/vitest-runner": "^9.6.0",
65
+ "@semantic-release/github": "^12.0.8",
66
+ "@stryker-mutator/core": "^9.6.1",
67
+ "@stryker-mutator/typescript-checker": "^9.6.1",
68
+ "@stryker-mutator/vitest-runner": "^9.6.1",
62
69
  "@types/fs-extra": "^11.0.4",
63
- "@types/glob": "^9.0.0",
64
- "@types/node": "^25.5.0",
70
+ "@types/node": "^25.8.0",
65
71
  "@types/react": "^19.2.14",
66
72
  "@types/update-notifier": "^6.0.8",
67
- "@vitest/coverage-v8": "^4.1.0",
68
- "conventional-changelog-conventionalcommits": "^9.3.0",
73
+ "@vitest/coverage-v8": "^4.1.6",
74
+ "conventional-changelog-conventionalcommits": "^9.3.1",
69
75
  "ink-testing-library": "^4.0.0",
70
76
  "semantic-release": "^25.0.3",
71
- "tsx": "^4.21.0",
72
- "typescript": "^5.9.3",
73
- "vitest": "^4.1.0"
77
+ "tsx": "^4.22.1",
78
+ "typescript": "^6.0.3",
79
+ "vite": "^8.0.13",
80
+ "vitest": "^4.1.6"
81
+ },
82
+ "pnpm": {
83
+ "overrides": {
84
+ "handlebars": "^4.7.9",
85
+ "picomatch": "^4.0.4",
86
+ "brace-expansion": "^5.0.5",
87
+ "lodash": "^4.18.0",
88
+ "lodash-es": "^4.18.0",
89
+ "fast-uri": "^3.1.2",
90
+ "postcss": "^8.5.10",
91
+ "vite": "^8.0.5"
92
+ }
74
93
  }
75
94
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes