snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
This commit is contained in:
62
internal/scripts/lint.ts
Normal file
62
internal/scripts/lint.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import { execSync } from 'child_process'
|
||||
import * as path from 'path'
|
||||
import { exec } from './lib/exec'
|
||||
import { REPO_ROOT } from './lib/file'
|
||||
|
||||
const OXFMT_EXTENSIONS = 'js,jsx,ts,tsx,cjs,mjs,css,md,mdx,html,yml,yaml'
|
||||
const CONTEXT_COMPAT_FILE_PATTERN = /^(apps|packages|templates)\/.+\/(?:CLAUDE|AGENTS)\.md$/i
|
||||
|
||||
async function main() {
|
||||
const shouldFix = process.argv.includes('--fix')
|
||||
const currentOnly = process.argv.includes('--current')
|
||||
|
||||
let target: string
|
||||
let fmtGlob: string
|
||||
if (currentOnly) {
|
||||
const changedFiles = execSync('git diff --name-only --diff-filter d', {
|
||||
cwd: REPO_ROOT,
|
||||
encoding: 'utf-8',
|
||||
})
|
||||
.trim()
|
||||
.split('\n')
|
||||
.filter(Boolean)
|
||||
|
||||
const extPattern = new RegExp(`\\.(${OXFMT_EXTENSIONS.replace(/,/g, '|')})$`)
|
||||
const matchingFiles = changedFiles.filter((f) => extPattern.test(f))
|
||||
if (matchingFiles.length === 0) {
|
||||
console.log('No files to lint.')
|
||||
return
|
||||
}
|
||||
// Force one TypeScript file through oxlint so repo-level markdown checks
|
||||
// still run when current-only changes only touch CLAUDE.md / AGENTS.md.
|
||||
if (
|
||||
matchingFiles.some((file) => CONTEXT_COMPAT_FILE_PATTERN.test(file)) &&
|
||||
!matchingFiles.includes('internal/scripts/lint.ts')
|
||||
) {
|
||||
matchingFiles.push('internal/scripts/lint.ts')
|
||||
}
|
||||
target = matchingFiles.join(' ')
|
||||
fmtGlob = target
|
||||
} else {
|
||||
const relativeCwd = path.relative(REPO_ROOT, process.cwd())
|
||||
target = relativeCwd || '.'
|
||||
fmtGlob = relativeCwd
|
||||
? `${relativeCwd}/**/*.{${OXFMT_EXTENSIONS}}`
|
||||
: `**/*.{${OXFMT_EXTENSIONS}}`
|
||||
}
|
||||
|
||||
try {
|
||||
await exec(
|
||||
'yarn',
|
||||
['oxfmt', shouldFix ? '--write' : '--check', '--no-error-on-unmatched-pattern', fmtGlob],
|
||||
{ pwd: REPO_ROOT }
|
||||
)
|
||||
if (!shouldFix) {
|
||||
await exec('yarn', ['oxlint', ...target.split(' ')], { pwd: REPO_ROOT })
|
||||
}
|
||||
} catch {
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
Reference in New Issue
Block a user