refactor(commands): separate commands and its core into two folders (#32)

- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
This commit is contained in:
VERSE
2026-07-05 11:27:30 +07:00
committed by GitHub
parent 6b98455957
commit ebde9ba68f
536 changed files with 2241 additions and 2241 deletions
+17 -17
View File
@@ -1,21 +1,21 @@
package js
import (
"github.com/versenilvis/iris/commands/core"
"github.com/versenilvis/iris/spec"
)
func init() {
core.Register(&core.Spec{
spec.Register(&spec.Spec{
Name: "bun",
Description: "bun js runtime",
Subcommands: []core.Subcommand{
{Name: "install", Description: "install packages", Options: []core.Option{
Subcommands: []spec.Subcommand{
{Name: "install", Description: "install packages", Options: []spec.Option{
{Name: "--frozen-lockfile", Description: "no lockfile update"},
{Name: "--production", Description: "production only"},
{Name: "--no-save", Description: "don't update package.json"},
{Name: "--dry-run", Description: "print what would be installed"},
}},
{Name: "add", Description: "add package", Options: []core.Option{
{Name: "add", Description: "add package", Options: []spec.Option{
{Name: "-d", Description: "dev dependency"},
{Name: "--dev", Description: "dev dependency (long form)"},
{Name: "--optional", Description: "optional dependency"},
@@ -24,17 +24,17 @@ func init() {
{Name: "--exact", Description: "exact version"},
{Name: "--no-save", Description: "don't update package.json"},
}},
{Name: "remove", Description: "remove package", Options: []core.Option{
{Name: "remove", Description: "remove package", Options: []spec.Option{
{Name: "-g", Description: "remove global package"},
}},
{Name: "run", Description: "run script", Generator: NpmScriptGenerator, Options: []core.Option{
{Name: "run", Description: "run script", Generator: NpmScriptGenerator, Options: []spec.Option{
{Name: "--silent", Description: "suppress output"},
{Name: "--bun", Description: "force bun runtime"},
{Name: "--watch", Description: "watch mode"},
{Name: "--hot", Description: "hot reload"},
{Name: "--smol", Description: "reduce memory usage"},
}},
{Name: "build", Description: "bundle files", Generator: core.FileGenerator(".ts", ".tsx", ".js", ".jsx"), Options: []core.Option{
{Name: "build", Description: "bundle files", Generator: spec.FileGenerator(".ts", ".tsx", ".js", ".jsx"), Options: []spec.Option{
{Name: "--outdir", Description: "output directory"},
{Name: "--outfile", Description: "output file"},
{Name: "--minify", Description: "enable all minification"},
@@ -54,7 +54,7 @@ func init() {
{Name: "--loader", Description: "set file loader"},
{Name: "--public-path", Description: "prefix for public assets"},
}},
{Name: "test", Description: "run tests", Options: []core.Option{
{Name: "test", Description: "run tests", Options: []spec.Option{
{Name: "--watch", Description: "watch mode"},
{Name: "-t", Description: "filter by test name"},
{Name: "--coverage", Description: "collect coverage"},
@@ -65,20 +65,20 @@ func init() {
{Name: "--todo", Description: "show todo tests"},
{Name: "--reporter", Description: "test reporter (default/junit/tap)"},
}},
{Name: "x", Description: "execute package (bunx)", Options: []core.Option{
{Name: "x", Description: "execute package (bunx)", Options: []spec.Option{
{Name: "--bun", Description: "force bun runtime"},
{Name: "--silent", Description: "suppress output"},
}},
{Name: "outdated", Description: "check outdated packages"},
{Name: "patch", Description: "patch a package", Options: []core.Option{
{Name: "patch", Description: "patch a package", Options: []spec.Option{
{Name: "--commit", Description: "commit the patch"},
}},
{Name: "publish", Description: "publish package to npm", Options: []core.Option{
{Name: "publish", Description: "publish package to npm", Options: []spec.Option{
{Name: "--dry-run", Description: "simulate publish"},
{Name: "--tag", Description: "dist-tag"},
{Name: "--access", Description: "public or restricted"},
}},
{Name: "init", Description: "create new project", Options: []core.Option{
{Name: "init", Description: "create new project", Options: []spec.Option{
{Name: "-y", Description: "skip prompts"},
}},
{Name: "create", Description: "create from template"},
@@ -86,7 +86,7 @@ func init() {
{Name: "upgrade", Description: "upgrade bun"},
{Name: "link", Description: "link package"},
{Name: "unlink", Description: "unlink package"},
{Name: "pm", Description: "package manager helpers", Subcommands: []core.Subcommand{
{Name: "pm", Description: "package manager helpers", Subcommands: []spec.Subcommand{
{Name: "cache", Description: "show cache path"},
{Name: "ls", Description: "list packages"},
{Name: "hash", Description: "print lockfile hash"},
@@ -95,7 +95,7 @@ func init() {
{Name: "untrusted", Description: "show untrusted packages"},
}},
},
Options: []core.Option{
Options: []spec.Option{
{Name: "--watch", Description: "watch for changes"},
{Name: "--hot", Description: "hot module reload"},
{Name: "--smol", Description: "reduce memory usage"},
@@ -105,10 +105,10 @@ func init() {
},
})
core.Register(&core.Spec{
spec.Register(&spec.Spec{
Name: "bunx",
Description: "execute package (bun x)",
Options: []core.Option{
Options: []spec.Option{
{Name: "--bun", Description: "force bun runtime"},
{Name: "--silent", Description: "suppress output"},
},