Unverified Commit fa70aaf2 authored by Marcos Iglesias's avatar Marcos Iglesias Committed by GitHub

chore: Update Betterer with eslint rules (#769)

* Update Betterer with eslint rules
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Update documentation
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>
parent 9666065a
This source diff could not be displayed because it is too large. You can view the blob instead.
import { eslint } from '@betterer/eslint';
export default {
'eslint': eslint({
'@typescript-eslint/no-shadow': 'error',
'@typescript-eslint/dot-notation': 'error',
'@typescript-eslint/naming-convention': 'error',
'@typescript-eslint/no-unused-vars': 'error',
'array-callback-return': 'error',
'consistent-return': 'error',
'default-case': 'error',
'import/first': 'error',
'import/no-cycle': 'error',
'import/order': 'error',
'no-case-declarations': 'error',
'no-extra-boolean-cast': 'error',
'no-multi-str': 'error',
'no-nested-ternary': 'error',
'no-param-reassign': 'error',
'no-restricted-globals': 'error',
'no-script-url': 'error',
'no-unneeded-ternary': 'error',
'no-useless-return': 'error',
'no-void': 'error',
'prefer-destructuring': 'error',
'prefer-promise-reject-errors': 'error',
'react/button-has-type': 'error',
'react/destructuring-assignment': 'error',
'react/jsx-boolean-value': 'error',
'react/jsx-closing-tag-location': 'error',
'react/jsx-props-no-spreading': 'error',
'react/no-access-state-in-setstate': 'error',
'react/no-did-update-set-state': 'error',
'react/prefer-stateless-function': 'error',
'react/sort-comp': 'error',
'react/static-property-placement': 'error',
'jsx-a11y/label-has-associated-control': 'error',
'jsx-a11y/control-has-associated-label': 'error',
'jsx-a11y/click-events-have-key-events': 'error',
'jsx-a11y/no-noninteractive-element-interactions': 'error',
'jsx-a11y/no-static-element-interactions': 'error',
}).include('./js/**/*.{ts,tsx,js,jsx}'),
};
......@@ -4757,21 +4757,34 @@
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
"dev": true
},
"@betterer/cli": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/cli/-/cli-3.0.3.tgz",
"integrity": "sha512-Qi8jffcix3k8KiKzqtZF5Ws2dIs9hhwtyVq0hfCXSx/V/rdy0IOxUkHvX+7tHkzJ9HFmFwkqN6DGrxaCIbMDxA==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.3",
"@betterer/errors": "^3.0.0",
"commander": "^5.1.0",
"find-up": "^5.0.0",
"tslib": "^2.0.0"
},
"dependencies": {
"@betterer/betterer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/betterer/-/betterer-3.0.0.tgz",
"integrity": "sha512-r1KRcb5Mz5kBXxpQADBWSO8cEICb69OHaVrcFUCw/qmwmUpJG8ocTjY7BKyo+yAzip26GbRIKQpixlVTZ8Nz/w==",
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/betterer/-/betterer-3.0.3.tgz",
"integrity": "sha512-rCMuyNNfGhEf1j5HzOm/ROg8KAjiErwj+3bWf1Fn6x+36flmwIsqhVBNOd6uWEYB6weOn1K9MqhBP1z+VjGHHw==",
"dev": true,
"requires": {
"@betterer/constraints": "^3.0.0",
"@betterer/errors": "^3.0.0",
"@betterer/logger": "^3.0.0",
"@betterer/reporter": "^3.0.0",
"@betterer/watch-reporter": "^3.0.0",
"@betterer/reporter": "^3.0.3",
"@betterer/watch-reporter": "^3.0.3",
"callsite": "^1.0.0",
"chokidar": "^3.3.1",
"djb2a": "^1.2.0",
"find-up": "^4.1.0",
"find-up": "^5.0.0",
"gitignore-globs": "^0.1.1",
"globby": "^11.0.1",
"jest-diff": "^26.1.0",
......@@ -4779,8 +4792,31 @@
"safe-string-literal": "^1.0.1",
"ts-node": "^8.10.2",
"tslib": "^2.0.0"
}
},
"@betterer/reporter": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/reporter/-/reporter-3.0.3.tgz",
"integrity": "sha512-u5gsUYi4ez8p9PHdVm/5VrsEgfm0yCvMKR4nCWWrnN15Z5PuHUnXnJLO24ai9idM7wIFfF29BhNbn2WOBcW7BA==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.3",
"@betterer/errors": "^3.0.0",
"@betterer/logger": "^3.0.0",
"tslib": "^2.0.0"
}
},
"@betterer/watch-reporter": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/watch-reporter/-/watch-reporter-3.0.3.tgz",
"integrity": "sha512-PtfJpef1xKGkvX9xaUHU8Ex6/4UYP0t/FNh7u/dd8ZlpqztnseDczh4lA8jGVDc0HG2vd9T07k7bfMWen4HfPg==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.3",
"@betterer/logger": "^3.0.0",
"tslib": "^2.0.0"
}
},
"dependencies": {
"@jest/types": {
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
......@@ -4900,6 +4936,12 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"commander": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true
},
"diff-sequences": {
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.3.0.tgz",
......@@ -4916,12 +4958,12 @@
}
},
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
}
},
......@@ -4976,15 +5018,15 @@
"dev": true
},
"jest-diff": {
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.3.0.tgz",
"integrity": "sha512-q5OZAtnr5CbHzrhjANzc3wvROk7+rcjCUI5uqM4cjOjtscNKfbJKBs3YhsWWhsdsIZzI3gc6wOpm49r6S61beg==",
"version": "26.4.2",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.4.2.tgz",
"integrity": "sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
"diff-sequences": "^26.3.0",
"jest-get-type": "^26.3.0",
"pretty-format": "^26.3.0"
"pretty-format": "^26.4.2"
}
},
"jest-get-type": {
......@@ -4994,12 +5036,12 @@
"dev": true
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
"p-locate": "^5.0.0"
}
},
"normalize-path": {
......@@ -5009,21 +5051,21 @@
"dev": true
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
"integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
"p-limit": "^3.0.2"
}
},
"p-try": {
......@@ -5039,9 +5081,9 @@
"dev": true
},
"pretty-format": {
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.3.0.tgz",
"integrity": "sha512-24kRw4C2Ok8+SHquydTZZCZPF2fvANI7rChGs8sNu784+1Jkq5jVFMvNAJSLuLy6XUcP3Fnw+SscLIQag/CG8Q==",
"version": "26.4.2",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
"integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
"dev": true,
"requires": {
"@jest/types": "^26.3.0",
......@@ -5066,9 +5108,9 @@
"dev": true
},
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
......@@ -5104,30 +5146,94 @@
}
}
},
"@betterer/cli": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/cli/-/cli-3.0.3.tgz",
"integrity": "sha512-Qi8jffcix3k8KiKzqtZF5Ws2dIs9hhwtyVq0hfCXSx/V/rdy0IOxUkHvX+7tHkzJ9HFmFwkqN6DGrxaCIbMDxA==",
"@betterer/constraints": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/constraints/-/constraints-3.0.0.tgz",
"integrity": "sha512-Zx75ZlVOLZvQy01IOiCvdyWcZvUV4AIKpzUczx5JqKUIi38Qi/YH8/ZRToWn4I1bHEpIQRSisfy8MYukxt/ueg==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.3",
"@betterer/errors": "^3.0.0",
"commander": "^5.1.0",
"find-up": "^5.0.0",
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
"integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
"dev": true
}
}
},
"@betterer/errors": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/errors/-/errors-3.0.0.tgz",
"integrity": "sha512-8s0xfvaQzD8DlglgXjdeopauahkHVBaSbB2O0j7mLJYpR5+INnn54FEv+chqsHnhvAnx38x5RQpAC1bQuhRC4g==",
"dev": true,
"requires": {
"@betterer/logger": "^3.0.0"
}
},
"@betterer/eslint": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@betterer/eslint/-/eslint-3.1.2.tgz",
"integrity": "sha512-hhpZhm4zE71eASzBX1jBVs6q51yd2UL3Xj/RgvCFpg2nBctiPQlio/c+mmpgQw9gFBRBKsFIXHpHdvFFwH30qg==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.1.2",
"@betterer/errors": "^3.1.1",
"lines-and-columns": "^1.1.6",
"tslib": "^2.0.3"
},
"dependencies": {
"@babel/code-frame": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
"integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/helper-validator-identifier": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
"integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
"dev": true
},
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
"integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
"dependencies": {
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
}
}
},
"@betterer/betterer": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/betterer/-/betterer-3.0.3.tgz",
"integrity": "sha512-rCMuyNNfGhEf1j5HzOm/ROg8KAjiErwj+3bWf1Fn6x+36flmwIsqhVBNOd6uWEYB6weOn1K9MqhBP1z+VjGHHw==",
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@betterer/betterer/-/betterer-3.1.2.tgz",
"integrity": "sha512-ZnfTgkB/YacplmdTEesdQ/KRscfA9WxcHmutVkkK/ttvP26dVI/5OZEDphfE8Ngm2aQ9vj/dD+r6fBEtMJnQ8w==",
"dev": true,
"requires": {
"@betterer/constraints": "^3.0.0",
"@betterer/errors": "^3.0.0",
"@betterer/logger": "^3.0.0",
"@betterer/reporter": "^3.0.3",
"@betterer/watch-reporter": "^3.0.3",
"@betterer/constraints": "^3.1.1",
"@betterer/errors": "^3.1.1",
"@betterer/logger": "^3.1.1",
"@betterer/reporter": "^3.1.2",
"@betterer/watch-reporter": "^3.1.2",
"callsite": "^1.0.0",
"chokidar": "^3.3.1",
"djb2a": "^1.2.0",
......@@ -5136,38 +5242,71 @@
"globby": "^11.0.1",
"jest-diff": "^26.1.0",
"lines-and-columns": "^1.1.6",
"minimatch": "^3.0.4",
"safe-string-literal": "^1.0.1",
"ts-node": "^8.10.2",
"tslib": "^2.0.0"
"ts-node": "^9.0.0",
"tslib": "^2.0.3"
}
},
"@betterer/constraints": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@betterer/constraints/-/constraints-3.1.1.tgz",
"integrity": "sha512-U4RvNRKBNNHCAyZqoxlLSovdd5C/591CJmx2lK4l1ICdZnj3Qmz70vP9xO4guA40NnwPTx3e+h9O2C/RtfpC6g==",
"dev": true,
"requires": {
"tslib": "^2.0.3"
}
},
"@betterer/errors": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@betterer/errors/-/errors-3.1.1.tgz",
"integrity": "sha512-bZBs4SlQ1k5UBGSSBiAMq+damPhrzV3QYYaX7PYyJjLHok1hAXTJmpMkB5P/RCXXlS3oYeVA8h7/4BTDFutneg==",
"dev": true,
"requires": {
"@betterer/logger": "^3.1.1"
}
},
"@betterer/logger": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@betterer/logger/-/logger-3.1.1.tgz",
"integrity": "sha512-/j2RMvVxosuS/wdTqkxMf/vg97zVmq+xunjwuBuXnAgRAgIjo2nTwfjwWBt8bO87Y1LykuUlevTDSWHKXcQwjA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.3",
"chalk": "^4.1.0",
"lines-and-columns": "^1.1.6",
"log-update": "^4.0.0",
"npmlog": "^4.1.2",
"tslib": "^2.0.3"
}
},
"@betterer/reporter": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/reporter/-/reporter-3.0.3.tgz",
"integrity": "sha512-u5gsUYi4ez8p9PHdVm/5VrsEgfm0yCvMKR4nCWWrnN15Z5PuHUnXnJLO24ai9idM7wIFfF29BhNbn2WOBcW7BA==",
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@betterer/reporter/-/reporter-3.1.2.tgz",
"integrity": "sha512-gQxj+jwVbiuyGE56RohVKaYJCZgWEOnmckSHBRjbJ5UlvkEm34sf9qQMODyFl2ktVGd3dZvN/PxwRri5Fnqvxg==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.3",
"@betterer/errors": "^3.0.0",
"@betterer/logger": "^3.0.0",
"tslib": "^2.0.0"
"@betterer/betterer": "^3.1.2",
"@betterer/errors": "^3.1.1",
"@betterer/logger": "^3.1.1",
"tslib": "^2.0.3"
}
},
"@betterer/watch-reporter": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@betterer/watch-reporter/-/watch-reporter-3.0.3.tgz",
"integrity": "sha512-PtfJpef1xKGkvX9xaUHU8Ex6/4UYP0t/FNh7u/dd8ZlpqztnseDczh4lA8jGVDc0HG2vd9T07k7bfMWen4HfPg==",
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@betterer/watch-reporter/-/watch-reporter-3.1.2.tgz",
"integrity": "sha512-dpn40GWvRGHHSlyDTGaZFCpT9a9qVt/OtpbNdFMjGXL1Wri7JgEc61dXAchplAVwqPCXuEZ3zm6EmahLIs4C6g==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.3",
"@betterer/logger": "^3.0.0",
"tslib": "^2.0.0"
"@betterer/betterer": "^3.1.2",
"@betterer/logger": "^3.1.1",
"tslib": "^2.0.3"
}
},
"@jest/types": {
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz",
"integrity": "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==",
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
"integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
......@@ -5186,15 +5325,6 @@
"@types/istanbul-lib-report": "*"
}
},
"@types/yargs": {
"version": "15.0.5",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
"integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
}
},
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
......@@ -5202,13 +5332,12 @@
"dev": true
},
"ansi-styles": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
"color-convert": "^1.9.0"
}
},
"anymatch": {
......@@ -5250,22 +5379,15 @@
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"chokidar": {
"version": "3.4.2",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz",
"integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==",
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.1.2",
"glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.4.0"
"color-convert": "^2.0.1"
}
},
"color-convert": {
......@@ -5277,22 +5399,49 @@
"color-name": "~1.1.4"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"chokidar": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
"integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
"dev": true,
"requires": {
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.1.2",
"glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.5.0"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"commander": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true
},
"diff-sequences": {
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.3.0.tgz",
"integrity": "sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig==",
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
"integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
"dev": true
},
"fill-range": {
......@@ -5337,12 +5486,6 @@
"slash": "^3.0.0"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
......@@ -5365,15 +5508,15 @@
"dev": true
},
"jest-diff": {
"version": "26.4.2",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.4.2.tgz",
"integrity": "sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ==",
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
"integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
"diff-sequences": "^26.3.0",
"diff-sequences": "^26.6.2",
"jest-get-type": "^26.3.0",
"pretty-format": "^26.4.2"
"pretty-format": "^26.6.2"
}
},
"jest-get-type": {
......@@ -5382,6 +5525,12 @@
"integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
"dev": true
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true
},
"locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
......@@ -5428,21 +5577,47 @@
"dev": true
},
"pretty-format": {
"version": "26.4.2",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz",
"integrity": "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==",
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
"integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
"dev": true,
"requires": {
"@jest/types": "^26.3.0",
"@jest/types": "^26.6.2",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
"react-is": "^17.0.1"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
}
}
},
"react-is": {
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz",
"integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==",
"dev": true
},
"readdirp": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
"integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
"integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
"dev": true,
"requires": {
"picomatch": "^2.2.1"
......@@ -5455,12 +5630,12 @@
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
"has-flag": "^3.0.0"
}
},
"to-regex-range": {
......@@ -5472,53 +5647,14 @@
"is-number": "^7.0.0"
}
},
"ts-node": {
"version": "8.10.2",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz",
"integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==",
"dev": true,
"requires": {
"arg": "^4.1.0",
"diff": "^4.0.1",
"make-error": "^1.1.1",
"source-map-support": "^0.5.17",
"yn": "3.1.1"
}
},
"tslib": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
"integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
"dev": true
}
}
},
"@betterer/constraints": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/constraints/-/constraints-3.0.0.tgz",
"integrity": "sha512-Zx75ZlVOLZvQy01IOiCvdyWcZvUV4AIKpzUczx5JqKUIi38Qi/YH8/ZRToWn4I1bHEpIQRSisfy8MYukxt/ueg==",
"dev": true,
"requires": {
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
"integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
"dev": true
}
}
},
"@betterer/errors": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/errors/-/errors-3.0.0.tgz",
"integrity": "sha512-8s0xfvaQzD8DlglgXjdeopauahkHVBaSbB2O0j7mLJYpR5+INnn54FEv+chqsHnhvAnx38x5RQpAC1bQuhRC4g==",
"dev": true,
"requires": {
"@betterer/logger": "^3.0.0"
}
},
"@betterer/logger": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/logger/-/logger-3.0.0.tgz",
......@@ -5656,64 +5792,6 @@
}
}
},
"@betterer/reporter": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/reporter/-/reporter-3.0.0.tgz",
"integrity": "sha512-LRre2YR/di44IA1S0648m6TkiqQceH4FEB5ob83UoOjEdkAQv3JI3vZWvPRgXx3SHLPCTEvaatgUkrWr+j9VLg==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.0",
"@betterer/errors": "^3.0.0",
"@betterer/logger": "^3.0.0",
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
"integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
"dev": true
}
}
},
"@betterer/typescript": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@betterer/typescript/-/typescript-3.0.1.tgz",
"integrity": "sha512-+1QaFbrhv42sEruPaxX6NSHnfQmKtd5V9TUJk6kx+hhOAgmiY407SQ0+wmrA64U0EIuCwBXAp6+It67o4GUtnQ==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.0",
"@betterer/errors": "^3.0.0",
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
"integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
"dev": true
}
}
},
"@betterer/watch-reporter": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@betterer/watch-reporter/-/watch-reporter-3.0.0.tgz",
"integrity": "sha512-21sy324HmmlGqrW1P7ISB+q1hkOwq2ABLVBtYlX8IzJD4lVsPGyNVsWl7zBTMiF7GGNL29r274c55Fws2Bxj9w==",
"dev": true,
"requires": {
"@betterer/betterer": "^3.0.0",
"@betterer/logger": "^3.0.0",
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
"integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
"dev": true
}
}
},
"@cnakazawa/watch": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz",
......@@ -55,7 +55,7 @@
"@babel/preset-env": "^7.0.0",
"@babel/preset-react": "^7.10.4",
"@betterer/cli": "^3.0.3",
"@betterer/typescript": "^3.0.1",
"@betterer/eslint": "^3.1.2",
"@storybook/addon-actions": "^6.0.26",
"@storybook/addon-info": "^5.3.21",
"@storybook/addon-links": "^6.0.26",
......
......@@ -60,10 +60,6 @@ Using Storybook makes it much easier to quickly iterate on components when getti
We use TypeScript in our codebase, so `npm run tsc` conducts type checking. The build commands `npm run build` and `npm run dev-build` also conduct type checking, but are slower because they also build the source code. Run any of these commands and fix all failed checks before submitting a PR.
Currently, we are trying to gradually make our TypeScript code more strict. For that, we are leveraging a project called [betterer][betterer], which keeps track of our errors when a given test is passed. Right now, we are running it with "strictNullChecks" set to true, so if any code change makes the results worse, it will break the build.
[betterer]: https://github.com/phenomnomnominal/betterer
### Frontend Linting and Formatting
We have in place two linters – [ESLint][eslint] for our JavaScript and TypeScript files, [Stylelint][stylelint] for our Sass files. If you have both ESLint and Stylelint extensions installed on your IDE, you should get warnings on your editor by default.
......@@ -78,7 +74,9 @@ Whenever you want to run these tasks manually, you can execute:
We also check your changed files and format them when you create a new commit, making it easy for you and for the project to keep a consistent code style. We do this leveraging [Husky][husky] and [Lint-staged][lint-staged].
Looking forward, we aim at setting more strict best practices using ESLint and Stylelint. You can read about our plans to improve our TypeScript, Styles and general code style on these issues:
Looking forward, we aim at setting more strict best practices using ESLint and Stylelint. For that, we are leveraging a project called [betterer][betterer], which keeps track of our errors when a given test is passed. You can run it using `npm run betterer` and it will break if you introduce any new eslint errors. If you want to ignore the new errors you can run `npm run betterer:update` to update the betterer.results file. We do not recommend adding or introducing new eslint errors.
You can read about our plans to improve our TypeScript, Styles and general code style on these issues:
- [Adopt Typescript Recommended Guidelines on the Frontend library][typescript-issue]
- [Adopt Stylelint's Sass Guidelines on the Frontend library][stylelint-issue]
......@@ -119,3 +117,4 @@ You can find the complete list of placeholder selectors for text in [this file](
[airbnb-issue]: https://github.com/lyft/amundsen/issues/502
[stylelint-issue]: https://github.com/lyft/amundsen/issues/501
[semanticchecklist]: https://learn-the-web.algonquindesign.ca/topics/html-semantics-checklist/
[betterer]: https://github.com/phenomnomnominal/betterer
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment