diff options
| -rw-r--r-- | .circleci/config.yml | 42 | ||||
| -rw-r--r-- | package-lock.json | 120 | ||||
| -rw-r--r-- | package.json | 20 | 
3 files changed, 168 insertions, 14 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml index a6876ba..3ee10f5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -29,10 +29,50 @@ jobs:            name: Test syntax and perform type checking            command: npm test +  deploy_pages: +    <<: *defaults +    steps: +      - checkout +      - restore_cache: +          keys: +            - v1-dependencies-{{ checksum "package.json" }} +            # fallback to using the latest cache if no exact match is found +            - v1-dependencies- + +      - add_ssh_keys: +          fingerprints: +            - "53:07:6e:12:ca:13:d5:33:53:17:b2:67:5f:c9:f4:3f" + +      - run: +          name: Configure github user +          command: | +            git config user.email "eug-vs@keemail.me" +            git config user.name "eug-vs" + +      - run: +          name: Deploy to gh-pages +          command: npm run build && npm run deploy +  workflows:    version: 2    test:      jobs: -      - checkout_and_test +      - checkout_and_test: +          filters: +            branches: +              ignore: master + +  deploy: +    jobs: +      - checkout_and_test: +          filters: +            branches: +              only: master +      - deploy_pages: +          filters: +            branches: +              only: master +          requires: +            - checkout_and_test diff --git a/package-lock.json b/package-lock.json index 670ba1c..dc40a7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1667,6 +1667,7 @@        "version": "16.9.8",        "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz",        "integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==", +      "dev": true,        "requires": {          "@types/react": "*"        } @@ -1722,6 +1723,7 @@        "version": "3.1.0",        "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.1.0.tgz",        "integrity": "sha512-Zf8JVC2K1svqPIk1CB/ehCiWPaERJBBokbMfNTNRczCbQSlQXaXtO/7OfYz9wZaecNvdSvVADt6/XQuIxhC79w==", +      "dev": true,        "requires": {          "@types/json-schema": "^7.0.3",          "@typescript-eslint/typescript-estree": "3.1.0", @@ -1733,6 +1735,7 @@        "version": "3.1.0",        "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.1.0.tgz",        "integrity": "sha512-NcDSJK8qTA2tPfyGiPes9HtVKLbksmuYjlgGAUs7Ld2K0swdWibnCq9IJx9kJN8JJdgUJSorFiGaPHBgH81F/Q==", +      "dev": true,        "requires": {          "@types/eslint-visitor-keys": "^1.0.0",          "@typescript-eslint/experimental-utils": "3.1.0", @@ -1744,6 +1747,7 @@        "version": "3.1.0",        "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.1.0.tgz",        "integrity": "sha512-+4nfYauqeQvK55PgFrmBWFVYb6IskLyOosYEmhH3mSVhfBp9AIJnjExdgDmKWoOBHRcPM8Ihfm2BFpZf0euUZQ==", +      "dev": true,        "requires": {          "debug": "^4.1.1",          "eslint-visitor-keys": "^1.1.0", @@ -1757,7 +1761,8 @@          "semver": {            "version": "7.3.2",            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", -          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" +          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", +          "dev": true          }        }      }, @@ -4567,6 +4572,12 @@          }        }      }, +    "email-addresses": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", +      "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", +      "dev": true +    },      "emoji-regex": {        "version": "8.0.0",        "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -4832,6 +4843,7 @@        "version": "18.1.0",        "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.1.0.tgz",        "integrity": "sha512-kZFuQC/MPnH7KJp6v95xsLBf63G/w7YqdPfQ0MUanxQ7zcKUNG8j+sSY860g3NwCBOa62apw16J6pRN+AOgXzw==", +      "dev": true,        "requires": {          "eslint-config-airbnb-base": "^14.1.0",          "object.assign": "^4.1.0", @@ -4842,6 +4854,7 @@        "version": "14.1.0",        "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz",        "integrity": "sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw==", +      "dev": true,        "requires": {          "confusing-browser-globals": "^1.0.9",          "object.assign": "^4.1.0", @@ -4852,6 +4865,7 @@        "version": "8.0.2",        "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-8.0.2.tgz",        "integrity": "sha512-TCOftyCoIogJzzLGSg0Qlxd27qvf+1a3MHyN/PqynTqINS4iFy+SlXy/CrAN+6xkleGMSrvmPbm3pyFEku2+IQ==", +      "dev": true,        "requires": {          "@typescript-eslint/parser": "^3.1.0",          "eslint-config-airbnb": "^18.1.0", @@ -5127,6 +5141,7 @@        "version": "2.0.0",        "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",        "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", +      "dev": true,        "requires": {          "eslint-visitor-keys": "^1.1.0"        } @@ -5574,6 +5589,33 @@          "schema-utils": "^2.5.0"        }      }, +    "filename-reserved-regex": { +      "version": "1.0.0", +      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", +      "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", +      "dev": true +    }, +    "filenamify": { +      "version": "1.2.1", +      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", +      "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", +      "dev": true, +      "requires": { +        "filename-reserved-regex": "^1.0.0", +        "strip-outer": "^1.0.0", +        "trim-repeated": "^1.0.0" +      } +    }, +    "filenamify-url": { +      "version": "1.0.0", +      "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", +      "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", +      "dev": true, +      "requires": { +        "filenamify": "^1.0.0", +        "humanize-url": "^1.0.0" +      } +    },      "filesize": {        "version": "6.0.1",        "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.0.1.tgz", @@ -5929,6 +5971,41 @@          "assert-plus": "^1.0.0"        }      }, +    "gh-pages": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.0.0.tgz", +      "integrity": "sha512-oaOfVcrSwnqoWUgZ6cmCDM6mUuWyOSG+SHjqxGBawN0F3SKaF5NwbeYDG+w2RNXO2HJ/5Iam4o7dP5NAtoHuwQ==", +      "dev": true, +      "requires": { +        "async": "^2.6.1", +        "commander": "^2.18.0", +        "email-addresses": "^3.0.1", +        "filenamify-url": "^1.0.0", +        "fs-extra": "^8.1.0", +        "globby": "^6.1.0" +      }, +      "dependencies": { +        "globby": { +          "version": "6.1.0", +          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", +          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", +          "dev": true, +          "requires": { +            "array-union": "^1.0.1", +            "glob": "^7.0.3", +            "object-assign": "^4.0.1", +            "pify": "^2.0.0", +            "pinkie-promise": "^2.0.0" +          } +        }, +        "pify": { +          "version": "2.3.0", +          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", +          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", +          "dev": true +        } +      } +    },      "glob": {        "version": "7.1.6",        "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -6380,6 +6457,16 @@        "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",        "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="      }, +    "humanize-url": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", +      "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", +      "dev": true, +      "requires": { +        "normalize-url": "^1.0.0", +        "strip-url-auth": "^1.0.0" +      } +    },      "hyphenate-style-name": {        "version": "1.0.3",        "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", @@ -12488,6 +12575,21 @@        "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",        "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w=="      }, +    "strip-outer": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", +      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", +      "dev": true, +      "requires": { +        "escape-string-regexp": "^1.0.2" +      } +    }, +    "strip-url-auth": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", +      "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", +      "dev": true +    },      "style-loader": {        "version": "0.23.1",        "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", @@ -12893,6 +12995,15 @@          "punycode": "^2.1.0"        }      }, +    "trim-repeated": { +      "version": "1.0.0", +      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", +      "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", +      "dev": true, +      "requires": { +        "escape-string-regexp": "^1.0.2" +      } +    },      "ts-pnp": {        "version": "1.1.6",        "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.6.tgz", @@ -12967,9 +13078,10 @@        "integrity": "sha512-VrR/IiH00Z1tFP4vDGfwZ1esNqTiDMchBEXYY9kilT6wRGgFoCAlgkEUMHb1E3mB0FsfZhv756IF0+R+SFPfdg=="      },      "typescript": { -      "version": "3.7.5", -      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", -      "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==" +      "version": "3.9.5", +      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz", +      "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==", +      "dev": true      },      "unicode-canonical-property-names-ecmascript": {        "version": "1.0.4", diff --git a/package.json b/package.json index 0ace916..b57298f 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,21 @@  {    "name": "which",    "version": "0.1.0", -  "private": true, +  "homepage": "https://ilyayudovin.github.io/which",    "dependencies": {      "@material-ui/core": "^4.10.1",      "@material-ui/icons": "^4.9.1", -    "@types/node": "^12.12.44", -    "@types/react": "^16.9.35", -    "@types/react-dom": "^16.9.8", -    "eslint-config-airbnb-typescript": "^8.0.2",      "react": "^16.13.1",      "react-dom": "^16.13.1",      "react-scripts": "3.4.1", -    "typeface-roboto": "0.0.75", -    "typescript": "^3.7.5" +    "typeface-roboto": "0.0.75"    },    "scripts": {      "start": "react-scripts start",      "build": "react-scripts build",      "lint": "eslint . --ext ts,tsx --max-warnings 0", -    "test": "npm run lint" +    "test": "npm run lint", +    "deploy": "gh-pages --dist build"    },    "browserslist": {      "production": [ @@ -34,13 +30,19 @@      ]    },    "devDependencies": { +    "@types/node": "^12.12.44", +    "@types/react": "^16.9.35", +    "@types/react-dom": "^16.9.8",      "@typescript-eslint/eslint-plugin": "^3.1.0",      "@typescript-eslint/parser": "^3.1.0",      "eslint": "^6.8.0",      "eslint-config-airbnb": "^18.1.0", +    "eslint-config-airbnb-typescript": "^8.0.2",      "eslint-plugin-import": "^2.20.2",      "eslint-plugin-jsx-a11y": "^6.2.3",      "eslint-plugin-react": "^7.20.0", -    "eslint-plugin-react-hooks": "^2.5.1" +    "eslint-plugin-react-hooks": "^2.5.1", +    "gh-pages": "^3.0.0", +    "typescript": "^3.9.5"    }  }  |