tsoft-cli 3.4.0 → 3.4.2
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/package.json +1 -1
- package/src/index.js +5 -1
- package/src/server.js +34 -27
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.4.2] - 2026-04-08
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- Version now read from package.json instead of hardcoded value
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- OAuth callback page redesigned — clean white background with bordered card
|
|
15
|
+
- Error page styled to match success page
|
|
16
|
+
|
|
8
17
|
## [3.4.0] - 2026-04-08
|
|
9
18
|
|
|
10
19
|
### Added
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
import { createRequire } from 'module';
|
|
3
4
|
import { Command } from 'commander';
|
|
4
5
|
import chalk from 'chalk';
|
|
5
6
|
import { setJsonMode } from './output-mode.js';
|
|
@@ -17,6 +18,9 @@ import { themeSubmitCommand } from './commands/theme-submit.js';
|
|
|
17
18
|
import { themeInitCommand } from './commands/theme-init.js';
|
|
18
19
|
import { orgSwitchCommand } from './commands/org-switch.js';
|
|
19
20
|
|
|
21
|
+
const require = createRequire(import.meta.url);
|
|
22
|
+
const { version } = require('../package.json');
|
|
23
|
+
|
|
20
24
|
initLocale();
|
|
21
25
|
|
|
22
26
|
const program = new Command();
|
|
@@ -24,7 +28,7 @@ const program = new Command();
|
|
|
24
28
|
program
|
|
25
29
|
.name('tsoft')
|
|
26
30
|
.description('tsoft360 theme development and management tool')
|
|
27
|
-
.version(
|
|
31
|
+
.version(version);
|
|
28
32
|
|
|
29
33
|
// Global --json flag for machine-readable output (CI/CD)
|
|
30
34
|
program.option('--json', 'Machine-readable JSON output for CI/CD');
|
package/src/server.js
CHANGED
|
@@ -70,42 +70,46 @@ function successHtml() {
|
|
|
70
70
|
align-items: center;
|
|
71
71
|
min-height: 100vh;
|
|
72
72
|
margin: 0;
|
|
73
|
-
background:
|
|
73
|
+
background: #fff;
|
|
74
74
|
}
|
|
75
75
|
.container {
|
|
76
|
-
background:
|
|
76
|
+
background: #fff;
|
|
77
77
|
padding: 3rem;
|
|
78
78
|
border-radius: 1rem;
|
|
79
|
-
|
|
79
|
+
border: 1px solid #e5e7eb;
|
|
80
80
|
text-align: center;
|
|
81
81
|
max-width: 400px;
|
|
82
82
|
}
|
|
83
83
|
.success-icon {
|
|
84
|
-
width:
|
|
85
|
-
height:
|
|
84
|
+
width: 64px;
|
|
85
|
+
height: 64px;
|
|
86
86
|
margin: 0 auto 1.5rem;
|
|
87
87
|
background: #10b981;
|
|
88
88
|
border-radius: 50%;
|
|
89
89
|
display: flex;
|
|
90
90
|
align-items: center;
|
|
91
91
|
justify-content: center;
|
|
92
|
-
|
|
92
|
+
}
|
|
93
|
+
.success-icon svg {
|
|
94
|
+
width: 32px;
|
|
95
|
+
height: 32px;
|
|
93
96
|
}
|
|
94
97
|
h1 {
|
|
95
98
|
color: #1f2937;
|
|
96
|
-
margin: 0 0
|
|
97
|
-
font-size: 1.
|
|
99
|
+
margin: 0 0 0.75rem;
|
|
100
|
+
font-size: 1.5rem;
|
|
101
|
+
font-weight: 600;
|
|
98
102
|
}
|
|
99
103
|
p {
|
|
100
104
|
color: #6b7280;
|
|
101
105
|
margin: 0;
|
|
102
|
-
font-size:
|
|
103
|
-
line-height: 1.
|
|
106
|
+
font-size: 0.938rem;
|
|
107
|
+
line-height: 1.6;
|
|
104
108
|
}
|
|
105
109
|
.note {
|
|
106
110
|
margin-top: 2rem;
|
|
107
|
-
padding:
|
|
108
|
-
background: #
|
|
111
|
+
padding: 0.875rem 1.25rem;
|
|
112
|
+
background: #f9fafb;
|
|
109
113
|
border-radius: 0.5rem;
|
|
110
114
|
font-size: 0.875rem;
|
|
111
115
|
color: #4b5563;
|
|
@@ -114,7 +118,7 @@ function successHtml() {
|
|
|
114
118
|
</head>
|
|
115
119
|
<body>
|
|
116
120
|
<div class="container">
|
|
117
|
-
<div class="success-icon"
|
|
121
|
+
<div class="success-icon"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></div>
|
|
118
122
|
<h1>Giriş Başarılı!</h1>
|
|
119
123
|
<p>Yetkilendirme işlemi tamamlandı.</p>
|
|
120
124
|
<p>Artık bu pencereyi kapatabilirsiniz.</p>
|
|
@@ -146,43 +150,46 @@ function errorHtml(error, description) {
|
|
|
146
150
|
align-items: center;
|
|
147
151
|
min-height: 100vh;
|
|
148
152
|
margin: 0;
|
|
149
|
-
background:
|
|
153
|
+
background: #fff;
|
|
150
154
|
}
|
|
151
155
|
.container {
|
|
152
|
-
background:
|
|
156
|
+
background: #fff;
|
|
153
157
|
padding: 3rem;
|
|
154
158
|
border-radius: 1rem;
|
|
155
|
-
|
|
159
|
+
border: 1px solid #e5e7eb;
|
|
156
160
|
text-align: center;
|
|
157
161
|
max-width: 400px;
|
|
158
162
|
}
|
|
159
163
|
.error-icon {
|
|
160
|
-
width:
|
|
161
|
-
height:
|
|
164
|
+
width: 64px;
|
|
165
|
+
height: 64px;
|
|
162
166
|
margin: 0 auto 1.5rem;
|
|
163
167
|
background: #ef4444;
|
|
164
168
|
border-radius: 50%;
|
|
165
169
|
display: flex;
|
|
166
170
|
align-items: center;
|
|
167
171
|
justify-content: center;
|
|
168
|
-
|
|
169
|
-
|
|
172
|
+
}
|
|
173
|
+
.error-icon svg {
|
|
174
|
+
width: 32px;
|
|
175
|
+
height: 32px;
|
|
170
176
|
}
|
|
171
177
|
h1 {
|
|
172
178
|
color: #1f2937;
|
|
173
|
-
margin: 0 0
|
|
174
|
-
font-size: 1.
|
|
179
|
+
margin: 0 0 0.75rem;
|
|
180
|
+
font-size: 1.5rem;
|
|
181
|
+
font-weight: 600;
|
|
175
182
|
}
|
|
176
183
|
p {
|
|
177
184
|
color: #6b7280;
|
|
178
185
|
margin: 0.5rem 0;
|
|
179
|
-
font-size:
|
|
180
|
-
line-height: 1.
|
|
186
|
+
font-size: 0.938rem;
|
|
187
|
+
line-height: 1.6;
|
|
181
188
|
}
|
|
182
189
|
.error-code {
|
|
183
190
|
margin-top: 1.5rem;
|
|
184
|
-
padding:
|
|
185
|
-
background: #
|
|
191
|
+
padding: 0.875rem 1.25rem;
|
|
192
|
+
background: #fef2f2;
|
|
186
193
|
border-radius: 0.5rem;
|
|
187
194
|
font-size: 0.875rem;
|
|
188
195
|
color: #991b1b;
|
|
@@ -192,7 +199,7 @@ function errorHtml(error, description) {
|
|
|
192
199
|
</head>
|
|
193
200
|
<body>
|
|
194
201
|
<div class="container">
|
|
195
|
-
<div class="error-icon"
|
|
202
|
+
<div class="error-icon"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
|
|
196
203
|
<h1>Yetkilendirme Hatası</h1>
|
|
197
204
|
<p>${description || 'Bir hata oluştu'}</p>
|
|
198
205
|
<div class="error-code">
|