content-grade 1.0.21 → 1.0.22
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/bin/content-grade.js +20 -2
- package/package.json +1 -1
package/bin/content-grade.js
CHANGED
|
@@ -169,6 +169,22 @@ function showFreeTierCTA(count) {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
+
// Single-line usage counter appended after every command run.
|
|
173
|
+
// count = total runs used today (after this run).
|
|
174
|
+
function showUsageFooter(count) {
|
|
175
|
+
if (isProUser()) return;
|
|
176
|
+
const limit = TIER_LIMITS.free;
|
|
177
|
+
const remaining = Math.max(0, limit - count);
|
|
178
|
+
blank();
|
|
179
|
+
if (remaining === 0) {
|
|
180
|
+
console.log(` ${RD}[ ${count}/${limit} free runs used today · limit reached — upgrade for unlimited: ${UPGRADE_LINKS.free} ]${R}`);
|
|
181
|
+
} else if (remaining === 1) {
|
|
182
|
+
console.log(` ${YL}[ ${count}/${limit} free runs used today · 1 remaining — upgrade for unlimited: ${UPGRADE_LINKS.free} ]${R}`);
|
|
183
|
+
} else {
|
|
184
|
+
console.log(` ${D}[ ${count}/${limit} free runs used today — upgrade for unlimited: ${UPGRADE_LINKS.free} ]${R}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
172
188
|
// Block a run before it starts if the free tier is exhausted.
|
|
173
189
|
// Returns true (blocked) and prints a visually distinct upgrade prompt.
|
|
174
190
|
// Returns false if the user may proceed.
|
|
@@ -630,7 +646,7 @@ async function cmdAnalyze(filePath) {
|
|
|
630
646
|
hr();
|
|
631
647
|
console.log(` ${D}Pro active · Next: ${CY}content-grade batch ./posts/${R}${D} to analyze a whole directory${R}`);
|
|
632
648
|
} else {
|
|
633
|
-
|
|
649
|
+
showUsageFooter(usageCount);
|
|
634
650
|
}
|
|
635
651
|
|
|
636
652
|
// CI exit code — shown after full output so user sees the score before exit
|
|
@@ -791,7 +807,7 @@ async function cmdHeadline(text) {
|
|
|
791
807
|
blank();
|
|
792
808
|
if (!isProUser()) {
|
|
793
809
|
const usageCount = incrementUsage();
|
|
794
|
-
|
|
810
|
+
showUsageFooter(usageCount);
|
|
795
811
|
}
|
|
796
812
|
}
|
|
797
813
|
|
|
@@ -1169,6 +1185,8 @@ async function cmdBatch(dirPath) {
|
|
|
1169
1185
|
blank();
|
|
1170
1186
|
|
|
1171
1187
|
if (_jsonMode) process.stdout.write(JSON.stringify(results, null, 2) + '\n');
|
|
1188
|
+
|
|
1189
|
+
if (!isProUser() && results.length) showUsageFooter(getUsage().count);
|
|
1172
1190
|
}
|
|
1173
1191
|
|
|
1174
1192
|
// ── Start command ─────────────────────────────────────────────────────────────
|
package/package.json
CHANGED