From 187401a8762371380483db26f4bd65537ae6f66c Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Fri, 27 Jul 2018 13:29:08 +0200 Subject: [PATCH 01/10] Fix possible weird objects as email It seems like some providers return strange types for emails which cause problems. We default to something that is definitely a string. Signed-off-by: Sheogorath --- lib/letter-avatars.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/letter-avatars.js b/lib/letter-avatars.js index 53fa011..55cf9c3 100644 --- a/lib/letter-avatars.js +++ b/lib/letter-avatars.js @@ -27,6 +27,10 @@ exports.generateAvatar = function (name) { exports.generateAvatarURL = function (name, email = '', big = true) { let photo + if (typeof email !== 'string') { + email = '' + name + '@example.com' + } + if (email !== '' && config.allowGravatar) { photo = 'https://www.gravatar.com/avatar/' + md5(email.toLowerCase()) if (big) { From aa0c4705dbd5d5409d5a4daf10a9195d12d8cde6 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Mon, 20 Aug 2018 20:40:50 -0700 Subject: [PATCH 02/10] Add Cloudron as an installation method Fixes #923 Signed-off-by: Girish Ramakrishnan --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index e0f7aca..78d8912 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ Thanks for using! :smile: - [Heroku Deployment](#heroku-deployment) - [Kubernetes](#kubernetes) - [CodiMD by docker container](#codimd-by-docker-container) + - [Cloudron](#cloudron) - [Upgrade](#upgrade) - [Native setup](#native-setup) - [Configuration](#configuration) @@ -121,6 +122,12 @@ docker-compose up ``` Read more about it in the [docker repository…](https://github.com/hackmdio/docker-hackmd) +## Cloudron + +Install CodiMD on [Cloudron](https://cloudron.io): + +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=io.hackmd.cloudronapp) + # Upgrade ## Native setup From f728fdb8ab0f034f28e17cccba709d4e842048f7 Mon Sep 17 00:00:00 2001 From: Alexander Hesse Date: Thu, 23 Aug 2018 14:06:26 +0200 Subject: [PATCH 03/10] BUGFIX: wrong version check for gitlab api Signed-off-by: Alexander Hesse --- lib/config/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/config/index.js b/lib/config/index.js index e66c513..f96684e 100644 --- a/lib/config/index.js +++ b/lib/config/index.js @@ -104,8 +104,8 @@ config.isOAuth2Enable = config.oauth2.clientID && config.oauth2.clientSecret config.isPDFExportEnable = config.allowPDFExport // Check gitlab api version -if (config.gitlab.version !== 'v4' || config.gitlab.version !== 'v3') { - logger.warn('config.js contains wrong version (' + config.gitlab.version + ') for gitlab api; it should be \'v3\' or \'v4\'. Defaulting to v3') +if (config.gitlab.version !== 'v4' && config.gitlab.version !== 'v3') { + logger.warn('config.js contains wrong version (' + config.gitlab.version + ') for gitlab api; it should be \'v3\' or \'v4\'. Defaulting to v4') config.gitlab.version = 'v4' } From 6ce7b20a7f92ccff2f7f870ff5d116d685310cfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Slab=C3=BD?= Date: Tue, 28 Aug 2018 11:00:00 +0200 Subject: [PATCH 04/10] Add an auth provider guide for Mattermost MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ondřej Slabý --- README.md | 2 +- docs/guides/auth/mattermost-self-hosted.md | 58 ++++++++++++++++++ .../images/auth/mattermost-enable-oauth2.png | Bin 0 -> 26034 bytes .../images/auth/mattermost-oauth-app-add.png | Bin 0 -> 21443 bytes .../images/auth/mattermost-oauth-app-done.png | Bin 0 -> 31767 bytes .../images/auth/mattermost-oauth-app-form.png | Bin 0 -> 62160 bytes 6 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 docs/guides/auth/mattermost-self-hosted.md create mode 100644 docs/guides/images/auth/mattermost-enable-oauth2.png create mode 100644 docs/guides/images/auth/mattermost-oauth-app-add.png create mode 100644 docs/guides/images/auth/mattermost-oauth-app-done.png create mode 100644 docs/guides/images/auth/mattermost-oauth-app-form.png diff --git a/README.md b/README.md index 78d8912..4163255 100644 --- a/README.md +++ b/README.md @@ -202,7 +202,7 @@ There are some config settings you need to change in the files below. | `CMD_GITLAB_CLIENTID` | no example | GitLab API client id | | `CMD_GITLAB_CLIENTSECRET` | no example | GitLab API client secret | | `CMD_GITLAB_VERSION` | no example | GitLab API version (v3 or v4) | -| `CMD_MATTERMOST_BASEURL` | no example | Mattermost authentication endpoint | +| `CMD_MATTERMOST_BASEURL` | no example | Mattermost authentication endpoint for versions below 5.0. For Mattermost version 5.0 and above, see [guide](docs/guides/auth/mattermost-self-hosted.md). | | `CMD_MATTERMOST_CLIENTID` | no example | Mattermost API client id | | `CMD_MATTERMOST_CLIENTSECRET` | no example | Mattermost API client secret | | `CMD_DROPBOX_CLIENTID` | no example | Dropbox API client id | diff --git a/docs/guides/auth/mattermost-self-hosted.md b/docs/guides/auth/mattermost-self-hosted.md new file mode 100644 index 0000000..631aabd --- /dev/null +++ b/docs/guides/auth/mattermost-self-hosted.md @@ -0,0 +1,58 @@ +Authentication guide - Mattermost (self-hosted) +=== + +*Note: The Mattermost setup portion of this document is just a quick guide. See the [official documentation](https://docs.mattermost.com/developer/oauth-2-0-applications.html) for more details.* + +This guide uses the generic OAuth2 module for compatibility with Mattermost version 5.0 and above. + +1. Sign-in with an administrator account to your Mattermost instance +2. Make sure **OAuth 2.0 Service Provider** is enabled in the Main Menu (menu button next to your username in the top left corner) --> System Console --> Custom Integrations menu, which you can find at `https://your.mattermost.domain/admin_console/integrations/custom` + +![mattermost-enable-oauth2](../images/auth/mattermost-enable-oauth2.png) + +3. Navigate to the OAuth integration settings through Main Menu --> Integrations --> OAuth 2.0 Applications, at `https://your.mattermost.domain/yourteam/integrations/oauth2-apps` +4. Click on the **Add OAuth 2.0 Application** button to add a new OAuth application + +![mattermost-oauth-app-add](../images/auth/mattermost-oauth-app-add.png) + +5. Fill out the form and click **Save** + +![mattermost-oauth-app-form](../images/auth/mattermost-oauth-app-form.png) + +*Note: The callback URL is \/auth/oauth2/callback* + +6. After saving the application, you'll receive the Client ID and Client Secret + +![mattermost-oauth-app-done](../images/auth/mattermost-oauth-app-done.png) + +7. Add the Client ID and Client Secret to your config.json file or pass them as environment variables + * config.json: + ````javascript + { + "production": { + "oauth2": { + "baseURL": "https://your.mattermost.domain", + "userProfileURL": "https://your.mattermost.domain/api/v4/users/me", + "userProfileUsernameAttr": "id", + "userProfileDisplayNameAttr": "username", + "userProfileEmailAttr": "email", + "tokenURL": "https://your.mattermost.domain/oauth/access_token", + "authorizationURL": "https://your.mattermost.domain/oauth/authorize", + "clientID": "ii4p1u3jz7dXXXXXXXXXXXXXXX", + "clientSecret": "mqzzx6fydbXXXXXXXXXXXXXXXX" + } + } + } + ```` + * environment variables: + ```` + CMD_OAUTH2_BASEURL=https://your.mattermost.domain + CMD_OAUTH2_USER_PROFILE_URL=https://your.mattermost.domain/api/v4/users/me + CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=id + CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=username + CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=email + CMD_OAUTH2_TOKEN_URL=https://your.mattermost.domain/oauth/access_token + CMD_OAUTH2_AUTHORIZATION_URL=https://your.mattermost.domain/oauth/authorize + CMD_OAUTH2_CLIENT_ID=ii4p1u3jz7dXXXXXXXXXXXXXXX + CMD_OAUTH2_CLIENT_SECRET=mqzzx6fydbXXXXXXXXXXXXXXXX + ```` diff --git a/docs/guides/images/auth/mattermost-enable-oauth2.png b/docs/guides/images/auth/mattermost-enable-oauth2.png new file mode 100644 index 0000000000000000000000000000000000000000..af5cdbe2b4ea904d4e872cd35dbe7a00605c2560 GIT binary patch literal 26034 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 literal 0 HcmV?d00001 diff --git a/docs/guides/images/auth/mattermost-oauth-app-add.png b/docs/guides/images/auth/mattermost-oauth-app-add.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8cdfa7d31cd213c1676b83f16e1bbf5a0de1cb GIT binary patch literal 21443 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 literal 0 HcmV?d00001 diff --git a/docs/guides/images/auth/mattermost-oauth-app-done.png b/docs/guides/images/auth/mattermost-oauth-app-done.png new file mode 100644 index 0000000000000000000000000000000000000000..fcf1beafc119a6ff48742a722dcbf1dbac551b46 GIT binary patch literal 31767 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 literal 0 HcmV?d00001 diff --git a/docs/guides/images/auth/mattermost-oauth-app-form.png b/docs/guides/images/auth/mattermost-oauth-app-form.png new file mode 100644 index 0000000000000000000000000000000000000000..215947bf44db85842def6fe80332c6b0ec464867 GIT binary patch literal 62160 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 * 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 XR!7pI)4l$NYzZ!E8EBTM+u!~l!y{3A literal 0 HcmV?d00001 From b028baf77f3b897e8ba9d83928c67a16b602b8c5 Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Wed, 5 Sep 2018 10:52:21 +0100 Subject: [PATCH 05/10] Switch to own, fixed, lz-string version Signed-off-by: Sheogorath --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 1740500..b257a11 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "archiver": "^2.1.1", "async": "^2.1.4", "aws-sdk": "^2.7.20", - "base64url": "^3.0.0", "azure-storage": "^2.7.0", + "base64url": "^3.0.0", "blueimp-md5": "^2.6.0", "body-parser": "^1.15.2", "bootstrap": "^3.3.7", @@ -62,7 +62,7 @@ "keymaster": "^1.6.2", "list.js": "^1.5.0", "lodash": "^4.17.4", - "lz-string": "1.4.4", + "lz-string": "git+https://github.com/hackmdio/lz-string.git", "markdown-it": "^8.2.2", "markdown-it-abbr": "^1.0.4", "markdown-it-container": "^2.0.0", @@ -78,8 +78,8 @@ "markdown-it-sup": "^1.0.0", "markdown-pdf": "^9.0.0", "mathjax": "~2.7.0", - "mermaid": "~7.1.0", "mattermost": "^3.4.0", + "mermaid": "~7.1.0", "meta-marked": "^0.4.2", "method-override": "^2.3.7", "minimist": "^1.2.0", @@ -98,8 +98,8 @@ "passport-ldapauth": "^2.0.0", "passport-local": "^1.0.0", "passport-oauth2": "^1.4.0", - "passport-twitter": "^1.0.4", "passport-saml": "^0.31.0", + "passport-twitter": "^1.0.4", "passport.socketio": "^3.7.0", "pdfobject": "^2.0.201604172", "pg": "^6.1.2", From 8cd2f4623dfe950154529e4feb5173d55047ff7a Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Wed, 5 Sep 2018 12:13:31 +0100 Subject: [PATCH 06/10] Remove tests using node version 7 Since node 7 is EOL and may breaks some new builds, we want to get rid of it. But having tests in version 8 would be nice, right? So here we go. Signed-off-by: Sheogorath --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2ce5723..887299b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ jobs: - export PATH="$HOME/.yarn/bin:$PATH" - env: task=npm-test node_js: - - 7 + - 8 before_install: - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version "$YARN_VERSION" - export PATH="$HOME/.yarn/bin:$PATH" From 81e3d7bd00686b5e4d1e0b53db3eca9901c183c1 Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Wed, 5 Sep 2018 15:08:32 +0100 Subject: [PATCH 07/10] Extend migration error handling The current error handling seems to conflict with some sequelize versions. So we add a second version of it in our excemptions. I'm not happy about it, but when it helps to prevent further migration breaking, it's worth it. Signed-off-by: Sheogorath --- lib/migrations/20150702001020-update-to-0_3_1.js | 2 +- lib/migrations/20160112220142-note-add-lastchange.js | 2 +- lib/migrations/20160420180355-note-add-alias.js | 2 +- lib/migrations/20160515114000-user-add-tokens.js | 2 +- lib/migrations/20160607060246-support-revision.js | 2 +- lib/migrations/20160703062241-support-authorship.js | 2 +- lib/migrations/20161009040430-support-delete-note.js | 2 +- lib/migrations/20161201050312-support-email-signin.js | 4 ++-- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/migrations/20150702001020-update-to-0_3_1.js b/lib/migrations/20150702001020-update-to-0_3_1.js index e661a34..eb18211 100644 --- a/lib/migrations/20150702001020-update-to-0_3_1.js +++ b/lib/migrations/20150702001020-update-to-0_3_1.js @@ -21,7 +21,7 @@ module.exports = { defaultValue: 0 }) }).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'shortid'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'shortid'" || error.message === 'column "shortid" of relation "Notes" already exists') { console.log('Migration has already run… ignoring.') } else { throw error diff --git a/lib/migrations/20160112220142-note-add-lastchange.js b/lib/migrations/20160112220142-note-add-lastchange.js index d0030d6..682337c 100644 --- a/lib/migrations/20160112220142-note-add-lastchange.js +++ b/lib/migrations/20160112220142-note-add-lastchange.js @@ -8,7 +8,7 @@ module.exports = { type: Sequelize.DATE }) }).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'lastchangeuserId'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'lastchangeuserId'" || error.message === 'column "lastchangeuserId" of relation "Notes" already exists') { console.log('Migration has already run… ignoring.') } else { throw error diff --git a/lib/migrations/20160420180355-note-add-alias.js b/lib/migrations/20160420180355-note-add-alias.js index 4bad29c..6cc1337 100644 --- a/lib/migrations/20160420180355-note-add-alias.js +++ b/lib/migrations/20160420180355-note-add-alias.js @@ -8,7 +8,7 @@ module.exports = { indicesType: 'UNIQUE' }) }).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'alias'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'alias'" || error.message === 'column "alias" of relation "Notes" already exists') { console.log('Migration has already run… ignoring.') } else { throw error diff --git a/lib/migrations/20160515114000-user-add-tokens.js b/lib/migrations/20160515114000-user-add-tokens.js index 4245f1a..8bf6d11 100644 --- a/lib/migrations/20160515114000-user-add-tokens.js +++ b/lib/migrations/20160515114000-user-add-tokens.js @@ -4,7 +4,7 @@ module.exports = { return queryInterface.addColumn('Users', 'accessToken', Sequelize.STRING).then(function () { return queryInterface.addColumn('Users', 'refreshToken', Sequelize.STRING) }).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'accessToken'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'accessToken'" || error.message === 'column "accessToken" of relation "Users" already exists') { console.log('Migration has already run… ignoring.') } else { throw error diff --git a/lib/migrations/20160607060246-support-revision.js b/lib/migrations/20160607060246-support-revision.js index 10f288b..465a09f 100644 --- a/lib/migrations/20160607060246-support-revision.js +++ b/lib/migrations/20160607060246-support-revision.js @@ -16,7 +16,7 @@ module.exports = { updatedAt: Sequelize.DATE }) }).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'savedAt'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'savedAt'" || error.message === 'column "savedAt" of relation "Notes" already exists') { console.log('Migration has already run… ignoring.') } else { throw error diff --git a/lib/migrations/20160703062241-support-authorship.js b/lib/migrations/20160703062241-support-authorship.js index b3ced8c..ccdfeb3 100644 --- a/lib/migrations/20160703062241-support-authorship.js +++ b/lib/migrations/20160703062241-support-authorship.js @@ -17,7 +17,7 @@ module.exports = { updatedAt: Sequelize.DATE }) }).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'authorship'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'authorship'" || error.message === 'column "authorship" of relation "Notes" already exists') { console.log('Migration has already run… ignoring.') } else { throw error diff --git a/lib/migrations/20161009040430-support-delete-note.js b/lib/migrations/20161009040430-support-delete-note.js index 4df7a81..39e6f7f 100644 --- a/lib/migrations/20161009040430-support-delete-note.js +++ b/lib/migrations/20161009040430-support-delete-note.js @@ -2,7 +2,7 @@ module.exports = { up: function (queryInterface, Sequelize) { return queryInterface.addColumn('Notes', 'deletedAt', Sequelize.DATE).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'deletedAt'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'deletedAt'" || error.message === 'column "deletedAt" of relation "Notes" already exists') { console.log('Migration has already run… ignoring.') } else { throw error diff --git a/lib/migrations/20161201050312-support-email-signin.js b/lib/migrations/20161201050312-support-email-signin.js index 4653e67..0a8a832 100644 --- a/lib/migrations/20161201050312-support-email-signin.js +++ b/lib/migrations/20161201050312-support-email-signin.js @@ -3,14 +3,14 @@ module.exports = { up: function (queryInterface, Sequelize) { return queryInterface.addColumn('Users', 'email', Sequelize.TEXT).then(function () { return queryInterface.addColumn('Users', 'password', Sequelize.TEXT).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'password'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'password'" || error.message === 'column "password" of relation "Users" already exists') { console.log('Migration has already run… ignoring.') } else { throw error } }) }).catch(function (error) { - if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'email'") { + if (error.message === "ER_DUP_FIELDNAME: Duplicate column name 'email'" || error.message === 'column "email" of relation "Users" already exists') { console.log('Migration has already run… ignoring.') } else { throw error From f177cdfbba34055a2337a53bf2e671610d0cbe30 Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Thu, 6 Sep 2018 14:40:17 +0100 Subject: [PATCH 08/10] Change to new codimd-container repository Signed-off-by: Sheogorath --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4163255..bf54c82 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ To install use `helm install stable/hackmd`. For all further details, please check out the offical CodiMD [K8s helm chart](https://github.com/kubernetes/charts/tree/master/stable/hackmd). ## CodiMD by docker container -[![Try in PWD](https://cdn.rawgit.com/play-with-docker/stacks/cff22438/assets/images/button.png)](http://play-with-docker.com?stack=https://github.com/hackmdio/docker-hackmd/raw/master/docker-compose.yml&stack_name=codimd) +[![Try in PWD](https://cdn.rawgit.com/play-with-docker/stacks/cff22438/assets/images/button.png)](http://play-with-docker.com?stack=https://github.com/hackmdio/codimd-container/raw/master/docker-compose.yml&stack_name=codimd) **Debian-based version:** @@ -116,11 +116,11 @@ For all further details, please check out the offical CodiMD [K8s helm chart](h The easiest way to setup CodiMD using docker are using the following three commands: ```console -git clone https://github.com/hackmdio/docker-hackmd.git -cd docker-codimd +git clone https://github.com/hackmdio/codimd-container.git +cd codimd-container docker-compose up ``` -Read more about it in the [docker repository…](https://github.com/hackmdio/docker-hackmd) +Read more about it in the [container repository…](https://github.com/hackmdio/codimd-contianer) ## Cloudron From f27e11adabd601caa246fa306e24224aebe36467 Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Thu, 6 Sep 2018 14:42:08 +0100 Subject: [PATCH 09/10] Fix typo in link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bf54c82..e93108c 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,7 @@ git clone https://github.com/hackmdio/codimd-container.git cd codimd-container docker-compose up ``` -Read more about it in the [container repository…](https://github.com/hackmdio/codimd-contianer) +Read more about it in the [container repository…](https://github.com/hackmdio/codimd-container) ## Cloudron From 0017ddd3101f7c9445a70e8b38bf0046a0730f16 Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Thu, 6 Sep 2018 15:12:37 +0100 Subject: [PATCH 10/10] Update yarn.lock --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index f3d2eda..5322789 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4612,9 +4612,9 @@ lru-queue@0.1: dependencies: es5-ext "~0.10.2" -lz-string@1.4.4: +"lz-string@git+https://github.com/hackmdio/lz-string.git": version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + resolved "git+https://github.com/hackmdio/lz-string.git#6edfccb79cd8c210f03fd3bf18e41ca144fbeefb" macaddress@^0.2.8: version "0.2.8"