Prepare CLI 3.0.0, skill 3.6.0, extension 1.2.0

This commit is contained in:
Paul Bakaus
2026-06-14 21:51:14 +09:00
parent 50f68ffffc
commit 9b0b63c04f
50 changed files with 2591 additions and 119 deletions
+15 -3
View File
@@ -23,6 +23,18 @@ function stripHtmlToText(html) {
.replace(/\s+/g, ' ');
}
const PAGE_ANALYZER_EXTS = new Set(['.html', '.htm', '.astro', '.vue', '.svelte']);
function extFromFilePath(filePath) {
return filePath ? (filePath.match(/\.\w+$/)?.[0] || '').toLowerCase() : '';
}
function shouldRunPageAnalyzers(content, filePath) {
if (!isFullPage(content)) return false;
const ext = extFromFilePath(filePath);
return !ext || PAGE_ANALYZER_EXTS.has(ext);
}
function isNeutralBorderColor(str) {
const m = str.match(/solid\s+(#[0-9a-f]{3,8}|rgba?\([^)]+\)|\w+)/i);
if (!m) return false;
@@ -422,7 +434,7 @@ const TEXT_CONTENT_ANALYZER_IDS = [
function runTextContentAnalyzers(content, filePath, options = {}) {
const profile = options?.profile;
if (!isFullPage(content)) return [];
if (!shouldRunPageAnalyzers(content, filePath)) return [];
// The 4 text-content analyzers are at indices 3-6 in REGEX_ANALYZERS.
const findings = [];
for (let i = 0; i < TEXT_CONTENT_ANALYZER_IDS.length; i++) {
@@ -442,7 +454,7 @@ function detectText(content, filePath, options = {}) {
const profile = options?.profile;
const findings = [];
const lines = content.split('\n');
const ext = filePath ? (filePath.match(/\.\w+$/)?.[0] || '').toLowerCase() : '';
const ext = extFromFilePath(filePath);
// Run regex matchers on the full file content (catches Tailwind classes, inline styles)
// Enable block context for CSS files where related properties span multiple lines
@@ -498,7 +510,7 @@ function detectText(content, filePath, options = {}) {
}
// Page-level analyzers only run on full pages
if (isFullPage(content)) {
if (shouldRunPageAnalyzers(content, filePath)) {
const analyzerIds = [
'single-font',
'flat-type-hierarchy',