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.
- package/README.md +45 -1
- package/ci-local/README.md +56 -11
- package/ci-local/ci-local.ps1 +445 -0
- package/ci-local/ci-local.sh +52 -9
- package/ci-local/docker/python.Dockerfile +7 -0
- package/ci-local/hooks/commit-msg +120 -44
- package/ci-local/hooks/commit-msg.test.sh +286 -0
- package/ci-local/hooks/pre-commit +9 -1
- package/ci-local/hooks/pre-push +13 -2
- package/ci-local/install.ps1 +367 -0
- package/ci-local/install.sh +151 -5
- package/ci-local/uninstall.ps1 +85 -0
- package/ci-local/uninstall.sh +95 -0
- package/dist/cli/dispatch/ci.d.ts +12 -0
- package/dist/cli/dispatch/ci.js +38 -0
- package/dist/cli/dispatch/security.d.ts +11 -0
- package/dist/cli/dispatch/security.js +68 -0
- package/dist/cli/dispatch/simple-renderers.d.ts +16 -0
- package/dist/cli/dispatch/simple-renderers.js +65 -0
- package/dist/cli/dispatch/skill-publish.d.ts +15 -0
- package/dist/cli/dispatch/skill-publish.js +44 -0
- package/dist/cli/dispatch/skills-cmd.d.ts +13 -0
- package/dist/cli/dispatch/skills-cmd.js +93 -0
- package/dist/cli/dispatch/tdd.d.ts +11 -0
- package/dist/cli/dispatch/tdd.js +45 -0
- package/dist/cli/dispatch/types.d.ts +29 -0
- package/dist/cli/dispatch/types.js +2 -0
- package/dist/cli/dispatch/workflow.d.ts +11 -0
- package/dist/cli/dispatch/workflow.js +67 -0
- package/dist/cli/help.d.ts +127 -0
- package/dist/cli/help.js +138 -0
- package/dist/cli/runtime.d.ts +16 -0
- package/dist/cli/runtime.js +38 -0
- package/dist/cli/validators.d.ts +17 -0
- package/dist/cli/validators.js +35 -0
- package/dist/commands/analyze.js +1 -3
- package/dist/commands/ci.d.ts +47 -0
- package/dist/commands/ci.js +380 -63
- package/dist/commands/doctor.js +2 -4
- package/dist/commands/init/report.d.ts +13 -0
- package/dist/commands/init/report.js +13 -0
- package/dist/commands/init/steps/agent-skills.d.ts +13 -0
- package/dist/commands/init/steps/agent-skills.js +45 -0
- package/dist/commands/init/steps/ai-sync.d.ts +15 -0
- package/dist/commands/init/steps/ai-sync.js +62 -0
- package/dist/commands/init/steps/ci.d.ts +24 -0
- package/dist/commands/init/steps/ci.js +74 -0
- package/dist/commands/init/steps/claude-md.d.ts +14 -0
- package/dist/commands/init/steps/claude-md.js +54 -0
- package/dist/commands/init/steps/code-graph.d.ts +16 -0
- package/dist/commands/init/steps/code-graph.js +68 -0
- package/dist/commands/init/steps/context-dir.d.ts +13 -0
- package/dist/commands/init/steps/context-dir.js +47 -0
- package/dist/commands/init/steps/docker-deploy.d.ts +16 -0
- package/dist/commands/init/steps/docker-deploy.js +60 -0
- package/dist/commands/init/steps/ghagga.d.ts +15 -0
- package/dist/commands/init/steps/ghagga.js +58 -0
- package/dist/commands/init/steps/git.d.ts +25 -0
- package/dist/commands/init/steps/git.js +81 -0
- package/dist/commands/init/steps/gitignore.d.ts +13 -0
- package/dist/commands/init/steps/gitignore.js +39 -0
- package/dist/commands/init/steps/local-ai.d.ts +14 -0
- package/dist/commands/init/steps/local-ai.js +53 -0
- package/dist/commands/init/steps/manifest.d.ts +13 -0
- package/dist/commands/init/steps/manifest.js +58 -0
- package/dist/commands/init/steps/memory.d.ts +15 -0
- package/dist/commands/init/steps/memory.js +60 -0
- package/dist/commands/init/steps/mock.d.ts +13 -0
- package/dist/commands/init/steps/mock.js +64 -0
- package/dist/commands/init/steps/sdd.d.ts +12 -0
- package/dist/commands/init/steps/sdd.js +40 -0
- package/dist/commands/init/steps/security.d.ts +28 -0
- package/dist/commands/init/steps/security.js +103 -0
- package/dist/commands/init/types.d.ts +30 -0
- package/dist/commands/init/types.js +2 -0
- package/dist/commands/init.d.ts +5 -4
- package/dist/commands/init.js +42 -630
- package/dist/commands/llmstxt.js +1 -1
- package/dist/commands/plugin.js +1 -1
- package/dist/commands/security.js +23 -4
- package/dist/commands/skills/analysis.d.ts +19 -0
- package/dist/commands/skills/analysis.js +211 -0
- package/dist/commands/skills/benchmark.d.ts +6 -0
- package/dist/commands/skills/benchmark.js +82 -0
- package/dist/commands/skills/constants.d.ts +10 -0
- package/dist/commands/skills/constants.js +27 -0
- package/dist/commands/skills/directives.d.ts +21 -0
- package/dist/commands/skills/directives.js +101 -0
- package/dist/commands/skills/parsing.d.ts +16 -0
- package/dist/commands/skills/parsing.js +108 -0
- package/dist/commands/skills/rules.d.ts +5 -0
- package/dist/commands/skills/rules.js +32 -0
- package/dist/commands/skills/scoring.d.ts +47 -0
- package/dist/commands/skills/scoring.js +306 -0
- package/dist/commands/skills.d.ts +7 -125
- package/dist/commands/skills.js +8 -874
- package/dist/commands/tdd-pipeline.js +1 -1
- package/dist/commands/tdd.js +1 -1
- package/dist/commands/workflow.js +2 -0
- package/dist/constants.js +2 -2
- package/dist/index.js +26 -473
- package/dist/lib/agent-skills.js +1 -1
- package/dist/{commands → lib}/atlassian-mcp.js +2 -2
- package/dist/lib/auto-skill-install.js +2 -3
- package/dist/lib/auto-wire.js +7 -7
- package/dist/lib/ci-config.d.ts +65 -0
- package/dist/lib/ci-config.js +297 -0
- package/dist/lib/claudemd.js +1 -1
- package/dist/lib/codex-export.js +4 -8
- package/dist/lib/common.js +2 -2
- package/dist/lib/context.js +2 -2
- package/dist/{commands → lib}/crash-recovery.js +4 -4
- package/dist/lib/docker.d.ts +22 -1
- package/dist/lib/docker.js +57 -49
- package/dist/lib/exec.d.ts +10 -0
- package/dist/lib/exec.js +11 -0
- package/dist/lib/frontmatter.js +2 -2
- package/dist/{commands → lib}/harness-audit.js +1 -1
- package/dist/{commands → lib}/parallel-batch.js +1 -3
- package/dist/lib/plugin.js +2 -4
- package/dist/{commands → lib}/secret-scanner.js +3 -1
- package/dist/{commands → lib}/security-analysis.js +4 -2
- package/dist/lib/skill-publish.js +23 -5
- package/dist/{commands → lib}/skill-scanner.d.ts +1 -1
- package/dist/{commands → lib}/skill-scanner.js +3 -3
- package/dist/lib/stack-detector.js +3 -3
- package/dist/{commands → lib}/supply-chain.js +1 -1
- package/dist/lib/template.js +2 -2
- package/dist/lib/workflow/discovery.d.ts +8 -0
- package/dist/lib/workflow/discovery.js +18 -1
- package/dist/lib/workflow/parser.js +15 -15
- package/dist/lib/workflow/validator.js +4 -4
- package/dist/tasks/index.d.ts +3 -3
- package/dist/tasks/index.js +3 -3
- package/dist/tasks/scaffold-tasks.d.ts +1 -1
- package/dist/tasks/scaffold-tasks.js +10 -10
- package/dist/tasks/task-id.d.ts +1 -1
- package/dist/tasks/task-id.js +9 -5
- package/dist/tasks/task-tracker.d.ts +1 -1
- package/dist/tasks/task-tracker.js +7 -7
- package/dist/ui/App.js +1 -1
- package/dist/ui/CIContext.js +1 -2
- package/dist/ui/Header.js +4 -4
- package/dist/ui/NameInput.js +1 -1
- package/dist/ui/Progress.d.ts +1 -1
- package/dist/ui/Progress.js +1 -1
- package/dist/ui/StackSelector.js +1 -1
- package/lib/common.psm1 +167 -0
- package/lib/common.sh +30 -0
- package/package.json +38 -19
- /package/dist/{commands → lib}/atlassian-mcp.d.ts +0 -0
- /package/dist/{commands → lib}/crash-recovery.d.ts +0 -0
- /package/dist/{commands → lib}/harness-audit.d.ts +0 -0
- /package/dist/{commands → lib}/parallel-batch.d.ts +0 -0
- /package/dist/{commands → lib}/secret-scanner.d.ts +0 -0
- /package/dist/{commands → lib}/security-analysis.d.ts +0 -0
- /package/dist/{commands → lib}/supply-chain.d.ts +0 -0
- /package/dist/{commands → lib}/team-presets.d.ts +0 -0
- /package/dist/{commands → lib}/team-presets.js +0 -0
package/lib/common.psm1
ADDED
|
@@ -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
|
-
|
|
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": "
|
|
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": ">=
|
|
47
|
+
"node": ">=22"
|
|
42
48
|
},
|
|
43
49
|
"dependencies": {
|
|
44
50
|
"chalk": "^5.6.2",
|
|
45
|
-
"fs-extra": "^11.3.
|
|
51
|
+
"fs-extra": "^11.3.5",
|
|
46
52
|
"glob": "^13.0.6",
|
|
47
|
-
"ink": "^
|
|
53
|
+
"ink": "^7.0.3",
|
|
48
54
|
"ink-spinner": "^5.0.0",
|
|
49
55
|
"meow": "^14.1.0",
|
|
50
|
-
"react": "^19.2.
|
|
56
|
+
"react": "^19.2.6",
|
|
51
57
|
"update-notifier": "^7.3.1",
|
|
52
|
-
"yaml": "^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.
|
|
59
|
-
"@stryker-mutator/core": "^9.6.
|
|
60
|
-
"@stryker-mutator/typescript-checker": "^9.6.
|
|
61
|
-
"@stryker-mutator/vitest-runner": "^9.6.
|
|
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/
|
|
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.
|
|
68
|
-
"conventional-changelog-conventionalcommits": "^9.3.
|
|
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.
|
|
72
|
-
"typescript": "^
|
|
73
|
-
"
|
|
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
|