openpencil/oxlint.structure.json
Danila Poyarkov 75e62507a5 test(fig): split import and roundtrip coverage
- Move fig-roundtrip.test.ts into focused import, export, roundtrip, and heavy fixture files
- Add shared fig fixture helpers for fixture parsing and valid node type checks
- Preserve the original 51 passing and 8 skipped fig tests under BUN_HEAVY_TESTS=false
- Extend scoped non-null assertion enforcement to the fig test folder
2026-05-06 01:49:25 +03:00

85 lines
3.3 KiB
JSON

{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"jsPlugins": ["./lint/plugin.js"],
"env": {
"browser": true,
"es2024": true
},
"overrides": [
{
"files": ["tests/**/*.ts"],
"rules": {
"no-unused-vars": "off"
}
},
{
"files": ["packages/core/src/kiwi/kiwi-schema/**"],
"rules": {
"typescript/no-explicit-any": "off"
}
},
{
"files": [
"tests/engine/copy.test.ts",
"tests/engine/fig/**/*.test.ts",
"tests/engine/font-normalize-export.test.ts",
"tests/engine/matrix.test.ts",
"tests/engine/mcp-stdio.test.ts",
"tests/engine/nudge.test.ts",
"tests/engine/okhcl-toggle-conversion.test.ts",
"tests/engine/okhcl-ui-logic.test.ts",
"tests/engine/plugin-data.test.ts",
"tests/engine/render-cache.test.ts",
"tests/engine/render/jsx/**/*.test.ts",
"tests/engine/text-edit-undo.test.ts"
],
"rules": {
"typescript/no-non-null-assertion": "error"
}
}
],
"rules": {
"open-pencil/no-legacy-app-imports": "error",
"open-pencil/no-vue-self-package-imports": "error",
"open-pencil/no-cross-package-source-imports": "error",
"open-pencil/no-core-parent-relative-imports": "error",
"open-pencil/no-mcp-parent-relative-imports": "error",
"open-pencil/no-vue-parent-relative-imports": "error",
"open-pencil/no-stale-vite-app-paths": "error",
"open-pencil/no-cli-parent-relative-imports": "error",
"open-pencil/no-root-demo-module": "error",
"open-pencil/no-mcp-core-barrel-imports": "error",
"open-pencil/no-cli-core-barrel-imports": "error",
"open-pencil/no-script-core-barrel-imports": "error",
"open-pencil/no-core-self-package-imports": "error",
"open-pencil/no-inline-prompt-constants": "error",
"open-pencil/no-legacy-app-support-imports": "error",
"open-pencil/no-app-vue-core-barrel-imports": "error",
"open-pencil/no-app-imports-in-packages": "error",
"open-pencil/no-core-framework-imports": "error",
"open-pencil/no-direct-storage-access": "error",
"open-pencil/no-legacy-shim-files": "error",
"open-pencil/no-legacy-test-app-imports": "error",
"open-pencil/no-test-core-source-imports": "error",
"open-pencil/no-broad-double-cast": "error",
"open-pencil/no-unknown-record-double-cast": "error",
"open-pencil/no-ts-suppression-comments": "error",
"open-pencil/no-function-type": "error",
"open-pencil/no-reflect-delete-global-this-outside-tests": "error",
"typescript/no-explicit-any": "error",
"open-pencil/no-core-browser-globals": "error",
"open-pencil/no-direct-graph-emitter-subscriptions": "error",
"open-pencil/no-on-unmounted-in-composition-roots": "error",
"open-pencil/no-composable-state-wrappers": "error",
"open-pencil/prefer-vueuse-intervals": "error",
"open-pencil/prefer-vueuse-timeouts": "error",
"open-pencil/max-composition-root-lines": ["error", { "max": 260 }],
"open-pencil/vue-component-file-pascal-case": "error",
"open-pencil/component-namespace-pascal-case": "error",
"open-pencil/non-component-source-directories-kebab-case": "error",
"open-pencil/no-component-root-sibling-folder": "error",
"open-pencil/no-flat-kiwi-modules": "error"
},
"ignorePatterns": ["node_modules", "dist", "desktop"]
}