From c7e63bfe526b0f10c6fcd8e03ae175edfa587041 Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Sat, 20 Jan 2018 19:57:52 -0800 Subject: [PATCH] Lock Slate versions to prevent missing dep issue in prod, add warning --- app/package-lock.json | 106 ++++++++++++++++------------------------- app/package.json | 11 +++-- scripts/postinstall.js | 19 ++++---- yarn.lock | 21 ++++++-- 4 files changed, 77 insertions(+), 80 deletions(-) diff --git a/app/package-lock.json b/app/package-lock.json index dd2b4952d..a47345800 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "mailspring", - "version": "1.0.12", + "version": "1.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -845,19 +845,6 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, - "codemirror": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.28.0.tgz", - "integrity": "sha512-E/Z6050shti9v9ivl0dUClVRM4xaH204jsJmEpNYC6KDTlQwAz+5DdhLzn0tjaL/Mp1P0J1uhZokcSP2RFSwlA==" - }, - "codemirror-spell-checker": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz", - "integrity": "sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=", - "requires": { - "typo-js": "1.0.3" - } - }, "coffee-react": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/coffee-react/-/coffee-react-5.0.1.tgz", @@ -1968,8 +1955,9 @@ } }, "is-plain-object": { - "version": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { "isobject": "3.0.1" } @@ -2805,14 +2793,6 @@ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" }, - "nslog": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/nslog/-/nslog-3.0.0.tgz", - "integrity": "sha1-nvfjpGveHnVyRFQcyhP/K2dvexk=", - "requires": { - "nan": "2.6.2" - } - }, "nth-check": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", @@ -3124,8 +3104,9 @@ "integrity": "sha1-Aj1vObsVyXwHHp5g0A0TbqxfoLQ=" }, "react-portal": { - "version": "https://registry.npmjs.org/react-portal/-/react-portal-3.2.0.tgz", - "integrity": "sha1-QiThmysF1cvnMKe6DjTsdYXeAEM=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-portal/-/react-portal-3.2.0.tgz", + "integrity": "sha512-avb1FreAZAVCvNNyS2dCpxZiPYPJnAasHYPxdVBTROgNFeI+KSb+OoMHNsC1GbDawESCriPwCX+qKua6WSPIFw==", "requires": { "prop-types": "15.5.10" } @@ -3316,14 +3297,6 @@ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" }, - "simplemde": { - "version": "github:jstejada/simplemde-markdown-editor#3c5f85665058ebdb0d2309d8e5b21d39769cb52a", - "requires": { - "codemirror": "5.28.0", - "codemirror-spell-checker": "1.1.2", - "marked": "0.3.6" - } - }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -3336,59 +3309,66 @@ "direction": "0.1.5", "esrever": "0.2.0", "is-empty": "1.2.0", - "is-plain-object": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "is-plain-object": "2.0.4", "lodash": "4.17.4", - "slate-dev-logger": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.36.tgz", + "slate-dev-logger": "0.1.36", "type-of": "2.0.1" } }, "slate-auto-replace": { - "version": "https://registry.npmjs.org/slate-auto-replace/-/slate-auto-replace-0.9.0.tgz", - "integrity": "sha1-RaE3e+Y1ZXUe/I3iyeJh7EE67Og=", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/slate-auto-replace/-/slate-auto-replace-0.9.0.tgz", + "integrity": "sha512-IOaUnEyx0gZXmb8c//CCJVXcG8jUSPD7PKTvHD5/RnoBMTs+SV3J0pYCeh4KPIP3bbFDe+tihelZkXb/lRGrkA==", "requires": { "is-hotkey": "0.0.3", "type-of": "2.0.1" } }, "slate-base64-serializer": { - "version": "https://registry.npmjs.org/slate-base64-serializer/-/slate-base64-serializer-0.2.19.tgz", - "integrity": "sha1-K5pAuWTMFCn8IBeW9JczgJI4Hjo=", + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/slate-base64-serializer/-/slate-base64-serializer-0.2.19.tgz", + "integrity": "sha512-aAaU0v1/p+i7ktWbCFpH3ShyhbjevlFox+FhISY31J4WaJtryl7ynf0YSJU4QyB0V2M8xR2iwuyqVVdwM0+xPg==", "requires": { "isomorphic-base64": "1.0.2" } }, "slate-dev-logger": { - "version": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.36.tgz", - "integrity": "sha1-7Ns32/lE38dCurI7aiDVoEctuV4=" + "version": "0.1.36", + "resolved": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.36.tgz", + "integrity": "sha512-ZMVkyKeZyVi3I+zjP7V4AyhP/oiO8hi2rlYV47gDT3S1GNFsYiq8PLBX8TSML+1gGrSrUowOIbXFwG++9ljemw==" }, "slate-edit-list": { "version": "github:bengotow/slate-edit-list#44701a78b729fed5714aaf3f6f02790d7343bb4f" }, "slate-html-serializer": { - "version": "https://registry.npmjs.org/slate-html-serializer/-/slate-html-serializer-0.5.0.tgz", - "integrity": "sha1-G8AkpBDyXURjXzl1292wlnRNyI0=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/slate-html-serializer/-/slate-html-serializer-0.5.0.tgz", + "integrity": "sha512-L3GFs3YHZinyh2d5ZoLzBLaNQK+xTgtg7a08lUYoFQpIC+9O9Z8LJQTmJS+XYxk9CeOtBO0NYvuMKts1tzgTDg==", "requires": { - "slate-dev-logger": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.36.tgz", + "slate-dev-logger": "0.1.36", "type-of": "2.0.1" } }, "slate-plain-serializer": { - "version": "https://registry.npmjs.org/slate-plain-serializer/-/slate-plain-serializer-0.5.0.tgz", - "integrity": "sha1-c4vRZoMGdn4SJZlVIuZbiZxE/b8=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/slate-plain-serializer/-/slate-plain-serializer-0.5.0.tgz", + "integrity": "sha512-MOkoxzujcboJqnwEZLxY9G8zYDURdluvn75P1Xv602XcIOPBltjyRTeNzzzsWE7aLWe5q46Xjj5k1Lti8Kh11A==", "requires": { - "slate-dev-logger": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.36.tgz" + "slate-dev-logger": "0.1.36" } }, "slate-prop-types": { - "version": "https://registry.npmjs.org/slate-prop-types/-/slate-prop-types-0.4.17.tgz", - "integrity": "sha1-CjaBtN3J45Igqe1x4voLnVJYSNE=", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/slate-prop-types/-/slate-prop-types-0.4.17.tgz", + "integrity": "sha512-sPkedgd0piF/+noN3PXdvqbwCPmzu8L1ru/ZSKLh4k+4YiCByj3v1kr1iqHt0y4Zs7x10KUXWm2xscEsY1JdgQ==", "requires": { - "slate-dev-logger": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.36.tgz" + "slate-dev-logger": "0.1.36" } }, "slate-react": { - "version": "https://registry.npmjs.org/slate-react/-/slate-react-0.11.0.tgz", - "integrity": "sha1-Zn1TEiDLIyTQh7SLa9xMSpQ9MSw=", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.11.0.tgz", + "integrity": "sha512-62Y+WsaYqtkn3iqK6j28LelSPqzwwDvDHpkQQIY/h2kHtxmCgibI/C/CcIlk8cDUHEaymdQfi01s6BrsO3xjig==", "requires": { "debug": "github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd", "get-window": "1.1.1", @@ -3399,12 +3379,12 @@ "lodash.throttle": "4.1.1", "prop-types": "15.5.10", "react-immutable-proptypes": "2.1.0", - "react-portal": "https://registry.npmjs.org/react-portal/-/react-portal-3.2.0.tgz", + "react-portal": "3.2.0", "selection-is-backward": "1.0.0", - "slate-base64-serializer": "https://registry.npmjs.org/slate-base64-serializer/-/slate-base64-serializer-0.2.19.tgz", - "slate-dev-logger": "https://registry.npmjs.org/slate-dev-logger/-/slate-dev-logger-0.1.36.tgz", - "slate-plain-serializer": "https://registry.npmjs.org/slate-plain-serializer/-/slate-plain-serializer-0.5.0.tgz", - "slate-prop-types": "https://registry.npmjs.org/slate-prop-types/-/slate-prop-types-0.4.17.tgz" + "slate-base64-serializer": "0.2.19", + "slate-dev-logger": "0.1.36", + "slate-plain-serializer": "0.5.0", + "slate-prop-types": "0.4.17" }, "dependencies": { "is-hotkey": { @@ -3415,8 +3395,9 @@ } }, "slate-soft-break": { - "version": "https://registry.npmjs.org/slate-soft-break/-/slate-soft-break-0.6.0.tgz", - "integrity": "sha1-HkSBW3/03a2gVbuhTNDS1O8P1GM=" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/slate-soft-break/-/slate-soft-break-0.6.0.tgz", + "integrity": "sha512-IDkj0dxmCiXDQC6diIYBP158MrECNtKahnkrJ/gExafLpmvV6kX5VVvN3Is1w2baNgI2jX3gIE9GtPDfnXs7Ew==" }, "slick": { "version": "1.12.2", @@ -3636,11 +3617,6 @@ "editions": "1.3.3" } }, - "typo-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.0.3.tgz", - "integrity": "sha1-VNjrx5SfGngQkItgAsaEFSbJnVo=" - }, "ua-parser-js": { "version": "0.7.14", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", diff --git a/app/package.json b/app/package.json index 1dbda9e5b..af128485a 100644 --- a/app/package.json +++ b/app/package.json @@ -70,11 +70,14 @@ "rx-lite-testing": "^4.0.7", "semver": "^4.2", "slate": "bengotow/slate#77f6337", - "slate-auto-replace": "^0.9.0", + "slate-auto-replace": "0.9.0", + "slate-prop-types": "0.4.17", "slate-edit-list": "bengotow/slate-edit-list#44701a7", - "slate-html-serializer": "^0.5.0", - "slate-react": "^0.11.0", - "slate-soft-break": "^0.6.0", + "slate-html-serializer": "0.5.0", + "slate-plain-serializer": "0.5.0", + "slate-base64-serializer": "0.2.19", + "slate-react": "0.11.0", + "slate-soft-break": "0.6.0", "source-map-support": "^0.3.2", "temp": "^0.8", "tld": "^0.0.2", diff --git a/scripts/postinstall.js b/scripts/postinstall.js index b353f9007..1092309e3 100644 --- a/scripts/postinstall.js +++ b/scripts/postinstall.js @@ -113,14 +113,17 @@ if (cacheElectronTarget !== npmElectronTarget) { npm('install', { cwd: './app', env: 'electron' }).then(() => { // run `npm dedupe` in ./app with Electron NPM config npm('dedupe', { cwd: './app', env: 'electron' }).then(() => { - // write the marker with the electron version - fs.writeFileSync(cacheVersionPath, npmElectronTarget); + // run `npm ls` in ./app - detects missing peer dependencies, etc. + npm('ls', { cwd: './app', env: 'electron' }).then(() => { + // write the marker with the electron version + fs.writeFileSync(cacheVersionPath, npmElectronTarget); - // if the user hasn't cloned the private mailsync module, download - // the binary for their operating system that was shipped to S3. - if (!fs.existsSync('./mailsync/build.sh')) { - console.log(`\n-- Downloading the last released version of Mailspring mailsync --`); - downloadMailsync(); - } + // if the user hasn't cloned the private mailsync module, download + // the binary for their operating system that was shipped to S3. + if (!fs.existsSync('./mailsync/build.sh')) { + console.log(`\n-- Downloading the last released version of Mailspring mailsync --`); + downloadMailsync(); + } + }); }); }); diff --git a/yarn.lock b/yarn.lock index 6661d11e9..deb1f29bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1791,9 +1791,9 @@ electron-winstaller@2.x.x: lodash.template "^4.2.2" temp "^0.8.3" -electron@1.7.8: - version "1.7.8" - resolved "https://registry.yarnpkg.com/electron/-/electron-1.7.8.tgz#27b791a6895171a7d52991b99442cdbd10a3539d" +electron@1.7.10: + version "1.7.10" + resolved "https://registry.yarnpkg.com/electron/-/electron-1.7.10.tgz#3a3e83d965fd7fafe473be8ddf8f472561b6253d" dependencies: "@types/node" "^7.0.18" electron-download "^3.0.1" @@ -6027,6 +6027,15 @@ tar-fs@^1.15.3: pump "^1.0.0" tar-stream "^1.1.2" +tar-fs@^1.8.1: + version "1.16.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.0.tgz#e877a25acbcc51d8c790da1c57c9cf439817b896" + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + tar-pack@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" @@ -6057,6 +6066,12 @@ tar@^2.0.0, tar@^2.2.1, tar@~2.2.1: fstream "^1.0.2" inherits "2" +targz@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/targz/-/targz-1.0.1.tgz#8f76a523694cdedfbb5d60a4076ff6eeecc5398f" + dependencies: + tar-fs "^1.8.1" + tello@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tello/-/tello-1.0.6.tgz#fbdb0b3d8d1c222adfb405b6a424355e6051d7b6"