Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b4eef27
ci: extend the lint gate beyond src/ so unlinted files cannot land on…
mattmillerai Jul 28, 2026
1c4edfd
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Jul 28, 2026
0abed6f
ci: keep no-floating-promises on for scripts/ and align pre-commit li…
mattmillerai Jul 28, 2026
a7ba811
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 9, 2026
41502cb
ci: use process.exitCode in size-script error handlers, test lint-sta…
mattmillerai Aug 9, 2026
23aa3a8
test: cover oxlint scope and the exact staged-file limit in lint-stag…
mattmillerai Aug 9, 2026
db4b7af
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 12, 2026
3d7dcb1
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 13, 2026
64ed428
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 13, 2026
062f3d0
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 13, 2026
bdf1059
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 14, 2026
52a2134
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 14, 2026
83cb3fe
[automated] Apply ESLint and Oxfmt fixes
actions-user Aug 14, 2026
0b56052
fix: count only root-lintable files against the lint-staged threshold
mattmillerai Aug 14, 2026
64699f8
Merge origin/main into matt/be-4815-lint-scope
mattmillerai Aug 16, 2026
bdcfef1
Merge origin/main into matt/be-4815-lint-scope
mattmillerai Aug 18, 2026
b9652f5
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 18, 2026
fa8a0bb
fix: satisfy consistent-type-imports in tools/oxlint-plugins/comfy.ts
mattmillerai Aug 18, 2026
bb69991
Merge remote-tracking branch 'origin/main' into matt/be-4815-lint-scope
mattmillerai Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,12 @@
"vue/no-import-compiler-macros": "error"
},
"overrides": [
{
"files": ["scripts/**"],
"rules": {
"no-console": "allow"
}
},
{
"files": ["**/*.{stories,test,spec}.ts", "**/*.stories.vue"],
"rules": {
Expand Down
17 changes: 16 additions & 1 deletion eslint.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ export default defineConfig([
'src/types/generatedManagerTypes.ts',
'src/types/vue-shim.d.ts',
'packages/design-system/src/css/lucideStrokePlugin.js',
// Opt-in strict-audit config; its plugins are intentionally not installed
'.agents/checks/eslint.strict.config.js',
'test-results/*',
'vitest.setup.ts'
]
Expand All @@ -102,7 +104,9 @@ export default defineConfig([
projectService: {
allowDefaultProject: [
'vite.electron.config.mts',
'vite.types.config.mts'
'vite.types.config.mts',
'packages/ingest-types/openapi-ts.config.ts',
'packages/object-info-parser/vitest.config.ts'
]
}
}
Expand Down Expand Up @@ -357,6 +361,17 @@ export default defineConfig([
'no-console': 'off'
}
},
// Root-level scripts reach into workspace packages by path: they run from the
// repo root, where the package specifiers those imports would be rewritten to
// (`@comfyorg/desktop-ui/...`, `@comfyorg/shared-frontend-utils/src/...`) do
// not resolve — desktop-ui is not a root dependency and shared-frontend-utils
// exposes no `./src/*` export.
{
files: ['scripts/**/*.ts'],
rules: {
'import-x/no-relative-packages': 'off'
}
},
{
files: ['tools/devtools/web/**/*.js'],
languageOptions: {
Expand Down
5 changes: 4 additions & 1 deletion lint-staged.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,13 @@ function lintCommands(codeFiles: string[], styleFiles: string[]) {
return ['pnpm lint']
}

// apps/* have their own lint configs; the root lint scripts skip them too
const lintableCodeFiles = codeFiles.filter((f) => !f.startsWith('apps/'))
Comment thread
coderabbitai[bot] marked this conversation as resolved.

return [
...commandsWithFiles(styleFiles, 'pnpm exec stylelint --allow-empty-input'),
...commandsWithFiles(
codeFiles,
lintableCodeFiles,
'pnpm exec oxlint --type-aware --no-error-on-unmatched-pattern --fix',
'pnpm exec eslint --cache --fix --no-warn-ignored'
)
Expand Down
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@
"json-schema": "tsx scripts/generate-json-schema.ts",
"knip:no-cache": "knip",
"knip": "knip --cache",
"lint:fix:no-cache": "oxlint src browser_tests --type-aware --fix && eslint src --fix",
"lint:fix": "oxlint src browser_tests --type-aware --fix && eslint src --cache --fix",
"lint:no-cache": "pnpm exec stylelint '{apps,packages,src}/**/*.{css,vue}' && oxlint src browser_tests --type-aware && eslint src",
"lint:unstaged:fix": "git diff --name-only HEAD | grep -E '\\.(js|ts|vue|mts)$' | xargs -r eslint --cache --fix",
"lint:unstaged": "git diff --name-only HEAD | grep -E '\\.(js|ts|vue|mts)$' | xargs -r eslint --cache",
"lint": "pnpm stylelint && oxlint src browser_tests --type-aware && eslint src --cache",
"lint:fix:no-cache": "oxlint . --type-aware --fix --ignore-pattern 'apps/**' && eslint . --fix --ignore-pattern 'apps/**'",
"lint:fix": "oxlint . --type-aware --fix --ignore-pattern 'apps/**' && eslint . --cache --fix --ignore-pattern 'apps/**'",
"lint:no-cache": "pnpm exec stylelint '{apps,packages,src}/**/*.{css,vue}' && oxlint . --type-aware --ignore-pattern 'apps/**' && eslint . --ignore-pattern 'apps/**'",
"lint:unstaged:fix": "git diff --name-only HEAD | grep -E '\\.(js|ts|vue|mts)$' | grep -v '^apps/' | xargs -r eslint --cache --fix",
"lint:unstaged": "git diff --name-only HEAD | grep -E '\\.(js|ts|vue|mts)$' | grep -v '^apps/' | xargs -r eslint --cache",
"lint": "pnpm stylelint && oxlint . --type-aware --ignore-pattern 'apps/**' && eslint . --cache --ignore-pattern 'apps/**'",
"lint:desktop": "pnpm --filter @comfyorg/desktop-ui run lint",
"locale": "lobe-i18n locale",
"oxlint": "oxlint src browser_tests --type-aware",
"oxlint": "oxlint . --type-aware --ignore-pattern 'apps/**'",
"prepare": "pnpm exec husky || true && git config blame.ignoreRevsFile .git-blame-ignore-revs || true",
"preview": "vite preview --config vite.config.mts",
"storybook": "storybook dev -p 6006",
Expand Down
5 changes: 4 additions & 1 deletion scripts/size-collect.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ const sizeDir = path.resolve('temp/size')
* @property {number} brotli
*/

run()
run().catch((err) => {
console.error(pico.red('Error collecting bundle size data:'), err)
process.exit(1)
})
Comment thread
coderabbitai[bot] marked this conversation as resolved.

/**
* Main function to collect bundle size data
Expand Down
5 changes: 4 additions & 1 deletion scripts/size-report.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,10 @@ import { getCategoryMetadata } from './bundle-categories.js'
const currDir = path.resolve('temp/size')
const prevDir = path.resolve('temp/size-prev')

run()
run().catch((err) => {
console.error('Error generating bundle size report:', err)
process.exit(1)
})

/**
* Main entry for generating the size report
Expand Down
Loading