tsoft-cli 3.9.5 → 3.10.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/CHANGELOG.md +9 -0
- package/locales/en.json +2 -2
- package/locales/tr.json +2 -2
- package/package.json +1 -1
- package/src/commands/theme.js +4 -2
- package/src/index.js +5 -4
- package/src/ui/help-renderer.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,15 @@ All notable changes to T-Soft CLI will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.10.0] - 2026-07-30
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- `tsoft theme create` now accepts the theme name as an argument: `tsoft theme create my-theme`. The name was previously only ever asked for interactively, so a name passed on the command line was silently discarded and the prompt appeared anyway. Every other theme command already took an optional name, and `create` was the exception. Running `tsoft theme create` with no argument still prompts exactly as before.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- `tsoft theme init` is now also available as `tsoft theme fork`. The command has always forked an existing theme into a copy of your own, but the name `init` read like "start a blank project", so developers looked for a fork command and concluded forking was unavailable. Both names run the same command and `theme init` keeps working unchanged.
|
|
15
|
+
- The help screen lists the command as `theme fork`, and the JSON-mode usage hint points to `tsoft --json theme fork --from <slug>`.
|
|
16
|
+
|
|
8
17
|
## [3.9.5] - 2026-07-20
|
|
9
18
|
|
|
10
19
|
### Fixed
|
package/locales/en.json
CHANGED
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
"init.location_label": "Location:",
|
|
215
215
|
"init.dev_tip": "To start development: tsoft theme dev {{slug}}",
|
|
216
216
|
"init.json_error.message": "--from parameter required (interactive selection not supported in JSON mode)",
|
|
217
|
-
"init.json_error.hint": "Usage: tsoft --json theme
|
|
217
|
+
"init.json_error.hint": "Usage: tsoft --json theme fork --from <slug>",
|
|
218
218
|
"init.theme_not_found": "Theme not found: {{slug}}",
|
|
219
219
|
"section.list.no_active_theme": "No active theme found. Please run \"tsoft theme use <theme-name>\" first.",
|
|
220
220
|
"section.list.starting": "Listing sections...",
|
|
@@ -316,7 +316,7 @@
|
|
|
316
316
|
"help.cmd.theme_create": "Create a new theme",
|
|
317
317
|
"help.cmd.theme_pull": "Download an existing theme",
|
|
318
318
|
"help.cmd.theme_use": "Set the active theme",
|
|
319
|
-
"help.cmd.theme_init": "
|
|
319
|
+
"help.cmd.theme_init": "Fork an existing theme into a new theme of your own (alias: theme init)",
|
|
320
320
|
"help.cmd.login": "Authenticate with your tsoft360 store",
|
|
321
321
|
"help.cmd.logout": "Sign out and clear local credentials",
|
|
322
322
|
"help.cmd.whoami": "Show the logged-in user and store info",
|
package/locales/tr.json
CHANGED
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
"init.location_label": "Konum:",
|
|
215
215
|
"init.dev_tip": "Geliştirmeye başlamak için: tsoft theme dev {{slug}}",
|
|
216
216
|
"init.json_error.message": "--from parametresi gerekli (JSON modda interaktif seçim desteklenmez)",
|
|
217
|
-
"init.json_error.hint": "Kullanim: tsoft --json theme
|
|
217
|
+
"init.json_error.hint": "Kullanim: tsoft --json theme fork --from <slug>",
|
|
218
218
|
"init.theme_not_found": "Tema bulunamadı: {{slug}}",
|
|
219
219
|
"section.list.no_active_theme": "Aktif tema bulunamadı. Lütfen önce \"tsoft theme use <tema-adı>\" komutunu çalıştırın.",
|
|
220
220
|
"section.list.starting": "Section'lar listeleniyor...",
|
|
@@ -316,7 +316,7 @@
|
|
|
316
316
|
"help.cmd.theme_create": "Yeni bir tema oluşturun",
|
|
317
317
|
"help.cmd.theme_pull": "Mevcut bir temayı indirin",
|
|
318
318
|
"help.cmd.theme_use": "Aktif temayı ayarlayın",
|
|
319
|
-
"help.cmd.theme_init": "Mevcut bir temayi fork ederek
|
|
319
|
+
"help.cmd.theme_init": "Mevcut bir temayi fork ederek kendi temanizi olusturun (eski adi: theme init)",
|
|
320
320
|
"help.cmd.login": "tsoft360 mağazanızla kimlik doğrulayın",
|
|
321
321
|
"help.cmd.logout": "Oturumu kapatın ve yerel kimlik bilgilerini temizleyin",
|
|
322
322
|
"help.cmd.whoami": "Giriş yapan kullanıcı ve mağaza bilgilerini gösterin",
|
package/package.json
CHANGED
package/src/commands/theme.js
CHANGED
|
@@ -71,7 +71,7 @@ export async function themeListCommand() {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
export async function themeCreateCommand() {
|
|
74
|
+
export async function themeCreateCommand(themeName) {
|
|
75
75
|
try {
|
|
76
76
|
const store = await getActiveStore();
|
|
77
77
|
if (!store) {
|
|
@@ -81,7 +81,9 @@ export async function themeCreateCommand() {
|
|
|
81
81
|
|
|
82
82
|
console.log(chalk.cyan(t('theme.creating') + '\n'));
|
|
83
83
|
|
|
84
|
-
const
|
|
84
|
+
const providedName = typeof themeName === 'string' ? themeName.trim() : '';
|
|
85
|
+
|
|
86
|
+
const name = providedName || await input({
|
|
85
87
|
message: t('theme.name_prompt'), validate: (value) => {
|
|
86
88
|
if (!value.trim()) {
|
|
87
89
|
return t('theme.name_required');
|
package/src/index.js
CHANGED
|
@@ -93,10 +93,10 @@ theme
|
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
theme
|
|
96
|
-
.command('create')
|
|
96
|
+
.command('create [theme-name]')
|
|
97
97
|
.description('Create a new theme')
|
|
98
|
-
.action(async () => {
|
|
99
|
-
await themeCreateCommand();
|
|
98
|
+
.action(async (themeName) => {
|
|
99
|
+
await themeCreateCommand(themeName);
|
|
100
100
|
});
|
|
101
101
|
|
|
102
102
|
theme
|
|
@@ -146,7 +146,8 @@ submitCmd._hidden = true;
|
|
|
146
146
|
|
|
147
147
|
theme
|
|
148
148
|
.command('init')
|
|
149
|
-
.
|
|
149
|
+
.alias('fork')
|
|
150
|
+
.description('Fork an existing theme into a new theme of your own')
|
|
150
151
|
.option('--from [slug]', 'Slug or name of the theme to fork')
|
|
151
152
|
.action(async (options) => {
|
|
152
153
|
await themeInitCommand(options.from);
|
package/src/ui/help-renderer.js
CHANGED
|
@@ -52,7 +52,7 @@ const COMMAND_GROUPS = [
|
|
|
52
52
|
{ display: 'theme create', descKey: 'help.cmd.theme_create' },
|
|
53
53
|
{ display: 'theme pull', descKey: 'help.cmd.theme_pull' },
|
|
54
54
|
{ display: 'theme use', descKey: 'help.cmd.theme_use' },
|
|
55
|
-
{ display: 'theme
|
|
55
|
+
{ display: 'theme fork', descKey: 'help.cmd.theme_init' },
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
{
|