- 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
85 lines
3.3 KiB
JSON
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"]
|
|
}
|