Bring Tailwind CSS to every platform! 把 Tailwind CSS 的原子化开发体验带到全端!
This report summarizes scanner evidence for sonofmagic/weapp-tailwindcss, a TypeScript project with 1,864 GitHub stars. SynthScan examined 1,275,608 lines of code across 7415 source files, recording 2422 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 2.1 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 2366 finding(s).
Are imports declared and package/API names verified? 53 finding(s).
Are wrappers, guards, and repeated structures necessary? 2263 finding(s).
Which changes need focused human review? 2422 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2422 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vitest.config.ts | 41 | function loadProjectRootsFromWorkspace(): string[] { | CODE |
| LOW | …ailwindcss-plugin-compare/src/report-web-comparison.ts | 128 | export function renderWebTargetComparison(report: BenchmarkReport, caseName: CaseNameFormatter) { | CODE |
| LOW | …ark/runtime-cn-vs-merge/src/weapp-comparison-report.ts | 4 | export function renderWeappComparisonReport(parity: ParityFile, bundle: BundleFile) { | CODE |
| LOW | …rk/runtime-cn-vs-merge/src/weapp-performance-report.ts | 15 | export function renderWeappPerformanceReport( | CODE |
| LOW | demo/uni-app-x-plugin.ts | 10 | export function resolveHBuilderXCompilerRoot(env: Environment, pathApi: PathApi = path) { | CODE |
| LOW | demo/taro-webpack-vue3-tailwindcss-v4/config/index.ts | 38 | function disableWebpackDevServerClientOverlay(chain: any) { | CODE |
| LOW | demo/web/shared/vite-target.ts | 8 | export function resolveWebDemoGeneratorTarget(): WebDemoGeneratorTarget { | CODE |
| LOW | demo/web/shared/vite-target.ts | 13 | export function createWebDemoWeappTailwindcssPlugins(projectRoot: string): PluginOption[] { | CODE |
| LOW | …/uni-app-vite-tailwindcss-v4/src/pages/index/index.vue | 302 | function removeExistingSpecialClassProbe() { | CODE |
| LOW | …/uni-app-vite-tailwindcss-v4/src/pages/index/index.vue | 307 | function createSpecialClassProbeStyle(documentRef: Document) { | CODE |
| LOW | …/uni-app-vite-tailwindcss-v4/src/pages/index/index.vue | 324 | function createSpecialClassProbeElement(documentRef: Document, className: string, text: string) { | CODE |
| LOW | demo/__tests__/tailwind-path-directives.test.ts | 120 | function getPositiveSourceSpecifiers(source: string) { | CODE |
| LOW | demo/__tests__/tailwind-path-directives.test.ts | 134 | function isAllowedSubpackageSourceSpecifier(relativePath: string, specifier: string) { | CODE |
| LOW | demo/__tests__/tailwind-path-directives.test.ts | 150 | function getDemoProjectFromDemoRelativePath(relativePath: string) { | CODE |
| LOW | demo/__tests__/tailwind-path-directives.test.ts | 175 | function getSubpackageConfigCandidates(root: typeof subpackageRoots[number]) { | CODE |
| LOW | demo/__tests__/tailwind-path-directives.test.ts | 185 | function projectDeclaresSubpackage(source: string, root: typeof subpackageRoots[number]) { | CODE |
| LOW | demo/__tests__/wxss-output.test.ts | 498 | function resolveRecursiveAppWxssArtifacts(): string[] { | CODE |
| LOW | demo/__tests__/wxss-output.test.ts | 545 | function countDuplicateSelectorRules(input: string, selectors: string[]) { | CODE |
| LOW | demo/taro-webpack-react-tailwindcss-v4/config/index.ts | 45 | function disableWebpackDevServerClientOverlay(chain: any) { | CODE |
| LOW | …weapp-tailwindcss-scripts/src/dts-module-specifiers.ts | 10 | function declarationRuntimeExtension(filepath: string) { | CODE |
| LOW | …weapp-tailwindcss-scripts/src/dts-module-specifiers.ts | 108 | export function rewriteDeclarationModuleSpecifiers( | CODE |
| LOW | …dcss-scripts/src/watch-hmr-regression/memory-report.ts | 125 | export function summarizeMemoryDebugSamples(samples: HmrMemoryDebugSample[]): HmrMemoryDebugSummary { | CODE |
| LOW | …dcss-scripts/src/watch-hmr-regression/memory-report.ts | 246 | function createProjectMemoryReport(item: WatchCaseMetrics): HmrMemoryProjectReport { | CODE |
| LOW | …dcss-scripts/src/watch-hmr-regression/compile-state.ts | 7 | export function createPollingCompileTracker() { | CODE |
| LOW | …lwindcss-scripts/src/watch-hmr-regression/artifacts.ts | 43 | export async function collectWatchArtifactFiles(watchCase: WatchCase) { | CODE |
| LOW | …lwindcss-scripts/src/watch-hmr-regression/artifacts.ts | 106 | export async function collectWatchArtifactSnapshot( | CODE |
| LOW | …lwindcss-scripts/src/watch-hmr-regression/artifacts.ts | 163 | export function diffWatchArtifactSnapshots( | CODE |
| LOW | …lwindcss-scripts/src/watch-hmr-regression/artifacts.ts | 262 | export function countSubPackageMutationHmr(metrics: SubPackageMutationMetrics | undefined) { | CODE |
| LOW | …windcss-scripts/src/watch-hmr-regression/style-only.ts | 24 | function toStyleOnlyWatchCaseMetrics( | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 158 | export async function writeWatchedFilePreserveEol(file: string, content: string, source: string) { | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 300 | export function mutateScriptByDataAnchorWithCommentCarrier( | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 315 | export function mutateTsxScriptByReturnAnchor(source: string, payload: ClassMutationPayload, returnAnchor = ' return (' | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 340 | export function mutateTsxScriptByReturnAnchorWithCommentCarrier( | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 369 | export function mutateVueScriptSetupArrayByAnchor( | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 384 | export function mutateVueScriptSetupObjectKeyByAnchor( | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 405 | export function insertIntoVueTemplateRoot(source: string, snippet: string) { | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 423 | export function mutateVueScriptSetupArrayByAnchorWithCommentCarrier( | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 451 | export function mutateVueScriptSetupObjectKeyByAnchorWithCommentCarrier( | CODE |
| LOW | …p-tailwindcss-scripts/src/watch-hmr-regression/text.ts | 479 | export function mutateVueRefStringLiteral( | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/summary.ts | 92 | export function summarizeMetricsByProject(cases: WatchCaseMetrics[]) { | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/summary.ts | 109 | export function summarizeMutationMetricsByKind(mutations: WatchCaseMutationMetrics[]) { | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/summary.ts | 143 | export function summarizeMutationKindAcrossCases(cases: WatchCaseMetrics[]) { | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/summary.ts | 152 | export function resolveRepositoryRootLabel(baseCwd: string) { | CODE |
| LOW | …s-scripts/src/watch-hmr-regression/output-integrity.ts | 43 | export function createOutputIntegrityMonitor(guards: OutputIntegrityGuard[] | undefined) { | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/session.ts | 42 | function isSassDeprecationNoiseLine(line: string) { | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/session.ts | 114 | function stripAnsiControlSequences(line: string) { | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/session.ts | 231 | function listDescendantPidsOnPosix(rootPid: number) { | CODE |
| LOW | …ailwindcss-scripts/src/watch-hmr-regression/session.ts | 407 | export async function createWatchCommandSession( | CODE |
| LOW | …s-scripts/src/watch-hmr-regression/process-identity.ts | 47 | export async function prepareWatchIdentitySource(prepare = prepareWorkflowProcessObserver): Promise<WatchIdentitySource | CODE |
| LOW | …scripts/src/watch-hmr-regression/process-controller.ts | 37 | export function createWatchProcessController(child: ChildProcess, options: ControllerOptions = {}) { | CODE |
| LOW | …scripts/src/watch-hmr-regression/web-compile-settle.ts | 36 | export function resolveWebCompileSettleTimeoutMs(timeoutMs: number, configuredTimeoutMs?: number) { | CODE |
| LOW | …scripts/src/watch-hmr-regression/web-compile-settle.ts | 46 | export function resolveReloadAcceptAttemptTimeout(timeoutMs: number, pollMs: number) { | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 95 | async function runSubPackageMutationInNewSession( | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 635 | function normalizeMainStyleSubPackageLimit(limit: number | undefined, total: number) { | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 642 | function createMainStyleOnlyMetrics(params: { | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 823 | export function assertPluginProcessBudget(metrics: WatchCaseMetrics, options: CliOptions) { | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 909 | function collectClassMutationBudgetSamples( | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 939 | function collectClassMutationPluginProcessBudgetSamples( | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 993 | function collectStyleMutationPluginProcessBudgetSamples( | CODE |
| LOW | …tailwindcss-scripts/src/watch-hmr-regression/runner.ts | 1008 | function collectPluginProcessBudgetSamples(metrics: WatchCaseMetrics): PluginProcessBudgetSample[] { | CODE |
| 2200 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …ndlers/webpack-style-injector-integration.unit.test.ts | 101 | const updateSource = harness.compilation.updateAsset.mock.calls.at(-1)?.[1] as () => FakeConcatSource | CODE |
| CRITICAL | …lwindcss/test/bundlers/vite-css-watch-deletion.test.ts | 113 | expect(fixture.options.emitOrReplayCssAsset.mock.calls.flat().join('')).not.toContain('.retired-rule') | CODE |
| CRITICAL | …dcss/test/bundlers/webpack-operation-lifecycle.test.ts | 148 | fixture.compiler.webpack.NormalModule.getCompilationHooks.mockImplementation(() => { | CODE |
| CRITICAL⚡ | …indcss/test/bundlers/vite-hot-css-modules.unit.test.ts | 99 | expect(ctx.server.moduleGraph.getModuleById.mock.calls.flat()).toEqual(expect.arrayContaining([ | CODE |
| CRITICAL⚡ | …indcss/test/bundlers/vite-hot-css-modules.unit.test.ts | 103 | expect(ctx.server.moduleGraph.getModuleById.mock.calls.flat().every((id: unknown) => typeof id === 'string' && id.le | CODE |
| CRITICAL⚡ | …indcss/test/bundlers/vite-hot-css-modules.unit.test.ts | 104 | expect(ctx.server.moduleGraph.getModulesByFile.mock.calls.flat().every((id: unknown) => typeof id === 'string' && id | CODE |
| CRITICAL | …test/bundlers/webpack.v5.unit/web-css-rewrite.cases.ts | 109 | const onUpdateCalls = testState.currentContext.onUpdate.mock.calls.filter(([file]) => file === 'chunk.js') | CODE |
| CRITICAL | …test/bundlers/webpack.v5.unit/web-css-rewrite.cases.ts | 111 | expect(testState.currentContext.onUpdate.mock.calls.some(([file]) => file === 'same.js')).toBe(false) | CODE |
| CRITICAL | …dlers/webpack.v5.unit/v5-assets.hook-branches.cases.ts | 213 | const linkedUpdate = harness.compilation.updateAsset.mock.calls.find(([file]) => file === 'linked.js') | CODE |
| CRITICAL | …dlers/webpack.v5.unit/v5-assets.hook-branches.cases.ts | 252 | expect(harness.compilation.updateAsset.mock.calls.some(([file]) => file === 'linked.js')).toBe(false) | CODE |
| CRITICAL | …dlers/webpack.v5.unit/v5-assets.hook-branches.cases.ts | 290 | const linkedUpdate = harness.compilation.updateAsset.mock.calls.find(([file, source]) => | CODE |
| CRITICAL | …/test/bundlers/webpack.v5.unit/source-css-hot.cases.ts | 140 | expect(testState.currentContext.styleHandler.mock.calls.at(-1)?.[1]?.sourceOptions?.sourceCss).toContain('@apply f | CODE |
| CRITICAL | …/test/bundlers/webpack.v5.unit/source-css-hot.cases.ts | 284 | expect(testState.currentContext.styleHandler.mock.calls.at(-1)?.[1]?.sourceOptions?.sourceCss).toBe(rollbackSource | CODE |
| CRITICAL | e2e/lynx-failure-evidence.test.ts | 67 | expect(current.read.artifact.mock.calls.map(([name]) => name).sort()).toEqual([...mediaGateArtifactNames(), ...themeOv | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pnpm-workspace.yaml | 118 | # devframe 与 agentic 使用双向精确 peer,各工具链保留自己的配套版本。 | COMMENT |
| MEDIUM⚡ | website/docs/ai/basics/rag.md | 22 | # RAG(检索增强生成) | COMMENT |
| MEDIUM⚡ | website/docs/ai/basics/rag.md | 32 | ## RAG 的核心概念 | COMMENT |
| MEDIUM⚡ | website/docs/ai/basics/rag.md | 34 | ### 1. 为什么需要 RAG | COMMENT |
| MEDIUM | website/docs/ai/basics/rag.md | 50 | ### 2. RAG vs Fine-tuning | COMMENT |
| MEDIUM | website/docs/ai/basics/rag.md | 64 | ## RAG 的工作原理 | COMMENT |
| MEDIUM | website/docs/ai/basics/rag.md | 147 | ## RAG 的实现方式 | COMMENT |
| MEDIUM | website/docs/ai/basics/rag.md | 149 | ### 1. Naive RAG(基础 RAG) | COMMENT |
| MEDIUM | website/docs/ai/basics/rag.md | 176 | ### 2. Advanced RAG(高级 RAG) | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 208 | ### 3. Modular RAG(模块化 RAG) | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 230 | ## RAG 的优化技术 | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 339 | #### 自我修正 (Self-RAG) | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 348 | ## RAG 的应用场景 | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 400 | ## RAG 的评估指标 | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 423 | # RAG 评估框架示例 | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 439 | ## RAG 的常见问题 | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 479 | ## RAG 开源框架 | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 488 | # 创建 RAG 链 | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 516 | # 创建 RAG Pipeline | STRING |
| MEDIUM | website/docs/ai/basics/rag.md | 531 | ## RAG 实现清单 | STRING |
| MEDIUM | website/docs/ai/basics/context-window.md | 195 | ### 4. 向量检索 (RAG) | COMMENT |
| MEDIUM⚡ | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 22 | # RAG (retrieval enhancement generation) | COMMENT |
| MEDIUM⚡ | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 32 | ## Core concepts of RAG | COMMENT |
| MEDIUM⚡ | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 34 | ### 1. Why RAG is needed | COMMENT |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 50 | ### 2. RAG vs Fine-tuning | COMMENT |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 64 | ## How RAG works | COMMENT |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 147 | ## Implementation of RAG | COMMENT |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 149 | ### 1. Naive RAG (Basic RAG) | COMMENT |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 176 | ### 2. Advanced RAG | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 208 | ### 3. Modular RAG | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 230 | ## RAG’s optimization technology | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 339 | ####Self-RAG | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 348 | ## Application scenarios of RAG | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 400 | ## Evaluation indicators of RAG | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 423 | #RAG Assessment Framework Example | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 439 | ## FAQ for RAG | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 485 | ## RAG open source framework | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 494 | #Create RAG chain | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 522 | #Create RAG Pipeline | STRING |
| MEDIUM | …ocusaurus-plugin-content-docs/current/ai/basics/rag.md | 537 | ## RAG implementation list | STRING |
| MEDIUM | …lugin-content-docs/current/ai/basics/context-window.md | 36 | ### 1. Composition of context window | COMMENT |
| MEDIUM | …lugin-content-docs/current/ai/basics/context-window.md | 104 | ## Evolution of context window | COMMENT |
| MEDIUM | …lugin-content-docs/current/ai/basics/context-window.md | 125 | ## The role of the context window | COMMENT |
| MEDIUM | …lugin-content-docs/current/ai/basics/context-window.md | 196 | ### 4. Vector retrieval (RAG) | COMMENT |
| MEDIUM | …lugin-content-docs/current/ai/basics/context-window.md | 281 | ## Limitations of the context window | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/app/src/vite-env.d.ts | 1 | /// <reference types="vite/client" /> | COMMENT |
| LOW | demo/taro-webpack-vue3-tailwindcss-v4/config/prod.ts | 21 | // chain.plugin('analyzer') | COMMENT |
| LOW | …ssue-951-taro-vite-react-tailwindcss-v4/config/prod.ts | 21 | // */ | COMMENT |
| LOW | demo/taro-vite-vue3-tailwindcss-v4/config/prod.ts | 21 | // */ | COMMENT |
| LOW | demo/taro-vite-react-tailwindcss-v4/config/prod.ts | 21 | // */ | COMMENT |
| LOW | demo/gulp-tailwindcss-v4/postcss.config.js | 21 | // rootValue: 32, | COMMENT |
| LOW | demo/taro-webpack-react-tailwindcss-v4/config/prod.ts | 21 | // chain.plugin('analyzer') | COMMENT |
| LOW | demo/weapp-vite-tailwindcss-v4/vite.config.ts | 81 | }, | COMMENT |
| LOW | demo/mpx-tailwindcss-v4/.eslintrc.js | 1 | module.exports = { | COMMENT |
| LOW | tools/weapp-tailwindcss-scripts/src/js-bench.ts | 1 | /* empty */ | COMMENT |
| LOW | …ols/weapp-tailwindcss-scripts/src/build-weapp-theme.ts | 1 | // https://github.com/tailwindlabs/tailwindcss/discussions/15356 | COMMENT |
| LOW | packages/weapp-tailwindcss/test/options.test.ts | 261 | COMMENT | |
| LOW | packages/weapp-tailwindcss/test/options.test.ts | 341 | const config = getCompilerContext({ | COMMENT |
| LOW | packages/weapp-tailwindcss/test/options.test.ts | 361 | // const o0o = getCompilerContext({ | COMMENT |
| LOW | packages/weapp-tailwindcss/test/options.test.ts | 441 | COMMENT | |
| LOW | …s/weapp-tailwindcss/test/wxml/templeteReplacer.test.ts | 261 | // }) | COMMENT |
| LOW | packages/weapp-tailwindcss/test/vitest/vite.test.ts | 21 | // } | COMMENT |
| LOW | packages/postcss/test/plugins/index.test.ts | 1 | import postcss from 'postcss' | COMMENT |
| LOW | packages/postcss/test/plugins/index.test.ts | 21 | // 1 Root | COMMENT |
| LOW | packages/postcss/src/plugins/pre.ts | 61 | parent = nextParent | COMMENT |
| LOW | packages/postcss/src/plugins/pre.ts | 81 | // --tw-inset-shadow-color: initial; | COMMENT |
| LOW | .github/ISSUE_TEMPLATE/config.yml | 1 | blank_issues_enabled: false | COMMENT |
| LOW | templates/taro-webpack-tailwindcss-v4/config/prod.ts | 21 | // chain.plugin('analyzer') | COMMENT |
| LOW | templates/taro-vite-tailwindcss-v4/config/prod.ts | 21 | // */ | COMMENT |
| LOW | packages-runtime/theme-transition/test/scss.test.ts | 41 | }) | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 161 | // color: var(--tw-prose-lead); | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 181 | // } | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 241 | expect(result.css).toMatchSnapshot() | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 261 | // .sm\:prose :where(.sm\:prose > ul > li):not(:where([class~='not-prose'], [class~='not-prose'] *)) { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 361 | }, | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 381 | // .prose :where(ol[type='A']):not(:where([class~='not-prose'], [class~='not-prose'] *)) { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 401 | // content: '`'; | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 421 | // .prose-lg :where(.prose-lg > ul > li):not(:where([class~='not-prose'], [class~='not-prose'] *)) { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 501 | // color: var(--tw-prose-lead); | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 521 | // } | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 541 | // .prose-headings\:text-ellipsis h4 { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 621 | // color: var(--tw-prose-bold); | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 721 | // color: var(--tw-prose-lead); | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 741 | // .prose-h3\:text-xl :is(:where(h3):not(:where([class~='not-prose'], [class~='not-prose'] *))) { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 761 | // margin-right: auto; | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 781 | // .prose-ul\:pl-8 :is(:where(ul):not(:where([class~='not-prose'], [class~='not-prose'] *))) { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 801 | // text-align: left; | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 881 | expect(result.css).toMatchSnapshot() | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 901 | // .markdown-h1\:text-3xl :is(:where(h1):not(:where([class~='not-markdown'], [class~='not-markdown'] *))) { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 921 | // .markdown-a\:font-bold :is(:where(a):not(:where([class~='not-markdown'], [class~='not-markdown'] *))) { | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 941 | // font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 961 | // --tw-border-opacity: 1; | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 1041 | }, | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 1141 | const result = await run(config) | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 1181 | // expect(result.css).include(css` | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 1221 | // color: red; | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 1261 | // } | COMMENT |
| LOW | packages-runtime/typography/test/index.test.ts | 1281 | // color: var(--tw-prose-body); | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | website/tests/english-content.spec.ts | 22 | const attributes = ['alt', 'aria-label', 'placeholder', 'title'] | CODE |
| LOW | website/docs/ai/basics/power.md | 358 | "email": "user@example.com", | CODE |
| LOW | …usaurus-plugin-content-docs/current/ai/basics/power.md | 360 | "email": "user@example.com", | CODE |
| LOW | .agents/skills/playwright-cli/SKILL.md | 38 | playwright-cli fill e5 "user@example.com" | CODE |
| LOW | .agents/skills/playwright-cli/SKILL.md | 233 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …ts/skills/playwright-cli/references/test-generation.md | 21 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …ts/skills/playwright-cli/references/test-generation.md | 23 | # await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | COMMENT |
| LOW | …ts/skills/playwright-cli/references/test-generation.md | 44 | await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com') | CODE |
| LOW | …gents/skills/playwright-cli/references/running-code.md | 214 | await page.fill('input[name=email]', 'user@example.com'); | CODE |
| LOW⚡ | …ents/skills/playwright-cli/references/storage-state.md | 238 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …skills/playwright-cli/references/session-management.md | 17 | playwright-cli -s=auth fill e1 "user@example.com" | CODE |
| LOW | .claude/skills/playwright-cli/SKILL.md | 38 | playwright-cli fill e5 "user@example.com" | CODE |
| LOW | .claude/skills/playwright-cli/SKILL.md | 233 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 21 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 23 | # await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | COMMENT |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 44 | await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com') | CODE |
| LOW | …laude/skills/playwright-cli/references/running-code.md | 214 | await page.fill('input[name=email]', 'user@example.com'); | CODE |
| LOW⚡ | …aude/skills/playwright-cli/references/storage-state.md | 238 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …skills/playwright-cli/references/session-management.md | 17 | playwright-cli -s=auth fill e1 "user@example.com" | CODE |
| LOW | .codex/skills/playwright-cli/SKILL.md | 50 | playwright-cli fill e5 "user@example.com" | CODE |
| LOW | .codex/skills/playwright-cli/SKILL.md | 245 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …ex/skills/playwright-cli/references/test-generation.md | 21 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …ex/skills/playwright-cli/references/test-generation.md | 23 | # await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | COMMENT |
| LOW | …ex/skills/playwright-cli/references/test-generation.md | 44 | await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com') | CODE |
| LOW | .codex/skills/playwright-cli/references/running-code.md | 214 | await page.fill('input[name=email]', 'user@example.com'); | CODE |
| LOW⚡ | …odex/skills/playwright-cli/references/storage-state.md | 238 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …skills/playwright-cli/references/session-management.md | 17 | playwright-cli -s=auth fill e1 "user@example.com" | CODE |
| LOW | …tailwindcss/test/v5/web-compat-computed-parity.test.ts | 381 | <input id="input" class="placeholder:text-brand/60 disabled:opacity-40" placeholder="placeholder" disabled> | CODE |
| LOW⚡ | e2e/tailwind-inventory-registry-web.test.ts | 32 | expect(profile('placeholder').kind).toBe('input') | CODE |
| LOW⚡ | e2e/tailwind-inventory-registry-web.test.ts | 33 | expect(profile('placeholder').html).toContain('placeholder="Tailwind placeholder"') | CODE |
| LOW⚡ | e2e/tailwind-inventory-registry-web.test.ts | 34 | expect(profile('placeholder').html).not.toContain('value=') | CODE |
| LOW⚡ | e2e/tailwind-inventory-registry-web.test.ts | 35 | expect(profile('placeholder').css).toContain('::placeholder') | CODE |
| LOW | e2e/tailwind-capabilities/web/variants/pseudo.ts | 18 | colorPseudo('placeholder', 'placeholder', '<input id="probe" class="probe CANDIDATE" placeholder="visible placeholder" | CODE |
| LOW | e2e/tailwind-capabilities/registry-web/profiles.ts | 54 | if (entry.root === 'placeholder') { | CODE |
| LOW | e2e/tailwind-capabilities/registry-web/profiles.ts | 110 | const pseudo = entry.root === 'placeholder' ? '::placeholder' : properties.includes('content') ? '::before' : undefine | CODE |
| LOW | e2e/tailwind-capabilities/registry-web/profiles.ts | 126 | ? `<input ${attrs} ${entry.root === 'placeholder' ? 'placeholder="Tailwind placeholder"' : 'value="Tailw | CODE |
| LOW | packages-runtime/merge/src/slim-config.ts | 946 | orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'firs | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ents/skills/playwright-cli/references/storage-state.md | 235 | # Step 1: Login and save state | COMMENT |
| LOW⚡ | …ents/skills/playwright-cli/references/storage-state.md | 245 | # Step 2: Later, restore state and skip login | COMMENT |
| LOW⚡ | …aude/skills/playwright-cli/references/storage-state.md | 235 | # Step 1: Login and save state | COMMENT |
| LOW⚡ | …aude/skills/playwright-cli/references/storage-state.md | 245 | # Step 2: Later, restore state and skip login | COMMENT |
| LOW⚡ | …odex/skills/playwright-cli/references/storage-state.md | 235 | # Step 1: Login and save state | COMMENT |
| LOW⚡ | …odex/skills/playwright-cli/references/storage-state.md | 245 | # Step 2: Later, restore state and skip login | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/current/ai/qoder-vs-glm47-cursor-claude-comparison.md | 1279 | ### 10.5 Abilities required to debug AI-generated code | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/scan-wechat-qrcode.py | 145 | except Exception as error: # pragma: no cover | CODE |
| LOW | scripts/scan-wechat-qrcode.py | 183 | except Exception as error: | CODE |
| LOW | scripts/scan-wechat-qrcode.py | 195 | except Exception as error: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/scan-wechat-qrcode.py | 4 | CODE | |
| LOW | talk/2026-04-02-live/rebuild_deck.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | talk/2026-04-02-live/rebuild_deck.py | 432 | CODE |