From ab8d8191934365ba0b0b6d084aa41bc7ba539381 Mon Sep 17 00:00:00 2001 From: Alistair McKinlay Date: Wed, 17 Jul 2019 08:45:34 +0100 Subject: [PATCH] Set up Prettier on md, html, json, and yaml --- .editorconfig | 2 +- .eslintrc.yml | 23 ++- .github/CONTRIBUTING.md | 2 +- .github/ISSUE_TEMPLATE/Bug_Report.md | 10 +- .github/ISSUE_TEMPLATE/Feature_Request.md | 1 - .prettierignore | 27 +++ .prettierrc.yml | 7 + CHANGELOG.md | 51 +++--- README.md | 10 +- client/thelounge.webmanifest | 3 +- package.json | 20 +- renovate.json | 12 +- scripts/changelog.js | 2 +- test/.nycrc-mocha | 18 -- test/.nycrc-mocha.json | 9 + test/.nycrc-mochapack | 11 -- test/.nycrc-mochapack.json | 6 + test/{.nycrc-report => .nycrc-report.json} | 5 +- test/client/index.html | 16 +- test/fixtures/.thelounge/vapid.json | 4 +- yarn.lock | 204 ++++++++++++++++++++- 21 files changed, 329 insertions(+), 114 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc.yml delete mode 100644 test/.nycrc-mocha create mode 100644 test/.nycrc-mocha.json delete mode 100644 test/.nycrc-mochapack create mode 100644 test/.nycrc-mochapack.json rename test/{.nycrc-report => .nycrc-report.json} (51%) diff --git a/.editorconfig b/.editorconfig index 770fafd6..d18cc919 100644 --- a/.editorconfig +++ b/.editorconfig @@ -16,6 +16,6 @@ insert_final_newline = true [*.md] trim_trailing_whitespace = false -[*.{json,yml}] +[*.{json,md,yml}] indent_style = space indent_size = 2 diff --git a/.eslintrc.yml b/.eslintrc.yml index 8710ad9e..05068e87 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -1,5 +1,4 @@ --- - root: true parserOptions: @@ -28,19 +27,29 @@ rules: eqeqeq: error handle-callback-err: error indent: [error, tab] - key-spacing: [error, {beforeColon: false, afterColon: true}] - keyword-spacing: [error, {before: true, after: true}] + key-spacing: + - error + - beforeColon: false + afterColon: true + keyword-spacing: + - error + - before: true + after: true linebreak-style: [error, unix] no-alert: error no-catch-shadow: error - no-confusing-arrow: [error, {allowParens: true}] + no-confusing-arrow: + - error + - allowParens: true no-control-regex: off no-console: error no-duplicate-imports: error no-else-return: error no-implicit-globals: error no-multi-spaces: error - no-multiple-empty-lines: [error, { "max": 1 }] + no-multiple-empty-lines: + - error + - max: 1 no-shadow: error no-template-curly-in-string: error no-trailing-spaces: error @@ -48,7 +57,9 @@ rules: no-useless-computed-key: error no-useless-constructor: error no-useless-return: error - no-use-before-define: [error, {functions: false}] + no-use-before-define: + - error + - functions: false no-var: error object-curly-spacing: [error, never] object-shorthand: diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 664876da..62ac1fcd 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -28,6 +28,6 @@ your contributions. Pope's guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). - Each PR will be reviewed by at least two different project maintainers. You can read more about this in the [maintainers' -corner](https://github.com/thelounge/thelounge/wiki/Maintainers'-corner). + corner](https://github.com/thelounge/thelounge/wiki/Maintainers'-corner). - Please document any relevant changes in the documentation that can be found [in its own repository](https://github.com/thelounge/thelounge.chat). diff --git a/.github/ISSUE_TEMPLATE/Bug_Report.md b/.github/ISSUE_TEMPLATE/Bug_Report.md index 26aed90a..f54b7f6b 100644 --- a/.github/ISSUE_TEMPLATE/Bug_Report.md +++ b/.github/ISSUE_TEMPLATE/Bug_Report.md @@ -1,15 +1,13 @@ --- name: Bug Report about: Create a bug report - --- -* *Node version:* -* *Browser version:* -* *Device, operating system:* -* *The Lounge version:* +- _Node version:_ +- _Browser version:_ +- _Device, operating system:_ +- _The Lounge version:_ --- - diff --git a/.github/ISSUE_TEMPLATE/Feature_Request.md b/.github/ISSUE_TEMPLATE/Feature_Request.md index 473d18b6..3649f03b 100644 --- a/.github/ISSUE_TEMPLATE/Feature_Request.md +++ b/.github/ISSUE_TEMPLATE/Feature_Request.md @@ -1,7 +1,6 @@ --- name: Feature Request about: Request a new feature - --- diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..08d66ad2 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,27 @@ +coverage/ +public/ +test/fixtures/.thelounge/logs/ +test/fixtures/.thelounge/storage/ + +*.log +*.png +*.svg +*.ico +*.wav +*.tpl +*.sh +*.opts +*.txt +yarn.lock +.gitignore +.npmrc +.npmignore +.prettierignore +.thelounge_home +.editorconfig +.eslintignore +.gitattributes + +*.css +*.js +*.vue diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 index 00000000..659327e6 --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,7 @@ +arrowParens: always +bracketSpacing: false +trailingComma: "es5" +overrides: + - files: "*.webmanifest" + options: + parser: json diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cc29afb..f42cafa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,9 +14,9 @@ Minor release to fix an issue where v3.1.0 fails to install on Linux/macOS using For more details, [see the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.1...v3.1.0) and [milestone](https://github.com/thelounge/thelounge/milestone/30?closed=1). -This is the first release that includes a largely rewritten frontend, which is built on top of the Vue.js framework! +This is the first release that includes a largely rewritten frontend, which is built on top of the Vue.js framework! We have started slowly transitioning the frontend to use Vue.js, which allows us to structure the code in a better fashion -and to remove all the hacks related to keeping the state in the DOM using jQuery data attributes. +and to remove all the hacks related to keeping the state in the DOM using jQuery data attributes. This paves the road for future support of client customization and a plugin system. While this release is mostly related to the rewrite, there are many user facing changes and improvements in this release! @@ -43,10 +43,10 @@ While this release is mostly related to the rewrite, there are many user facing - Input history is also per-channel now. ([#2791](https://github.com/thelounge/thelounge/pull/2791)) - Collapsing a network stays in active channel (and the active channel is still visible in the list) - Collapsed networks still show channels with highlights. ([#2223](https://github.com/thelounge/thelounge/pull/2223)) -- Client commands are refactored and `/join` can assume current channel. ([#2004](https://github.com/thelounge/thelounge/pull/2004)) ([#2281](https://github.com/thelounge/thelounge/pull/2281)) ([#2266](https://github.com/thelounge/thelounge/pull/2266)) -- Channel `/list` persists on page reloads. ([#2249](https://github.com/thelounge/thelounge/pull/2249)) +- Client commands are refactored and `/join` can assume current channel. ([#2004](https://github.com/thelounge/thelounge/pull/2004)) ([#2281](https://github.com/thelounge/thelounge/pull/2281)) ([#2266](https://github.com/thelounge/thelounge/pull/2266)) +- Channel `/list` persists on page reloads. ([#2249](https://github.com/thelounge/thelounge/pull/2249)) - Message parser now returns Vue elements (via createElement) instead of raw html content (no more manual escaping!) -- Message parser now actually accepts` CHANTYPES` and `PREFIX` from network. ([#443](https://github.com/thelounge/thelounge/pull/443)) +- Message parser now actually accepts `CHANTYPES` and `PREFIX` from network. ([#443](https://github.com/thelounge/thelounge/pull/443)) - Hidden status messages are no longer rendered in DOM. ([#813](https://github.com/thelounge/thelounge/pull/813)) - Channel state is synchronised to the client (and is displayed). ([#2245](https://github.com/thelounge/thelounge/pull/2245)) - Chat input is no longer disabled when disconnected (still can't submit though) @@ -182,7 +182,7 @@ yarn global add thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.1.0-pre.2...v3.1.0-pre.3) This is a pre-release for v3.1.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -197,7 +197,7 @@ yarn global add thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.1.0-pre.1...v3.1.0-pre.2) This is a pre-release for v3.1.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -212,7 +212,7 @@ yarn global add thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.1...v3.1.0-pre.1) This is a pre-release for v3.1.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -226,7 +226,7 @@ yarn global add thelounge@next This patch release fixes a few small things that made it to the previous release. -It includes fixes for issues related to: reconnecting when a nickname is already in use, unnecessary highlights on invites, the auto-expandable message input, channels starting with `&` or `+`, the ` /disconnect` command, and file uploads. Additionnally, `part` messages for the current user are now logged. +It includes fixes for issues related to: reconnecting when a nickname is already in use, unnecessary highlights on invites, the auto-expandable message input, channels starting with `&` or `+`, the `/disconnect` command, and file uploads. Additionnally, `part` messages for the current user are now logged. A more comprehensive list of changes is available below. @@ -477,7 +477,7 @@ _One more thing: we started [an Open Collective](https://opencollective.com/thel - Add "User information" (`whois`) support to the sidebar context menu ([#2587](https://github.com/thelounge/thelounge/pull/2587) by [@aspotton](https://github.com/aspotton)) - Implement `irc://` and `ircs://` protocol handlers ([#2571](https://github.com/thelounge/thelounge/pull/2571) by [@xPaw](https://github.com/xPaw)) - Add file uploading support ([#2552](https://github.com/thelounge/thelounge/pull/2552) by [@MaxLeiter](https://github.com/MaxLeiter), [#2743](https://github.com/thelounge/thelounge/pull/2743), [#2744](https://github.com/thelounge/thelounge/pull/2744), [#2748](https://github.com/thelounge/thelounge/pull/2748), -[#2749](https://github.com/thelounge/thelounge/pull/2749), [#2851](https://github.com/thelounge/thelounge/pull/2851), [#2985](https://github.com/thelounge/thelounge/pull/2985) by [@xPaw](https://github.com/xPaw), [#2983](https://github.com/thelounge/thelounge/pull/2983) by [@astorije](https://github.com/astorije)) + [#2749](https://github.com/thelounge/thelounge/pull/2749), [#2851](https://github.com/thelounge/thelounge/pull/2851), [#2985](https://github.com/thelounge/thelounge/pull/2985) by [@xPaw](https://github.com/xPaw), [#2983](https://github.com/thelounge/thelounge/pull/2983) by [@astorije](https://github.com/astorije)) ### Changed @@ -487,7 +487,7 @@ _One more thing: we started [an Open Collective](https://opencollective.com/thel - Improve monospace formatting in messages ([#2031](https://github.com/thelounge/thelounge/pull/2031) by [@astorije](https://github.com/astorije)) - Switch default home location to `~/.thelounge` ([#1734](https://github.com/thelounge/thelounge/pull/1734) by [@astorije](https://github.com/astorije)) - Report server errors when preview fetch fails ([#2036](https://github.com/thelounge/thelounge/pull/2036) by [@xPaw](https://github.com/xPaw)) -- Relay client's preferred language in link preview requests ([#1918](https://github.com/thelounge/thelounge/pull/1918) by [@williamboman](https://github.com/williamboman)) +- Relay client's preferred language in link preview requests ([#1918](https://github.com/thelounge/thelounge/pull/1918) by [@williamboman](https://github.com/williamboman)) - Allow generating random numbers in nick on page load ([#2090](https://github.com/thelounge/thelounge/pull/2090) by [@xPaw](https://github.com/xPaw)) - Word prefetch errors differently ([#2101](https://github.com/thelounge/thelounge/pull/2101) by [@xPaw](https://github.com/xPaw)) - Log socket close error if any ([#2108](https://github.com/thelounge/thelounge/pull/2108) by [@xPaw](https://github.com/xPaw)) @@ -551,8 +551,8 @@ _One more thing: we started [an Open Collective](https://opencollective.com/thel - `request` ([#2202](https://github.com/thelounge/thelounge/pull/2202), [#2454](https://github.com/thelounge/thelounge/pull/2454), [#2698](https://github.com/thelounge/thelounge/pull/2698)) - `sqlite3` ([#2238](https://github.com/thelounge/thelounge/pull/2238), [#2584](https://github.com/thelounge/thelounge/pull/2584), [#2651](https://github.com/thelounge/thelounge/pull/2651), [#2863](https://github.com/thelounge/thelounge/pull/2863), [#2894](https://github.com/thelounge/thelounge/pull/2894), [#2972](https://github.com/thelounge/thelounge/pull/2972)) - `express` ([#2241](https://github.com/thelounge/thelounge/pull/2241), [#2844](https://github.com/thelounge/thelounge/pull/2844)) - - `socket.io` and `socketio-file-upload` ([#2310](https://github.com/thelounge/thelounge/pull/2310), [#2456](https://github.com/thelounge/thelounge/pull/2456), [#2911](https://github.com/thelounge/thelounge/pull/2911)), - [#2832](https://github.com/thelounge/thelounge/pull/2832), [#2868](https://github.com/thelounge/thelounge/pull/2868)) + - `socket.io` and `socketio-file-upload` ([#2310](https://github.com/thelounge/thelounge/pull/2310), [#2456](https://github.com/thelounge/thelounge/pull/2456), [#2911](https://github.com/thelounge/thelounge/pull/2911)), + [#2832](https://github.com/thelounge/thelounge/pull/2832), [#2868](https://github.com/thelounge/thelounge/pull/2868)) - `lodash` ([#2384](https://github.com/thelounge/thelounge/pull/2384), [#2772](https://github.com/thelounge/thelounge/pull/2772)) - `fs-extra` ([#2410](https://github.com/thelounge/thelounge/pull/2410), [#2450](https://github.com/thelounge/thelounge/pull/2450), [#2654](https://github.com/thelounge/thelounge/pull/2654), [#2893](https://github.com/thelounge/thelounge/pull/2893)) - `ua-parser-js` ([#2422](https://github.com/thelounge/thelounge/pull/2422), [#2873](https://github.com/thelounge/thelounge/pull/2873)) @@ -734,7 +734,7 @@ On the [website repository](https://github.com/thelounge/thelounge.github.io): - Update Bootstrap to be able to use collapsible components (for navigation) and minify it ([#102](https://github.com/thelounge/thelounge.github.io/pull/102) by [@astorije](https://github.com/astorije)) - Search feature ([#101](https://github.com/thelounge/thelounge.github.io/pull/101) by [@astorije](https://github.com/astorije), [#185](https://github.com/thelounge/thelounge.github.io/pull/185) by [@xPaw](https://github.com/xPaw)) - Make `16px` favicon sharper ([#105](https://github.com/thelounge/thelounge.github.io/pull/105) by [@xPaw](https://github.com/xPaw)) -- Add security headers ([#107](https://github.com/thelounge/thelounge.github.io/pull/107) by [@xPaw](https://github.com/xPaw)) +- Add security headers ([#107](https://github.com/thelounge/thelounge.github.io/pull/107) by [@xPaw](https://github.com/xPaw)) - Use Muli font for the site ([#106](https://github.com/thelounge/thelounge.github.io/pull/106) by [@xPaw](https://github.com/xPaw)) - Rewrite install docs ([#104](https://github.com/thelounge/thelounge.github.io/pull/104) by [@astorije](https://github.com/astorije), [#191](https://github.com/thelounge/thelounge.github.io/pull/191) by [@GewoonYorick](https://github.com/GewoonYorick)) - Update configuration doc with the config generated from the main repo (to master) ([#109](https://github.com/thelounge/thelounge.github.io/pull/109), [`abc0aba`](https://github.com/thelounge/thelounge.github.io/commit/abc0aba03b3d562c163b1a3eff0ee0195f7935ef) by [@xPaw](https://github.com/xPaw), [#184](https://github.com/thelounge/thelounge.github.io/pull/184) by [@MaxLeiter](https://github.com/MaxLeiter)) @@ -980,7 +980,7 @@ yarn global add thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.0-pre.7...v3.0.0-pre.8) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -995,7 +995,7 @@ yarn global add thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.0-pre.6...v3.0.0-pre.7) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -1010,7 +1010,7 @@ npm install -g thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.0-pre.5...v3.0.0-pre.6) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -1025,7 +1025,7 @@ npm install -g thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.0-pre.4...v3.0.0-pre.5) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -1040,7 +1040,7 @@ npm install -g thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.0-pre.3...v3.0.0-pre.4) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -1055,7 +1055,7 @@ npm install -g thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.0-pre.2...v3.0.0-pre.3) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -1070,7 +1070,7 @@ npm install -g thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v3.0.0-pre.1...v3.0.0-pre.2) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -1085,7 +1085,7 @@ npm install -g thelounge@next [See the full changelog](https://github.com/thelounge/thelounge/compare/v2.7.1...v3.0.0-pre.1) This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released. +At this stage, features may still be added or modified until the first release candidate for this version gets released. Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. @@ -1257,7 +1257,6 @@ The CLI has also been improved: - All options for the `start` command are being removed, replaced with the `--config`/`-c` option mentioned above. For example, `--public` becomes `-c public=true`, `--port 9001` becomes `-c port=9001`, etc. - Referring to themes in the `theme` option of the configuration file is now done through their name, not their CSS file name. - And finally... **The Lounge has its own logo!** 🎉

@@ -1269,7 +1268,7 @@ We will start rolling out our new logo in all the relevant places as of The Loun ### Added -- Link and color nicks mentioned in messages ([#1709](https://github.com/thelounge/thelounge/pull/1709), [#1758](https://github.com/thelounge/thelounge/pull/1758) by [@MaxLeiter](https://github.com/MaxLeiter), [#1779](https://github.com/thelounge/thelounge/pull/1779), [#1901](https://github.com/thelounge/thelounge/pull/1901) by [@xPaw](https://github.com/xPaw)) +- Link and color nicks mentioned in messages ([#1709](https://github.com/thelounge/thelounge/pull/1709), [#1758](https://github.com/thelounge/thelounge/pull/1758) by [@MaxLeiter](https://github.com/MaxLeiter), [#1779](https://github.com/thelounge/thelounge/pull/1779), [#1901](https://github.com/thelounge/thelounge/pull/1901) by [@xPaw](https://github.com/xPaw)) - Detect `image/webp` as an image ([#1753](https://github.com/thelounge/thelounge/pull/1753) by [@xPaw](https://github.com/xPaw)) - Implement strikethrough and monospace formatting ([#1792](https://github.com/thelounge/thelounge/pull/1792) by [@grissly-man](https://github.com/grissly-man), [#1814](https://github.com/thelounge/thelounge/pull/1814) by [@xPaw](https://github.com/xPaw)) - Add the user's actual IP in the result of `/whois` ([#1788](https://github.com/thelounge/thelounge/pull/1788) by [@PolarizedIons](https://github.com/PolarizedIons)) @@ -1771,7 +1770,7 @@ On the [website repository](https://github.com/thelounge/thelounge.chat): - Move even more code out of `lounge.js` ([#1500](https://github.com/thelounge/thelounge/pull/1500) by [@xPaw](https://github.com/xPaw)) - Remove unnecessary `end()` calls ([#1518](https://github.com/thelounge/thelounge/pull/1518) by [@xPaw](https://github.com/xPaw)) - Move user log function where it belongs ([#1528](https://github.com/thelounge/thelounge/pull/1528), [#1585](https://github.com/thelounge/thelounge/pull/1585) by [@xPaw](https://github.com/xPaw), [#1535](https://github.com/thelounge/thelounge/pull/1535) by [@astorije](https://github.com/astorije)) -- Enable `no-console` and `no-alert` ESLint rules ([#1538](https://github.com/thelounge/thelounge/pull/1538) by [@astorije](https://github.com/astorije)) +- Enable `no-console` and `no-alert` ESLint rules ([#1538](https://github.com/thelounge/thelounge/pull/1538) by [@astorije](https://github.com/astorije)) - Use `Mousetrap` for image viewer shortcuts ([#1566](https://github.com/thelounge/thelounge/pull/1566) by [@astorije](https://github.com/astorije)) - Remove `event-stream` dependency in favor of plain `Buffers` ([#1554](https://github.com/thelounge/thelounge/pull/1554) by [@astorije](https://github.com/astorije)) - Skip cleanup on Travis ([`da31317`](https://github.com/thelounge/thelounge/commit/da31317156047000819fa0363c435005104aa572) by [@xPaw](https://github.com/xPaw)) @@ -2444,7 +2443,7 @@ Enjoy! - Strict mode for all JS files ([#684](https://github.com/thelounge/thelounge/pull/684) by [@astorije](https://github.com/astorije)) - Enforce more ESLint rules ([#681](https://github.com/thelounge/thelounge/pull/681) by [@xPaw](https://github.com/xPaw)) - Use CI caches for downloaded files instead of installed ones ([#687](https://github.com/thelounge/thelounge/pull/687) by [@astorije](https://github.com/astorije)) -- Consolidate version numbers throughout all interfaces ([#592](https://github.com/thelounge/thelounge/pull/592) by [@williamboman](https://github.com/williamboman)) +- Consolidate version numbers throughout all interfaces ([#592](https://github.com/thelounge/thelounge/pull/592) by [@williamboman](https://github.com/williamboman)) - Replace lodash's each/map with ES5 native forEach/map ([#689](https://github.com/thelounge/thelounge/pull/689) by [@astorije](https://github.com/astorije)) ### Removed diff --git a/README.md b/README.md index 0d95edbf..524eceae 100644 --- a/README.md +++ b/README.md @@ -43,11 +43,11 @@ ## Overview -* **Modern features brought to IRC.** Push notifications, link previews, new message markers, and more bring IRC to the 21st century. -* **Always connected.** Remains connected to IRC servers while you are offline. -* **Cross platform.** It doesn't matter what OS you use, it just works wherever Node.js runs. -* **Responsive interface.** The client works smoothly on every desktop, smartphone and tablet. -* **Synchronized experience.** Always resume where you left off no matter what device. +- **Modern features brought to IRC.** Push notifications, link previews, new message markers, and more bring IRC to the 21st century. +- **Always connected.** Remains connected to IRC servers while you are offline. +- **Cross platform.** It doesn't matter what OS you use, it just works wherever Node.js runs. +- **Responsive interface.** The client works smoothly on every desktop, smartphone and tablet. +- **Synchronized experience.** Always resume where you left off no matter what device. To learn more about configuration, usage and features of The Lounge, take a look at [the website](https://thelounge.chat). diff --git a/client/thelounge.webmanifest b/client/thelounge.webmanifest index 7ea53850..a39985c2 100644 --- a/client/thelounge.webmanifest +++ b/client/thelounge.webmanifest @@ -6,8 +6,7 @@ "display": "standalone", "theme_color": "#415363", "background_color": "#415363", - "icons": - [ + "icons": [ { "src": "img/logo-grey-bg-120x120px.png", "type": "image/png", diff --git a/package.json b/package.json index a5ce9728..9bd51cc1 100644 --- a/package.json +++ b/package.json @@ -13,14 +13,16 @@ "homepage": "https://thelounge.chat/", "scripts": { "build": "webpack", - "coverage": "run-s test:{client,server} && nyc --nycrc-path=test/.nycrc-report report", + "coverage": "run-s test:{client,server} && nyc --nycrc-path=test/.nycrc-report.json report", "dev": "run-p watch start", - "lint:css": "stylelint --color \"client/**/*.css\"", - "lint:js": "eslint . --ext .js,.vue --report-unused-disable-directives --color", + "format:prettier": "prettier --write \"**/*.*\"", + "lint:eslint": "eslint . --ext .js,.vue --report-unused-disable-directives --color", + "lint:prettier": "prettier --list-different \"**/*.*\"", + "lint:stylelint": "stylelint --color \"client/**/*.css\"", "start": "node index start", "test": "run-p --aggregate-output --continue-on-error lint:* test:{client,server}", - "test:client": "nyc --nycrc-path=test/.nycrc-mochapack mochapack --colors --opts=test/mochapack.opts", - "test:server": "nyc --nycrc-path=test/.nycrc-mocha mocha --colors", + "test:client": "nyc --nycrc-path=test/.nycrc-mochapack.json mochapack --colors --opts=test/mochapack.opts", + "test:server": "nyc --nycrc-path=test/.nycrc-mocha.json mocha --colors", "watch": "webpack --watch" }, "keywords": [ @@ -89,6 +91,7 @@ "handlebars-loader": "1.7.1", "html-minifier": "4.0.0", "html-minifier-loader": "1.4.1", + "husky": "3.0.0", "intersection-observer": "0.7.0", "jquery": "3.4.1", "mini-css-extract-plugin": "0.8.0", @@ -98,6 +101,8 @@ "mousetrap": "1.6.3", "npm-run-all": "4.1.5", "nyc": "14.1.1", + "prettier": "1.18.2", + "pretty-quick": "1.11.1", "primer-tooltips": "2.0.0", "sinon": "7.3.2", "socket.io-client": "2.2.0", @@ -112,5 +117,10 @@ "vuedraggable": "2.23.0", "webpack": "4.35.3", "webpack-cli": "3.3.6" + }, + "husky": { + "hooks": { + "pre-commit": "pretty-quick --staged" + } } } diff --git a/renovate.json b/renovate.json index dae025dd..d78c2ea8 100644 --- a/renovate.json +++ b/renovate.json @@ -1,13 +1,7 @@ { - "extends": [ - "config:base" - ], - "ignorePaths": [ - "test/" - ], - "labels": [ - "Type: Dependencies" - ], + "extends": ["config:base"], + "ignorePaths": ["test/"], + "labels": ["Type: Dependencies"], "rebaseStalePrs": true, "statusCheckVerify": true } diff --git a/scripts/changelog.js b/scripts/changelog.js index 00fbadfc..fd919c26 100644 --- a/scripts/changelog.js +++ b/scripts/changelog.js @@ -104,7 +104,7 @@ ${prereleaseType(items.version) === "rc" ? Bugs may be fixed, but no further features will be added until the next stable version.` : `This is a pre-release for v${stableVersion(items.version)} to offer latest changes without having to wait for a stable release. - At this stage, features may still be added or modified until the first release candidate for this version gets released.` +At this stage, features may still be added or modified until the first release candidate for this version gets released.` } Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry. diff --git a/test/.nycrc-mocha b/test/.nycrc-mocha deleted file mode 100644 index 3513a49c..00000000 --- a/test/.nycrc-mocha +++ /dev/null @@ -1,18 +0,0 @@ -{ - "all": true, - "instrument": true, - "temp-dir": "./node_modules/.cache/nyc_output", - "exclude": [ - "webpack.config*.js" - ], - "include": [ - "defaults", - "src", - "*.js" - ], - "reporter": [ - "json", - "text-summary" - ], - "clean": false -} diff --git a/test/.nycrc-mocha.json b/test/.nycrc-mocha.json new file mode 100644 index 00000000..a1891363 --- /dev/null +++ b/test/.nycrc-mocha.json @@ -0,0 +1,9 @@ +{ + "all": true, + "instrument": true, + "temp-dir": "./node_modules/.cache/nyc_output", + "exclude": ["webpack.config*.js"], + "include": ["defaults", "src", "*.js"], + "reporter": ["json", "text-summary"], + "clean": false +} diff --git a/test/.nycrc-mochapack b/test/.nycrc-mochapack deleted file mode 100644 index 23bc4681..00000000 --- a/test/.nycrc-mochapack +++ /dev/null @@ -1,11 +0,0 @@ -{ - "all": true, - "temp-dir": "./node_modules/.cache/nyc_output", - "include": [ - "client/" - ], - "reporter": [ - "json", - "text-summary" - ] -} diff --git a/test/.nycrc-mochapack.json b/test/.nycrc-mochapack.json new file mode 100644 index 00000000..544ab46b --- /dev/null +++ b/test/.nycrc-mochapack.json @@ -0,0 +1,6 @@ +{ + "all": true, + "temp-dir": "./node_modules/.cache/nyc_output", + "include": ["client/"], + "reporter": ["json", "text-summary"] +} diff --git a/test/.nycrc-report b/test/.nycrc-report.json similarity index 51% rename from test/.nycrc-report rename to test/.nycrc-report.json index f024305e..cbae273f 100644 --- a/test/.nycrc-report +++ b/test/.nycrc-report.json @@ -1,7 +1,4 @@ { "temp-dir": "./node_modules/.cache/nyc_output", - "reporter": [ - "lcov", - "text-summary" - ] + "reporter": ["lcov", "text-summary"] } diff --git a/test/client/index.html b/test/client/index.html index e5a89497..dc6f424b 100644 --- a/test/client/index.html +++ b/test/client/index.html @@ -1,11 +1,11 @@ - - - Tests - - - - - + + + Tests + + + + + diff --git a/test/fixtures/.thelounge/vapid.json b/test/fixtures/.thelounge/vapid.json index 60bc7598..8ef3fab6 100644 --- a/test/fixtures/.thelounge/vapid.json +++ b/test/fixtures/.thelounge/vapid.json @@ -1,4 +1,4 @@ { - "publicKey": "BM0eTDpvDnH7ewlHuXWcPTE1NjlJ06XWIS1cQeBTZmsg4EDx5sOpY7kdX1pniTo8RakL3UdfFuIbC8_zog_BWIM", - "privateKey": "MDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTY" + "publicKey": "BM0eTDpvDnH7ewlHuXWcPTE1NjlJ06XWIS1cQeBTZmsg4EDx5sOpY7kdX1pniTo8RakL3UdfFuIbC8_zog_BWIM", + "privateKey": "MDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTY" } diff --git a/yarn.lock b/yarn.lock index 6115dc81..e38c4c29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -721,6 +721,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.2.tgz#a5ccec6abb6060d5f20d256fb03ed743e9774999" integrity sha512-gojym4tX0FWeV2gsW4Xmzo5wxGjXGm550oVUII7f7G5o4BV6c7DBdiG1RRQd+y1bvqRyYtPfMK85UM95vsapqQ== +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + "@types/unist@*", "@types/unist@^2.0.0": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" @@ -1091,6 +1096,11 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-differ@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.0.3.tgz#0195bb00ccccf271106efee4a4786488b7180712" + integrity sha1-AZW7AMzM8nEQbv7kpHhkiLcYBxI= + array-filter@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" @@ -1873,6 +1883,11 @@ chrome-trace-event@^1.0.0: dependencies: tslib "^1.9.0" +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -2200,7 +2215,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^5.2.0: +cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -2279,6 +2294,15 @@ cross-spawn@^4: lru-cache "^4.0.1" which "^1.2.9" +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -3015,6 +3039,19 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.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" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -3270,13 +3307,21 @@ find-up@3.0.0, find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^2.0.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + findup-sync@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" @@ -3461,6 +3506,11 @@ get-stdin@^7.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -3905,6 +3955,22 @@ https-proxy-agent@^2.2.1: agent-base "^4.3.0" debug "^3.1.0" +husky@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.0.tgz#de63821a7049dc412b1afd753c259e2f6e227562" + integrity sha512-lKMEn7bRK+7f5eWPNGclDVciYNQt0GIkAQmhKl+uHP1qFzoN0h92kmH9HZ8PCwyVA2EQPD8KHf0FYWqnTxau+Q== + dependencies: + cosmiconfig "^5.2.1" + execa "^1.0.0" + get-stdin "^7.0.0" + is-ci "^2.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^4.2.0" + please-upgrade-node "^3.1.1" + read-pkg "^5.1.1" + run-node "^1.0.0" + slash "^3.0.0" + iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -3941,7 +4007,7 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.5: +ignore@^3.3.5, ignore@^3.3.7: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== @@ -4163,6 +4229,13 @@ is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -4666,6 +4739,11 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + linkify-it@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" @@ -4722,6 +4800,13 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -5285,6 +5370,11 @@ move-concurrently@^1.0.1: rimraf "^2.5.4" run-queue "^1.0.3" +mri@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" + integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -5300,6 +5390,16 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +multimatch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" + integrity sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA== + dependencies: + array-differ "^2.0.3" + array-union "^1.0.2" + arrify "^1.0.1" + minimatch "^3.0.4" + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -5478,7 +5578,7 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -5700,6 +5800,11 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +opencollective-postinstall@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" + integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -5800,6 +5905,13 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -5890,6 +6002,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -5941,6 +6063,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -6023,6 +6150,20 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +please-upgrade-node@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" + integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ== + dependencies: + semver-compare "^1.0.0" + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -6440,6 +6581,23 @@ prettier@1.16.3: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d" integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw== +prettier@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" + integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== + +pretty-quick@1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-1.11.1.tgz#462ffa2b93d24c05b7a0c3a001e08601a0c55ee4" + integrity sha512-kSXCkcETfak7EQXz6WOkCeCqpbC4GIzrN/vaneTGMP/fAtD8NerA9bPhCUqHAks1geo7biZNl5uEMPceeneLuA== + dependencies: + chalk "^2.3.0" + execa "^0.8.0" + find-up "^2.1.0" + ignore "^3.3.7" + mri "^1.1.0" + multimatch "^3.0.0" + primer-support@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/primer-support/-/primer-support-5.0.0.tgz#d19c7cea59e8783400b9391943c8a2bb2ebddc5e" @@ -6663,6 +6821,16 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +read-pkg@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + read@1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" @@ -7039,6 +7207,11 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" +run-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" + integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -7089,16 +7262,26 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== semver@6.2.0, semver@^6.0.0, semver@^6.1.1: version "6.2.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== +semver@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -8025,6 +8208,11 @@ type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"