jsql-neo 6.5.0-beta.3 → 6.5.0-beta.5
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 +1 -1
- package/bin/jsql +2 -1
- package/index.js +1 -1
- package/lib/star-nag.js +15 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> **One engine to rule them all** — a Rust-powered embedded database that speaks your language:
|
|
4
4
|
> MySQL, PostgreSQL, MongoDB, Redis, SQL, TypeScript, **and the browser**.
|
|
5
5
|
|
|
6
|
-
> **v6.5.0-beta.
|
|
6
|
+
> **v6.5.0-beta.5** — pre-release build · [github.com/vexify-org/JSQL-neo](https://github.com/vexify-org/JSQL-neo) · [jsql.vexify.top](https://jsql.vexify.top)
|
|
7
7
|
|
|
8
8
|

|
|
9
9
|

|
package/bin/jsql
CHANGED
|
@@ -8,7 +8,8 @@ const migrate = require('../lib/migrate');
|
|
|
8
8
|
const { nag, setStarred, readConfig } = require('../lib/star-nag');
|
|
9
9
|
|
|
10
10
|
// star 提示:任何异常都不该挡住命令本身
|
|
11
|
-
|
|
11
|
+
// version 只回版本号、star 本身就是干这件事的 —— 这两个不提示,其余全部提示
|
|
12
|
+
if (!process.env.JSQL_NO_STAR_NAG && !['version','star'].includes(process.argv[2])) {
|
|
12
13
|
try { nag(); } catch (e) { /* 提示失败与命令无关 */ }
|
|
13
14
|
}
|
|
14
15
|
|
package/index.js
CHANGED
package/lib/star-nag.js
CHANGED
|
@@ -161,36 +161,37 @@ function checkStarred() {
|
|
|
161
161
|
* @param {boolean} [opts.force] 忽略节流,强制提示一次
|
|
162
162
|
* @returns {boolean} 是否真的打印了
|
|
163
163
|
*/
|
|
164
|
+
/**
|
|
165
|
+
* 在 stdout 上印一行 star 提示。
|
|
166
|
+
*
|
|
167
|
+
* 规则(用户明确要求):
|
|
168
|
+
* 1. **不强制** —— 只印文字,绝不自动弹浏览器。要确认请用户自己跑 `jsql star`。
|
|
169
|
+
* 2. **除 `version` 外的每个命令都印**,没有 30 天节流这类「只提醒一次」的设计。
|
|
170
|
+
* 3. `~/.jsqlmr` 记录是否 star 过 —— `starred: true` 是唯一的闭嘴开关
|
|
171
|
+
* (另外 `JSQL_NO_STAR_NAG=1` 可临时静音)。
|
|
172
|
+
*
|
|
173
|
+
* @returns {boolean} 是否真的印了
|
|
174
|
+
*/
|
|
164
175
|
function nag(opts = {}) {
|
|
165
176
|
const out = opts.out || process.stdout;
|
|
166
177
|
const cfg = readConfig();
|
|
167
178
|
|
|
179
|
+
// 已确认 star 过 → 永久闭嘴。jsqlmr 就是干这个的。
|
|
168
180
|
if (!opts.force && cfg.starred) return false;
|
|
169
181
|
|
|
170
|
-
|
|
171
|
-
if (!opts.force && last && Date.now() - last < NAG_INTERVAL_DAYS * 86400000) {
|
|
172
|
-
// 顺便有机会补记 star 状态(不打印)
|
|
173
|
-
const s = checkStarred();
|
|
174
|
-
if (s) { cfg.starred = true; writeConfig(cfg); }
|
|
175
|
-
return false;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// 有 token 就先查,省得对已经 star 的人重复啰嗦
|
|
182
|
+
// 有凭据就先查一下,省得对已经 star 的人反复啰嗦(查不到就当没查,照印)
|
|
179
183
|
const starred = checkStarred();
|
|
180
184
|
if (starred) {
|
|
181
185
|
cfg.starred = true;
|
|
182
186
|
cfg.starredAt = Date.now();
|
|
183
187
|
writeConfig(cfg);
|
|
184
|
-
return false;
|
|
188
|
+
return false;
|
|
185
189
|
}
|
|
186
190
|
|
|
187
191
|
out.write(`\n If JSQL-NEO saved you time, a star helps others find it: ${URL}\n`);
|
|
188
192
|
out.write(` Run \`jsql star\` to confirm and stop seeing this (or set JSQL_NO_STAR_NAG=1 to hide)\n\n`);
|
|
189
|
-
startOauthCheck();
|
|
190
|
-
|
|
191
|
-
cfg.lastNagAt = Date.now();
|
|
192
|
-
writeConfig(cfg);
|
|
193
193
|
|
|
194
|
+
// 只记录「有没有 star」,不再写 lastNagAt —— 没有节流,写它没有意义。
|
|
194
195
|
return true;
|
|
195
196
|
}
|
|
196
197
|
|
package/package.json
CHANGED