Adding action for linting (#51)
* Adding action for linting * Configuring eslint * Update lint.yml * Update lint.yml * Update lint.yml * adds yarn jest to package.json * test report * debugging tests * trying force exit * force exit * test1 * forceexit * using another reporter * jest debugging * separated lints & tests * test * Cleanup * Add /src/third-party, /ios, and /android to ignore listzio/stable
parent
f969e746f7
commit
0536a6afcf
|
@ -2,14 +2,12 @@ module.exports = {
|
||||||
root: true,
|
root: true,
|
||||||
extends: '@react-native-community',
|
extends: '@react-native-community',
|
||||||
parser: '@typescript-eslint/parser',
|
parser: '@typescript-eslint/parser',
|
||||||
// plugins: ['@typescript-eslint'],
|
plugins: ['@typescript-eslint'],
|
||||||
|
ignorePatterns: ['**/__mocks__/*.ts', 'src/third-party', 'ios', 'android'],
|
||||||
overrides: [
|
overrides: [
|
||||||
{
|
{
|
||||||
files: ['*.js', '*.mjs', '*.ts', '*.tsx'],
|
files: ['*.js', '*.mjs', '*.ts', '*.tsx'],
|
||||||
rules: {
|
rules: {
|
||||||
'@typescript-eslint/no-shadow': 'off',
|
|
||||||
'no-shadow': 'off',
|
|
||||||
'no-undef': 'off',
|
|
||||||
semi: [2, 'never'],
|
semi: [2, 'never'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
name: Lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linting:
|
||||||
|
name: Run linters
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out Git repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Yarn install
|
||||||
|
run: yarn
|
||||||
|
- name: Lint Reporter
|
||||||
|
uses: wearerequired/lint-action@v2.2.0
|
||||||
|
with:
|
||||||
|
eslint: true
|
||||||
|
prettier: true
|
||||||
|
- name: Typescript & Lint check
|
||||||
|
run: yarn lint
|
||||||
|
testing:
|
||||||
|
name: Run tests
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out Git repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Yarn install
|
||||||
|
run: yarn
|
||||||
|
- name: Run tests
|
||||||
|
run: |
|
||||||
|
yarn test --forceExit
|
13
package.json
13
package.json
|
@ -8,7 +8,9 @@
|
||||||
"web": "react-scripts start",
|
"web": "react-scripts start",
|
||||||
"start": "react-native start",
|
"start": "react-native start",
|
||||||
"clean-cache": "rm -rf node_modules/.cache/babel-loader/*",
|
"clean-cache": "rm -rf node_modules/.cache/babel-loader/*",
|
||||||
"test": "jest --coverage",
|
"test": "jest",
|
||||||
|
"test-ci": "jest --ci --forceExit --reporters=default --reporters=jest-junit",
|
||||||
|
"test-coverage": "jest --coverage",
|
||||||
"lint": "eslint . --ext .js,.jsx,.ts,.tsx"
|
"lint": "eslint . --ext .js,.jsx,.ts,.tsx"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -75,13 +77,15 @@
|
||||||
"@types/lodash.omit": "^4.5.7",
|
"@types/lodash.omit": "^4.5.7",
|
||||||
"@types/react-native": "^0.67.3",
|
"@types/react-native": "^0.67.3",
|
||||||
"@types/react-test-renderer": "^17.0.1",
|
"@types/react-test-renderer": "^17.0.1",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.17.0",
|
"@typescript-eslint/eslint-plugin": "^5.48.2",
|
||||||
"@typescript-eslint/parser": "^5.17.0",
|
"@typescript-eslint/parser": "^5.48.2",
|
||||||
"babel-jest": "^29.2.1",
|
"babel-jest": "^29.2.1",
|
||||||
"babel-plugin-react-native-web": "^0.17.7",
|
"babel-plugin-react-native-web": "^0.17.7",
|
||||||
"eslint": "^8.19.0",
|
"eslint": "^8.19.0",
|
||||||
"jest": "^29.2.1",
|
"jest": "^29.2.1",
|
||||||
|
"jest-junit": "^15.0.0",
|
||||||
"metro-react-native-babel-preset": "0.73.5",
|
"metro-react-native-babel-preset": "0.73.5",
|
||||||
|
"prettier": "^2.8.3",
|
||||||
"react-native-dotenv": "^3.3.1",
|
"react-native-dotenv": "^3.3.1",
|
||||||
"react-scripts": "^5.0.1",
|
"react-scripts": "^5.0.1",
|
||||||
"react-test-renderer": "18.2.0",
|
"react-test-renderer": "18.2.0",
|
||||||
|
@ -117,7 +121,8 @@
|
||||||
"<rootDir>/src/view/com/util",
|
"<rootDir>/src/view/com/util",
|
||||||
"<rootDir>/src/state/lib",
|
"<rootDir>/src/state/lib",
|
||||||
"<rootDir>/__tests__/test-utils.js"
|
"<rootDir>/__tests__/test-utils.js"
|
||||||
]
|
],
|
||||||
|
"reporters": [ "default", "jest-junit" ]
|
||||||
},
|
},
|
||||||
"browserslist": {
|
"browserslist": {
|
||||||
"production": [
|
"production": [
|
||||||
|
|
79
yarn.lock
79
yarn.lock
|
@ -2780,22 +2780,7 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/yargs-parser" "*"
|
"@types/yargs-parser" "*"
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@^5.17.0", "@typescript-eslint/eslint-plugin@^5.5.0":
|
"@typescript-eslint/eslint-plugin@^5.30.5", "@typescript-eslint/eslint-plugin@^5.48.2":
|
||||||
version "5.48.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz#54f8368d080eb384a455f60c2ee044e948a8ce67"
|
|
||||||
integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/scope-manager" "5.48.0"
|
|
||||||
"@typescript-eslint/type-utils" "5.48.0"
|
|
||||||
"@typescript-eslint/utils" "5.48.0"
|
|
||||||
debug "^4.3.4"
|
|
||||||
ignore "^5.2.0"
|
|
||||||
natural-compare-lite "^1.4.0"
|
|
||||||
regexpp "^3.2.0"
|
|
||||||
semver "^7.3.7"
|
|
||||||
tsutils "^3.21.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@^5.30.5":
|
|
||||||
version "5.48.2"
|
version "5.48.2"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3"
|
||||||
integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==
|
integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==
|
||||||
|
@ -2810,6 +2795,21 @@
|
||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
|
"@typescript-eslint/eslint-plugin@^5.5.0":
|
||||||
|
version "5.48.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz#54f8368d080eb384a455f60c2ee044e948a8ce67"
|
||||||
|
integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==
|
||||||
|
dependencies:
|
||||||
|
"@typescript-eslint/scope-manager" "5.48.0"
|
||||||
|
"@typescript-eslint/type-utils" "5.48.0"
|
||||||
|
"@typescript-eslint/utils" "5.48.0"
|
||||||
|
debug "^4.3.4"
|
||||||
|
ignore "^5.2.0"
|
||||||
|
natural-compare-lite "^1.4.0"
|
||||||
|
regexpp "^3.2.0"
|
||||||
|
semver "^7.3.7"
|
||||||
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/experimental-utils@^5.0.0":
|
"@typescript-eslint/experimental-utils@^5.0.0":
|
||||||
version "5.48.0"
|
version "5.48.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.48.0.tgz#10c0871a1dfee734fbcd49399b6a07ce38bdb61c"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.48.0.tgz#10c0871a1dfee734fbcd49399b6a07ce38bdb61c"
|
||||||
|
@ -2817,17 +2817,7 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/utils" "5.48.0"
|
"@typescript-eslint/utils" "5.48.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@^5.17.0", "@typescript-eslint/parser@^5.5.0":
|
"@typescript-eslint/parser@^5.30.5", "@typescript-eslint/parser@^5.48.2":
|
||||||
version "5.48.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba"
|
|
||||||
integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/scope-manager" "5.48.0"
|
|
||||||
"@typescript-eslint/types" "5.48.0"
|
|
||||||
"@typescript-eslint/typescript-estree" "5.48.0"
|
|
||||||
debug "^4.3.4"
|
|
||||||
|
|
||||||
"@typescript-eslint/parser@^5.30.5":
|
|
||||||
version "5.48.2"
|
version "5.48.2"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3"
|
||||||
integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==
|
integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==
|
||||||
|
@ -2837,6 +2827,16 @@
|
||||||
"@typescript-eslint/typescript-estree" "5.48.2"
|
"@typescript-eslint/typescript-estree" "5.48.2"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
|
|
||||||
|
"@typescript-eslint/parser@^5.5.0":
|
||||||
|
version "5.48.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba"
|
||||||
|
integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==
|
||||||
|
dependencies:
|
||||||
|
"@typescript-eslint/scope-manager" "5.48.0"
|
||||||
|
"@typescript-eslint/types" "5.48.0"
|
||||||
|
"@typescript-eslint/typescript-estree" "5.48.0"
|
||||||
|
debug "^4.3.4"
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@5.48.0":
|
"@typescript-eslint/scope-manager@5.48.0":
|
||||||
version "5.48.0"
|
version "5.48.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz#607731cb0957fbc52fd754fd79507d1b6659cecf"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz#607731cb0957fbc52fd754fd79507d1b6659cecf"
|
||||||
|
@ -7337,6 +7337,16 @@ jest-jasmine2@^27.5.1:
|
||||||
pretty-format "^27.5.1"
|
pretty-format "^27.5.1"
|
||||||
throat "^6.0.1"
|
throat "^6.0.1"
|
||||||
|
|
||||||
|
jest-junit@^15.0.0:
|
||||||
|
version "15.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-15.0.0.tgz#a47544ab42e9f8fe7ada56306c218e09e52bd690"
|
||||||
|
integrity sha512-Z5sVX0Ag3HZdMUnD5DFlG+1gciIFSy7yIVPhOdGUi8YJaI9iLvvBb530gtQL2CHmv0JJeiwRZenr0VrSR7frvg==
|
||||||
|
dependencies:
|
||||||
|
mkdirp "^1.0.4"
|
||||||
|
strip-ansi "^6.0.1"
|
||||||
|
uuid "^8.3.2"
|
||||||
|
xml "^1.0.1"
|
||||||
|
|
||||||
jest-leak-detector@^27.5.1:
|
jest-leak-detector@^27.5.1:
|
||||||
version "27.5.1"
|
version "27.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8"
|
resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8"
|
||||||
|
@ -8837,6 +8847,11 @@ mkdirp@^0.5.1, mkdirp@~0.5.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist "^1.2.6"
|
minimist "^1.2.6"
|
||||||
|
|
||||||
|
mkdirp@^1.0.4:
|
||||||
|
version "1.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
|
||||||
|
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
|
||||||
|
|
||||||
mobx-react-lite@^3.4.0:
|
mobx-react-lite@^3.4.0:
|
||||||
version "3.4.0"
|
version "3.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-3.4.0.tgz#d59156a96889cdadad751e5e4dab95f28926dfff"
|
resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-3.4.0.tgz#d59156a96889cdadad751e5e4dab95f28926dfff"
|
||||||
|
@ -10012,6 +10027,11 @@ prettier-linter-helpers@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
fast-diff "^1.1.2"
|
fast-diff "^1.1.2"
|
||||||
|
|
||||||
|
prettier@^2.8.3:
|
||||||
|
version "2.8.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632"
|
||||||
|
integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==
|
||||||
|
|
||||||
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
|
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
|
||||||
version "5.6.0"
|
version "5.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
|
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
|
||||||
|
@ -12673,6 +12693,11 @@ xml-name-validator@^3.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||||
integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
|
integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
|
||||||
|
|
||||||
|
xml@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5"
|
||||||
|
integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==
|
||||||
|
|
||||||
xmlchars@^2.2.0:
|
xmlchars@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
||||||
|
|
Loading…
Reference in New Issue