mirror of
https://github.com/Kong/insomnia
synced 2024-11-08 06:39:48 +00:00
3605bc17cc
* makes this `yaml` import match all others for better or for worse, until we upgrade `YAML` (it's now written in TypeScript) we should probably aim for consistency. * adds overloads so that types of package exports it would be FAR preferable to use an object with the arguments instead because then we don't have to fall into all the traps that come with overloads, but I am avoiding changing the actual call signature of these function. * fixes and updates types * corrects mispelling * removes shim types and exports actual types from openapi-2-kong we had everything in place for the rest of the build pipeline to consume these types, but were missing the main exports at the root index.ts file * use actual openapi-2-kong types now that they're available * use existing variable for filePath * extracts o2k-specific helper data to live in o2k evidently, this data is useful for the usage of o2k, therefore o2k should be the thing exporting it. * use KubernetesManifest for name of kubernetes manifest union when first naming this, I didn't have much more context than the property name (documents), so after taking a look, it's clear that these are kubernetes manifests * removes attempt at correctly typing overloads I will return to this, and so I'm leaving it here in a commit rather than squashing it out, but I can't see a way to get it to work without changing the signature in a big way. * fixes error (now that there are yaml types) * makes `K8s` vs `Kubernetes` type terminology consistent part of the motivation for this is that there are significant things in common between the two kinds of configs, making them closer in form is therefore ideal. * updates mistake in name per review feedback
104 lines
2.8 KiB
JavaScript
104 lines
2.8 KiB
JavaScript
/** @type { import('eslint').Linter.Config } */
|
|
module.exports = {
|
|
parser: '@typescript-eslint/parser',
|
|
parserOptions: {
|
|
project: [
|
|
'./tsconfig.eslint.json',
|
|
'./packages/*/tsconfig.json',
|
|
'./plugins/*/tsconfig.json',
|
|
],
|
|
tsconfigRootDir: __dirname,
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
extends: [
|
|
'plugin:@typescript-eslint/eslint-recommended',
|
|
'plugin:@typescript-eslint/recommended',
|
|
'semistandard',
|
|
'plugin:react-hooks/recommended',
|
|
],
|
|
plugins: [
|
|
'@typescript-eslint',
|
|
'react',
|
|
'jest',
|
|
'html',
|
|
'json',
|
|
'filenames',
|
|
'react-hooks',
|
|
],
|
|
globals: {
|
|
__DEV__: true,
|
|
fail: true,
|
|
NodeJS: true,
|
|
HTMLDivElement: true,
|
|
HTMLElement: true,
|
|
HTMLInputElement: true,
|
|
HTMLSelectElement: true,
|
|
JSX: true,
|
|
},
|
|
env: {
|
|
browser: true,
|
|
commonjs: true,
|
|
es6: true,
|
|
'jest/globals': true,
|
|
node: true,
|
|
},
|
|
overrides: [
|
|
{
|
|
files: ['*.js'],
|
|
rules: {
|
|
'@typescript-eslint/no-var-requires': 'off',
|
|
},
|
|
},
|
|
],
|
|
rules: {
|
|
'comma-dangle': ['error', 'always-multiline'],
|
|
indent: 'off',
|
|
'no-var': 'error',
|
|
'no-async-promise-executor': 'off',
|
|
'no-case-declarations': 'off',
|
|
'no-prototype-builtins': 'off',
|
|
'no-duplicate-imports': 'off',
|
|
'react/jsx-uses-react': 'error',
|
|
'react/jsx-uses-vars': 'error',
|
|
'space-in-parens': 'off',
|
|
'react-hooks/rules-of-hooks': 'error',
|
|
'react-hooks/exhaustive-deps': 'error',
|
|
camelcase: ['error', { allow: ['__export_format', '__export_date', '__export_source'] }],
|
|
'space-before-function-paren': [
|
|
'error',
|
|
{
|
|
anonymous: 'never',
|
|
named: 'never',
|
|
asyncArrow: 'always',
|
|
},
|
|
],
|
|
'filenames/match-exported': [
|
|
'error',
|
|
'kebab',
|
|
],
|
|
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
'no-unused-vars': 'off',
|
|
'@typescript-eslint/no-unused-vars': ['error', { ignoreRestSiblings: true }],
|
|
'@typescript-eslint/ban-types': 'off',
|
|
'@typescript-eslint/no-empty-function': 'off',
|
|
'@typescript-eslint/no-namespace': ['error', { allowDeclarations: true }],
|
|
'spaced-comment': ['error', 'always', {
|
|
exceptions: ['/', '*', '-', '* '], // for ASCII art :)
|
|
markers: [
|
|
'/', // for TypeScript directives, doxygen, vsdoc, etc. (which use `///`)
|
|
'?', // for Quokka
|
|
],
|
|
}],
|
|
'@typescript-eslint/array-type': ['error', { default: 'array', readonly: 'array' }],
|
|
'@typescript-eslint/consistent-type-definitions': ['error', 'interface'],
|
|
quotes: 'off',
|
|
'@typescript-eslint/quotes': ['error', 'single', { avoidEscape: true }],
|
|
'no-use-before-define': 'off',
|
|
'@typescript-eslint/no-use-before-define': 'error',
|
|
'no-redeclare': 'off',
|
|
'@typescript-eslint/no-redeclare': 'error',
|
|
},
|
|
};
|