mirror of
https://github.com/enso-org/enso.git
synced 2024-12-22 18:01:38 +03:00
1096489cc8
Fixes #10311 Using `ExternalId` for `NodeId` allows us to match the idea of node identity with engine. That means any bugs that would cause the identity to change will be immediately visible on UI due to misplaced metadata or node being unnecessarily rerendered from scratch. This change and an addional bugfix of argument deletion handling makes the node view stable on edits and allows tabbing through arguments. https://github.com/enso-org/enso/assets/919491/72d9ec29-54ed-4899-aac1-6678a001a21d
77 lines
1.9 KiB
JavaScript
77 lines
1.9 KiB
JavaScript
import { FlatCompat } from '@eslint/eslintrc'
|
|
import eslintJs from '@eslint/js'
|
|
import * as path from 'node:path'
|
|
import * as url from 'node:url'
|
|
|
|
const compat = new FlatCompat()
|
|
|
|
const DIR_NAME = path.dirname(url.fileURLToPath(import.meta.url))
|
|
|
|
const conf = [
|
|
{
|
|
ignores: [
|
|
'rust-ffi/pkg',
|
|
'rust-ffi/node-pkg',
|
|
'dist',
|
|
'shared/ast/generated',
|
|
'templates',
|
|
'.histoire',
|
|
'playwright-report',
|
|
'test-results',
|
|
'vite.ydoc-server-polyglot.config.ts',
|
|
],
|
|
},
|
|
...compat.extends('plugin:vue/vue3-recommended'),
|
|
eslintJs.configs.recommended,
|
|
...compat.extends('@vue/eslint-config-typescript', '@vue/eslint-config-prettier'),
|
|
{
|
|
// files: ['{**,src}/*.{vue,js,jsx,cjs,mjs,ts,tsx,cts,mts}'],
|
|
languageOptions: {
|
|
parserOptions: {
|
|
tsconfigRootDir: DIR_NAME,
|
|
ecmaVersion: 'latest',
|
|
project: [
|
|
'./tsconfig.app.json',
|
|
'./tsconfig.node.json',
|
|
'./tsconfig.server.json',
|
|
'./tsconfig.app.vitest.json',
|
|
'./tsconfig.server.vitest.json',
|
|
'./tsconfig.story.json',
|
|
],
|
|
},
|
|
},
|
|
rules: {
|
|
camelcase: [1, { ignoreImports: true }],
|
|
'no-inner-declarations': 0,
|
|
'vue/attribute-hyphenation': [2, 'never'],
|
|
'vue/v-on-event-hyphenation': [2, 'never'],
|
|
'@typescript-eslint/no-unused-vars': [
|
|
1,
|
|
{
|
|
varsIgnorePattern: '^_',
|
|
argsIgnorePattern: '^_',
|
|
},
|
|
],
|
|
'no-unused-labels': 0,
|
|
},
|
|
},
|
|
{
|
|
files: ['stories/*.vue'],
|
|
rules: {
|
|
'vue/multi-word-component-names': 0,
|
|
},
|
|
},
|
|
// We must make sure our E2E tests await all steps, otherwise they're flaky.
|
|
{
|
|
files: ['e2e/**/*.spec.ts'],
|
|
languageOptions: {
|
|
parser: await import('@typescript-eslint/parser'),
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/no-floating-promises': 2,
|
|
},
|
|
},
|
|
]
|
|
|
|
export default conf
|