diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a64ccfac..f3065d38 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,5 +19,11 @@ jobs: uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - - run: npm ci - - run: npm start & sleep 5 && npm test + - run: npm install + - run: npm test + - name: Upload HTML report(backstop data) + if: ${{ always() }} + uses: actions/upload-artifact@v2 + with: + name: report + path: backstop_data diff --git a/.gitignore b/.gitignore index 0f8d3cf7..549c139a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ node_modules # Generated files backstop_data dist +.cache diff --git a/.linthtmlrc.json b/.linthtmlrc.json index 774726eb..0f2047a7 100644 --- a/.linthtmlrc.json +++ b/.linthtmlrc.json @@ -1,49 +1,3 @@ { - "attr-bans": [ - "align", - "background", - "bgcolor", - "border", - "frameborder", - "style" - ], - "attr-name-ignore-regex": "viewBox", - "attr-no-dup": true, - "attr-quote-style": "double", - "attr-req-value": true, - "class-no-dup": true, - "doctype-first": true, - "doctype-html5": true, - "fig-req-figcaption": true, - "head-req-title": true, - "html-req-lang": true, - "id-class-style": false, - "id-no-dup": true, - "img-req-src": true, - "img-req-alt": "allownull", - "indent-width": 2, - "indent-style": "spaces", - "indent-width-cont": true, - "input-radio-req-name": true, - "spec-char-escape": true, - "tag-bans": [ - "b", - "i", - "u", - "center", - "style", - "marquee", - "font", - "s" - ], - "tag-name-lowercase": true, - "tag-name-match": true, - "tag-self-close": "never", - "tag-close": true, - "text-ignore-regex": "&", - "title-no-dup": true, - "line-end-style": "lf", - "attr-new-line": 2, - "attr-name-style": "dash", - "attr-no-unsafe-char": true + "extends": "@mate-academy/linthtml-config" } diff --git a/README.md b/README.md index b0ed02da..da2e78ac 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,18 @@ # Thrive_talk landing page -Implement landing page according to [Figma design](https://www.figma.com/file/aHd2rHMrnzDXhowLuIQjIyVQ/ThriveTalk-Landing-Page?node-id=0%3A1) - Use BEM and SCSS -- Large screens 2560px -- Full HD 1920px -- The design 1600px -- Notebook 1280px -- Tablet 1024 -- Mobile (> 320px) +landing page was implemented according to +[Figma design](https://www.figma.com/file/aHd2rHMrnzDXhowLuIQjIyVQ/ThriveTalk-Landing-Page?node-id=0%3A1) - Use BEM, SCSS, JS. +[DEMO LINK](https://Dmytryi-Bashlai.github.io/Thrive_talk/). -1. Implement the header with `nav`. -1. Implement `Helping you thrive in all areas of life` block. -1. Implement `Why Thrive?` block. -1. Implement `About us` block. -1. Implement `We can help you with` block with the card reused 3 times. -1. Implement block with 6 cards (`Physical Health`, `Mental Health`, `Nutrition`, +1. Implemented the header with `nav`. +2. Implemented `Helping you thrive in all areas of life` block. +3. Implemented `Why Thrive?` block. +4. Implemented `About us` block. +5. Implemented `We can help you with` block with the card reused 3 times. +6. Implemented block with 6 cards (`Physical Health`, `Mental Health`, `Nutrition`, `Gymnastics`, `Crossfit`, `Aerobics`). -1. Implement block with 6 text-cards (`Nutritional Plans`, `Weight Loss`, `Mental Peace`, +7. Implement block with 6 text-cards (`Nutritional Plans`, `Weight Loss`, `Mental Peace`, `Home Training`, `Work/Life Balance`, `Cardio`). -1. Implement `You should also know` block. -1. Implement `Contact us` block. -1. Implement blocks: `Some info`, `Enfold health`, `Office hourse`. -1. Implement footer. - - -## Checklist for preparing a portfolio project for HR review - -1. Don’t forget to add a title for the whole web page (it could be the name of your landing) -2. A landing page is implemented strictly according to the design in Figma -4. Links in the header and footer menus should lead to the corresponding blocks of the landing page -5. The speed of animations is the same throughout the landing page (for example, increasing when hovering or moving blocks when scrolling) -6. Placeholders in the forms suggest what to enter, and if there is a validation of the form, then it is clear in what format to enter the phone number -7. Make sure everything looks neat on mobile and without horizontal scrolling -8. Add favicon -9. Add a smooth scroll for the whole page -10. The logo should increase on hover -11. On big screens, there shouldn’t be white spaces around all blocks -12. All “get help now” buttons should change color on the hover -13. When the first block with the title page is opened, the buttons "who I am", "what do I do" should not be cut off. It is better to place them a little higher so that you can immediately see them -14. Use all the fonts specified in the Figma design and don’t add your fonts (the designers specially selected these fonts so that they fit together) -15. The Blog button in the top menu should be clickable and lead to the page "you should also know" -16. To somehow revive the landing page, you can change the color of the colored blocks on the hover -17. The "contact us" button should lead to the "contact us" section -18. When you try to send the form there is no 405 error and the form is automatically cleared after submit and is scrolled to the top of the page or the page is reloaded -19. The form shouldn’t submit empty - - -## Github flow -1. **Fork** the repo. -2. **Clone** the forked one. (The project link should have your name but not `mate-academy`) -3. Run `npm install` (or just `npm i`). -4. Run `npm start`. -5. Open one more terminal window for the next steps. -6. `git checkout -b develop` - to create new branch and switch on it. -7. Write you code in `src` folder. -8. Run `npm run lint` and fix code style errors. -9. Run `npm run deploy` to deploy your solution to `gh-pages`. -10. `git add . && git commit -m 'write a short description of the changes you made'` to save your changes. -11. `git push origin develop` - to send you code for PR. -12. Create a Pull Request (PR) from your branch `develop` to branch `master` of original repo. -13. Replace `` with your Github username in the - [DEMO LINK](https://.github.io/Thrive_talk/). -14. Copy `DEMO LINK` to the PR description. - -> To update you PR repeat steps 7-11. +8. Implemented `You should also know` block. +9. Implemented `Contact us` block. +10. Implemented blocks: `Some info`, `Enfold health`, `Office hourse`. +11. Implemented footer. diff --git a/package-lock.json b/package-lock.json index e330c949..ec538058 100644 --- a/package-lock.json +++ b/package-lock.json @@ -976,37 +976,55 @@ "dev": true }, "@linthtml/linthtml": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@linthtml/linthtml/-/linthtml-0.3.2.tgz", - "integrity": "sha512-3A/u+a+gdz3wcYgPV69RNb1+eREEwkjy9+595vK7yQnG9PXHhBP1EBEhkvzG3cpkf/Tzxi3JjxzH8NL6+dY65w==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@linthtml/linthtml/-/linthtml-0.8.3.tgz", + "integrity": "sha512-XEWciGfUsejgt7NaMI1n3JZExsijneOQ+JOwUslwy+ZYY6M2+JXs6PLSRQKd6+t0xp0aQ5LEhWgxK4dqi+wC7Q==", "dev": true, "requires": { "bulk-require": "1.0.1", - "chalk": "3.0.0", - "cosmiconfig": "6.0.0", - "globby": "10.0.1", - "htmlparser2": "3.10.1", + "chalk": "4.1.1", + "cosmiconfig": "7.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.2", + "htmlparser2": "^6.1.0", + "ignore": "^5.1.4", + "inquirer": "^8.1.1", + "js-yaml": "^3.14.0", "kebabcase": "1.0.1", "lodash.pull": "4.1.0", - "lodash.template": ">=4.5.0", - "meow": "6.0.0", - "ora": "4.0.3", - "table-layout": "1.0.0" + "meow": "^9.0.0", + "ora": "^5.3.0", + "resolve-from": "^5.0.0", + "table-layout": "1.0.1" }, "dependencies": { "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "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": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -1026,15 +1044,30 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1051,39 +1084,87 @@ "dev": true }, "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" } }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", "dev": true, "requires": { - "path-type": "^4.0.0" + "domelementtype": "^2.2.0" } }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, "fast-glob": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", - "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.8.tgz", + "integrity": "sha512-UsiHHXoDbC3iS7vBOFvld7Q9XqBu318xztdHiL10Fjov3AK5GI5bek2ZJkxZcjPguOYH39UL1W4A6w+l7tpNtw==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" } }, "fill-range": { @@ -1096,27 +1177,25 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "globby": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", - "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, "requires": { - "@types/glob": "^7.1.1", "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", "slash": "^3.0.0" } }, @@ -1126,10 +1205,50 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, "ignore": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.6.tgz", - "integrity": "sha512-cgXgkypZBcCnOgSihyeqbo6gjIaIyDqPQB7Ra4vhE9m6kigdGoQDMHjviFhRZo3IMlRy6yElosoviMs5YxZXUA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "inquirer": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-number": { @@ -1138,25 +1257,62 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" } }, "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", + "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, @@ -1166,10 +1322,61 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz", + "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "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" @@ -1183,6 +1390,137 @@ "requires": { "is-number": "^7.0.0" } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@mate-academy/bemlint": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@mate-academy/bemlint/-/bemlint-0.1.1.tgz", + "integrity": "sha512-fhY7PfaUDZpe/DU1qJRW3AO5Tuua9HLm8ZIgVD7HijerZi8QIsC/R+NfcGPQfo9eVD4FDf4Jba0vTzSAO5ayJg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "commander": "^7.1.0", + "cosmiconfig": "^7.0.0", + "parse5": "^6.0.1", + "table-layout": "^1.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" + } + }, + "array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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" + } + }, + "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": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.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 + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "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" + } + }, + "table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + } } } }, @@ -1200,19 +1538,39 @@ } }, "@mate-academy/linthtml-config": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@mate-academy/linthtml-config/-/linthtml-config-0.0.1.tgz", - "integrity": "sha512-aMl7yGGVEvz0VvbWiRFKhSu52B/pz1zQCqOBUaZhAJsEvsizHhBLa1vIjf0QKGk098YqqHBJxk0YgJvDBpuelQ==", + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@mate-academy/linthtml-config/-/linthtml-config-0.0.2.tgz", + "integrity": "sha512-7INR19TGSfuLdkWdt3sbLRjOyZQX7TwzEVmdGrDr16uMFI9nH77a6ciGpAW57FVyg2tf59KGMH7iACwfohvc8g==", "dev": true }, "@mate-academy/scripts": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-0.2.0.tgz", - "integrity": "sha512-17i1Kdc+8D6CqypX+0MsHXIt299nA90JVUU2CyNb/Rrw2oPMUVwImbHCK6dJYJlZ6GRF2CV5zRBauVHLmldPFw==", + "version": "0.9.14", + "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-0.9.14.tgz", + "integrity": "sha512-UPbzJQJSxXCyYGwoaW5yvQ3tXV1sE7/Ceg9ilEbk08Uw9MIXztvQ0OQVv8AoWDnS53n3JFwoTvpmbsUt6WcS0A==", "dev": true, "requires": { + "@octokit/rest": "^17.11.2", + "@types/get-port": "^4.2.0", "commander": "^5.1.0", - "fs-extra": "^9.0.0" + "cross-env": "^7.0.3", + "dotenv": "^8.6.0", + "fs-extra": "^9.1.0", + "get-port": "^5.1.1", + "open": "^7.4.2" + }, + "dependencies": { + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + }, + "get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true + } } }, "@mate-academy/stylelint-config": { @@ -1286,6 +1644,235 @@ "fastq": "^1.6.0" } }, + "@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3" + }, + "dependencies": { + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + } + } + }, + "@octokit/core": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.4.tgz", + "integrity": "sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ==", + "dev": true, + "requires": { + "@octokit/auth-token": "^2.4.0", + "@octokit/graphql": "^4.3.1", + "@octokit/request": "^5.4.0", + "@octokit/types": "^5.0.0", + "before-after-hook": "^2.1.0", + "universal-user-agent": "^5.0.0" + } + }, + "@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + } + } + }, + "@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dev": true, + "requires": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + } + } + }, + "@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dev": true, + "requires": { + "@octokit/types": "^6.34.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + } + } + }, + "@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz", + "integrity": "sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg==", + "dev": true, + "requires": { + "@octokit/types": "^4.1.6", + "deprecation": "^2.3.1" + }, + "dependencies": { + "@octokit/types": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.10.tgz", + "integrity": "sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } + } + }, + "@octokit/request": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", + "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", + "dev": true, + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + } + } + }, + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + } + } + }, + "@octokit/rest": { + "version": "17.11.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.11.2.tgz", + "integrity": "sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ==", + "dev": true, + "requires": { + "@octokit/core": "^2.4.3", + "@octokit/plugin-paginate-rest": "^2.2.0", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "3.17.0" + } + }, + "@octokit/types": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.5.0.tgz", + "integrity": "sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + }, "@parcel/fs": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", @@ -1383,29 +1970,15 @@ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "@types/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-Iv2FAb5RnIk/eFO2CTu8k+0VMmIR15pKbcqRWi+s3ydW+aKXlN2yemP92SrO++ERyJx+p6Ie1ggbLBMbU1SjiQ==", "dev": true, "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "get-port": "*" } }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, "@types/minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", @@ -1625,9 +2198,9 @@ "dev": true }, "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", "dev": true }, "array-equal": { @@ -1986,6 +2559,12 @@ "tweetnacl": "^0.14.3" } }, + "before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -2001,6 +2580,40 @@ "file-uri-to-path": "1.0.0" } }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -2469,9 +3082,9 @@ } }, "cli-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, "cli-width": { @@ -2774,6 +3387,58 @@ "sha.js": "^2.4.8" } }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -3249,6 +3914,12 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, "des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", @@ -3475,6 +4146,15 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", @@ -3906,6 +4586,21 @@ "safe-buffer": "^5.1.1" } }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, "execall": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", @@ -4310,15 +5005,15 @@ "dev": true }, "fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "fs.realpath": { @@ -4442,6 +5137,15 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -5195,6 +5899,15 @@ "rgba-regex": "^1.0.0" } }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5252,6 +5965,12 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -5370,6 +6089,12 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, "is-string": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", @@ -5400,6 +6125,12 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -5556,6 +6287,12 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -5590,13 +6327,13 @@ } }, "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "jsprim": { @@ -5688,12 +6425,6 @@ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, "lodash.clone": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", @@ -5718,25 +6449,6 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -5787,6 +6499,12 @@ "yallist": "^2.1.2" } }, + "macos-release": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", + "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", + "dev": true + }, "magic-string": { "version": "0.22.5", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", @@ -5865,30 +6583,25 @@ "dev": true }, "meow": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.0.0.tgz", - "integrity": "sha512-x4rYsjigPBDAxY+BGuK83YLhUIqui5wYyZoqb6QJCUOs+0fiYq+i/NV4Jt8OgIfObZFxG9iTyvLDu4UTohGTFw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, "requires": { "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.1.1", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.0.0", - "minimist-options": "^4.0.1", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", "redent": "^3.0.0", "trim-newlines": "^3.0.0", - "type-fest": "^0.8.1", - "yargs-parser": "^16.1.0" + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -5899,6 +6612,15 @@ "path-exists": "^4.0.0" } }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -5908,15 +6630,25 @@ "p-locate": "^4.1.0" } }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" } }, "p-limit": { @@ -5944,14 +6676,14 @@ "dev": true }, "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", + "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, @@ -5973,6 +6705,30 @@ "type-fest": "^0.6.0" }, "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "type-fest": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", @@ -5990,17 +6746,36 @@ "find-up": "^4.1.0", "read-pkg": "^5.2.0", "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, - "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "lru-cache": "^6.0.0" } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, @@ -6214,6 +6989,39 @@ "integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ==", "dev": true }, + "node-fetch": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "node-forge": { "version": "0.7.6", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", @@ -6568,6 +7376,15 @@ "sort-keys": "^1.0.0" } }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", @@ -6741,6 +7558,27 @@ "mimic-fn": "^1.0.0" } }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, "opn": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", @@ -6765,41 +7603,41 @@ } }, "ora": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", - "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "requires": { - "chalk": "^3.0.0", + "bl": "^4.1.0", + "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", + "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "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": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -6837,64 +7675,13 @@ "dev": true }, "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "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": { - "color-convert": "^1.9.0" - } - }, - "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" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "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": "^3.0.0" - } - } + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "mimic-fn": { @@ -6903,16 +7690,10 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -6929,18 +7710,18 @@ } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "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" @@ -6960,6 +7741,16 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, + "os-name": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", + "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "dev": true, + "requires": { + "macos-release": "^2.2.0", + "windows-release": "^3.1.0" + } + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -6976,6 +7767,12 @@ "os-tmpdir": "^1.0.0" } }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -8128,6 +8925,16 @@ } } }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -9656,6 +10463,12 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -10288,14 +11101,14 @@ } }, "table-layout": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.0.tgz", - "integrity": "sha512-o8V8u943KXX9gLNK/Ss1n6Nn4YhpyY/RRnp3hKv/zTA+SXYiQnzJQlR8CZQf1RqYqgkiWMJ54Mv+Vq9Kfzxz1A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.1.tgz", + "integrity": "sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q==", "dev": true, "requires": { - "array-back": "^3.1.0", + "array-back": "^4.0.1", "deep-extend": "~0.6.0", - "typical": "^5.0.0", + "typical": "^5.2.0", "wordwrapjs": "^4.0.0" } }, @@ -10545,9 +11358,9 @@ } }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, "typedarray": { @@ -10767,10 +11580,19 @@ "unist-util-is": "^4.0.0" } }, + "universal-user-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", + "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", + "dev": true, + "requires": { + "os-name": "^3.1.0" + } + }, "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, "unquote": { @@ -11066,6 +11888,15 @@ "string-width": "^1.0.2 || 2" } }, + "windows-release": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", + "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", + "dev": true, + "requires": { + "execa": "^1.0.0" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -11147,6 +11978,12 @@ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true } } } diff --git a/package.json b/package.json index 8bbaf296..c9751977 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,11 @@ "author": "Mate Academy", "license": "GPL-3.0", "devDependencies": { - "@linthtml/linthtml": "^0.3.2", + "@linthtml/linthtml": "^0.8.3", "@mate-academy/bemlint": "^0.1.1", "@mate-academy/eslint-config": "*", - "@mate-academy/linthtml-config": "0.0.1", - "@mate-academy/scripts": "^0.2.0", + "@mate-academy/linthtml-config": "0.0.2", + "@mate-academy/scripts": "^0.9.14", "@mate-academy/stylelint-config": "0.0.9", "colors": "^1.3.3", "eslint": "^5.16.0", diff --git a/src/fonts/Larsseit family/Larsseit-Bold.eot b/src/fonts/Larsseit family/Larsseit-Bold.eot deleted file mode 100644 index 518328a8..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Bold.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Bold.ttf b/src/fonts/Larsseit family/Larsseit-Bold.ttf deleted file mode 100644 index 76862980..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Bold.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Bold.woff b/src/fonts/Larsseit family/Larsseit-Bold.woff deleted file mode 100644 index 9cf0167b..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Bold.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Bold.woff2 b/src/fonts/Larsseit family/Larsseit-Bold.woff2 deleted file mode 100644 index c08242af..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Bold.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-BoldItalic.eot b/src/fonts/Larsseit family/Larsseit-BoldItalic.eot deleted file mode 100644 index 82ccea57..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-BoldItalic.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-BoldItalic.ttf b/src/fonts/Larsseit family/Larsseit-BoldItalic.ttf deleted file mode 100644 index 5a38386a..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-BoldItalic.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-BoldItalic.woff b/src/fonts/Larsseit family/Larsseit-BoldItalic.woff deleted file mode 100644 index 97b93173..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-BoldItalic.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-BoldItalic.woff2 b/src/fonts/Larsseit family/Larsseit-BoldItalic.woff2 deleted file mode 100644 index ae2eb67d..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-BoldItalic.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBold.eot b/src/fonts/Larsseit family/Larsseit-ExtraBold.eot deleted file mode 100644 index b56689ad..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBold.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBold.ttf b/src/fonts/Larsseit family/Larsseit-ExtraBold.ttf deleted file mode 100644 index 5b9f86a8..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBold.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBold.woff b/src/fonts/Larsseit family/Larsseit-ExtraBold.woff deleted file mode 100644 index 534f2014..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBold.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBold.woff2 b/src/fonts/Larsseit family/Larsseit-ExtraBold.woff2 deleted file mode 100644 index a85f3a1c..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBold.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.eot b/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.eot deleted file mode 100644 index 35fcd6a2..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.ttf b/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.ttf deleted file mode 100644 index 75a1209f..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.woff b/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.woff deleted file mode 100644 index e151af52..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.woff2 b/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.woff2 deleted file mode 100644 index 79efc9cc..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ExtraBoldItalic.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Italic.eot b/src/fonts/Larsseit family/Larsseit-Italic.eot deleted file mode 100644 index 3767ae95..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Italic.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Italic.ttf b/src/fonts/Larsseit family/Larsseit-Italic.ttf deleted file mode 100644 index dea41ac9..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Italic.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Italic.woff b/src/fonts/Larsseit family/Larsseit-Italic.woff deleted file mode 100644 index 2bb7ee5d..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Italic.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Italic.woff2 b/src/fonts/Larsseit family/Larsseit-Italic.woff2 deleted file mode 100644 index d3f13ad1..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Italic.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Light.eot b/src/fonts/Larsseit family/Larsseit-Light.eot deleted file mode 100644 index 6416b93e..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Light.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Light.ttf b/src/fonts/Larsseit family/Larsseit-Light.ttf deleted file mode 100644 index 65ec8108..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Light.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Light.woff b/src/fonts/Larsseit family/Larsseit-Light.woff deleted file mode 100644 index 9018ad13..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Light.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Light.woff2 b/src/fonts/Larsseit family/Larsseit-Light.woff2 deleted file mode 100644 index bed49e85..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Light.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-LightItalic.eot b/src/fonts/Larsseit family/Larsseit-LightItalic.eot deleted file mode 100644 index 3fafaeb0..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-LightItalic.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-LightItalic.ttf b/src/fonts/Larsseit family/Larsseit-LightItalic.ttf deleted file mode 100644 index 7c019b34..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-LightItalic.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-LightItalic.woff b/src/fonts/Larsseit family/Larsseit-LightItalic.woff deleted file mode 100644 index c829269b..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-LightItalic.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-LightItalic.woff2 b/src/fonts/Larsseit family/Larsseit-LightItalic.woff2 deleted file mode 100644 index cc8bd80d..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-LightItalic.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Medium.eot b/src/fonts/Larsseit family/Larsseit-Medium.eot deleted file mode 100644 index c13fe04d..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Medium.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Medium.ttf b/src/fonts/Larsseit family/Larsseit-Medium.ttf deleted file mode 100644 index bc49e075..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Medium.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Medium.woff b/src/fonts/Larsseit family/Larsseit-Medium.woff deleted file mode 100644 index 2c0c474d..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Medium.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Medium.woff2 b/src/fonts/Larsseit family/Larsseit-Medium.woff2 deleted file mode 100644 index b2ed19d9..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Medium.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-MediumItalic.eot b/src/fonts/Larsseit family/Larsseit-MediumItalic.eot deleted file mode 100644 index dcd0f813..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-MediumItalic.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-MediumItalic.ttf b/src/fonts/Larsseit family/Larsseit-MediumItalic.ttf deleted file mode 100644 index 491a8cca..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-MediumItalic.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-MediumItalic.woff b/src/fonts/Larsseit family/Larsseit-MediumItalic.woff deleted file mode 100644 index 8249f3d9..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-MediumItalic.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-MediumItalic.woff2 b/src/fonts/Larsseit family/Larsseit-MediumItalic.woff2 deleted file mode 100644 index 84f9cca9..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-MediumItalic.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Thin.eot b/src/fonts/Larsseit family/Larsseit-Thin.eot deleted file mode 100644 index 5a16990f..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Thin.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Thin.ttf b/src/fonts/Larsseit family/Larsseit-Thin.ttf deleted file mode 100644 index 99ee40b2..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Thin.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Thin.woff b/src/fonts/Larsseit family/Larsseit-Thin.woff deleted file mode 100644 index 1aa33b37..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Thin.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-Thin.woff2 b/src/fonts/Larsseit family/Larsseit-Thin.woff2 deleted file mode 100644 index bdcd7816..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-Thin.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ThinItalic.eot b/src/fonts/Larsseit family/Larsseit-ThinItalic.eot deleted file mode 100644 index 5a00b85f..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ThinItalic.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ThinItalic.ttf b/src/fonts/Larsseit family/Larsseit-ThinItalic.ttf deleted file mode 100644 index 7c6cfd3b..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ThinItalic.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ThinItalic.woff b/src/fonts/Larsseit family/Larsseit-ThinItalic.woff deleted file mode 100644 index bc919e11..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ThinItalic.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit-ThinItalic.woff2 b/src/fonts/Larsseit family/Larsseit-ThinItalic.woff2 deleted file mode 100644 index b16dc1b2..00000000 Binary files a/src/fonts/Larsseit family/Larsseit-ThinItalic.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit.eot b/src/fonts/Larsseit family/Larsseit.eot deleted file mode 100644 index 008bc6d5..00000000 Binary files a/src/fonts/Larsseit family/Larsseit.eot and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit.ttf b/src/fonts/Larsseit family/Larsseit.ttf deleted file mode 100644 index ba2d10ad..00000000 Binary files a/src/fonts/Larsseit family/Larsseit.ttf and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit.woff b/src/fonts/Larsseit family/Larsseit.woff deleted file mode 100644 index 75368561..00000000 Binary files a/src/fonts/Larsseit family/Larsseit.woff and /dev/null differ diff --git a/src/fonts/Larsseit family/Larsseit.woff2 b/src/fonts/Larsseit family/Larsseit.woff2 deleted file mode 100644 index f0d38dce..00000000 Binary files a/src/fonts/Larsseit family/Larsseit.woff2 and /dev/null differ diff --git a/src/fonts/Larsseit family/stylesheet.css b/src/fonts/Larsseit family/stylesheet.css deleted file mode 100644 index 03017ff8..00000000 --- a/src/fonts/Larsseit family/stylesheet.css +++ /dev/null @@ -1,144 +0,0 @@ -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-MediumItalic.eot'); - src: local('Larsseit Medium Italic'), local('Larsseit-MediumItalic'), - url('Larsseit-MediumItalic.eot?#iefix') format('embedded-opentype'), - url('Larsseit-MediumItalic.woff2') format('woff2'), - url('Larsseit-MediumItalic.woff') format('woff'), - url('Larsseit-MediumItalic.ttf') format('truetype'); - font-weight: 500; - font-style: italic; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-Thin.eot'); - src: local('Larsseit Thin'), local('Larsseit-Thin'), - url('Larsseit-Thin.eot?#iefix') format('embedded-opentype'), - url('Larsseit-Thin.woff2') format('woff2'), - url('Larsseit-Thin.woff') format('woff'), - url('Larsseit-Thin.ttf') format('truetype'); - font-weight: 100; - font-style: normal; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-LightItalic.eot'); - src: local('Larsseit Light Italic'), local('Larsseit-LightItalic'), - url('Larsseit-LightItalic.eot?#iefix') format('embedded-opentype'), - url('Larsseit-LightItalic.woff2') format('woff2'), - url('Larsseit-LightItalic.woff') format('woff'), - url('Larsseit-LightItalic.ttf') format('truetype'); - font-weight: 300; - font-style: italic; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit.eot'); - src: local('Larsseit'), - url('Larsseit.eot?#iefix') format('embedded-opentype'), - url('Larsseit.woff2') format('woff2'), - url('Larsseit.woff') format('woff'), - url('Larsseit.ttf') format('truetype'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-ExtraBold.eot'); - src: local('Larsseit ExtraBold'), local('Larsseit-ExtraBold'), - url('Larsseit-ExtraBold.eot?#iefix') format('embedded-opentype'), - url('Larsseit-ExtraBold.woff2') format('woff2'), - url('Larsseit-ExtraBold.woff') format('woff'), - url('Larsseit-ExtraBold.ttf') format('truetype'); - font-weight: 800; - font-style: normal; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-BoldItalic.eot'); - src: local('Larsseit Bold Italic'), local('Larsseit-BoldItalic'), - url('Larsseit-BoldItalic.eot?#iefix') format('embedded-opentype'), - url('Larsseit-BoldItalic.woff2') format('woff2'), - url('Larsseit-BoldItalic.woff') format('woff'), - url('Larsseit-BoldItalic.ttf') format('truetype'); - font-weight: bold; - font-style: italic; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-Light.eot'); - src: local('Larsseit Light'), local('Larsseit-Light'), - url('Larsseit-Light.eot?#iefix') format('embedded-opentype'), - url('Larsseit-Light.woff2') format('woff2'), - url('Larsseit-Light.woff') format('woff'), - url('Larsseit-Light.ttf') format('truetype'); - font-weight: 300; - font-style: normal; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-Bold.eot'); - src: local('Larsseit Bold'), local('Larsseit-Bold'), - url('Larsseit-Bold.eot?#iefix') format('embedded-opentype'), - url('Larsseit-Bold.woff2') format('woff2'), - url('Larsseit-Bold.woff') format('woff'), - url('Larsseit-Bold.ttf') format('truetype'); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-Italic.eot'); - src: local('Larsseit Italic'), local('Larsseit-Italic'), - url('Larsseit-Italic.eot?#iefix') format('embedded-opentype'), - url('Larsseit-Italic.woff2') format('woff2'), - url('Larsseit-Italic.woff') format('woff'), - url('Larsseit-Italic.ttf') format('truetype'); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-Medium.eot'); - src: local('Larsseit Medium'), local('Larsseit-Medium'), - url('Larsseit-Medium.eot?#iefix') format('embedded-opentype'), - url('Larsseit-Medium.woff2') format('woff2'), - url('Larsseit-Medium.woff') format('woff'), - url('Larsseit-Medium.ttf') format('truetype'); - font-weight: 500; - font-style: normal; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-ExtraBoldItalic.eot'); - src: local('Larsseit ExtraBold Italic'), local('Larsseit-ExtraBoldItalic'), - url('Larsseit-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'), - url('Larsseit-ExtraBoldItalic.woff2') format('woff2'), - url('Larsseit-ExtraBoldItalic.woff') format('woff'), - url('Larsseit-ExtraBoldItalic.ttf') format('truetype'); - font-weight: 800; - font-style: italic; -} - -@font-face { - font-family: 'Larsseit'; - src: url('Larsseit-ThinItalic.eot'); - src: local('Larsseit Thin Italic'), local('Larsseit-ThinItalic'), - url('Larsseit-ThinItalic.eot?#iefix') format('embedded-opentype'), - url('Larsseit-ThinItalic.woff2') format('woff2'), - url('Larsseit-ThinItalic.woff') format('woff'), - url('Larsseit-ThinItalic.ttf') format('truetype'); - font-weight: 100; - font-style: italic; -} - diff --git a/src/index.html b/src/index.html index 5d357bd6..559e3f73 100644 --- a/src/index.html +++ b/src/index.html @@ -1,13 +1,491 @@ - + - Title + + Thrivetalk - -

Hello Mate Academy

+ +
+
+ +
+
+
+
+
+
+ + Thrivetalk + +

+ HELPING YOU THRIVE IN ALL AREAS OF LIFE +

+

+ Our highly talented therapists can help you with a range of issues including relationships, sex, PTSD, depression, social anxiety, or even just caring for yourself more. +

+ +
+
+
+
+ Business conversation between two men +
+
+
+
+
+
+

+ Why Thrive? +

+

+ Want to improve your well-being from the comfort of your own couch? Are you having trouble finding the right therapist? + + Here at ThriveTalk, our licensed therapists provide the same quality care you would get in office from anywhere you can access your laptop or mobile phone. Become your best self with ThriveTalk. Start therapy now with a licensed therapist! + +

+
+
+
+
+ Girl doing fitness +
+
+
+
+
+

ABOUT US

+

+ We want to help you thrive! Whether you are just looking for someone to talk to, or are struggling with a mental wellness issue we’re here to help. Our highly talented therapists can help you with a range of issues including relationships, sex, PTSD, depression, social anxiety, or even just caring for yourself more. +

+
+
+
+
+

+ WE CAN HELP YOU WITH +

+ +
+
+ +
+
+ +
+
+
+
+
+

+ YOU SHOULD ALSO KNOW +

+

+ MDD affects more than 16.1 million American adults, or about 6.7%of the U.S. population age 18 and older in a given year. We at + ThriveTalk can help you. +

+ + GET HELP NOW + +
+
+
+
+ Business conversation between two men +
+
+
+
+
+
+

CONTACT US

+

+ Ready. Set. Smile +

+

+ Take the free online assessment to see if you are a candidate and get started on your journey. +

+ + GET HELP NOW + +
+
+
+
+ Man in sportswear +
+
+ +
+
+ +
+ +
diff --git a/src/scripts/main.js b/src/scripts/main.js index ad9a93a7..3ad03f24 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1 +1,66 @@ 'use strict'; + +// Menu +const iconMenu = document.querySelector('.icon-menu'); +const menuBody = document.querySelector('.menu__body'); + +if (iconMenu) { + iconMenu.addEventListener('click', function(e) { + document.body.classList.toggle('_lock'); + iconMenu.classList.toggle('_active'); + menuBody.classList.toggle('_active'); + }); +} + +// Прокрутка при клике +const menuLinks = document.querySelectorAll('.menu__link[data-goto]'); + +function onMenuLinkClick(e) { + const menuLink = e.target; + + if (menuLink.dataset.goto && document.querySelector(menuLink.dataset.goto)) { + const gotoBlock = document.querySelector(menuLink.dataset.goto); + const gotoBlockValue + = gotoBlock.getBoundingClientRect().top + + window.pageYOffset; + + if (iconMenu.classList.contains('_active')) { + document.body.classList.remove('_lock'); + iconMenu.classList.remove('_active'); + menuBody.classList.remove('_active'); + } + + window.scrollTo({ + top: gotoBlockValue, + behavior: 'smooth', + }); + e.preventDefault(); + } +} + +if (menuLinks.length > 0) { + menuLinks.forEach((menuLink) => { + menuLink.addEventListener('click', onMenuLinkClick); + }); +} + +// Кнопка вверх +document.addEventListener('DOMContentLoaded', () => { + const toTopBtn = document.querySelector('.up'); + + window.onscroll = function() { + if (window.pageYOffset > 580) { + toTopBtn.classList.add('_up-show'); + } else { + toTopBtn.classList.remove('_up-show'); + } + }; + + // плавный скролл наверх + toTopBtn.addEventListener('click', function() { + window.scrollBy({ + top: -document.documentElement.scrollHeight, + behavior: 'smooth', + }); + }); +}); diff --git a/src/styles/_fonts.scss b/src/styles/_fonts.scss index 2067b3fc..c37ac409 100644 --- a/src/styles/_fonts.scss +++ b/src/styles/_fonts.scss @@ -1,6 +1,35 @@ @font-face { - font-family: "Roboto"; - src: url("../fonts/Roboto-Regular-webfont.woff") format("woff"); + font-family: "Larsseit"; + src: url("../fonts/Larsseit-Light.woff") format("woff"), + url("../fonts/Larsseit-Light.woff2") format("woff2"); + font-weight: 300; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Larsseit"; + src: url("../fonts/Larsseit.woff") format("woff"), + url("../fonts/Larsseit.woff2") format("woff2"); font-weight: normal; font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Larsseit"; + src: url("../fonts/Larsseit-Medium.woff") format("woff"), + url("../fonts/Larsseit-Medium.woff2") format("woff2"); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Larsseit"; + src: url("../fonts/Larsseit-Bold.woff") format("woff"), + url("../fonts/Larsseit-Bold.woff2") format("woff2"); + font-weight: 700; + font-style: normal; + font-display: swap; } diff --git a/src/styles/_typography.scss b/src/styles/_typography.scss index 1837eb46..81721ad7 100644 --- a/src/styles/_typography.scss +++ b/src/styles/_typography.scss @@ -1,3 +1,3 @@ -h1 { - @extend %h1; -} +// h1 { +// @extend %h1; +// } diff --git a/src/styles/main.scss b/src/styles/main.scss index 0f8860e4..1a2d764d 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -1,7 +1,990 @@ @import "utils"; @import "fonts"; -@import "typography"; -body { - background: $c-gray; +@function getAdaptImgTo($percImage) { + @return 0 0 calc(((100vw - 30px) * #{$percImage}) + 15px); +} + +@function getAdaptImgOver($percContent) { + @return 0 0 + calc( + 100vw - (((100vw - #{$md1}) / 2) + ((#{$md1} - 30px) * #{$md1}) + 15px) + ); +} + +//#region reset +*, +*::before, +*::after { + margin: 0; + padding: 0; + border: 0; + box-sizing: border-box; +} + +button { + cursor: pointer; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: inherit; + font-size: inherit; +} + +ol li, +ul li { + list-style: none; +} + +img { + vertical-align: top; +} + +a, +a:visited, +a:hover { + text-decoration: none; +} +//#endregion + +.page { + &__body { + font-size: $fontSize; + + &._lock { + overflow: hidden; + } + } + + &__wrapper { + overflow: hidden; + min-height: 100%; + } +} + +.page, +.page__body { + height: 100%; + font-family: $mainFont; + color: $colorMain; + scroll-behavior: smooth; +} + +._container { + max-width: $maxWidthContainer + px; + margin: 0 auto; + padding: 0 15px; +} + +.ibg { + position: relative; + + &__img { + position: absolute; + width: 100%; + height: 100%; + top: 0; + right: 0; + object-fit: cover; + } +} + +.button { + display: inline-flex; + align-items: center; + min-height: 50px; + padding: 0 30px; + font-size: 1rem; + line-height: 23 / 16 * 100%; + font-weight: 700; + font-family: inherit; + text-transform: uppercase; + border: 1px solid transparent; + transition: all 0.3s ease 0s; + + &--text-orange { + color: #f9b640; + + @media (any-hover: hover) { + &:hover { + border: 1px solid #f9b640; + } + } + } + + &--text-blue { + color: #62d0df; + + @media (any-hover: hover) { + &:hover { + border: 1px solid #62d0df; + } + } + + &:active { + background-color: #62d0df; + color: #22356f; + } + } + + &--orange { + color: #fff; + background-color: #f9b640; + + @media (any-hover: hover) { + &:hover { + border: 1px solid #f9b640; + color: #f9b640; + box-shadow: 0 0 8px 4px rgba(34, 60, 80, 0.2); + background-color: #f4f9e2; + } + } + + @media (max-width: ($md4+px)) { + margin-bottom: 10px; + } + } + + &:active { + box-shadow: 0 0 10px 2px rgba(34, 60, 80, 0.2); + } +} + +.icon-menu { + display: none; + @media (max-width: ($md3+px)) { + display: block; + position: relative; + z-index: 5; + flex: 0 0 26px; + height: 16px; + cursor: pointer; + span { + transition: all 0.3s ease 0s; + top: calc(50% - 1px); + left: 0; + position: absolute; + width: 100%; + height: 2px; + background-color: #000; + &:first-child { + top: 0; + } + &:last-child { + top: auto; + bottom: 0; + } + } + &._active { + span { + transform: scale(0); + &:first-child { + transform: rotate(-45deg); + top: calc(50% - 1px); + } + &:last-child { + transform: rotate(45deg); + bottom: calc(50% - 1px); + } + } + } + } +} + +//#region header +.header { + position: absolute; + width: 100%; + top: 0; + left: 0; + z-index: 50; + + &__body { + display: flex; + align-items: center; + max-width: 1440px; + min-height: 50px; + padding: 0 15px; + margin: 0 auto; + + @media (min-width: ($md4+px)) { + min-height: 80px; + } + + @media (min-width: ($md3+px)) { + min-height: 104px; + @include adaptiv-value("padding-left", 180, 0, 1); + @include adaptiv-value("padding-right", 130, 0, 1); + } + } + + &__logo { + position: relative; + z-index: 3; + flex: 1 1 26.38rem; + margin-right: 14px; + @extend %thrivetalk; + } + + &__menu { + flex: 0 1 708px; + } + + &__button { + min-width: 150px; + font-size: 14 / 16 + rem; + line-height: 16 / 14 + em; + color: #fff; + background: #62d0df; + border-radius: 50px; + + @media (any-hover: hover) { + &:hover { + background-color: transparent; + border: 1px solid #62d0df; + color: #62d0df; + box-shadow: 0 0 8px 4px rgba(34, 60, 80, 0.2); + } + } + + &:active { + box-shadow: 0 0 8px 2px rgba(34, 60, 80, 0.2); + } + } +} + +.menu { + &__body { + @media (max-width: ($md3+px)) { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: -100%; + padding: 90px 15px 30px; + background: #f4f9e2; + overflow: auto; + transition: left 0.3s ease 0s; + text-align: center; + + @media (max-width: ($md4+px)) { + padding-top: 60px; + } + + &::before { + content: ""; + position: fixed; + z-index: 3; + width: 100%; + min-height: 50px; + top: 0; + left: -100%; + background-color: #f4f9e2; + transition: left 0.3s ease 0s; + + @media (min-width: ($md4+px)) { + min-height: 80px; + } + } + &._active { + left: 0; + &::before { + left: 0; + } + } + } + + @media (min-width: ($md3+px)) { + display: flex; + align-items: center; + text-align: center; + } + } + + &__list { + margin-top: 30px; + margin-bottom: 20px; + @media (min-width: ($md3+px)) { + flex: 1 1 auto; + display: flex; + margin-right: 14px; + } + } + + &__item { + &:not(:last-child) { + @include adaptiv-value("margin-right", 14, -5, 1); + } + } + + &__link { + @media (max-width: ($md3+px)) { + font-size: 20 / 16 + rem; + font-weight: 700; + } + + display: inline-block; + font-size: 14 / 16 + rem; + line-height: 16 / 14 * 100%; + padding: 14px 7px; + color: $colorMain; + border-bottom: 1px solid transparent; + transition: all 0.3s ease 0s; + + @media (any-hover: hover) { + &:hover { + border-bottom: 1px solid $colorMain; + } + } + + &:active { + color: #62d0df; + border-color: #62d0df; + } + } +} +//#endregion + +.section { + overflow: hidden; + + @media (min-width: ($md3+px)) { + display: flex; + } + + &--our-help { + background-color: #f4f9e2; + + @media (min-width: ($md3+px)) { + &::after { + content: ""; + position: absolute; + top: 0; + right: 0; + height: 100%; + width: 22.4%; + background-color: #fff; + } + } + } + + &--why-thrive { + background: #62d0df; + @include adaptiv-value("margin-bottom", 150, 40, 1); + } + + &__about-us { + @include adaptiv-value("margin-bottom", 70, 40, 1); + } + + &__help-with { + @include adaptiv-value("margin-bottom", 120, 20, 1); + } + + &__cards { + @include adaptiv-value("margin-bottom", 22, 30, 1); + } + + &__text-cards { + @include adaptiv-value("margin-bottom", 40, 30, 1); + } + + &--should-now { + display: flex; + flex-direction: column-reverse; + + @media (min-width: ($md3+px)) { + flex-direction: row-reverse; + } + } + + &--contact-us { + background-color: #22356f; + } + + &--info { + @media (min-width: ($md3+px)) { + display: flex; + flex-direction: row-reverse; + } + } + + &__content { + flex: 0 0 100%; + } + + &__image { + max-width: 100%; + + &--our-help, + &--why-thrive, + &--contact-us { + @media (min-width: ($md3+px)) { + transform: translateX(-100%); + } + } + + &--our-help { + z-index: 2; + + @media (min-width: ($md3+px)) { + align-self: start; + flex: getAdaptImgTo(0.45); + padding-bottom: 50.3%; + } + } + + &--why-thrive { + padding-bottom: 42%; + + @media (min-width: ($md3+px)) { + flex: getAdaptImgTo(0.36); + } + + @media (min-width: 1110px) { + flex: getAdaptImgOver(0.65); + } + } + + &--should-now, + &--info { + @media (min-width: ($md3+px)) { + margin-bottom: 0; + transform: translateX(100%); + } + } + + &--should-now { + padding-bottom: 55.6%; + + @media (min-width: ($md3+px)) { + flex: getAdaptImgTo(0.33); + } + + @media (min-width: 1110px) { + flex: getAdaptImgOver(0.62); + } + } + + &--contact-us { + padding-bottom: 75%; + + @media (min-width: ($md3+px)) { + padding-bottom: 55.6%; + flex: getAdaptImgTo(0.33); + } + + @media (min-width: 1110px) { + flex: getAdaptImgOver(0.49); + } + } + + &--info { + padding-bottom: 50%; + + @media (min-width: ($md3+px)) { + padding-bottom: 26.4%; + flex: getAdaptImgTo(0.39); + } + + @media (min-width: 1110px) { + flex: getAdaptImgOver(0.58); + } + } + } +} + +.title-section { + font-size: 1rem; + letter-spacing: 0.06em; + text-transform: uppercase; +} + +//#region our-help +.our-help { + @include adaptiv-value("padding-top", 235, 80, 1); + @include adaptiv-value("padding-right", 150, 0, 1); + @include adaptiv-value("padding-bottom", 75, 30, 1); + @media (min-width: ($md3+px)) { + width: 57%; + } + + &__subtitle { + @extend %thrivetalk; + @include adaptiv-value("margin-bottom", 50, 10, 1); + } + + &__title { + @include adaptiv-font(48, 28); + line-height: 53 / 48 * 100%; + letter-spacing: -0.04em; + font-weight: 700; + @include adaptiv-value("margin-bottom", 70, 15, 1); + } + + &__text { + @include adaptiv-value("margin-bottom", 56, 20, 1); + @include adaptiv-font(24, 18); + line-height: 42 / 24 * 100%; + + @media (max-width: ($md4+px)) { + line-height: 130%; + } + } + + &__buttons { + @media (max-width: ($md4+px)) { + text-align: center; + } + } +} +//#endregion + +//#region why thrive +.why-thrive { + @include adaptiv-value("padding-top", 150, 40, 1); + @include adaptiv-value("padding-right", 180, 15, 1); + @include adaptiv-value("padding-bottom", 90, 40, 1); + + @media (min-width: ($md3+px)) { + width: 68%; + } + + &__title { + color: #fff; + font-weight: 700; + @include adaptiv-font(36, 24); + line-height: 120%; + letter-spacing: -0.01em; + @include adaptiv-value("margin-bottom", 75, 15, 1); + } + + &__text { + color: #fff; + @include adaptiv-font(24, 18); + line-height: 145%; + font-weight: 700; + & span { + @include adaptiv-font(20, 16); + line-height: 29 / 20 * 100%; + font-weight: normal; + } + } +} +//#endregion + +//#region about-us +.about-us { + &__container { + max-width: 1260px; + padding: 0 15px; + margin: 0 auto; + } + + &__body { + @media (min-width: ($md3+px)) { + display: flex; + } + } + + &__title { + color: $colorMain; + line-height: 23 / 16 * 100%; + flex: 0 0 85px; + @include adaptiv-value("margin-right", 234, 0, 1); + + @media (max-width: ($md3+px)) { + margin-bottom: 15px; + } + } + + &__text { + @include adaptiv-value("padding-right", 320, 0, 1); + @include adaptiv-value("line-height", 43, 29, 1); + @include adaptiv-font(24, 18); + color: $colorMain; + font-weight: 500; + line-height: 120%; + letter-spacing: 0.01em; + } +} +//#endregion + +//#region help-with +.help-with { + display: flex; + flex-direction: column; + + &__title { + align-self: center; + color: rgba(34, 53, 111, 0.5); + @include adaptiv-value("margin-bottom", 24, 14, 1); + } + + &__cards { + display: grid; + grid-template: repeat(1, 1fr); + + @media (min-width: ($md3+px)) { + grid-template: repeat(2, 1fr) / repeat(2, 1fr); + } + + @media (min-width: 1440px) { + grid-template: repeat(1, 1fr) / repeat(4, 1fr); + } + } + + &__card { + @each $name, $color in $colorsOne { + &:nth-child(#{$name}) { + background-color: $color; + } + } + padding-top: 70px; + @include adaptiv-value("padding-bottom", 210, 195, 1); + @include adaptiv-value("padding-left", 52, 32, 1); + @include adaptiv-value("padding-right", 52, 32, 1); + @include any-hover(transform, scale(1.05)); + + &:active { + transform: scale(0.95); + background-position: 0 0; + } + } +} +//#endregion + +.card { + transition: all 0.3s ease 0s; + + @media (any-hover: hover) { + box-shadow: 0 0 20px 2px rgba(34, 60, 80, 0.2); + background-image: url("../images/our_services/milkshake.jpg"); + background-repeat: no-repeat; + background-size: cover; + background-position: 0 -500%; + &:hover { + transform: scale(1.05); + background-position: 0 0; + } + } + + &:active { + transform: scale(0.95); + background-position: 0 0; + } + + &__content { + display: flex; + min-width: 255px; + margin: 0 auto; + padding-top: 24px; + border-top: 1px solid #fff; + + &::before { + content: ""; + position: relative; + top: 8px; + display: inline-block; + @include square(9px); + margin-right: 14px; + background-color: #e9b730; + border-radius: 50%; + } + + &--two { + padding-top: 30px; + } + } +} + +.subtitle-card { + @include adaptiv-font(32, 28); + line-height: 34 / 32 * 100%; + letter-spacing: -0.01em; + font-weight: 700; + color: #fff; +} + +//#region cards +.cards { + display: grid; + grid-template: repeat(1, 1fr); + @media (min-width: ($md3+px)) { + grid-template: repeat(2, 1fr) / repeat(2, 1fr); + } + + @media (min-width: 1440px) { + grid-template: repeat(2, 1fr) / repeat(3, 1fr); + } + + &__card { + @each $name, $color in $colorsTwo { + &:nth-child(#{$name}) { + background-color: $color; + } + } + + @include adaptiv-value("padding-top", 95, 70, 1); + @include adaptiv-value("padding-bottom", 282, 160, 1); + @include adaptiv-value("padding-left", 70, 32, 1); + @include adaptiv-value("padding-right", 70, 32, 1); + } +} +//#endregion + +//#region text-cards +.text-cards { + display: grid; + + @media (min-width: ($md3+px)) { + grid-template-columns: repeat(2, 1fr); + } + + @media (min-width: 1440px) { + grid-template-columns: repeat(3, 1fr); + } + + &__card { + transition: all 0.3s ease 0s; + + @media (any-hover: hover) { + &:hover { + box-shadow: 0 0 20px 2px rgba(34, 60, 80, 0.2); + } + } + + &:active { + box-shadow: 0 0 10px 2px rgba(34, 60, 80, 0.2); + } + } + + &__content { + @include adaptiv-value("padding-top", 55, 30, 1); + @include adaptiv-value("padding-bottom", 50, 10, 1); + @include adaptiv-value("padding-left", 105, 32, 1); + @include adaptiv-value("padding-right", 100, 32, 1); + } + + &__title { + @include adaptiv-value("margin-bottom", 28, 10, 1); + + @include adaptiv-font(28, 24); + line-height: 33 / 28 * 100%; + letter-spacing: -0.03em; + color: $colorMain; + } + + &__text { + font-size: 16px; + line-height: 25 / 16 * 100%; + letter-spacing: -0.03em; + color: rgba(34, 53, 111, 0.5); + } +} +//#endregion + +//#region should-now +.should-now { + @include adaptiv-value("padding-top", 104, 40, 1); + padding-bottom: 30px; + + @media (min-width: ($md3+px)) { + width: 62.1%; + margin-left: auto; + } + + &__title { + @include adaptiv-value("margin-bottom", 225, 15, 1); + } + + &__text { + @include adaptiv-value("margin-bottom", 150, 5, 1); + @include adaptiv-font(36, 24); + @include adaptiv-value("line-height", 53, 29, 1); + font-weight: 700; + line-height: 53 / 36 * 100%; + letter-spacing: -0.01em; + + & a { + color: #6cd3e1; + } + } + + &__button { + transform: translateX(-30px); + } +} +//#endregion + +//#region contact-us +.contact-us { + @media (min-width: ($md3+px)) { + width: 49%; + } + + @include adaptiv-value("padding-top", 104, 40, 1); + padding-bottom: 30px; + color: #fff; + + &__subtitle { + @include adaptiv-value("margin-bottom", 230, 10, 1); + } + + &__title { + font-weight: 700; + @include adaptiv-value("font-size", 64, 30, 1); + + @include adaptiv-value("line-height", 94, 45, 1); + letter-spacing: -0.01em; + @include adaptiv-value("margin-bottom", 75, 10, 1); + } + + &__text { + @include adaptiv-value("margin-bottom", 60, 10, 1); + @include adaptiv-value("line-height", 53, 36, 1); + @include adaptiv-font(36, 24); + @media (min-width: ($md3+px)) { + letter-spacing: -0.01em; + } + } + + &__button { + transform: translateX(-30px); + } +} +//#endregion + +//#region info +.info { + @include adaptiv-value("padding-top", 104, 40, 1); + padding-bottom: 40px; + + @media (min-width: ($md3+px)) { + width: 57.6%; + margin-left: auto; + } + + @media (min-width: ($md2+px)) { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + } + + &__item { + flex-grow: 0; + &:not(:last-child) { + margin-bottom: 15px; + } + + @media (min-width: ($md2+px)) { + &:not(:last-child) { + margin-right: 15px; + } + } + } +} + +.some-info { + flex-basis: 172px; + + &__text { + font-size: 0.88rem; + line-height: 23 / 14 * 100%; + letter-spacing: -0.01em; + color: rgba(34, 53, 111, 0.5); + } +} + +.contacts { + flex-basis: 160px; + + &__link { + display: block; + width: max-content; + @extend .some-info__text; + + @include any-hover(color, $colorMain); + + &:active { + color: $colorMain; + } + + &--addres { + @include adaptiv-value("margin-bottom", 30, 5, 1); + } + + &--mail { + color: #006dff; + } + } +} + +.work-time { + flex-basis: 107px; + + &__text { + @extend .some-info__text; + } +} +//#endregion + +.title-info { + margin-bottom: 10px; + font-size: 0.88rem; + letter-spacing: -0.01em; + font-weight: 700; + + @media (min-width: ($md2+px)) { + @include adaptiv-value("margin-bottom", 52, 0, 1); + } +} + +.footer { + background: #62d0df; + + &__container { + display: flex; + align-items: center; + min-height: 50px; + + @media (min-width: ($md3+px)) { + min-height: 80px; + } + } + + &__copy { + font-size: 0.88rem; + letter-spacing: -0.01em; + color: #fff; + } +} + +.up { + position: fixed; + bottom: 80px; + right: 40px; + z-index: 100; + @include square(60px); + text-align: center; + line-height: 60px; + background: #f9b640; + color: $colorMain; + cursor: pointer; + opacity: 0.7; + border-radius: 6px; + display: none; + transform: rotate(-90deg); + + @include any-hover(opacity, 1); + + &._up-show { + display: block; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); + } } diff --git a/src/styles/utils/_extends.scss b/src/styles/utils/_extends.scss index a1a5dd0e..7b9c24c5 100644 --- a/src/styles/utils/_extends.scss +++ b/src/styles/utils/_extends.scss @@ -1,4 +1,14 @@ -%h1 { - font-family: "Roboto", sans-serif; - font-weight: 400; +// %h1 { +// font-family: "Roboto", sans-serif; +// font-weight: 400; +// } + +%thrivetalk { + display: inline-flex; + font-weight: 700; + line-height: 1.13em; + letter-spacing: -0.04em; + color: #62d0df; + + @include any-hover(color, $colorMain); } diff --git a/src/styles/utils/_mixins.scss b/src/styles/utils/_mixins.scss index 80c79780..6361c928 100644 --- a/src/styles/utils/_mixins.scss +++ b/src/styles/utils/_mixins.scss @@ -1,6 +1,51 @@ -@mixin hover($_property, $_toValue) { +@mixin any-hover($_property, $_toValue) { transition: #{$_property} 0.3s; - &:hover { - #{$_property}: $_toValue; + @media (any-hover: hover) { + &:hover { + #{$_property}: $_toValue; + } } } + +//Адаптивное свойство +@mixin adaptiv-value($property, $startSize, $minSize, $type) { + $addSize: $startSize - $minSize; + @if $type==1 { + //Только если меньше контейнера + #{$property}: $startSize + px; + @media (max-width: #{$maxWidth + px}) { + #{$property}: calc( + #{$minSize + px} + #{$addSize} * ((100vw - 320px) / #{$maxWidth - 320}) + ); + } + } + @else if $type==2 { + //Только если больше контейнера + #{$property}: $startSize + px; + @media (min-width: #{$maxWidth + px}) { + #{$property}: calc( + #{$minSize + px} + #{$addSize} * ((100vw - 320px) / #{$maxWidth - 320}) + ); + } + } + @else { + //Всегда + #{$property}: calc( + #{$minSize + px} + #{$addSize} * ((100vw - 320px) / #{$maxWidth - 320}) + ); + } +} + +@mixin adaptiv-font($startSize, $minSize) { + $addSize: $startSize - $minSize; + $maxWidth: $maxWidth - 320; + + font-size: calc( + #{$minSize + px} + #{$addSize} * ((100vw - 320px) / #{$maxWidth}) + ); +} + +@mixin square($size) { + height: $size; + width: $size; +} diff --git a/src/styles/utils/_vars.scss b/src/styles/utils/_vars.scss index aeb006ff..5c1672a1 100644 --- a/src/styles/utils/_vars.scss +++ b/src/styles/utils/_vars.scss @@ -1 +1,24 @@ -$c-gray: #eee; +$minWidth: 320px; +$maxWidth: 1440; +$maxWidthContainer: 1110; +$md1: $maxWidthContainer + px; +$md2: 991.98; +$md3: 767.98; +$md4: 479.98; + +$mainFont: "Larsseit", sans-serif; +$fontSize: 1.5 + rem; +$colorMain:#22356f; + +$colorsOne: + "1" #ffe2de, + "2" #c4e769, + "3" #62d0df, + "4" #0052c1; +$colorsTwo: + "1" #22356f, + "2" #0052c1, + "3" #76b58b, + "4" #62d0df, + "5" #dee1ff, + "6" #8f00ff;