diff --git a/apm/package-lock.json b/apm/package-lock.json
index e9b15786d..614b07fa1 100644
--- a/apm/package-lock.json
+++ b/apm/package-lock.json
@@ -21,6 +21,7 @@
"node-gyp": "3.4.0",
"npm": "6.2.0",
"open": "0.0.5",
+ "plist": "git+https://github.com/nathansobo/node-plist.git#bd3a93387f1d4b2cff819b200870d35465796e77",
"q": "~0.9.7",
"read": "~1.0.5",
"request": "^2.87.0",
@@ -3973,7 +3974,7 @@
},
"plist": {
"version": "git+https://github.com/nathansobo/node-plist.git#bd3a93387f1d4b2cff819b200870d35465796e77",
- "from": "git+https://github.com/nathansobo/node-plist.git#bd3a93387f1d4b2cff819b200870d35465796e77",
+ "from": "git+https://github.com/nathansobo/node-plist.git",
"requires": {
"xmlbuilder": "0.4.x",
"xmldom": "0.1.x"
diff --git a/package-lock.json b/package-lock.json
index 1b239486b..ddb0b422c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,19 +1,19 @@
{
"name": "atom",
- "version": "1.36.0-dev",
+ "version": "1.37.0-dev",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@atom/nsfw": {
- "version": "1.0.21",
- "resolved": "https://registry.npmjs.org/@atom/nsfw/-/nsfw-1.0.21.tgz",
- "integrity": "sha512-ERz76RZstjDvZPM4FHwgO+9dzGkki0mJsn2r+Mu4yn29MzUuAtSmtyJDPmupVUvmz2PF7KvRbC/W2A8A6BHQhA==",
+ "version": "1.0.18",
+ "resolved": "https://registry.npmjs.org/@atom/nsfw/-/nsfw-1.0.18.tgz",
+ "integrity": "sha512-YceKV9a3X62mh4Q78Nyi8aTRaoVGdpeJBHogL8gxU17iBhEpYvxGgMfTe02j1hH2taFT4barkZ5RdZkGKIsJ/w==",
"requires": {
- "fs-extra": "^7.0.0",
+ "fs-extra": "^0.26.5",
"lodash.isinteger": "^4.0.4",
"lodash.isundefined": "^3.0.1",
- "nan": "^2.10.0",
- "promisify-node": "^0.5.0"
+ "nan": "^2.0.0",
+ "promisify-node": "^0.3.0"
}
},
"@atom/source-map-support": {
@@ -34,33 +34,30 @@
}
},
"@atom/watcher": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@atom/watcher/-/watcher-1.0.8.tgz",
- "integrity": "sha512-53un+vGSaY7Fsbvmg8gerYOA3ISipMWR3qiYR9hZWqSfvFsksXJfGrmFsfbBj3uqGRQ3gPTi6wpxcFSWjbWVFQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@atom/watcher/-/watcher-1.3.1.tgz",
+ "integrity": "sha512-UjGisruWlcRLMzddE3pwvOx6wQCFN/+gg6Z4cJZvH1kjT5QT5eA04hUDs8QXF/QH8ZxMiOtP8x9SWTw0hCNelg==",
"requires": {
- "event-kit": "^2.5.0",
- "fs-extra": "^6.0.0",
- "nan": "^2.10.0",
- "node-pre-gyp": "^0.10.0"
+ "event-kit": "2.5.3",
+ "fs-extra": "7.0.1",
+ "nan": "2.12.1",
+ "prebuild-install": "5.2.4"
},
"dependencies": {
"fs-extra": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz",
- "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "requires": {
- "graceful-fs": "^4.1.6"
- }
+ "nan": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
+ "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw=="
}
}
},
@@ -78,11 +75,6 @@
"resolved": "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz",
"integrity": "sha1-hn2g/zn3eGEyQsRM/qg/CqTr35s="
},
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
"about": {
"version": "file:packages/about",
"requires": {
@@ -314,9 +306,9 @@
}
},
"atom-keymap": {
- "version": "8.2.12",
- "resolved": "https://registry.npmjs.org/atom-keymap/-/atom-keymap-8.2.12.tgz",
- "integrity": "sha512-qAXylPa/uysvYhZC1zJR7yG7QFs2RqU+2646JYGeiqgm0nMxLpdJpJ9ABIXbDNxzjhlRXNmZkr5V6N22RWjh4Q==",
+ "version": "8.2.13",
+ "resolved": "https://registry.npmjs.org/atom-keymap/-/atom-keymap-8.2.13.tgz",
+ "integrity": "sha512-RNf+5KbAiXpNV2KZT0+XYpTRFE8rhq7NrBryghJAOlwayY3g3z6Kp9tMfaPJ05BkPo9mChcaFO6SKUL8LTQcBg==",
"requires": {
"clear-cut": "^2",
"emissary": "^1.1.0",
@@ -1172,6 +1164,14 @@
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
+ "cached-run-in-this-context": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cached-run-in-this-context/-/cached-run-in-this-context-0.5.0.tgz",
+ "integrity": "sha512-FdtDP0u8WjetQ95nLz9vI06efJTFrmtmk5ZT6FECpyTKi9aakNLMHyMH21WRbGYyWlbmB/QlRoB/g1lcEpyjMw==",
+ "requires": {
+ "nan": "^2.10.0"
+ }
+ },
"caller-callsite": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
@@ -1311,6 +1311,11 @@
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
"integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
},
+ "circular-json": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.7.tgz",
+ "integrity": "sha512-/pXoV1JA847qRKPrHbBK6YIBGFF8GOP4wzSgUOA7q0ew0vAv0iJswP+2/nZQ9uzA3Azi7eTrg9L2yzXc/7ZMIA=="
+ },
"classnames": {
"version": "2.2.6",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
@@ -1638,9 +1643,9 @@
}
},
"date-format": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.0.0.tgz",
- "integrity": "sha512-M6UqVvZVgFYqZL1SfHsRGIQSz3ZL+qgbsV5Lp1Vj61LZVYuEwcMXYay7DRDtYs2HQQBK5hQtQ0fD9aEJ89V0LA=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+ "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg="
},
"debug": {
"version": "2.6.9",
@@ -2227,8 +2232,8 @@
}
},
"find-and-replace": {
- "version": "https://www.atom.io/api/packages/find-and-replace/versions/0.218.0/tarball",
- "integrity": "sha512-c77OpEcgce8cfPgjPQStEvK016AVmNMUfKIuCYgzYbjTik2lCSU+QAEG3q6MitIzqoFiSW6WW3FL502HFyZwKg==",
+ "version": "https://www.atom.io/api/packages/find-and-replace/versions/0.218.9/tarball",
+ "integrity": "sha512-j1KWRa8Ki9P3G3//kP9sWUqa8vva3+HiWfZJAR8kAaOJFUqy9EGOp6SR3Xs6ChQbk8kHmQBnIcYUjCz/gDoJ/g==",
"requires": {
"binary-search": "^1.3.3",
"element-resize-detector": "^1.1.10",
@@ -2274,11 +2279,6 @@
}
}
},
- "flatted": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
- "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg=="
- },
"flatten": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
@@ -2393,13 +2393,25 @@
"integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0="
},
"fs-extra": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz",
- "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==",
+ "version": "0.26.7",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
+ "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=",
"requires": {
"graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0",
+ "path-is-absolute": "^1.0.0",
+ "rimraf": "^2.2.8"
+ },
+ "dependencies": {
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ }
}
},
"fs-minipass": {
@@ -2411,9 +2423,9 @@
}
},
"fs-plus": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/fs-plus/-/fs-plus-3.1.1.tgz",
- "integrity": "sha512-Se2PJdOWXqos1qVTkvqqjb0CSnfBnwwD+pq+z4ksT+e97mEShod/hrNg0TRCCsXPbJzcIq+NuzQhigunMWMJUA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/fs-plus/-/fs-plus-3.0.2.tgz",
+ "integrity": "sha1-a19Sp3EolMTd6f2PgfqMYN8EHz0=",
"requires": {
"async": "^1.5.2",
"mkdirp": "^0.5.1",
@@ -2423,7 +2435,7 @@
"dependencies": {
"async": {
"version": "1.5.2",
- "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
}
}
@@ -2472,8 +2484,8 @@
"integrity": "sha1-gy9kifvodnaUWVmckUpnDsIpR+4="
},
"fuzzy-finder": {
- "version": "https://www.atom.io/api/packages/fuzzy-finder/versions/1.9.0/tarball",
- "integrity": "sha512-YJTPPMZLQmDiUa6eoONhHF7sOvAPQqrXNFLfPGAUItDUoJxvJBwkPcxh+ryCHLlO8MuoJdDvAKHsU0mGzb/JeQ==",
+ "version": "https://www.atom.io/api/packages/fuzzy-finder/versions/1.9.2/tarball",
+ "integrity": "sha512-gpr1DXfxCEwMO48uCudocIZomhHlMJk+l1lAXJXwamtprDRsuzSqVMFjlyM49/cn4P5ToMhVHHHFngg0wklpvw==",
"requires": {
"async": "0.2.6",
"atom-select-list": "^0.7.0",
@@ -2825,14 +2837,6 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
- "ignore-walk": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
- "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
"image-size": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
@@ -3233,6 +3237,14 @@
"is-buffer": "^1.1.5"
}
},
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "requires": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
"language-c": {
"version": "https://www.atom.io/api/packages/language-c/versions/0.60.14/tarball",
"integrity": "sha512-jGFMc9vNutvBflFdoUXWJqxBFdMFG7n13PxS8z+SB8H0taZStq55JixDaQ0i/qu7ay4K5BCJ7y/PHdL13vjouQ==",
@@ -3293,8 +3305,8 @@
"integrity": "sha512-kdTsc2efREnuj72WsAfcx28h0RqrVUIGF7BQcS5zy+ZibqbvnaB5DiVunRFYLhefGoaKVkAyTdRkZWMKH/yIWg=="
},
"language-javascript": {
- "version": "https://www.atom.io/api/packages/language-javascript/versions/0.129.19/tarball",
- "integrity": "sha512-ClPU0dc41WqagaPd+qy5DQ5ahDCVcfFxC1nwppyQSsSXzrzsiE2+FuYzG33OMaSGDA6/zZ6gBkHXnXXPFzWcNA==",
+ "version": "https://www.atom.io/api/packages/language-javascript/versions/0.129.20/tarball",
+ "integrity": "sha512-zHIaVdZYxxoabugCVDnOsrhy0oZC8hLPVKOZoT8EwPIWfRRNedTshFVhABUTH+dmiOUUS++izylwng2yWggpzA==",
"requires": {
"tree-sitter-javascript": "^0.13.10",
"tree-sitter-jsdoc": "^0.13.4",
@@ -3677,21 +3689,21 @@
"integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE="
},
"log4js": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.0.0.tgz",
- "integrity": "sha512-XlxZfcFAvQjnjCJBIV/EpsPmrVC12n+TxNUKgrmQh6eeA+9X+6UqvaRNV8t6dpMtXszl1LAQimB4pqyp2Gsgfw==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.5.tgz",
+ "integrity": "sha512-IX5c3G/7fuTtdr0JjOT2OIR12aTESVhsH6cEsijloYwKgcPRlO6DgOU72v0UFhWcoV1HN6+M3dwT89qVPLXm0w==",
"requires": {
- "date-format": "^2.0.0",
+ "circular-json": "^0.5.5",
+ "date-format": "^1.2.0",
"debug": "^3.1.0",
- "flatted": "^2.0.0",
"rfdc": "^1.1.2",
- "streamroller": "^1.0.1"
+ "streamroller": "0.7.0"
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",
+ "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",
"requires": {
"ms": "^2.1.1"
}
@@ -3884,14 +3896,6 @@
"yallist": "^3.0.0"
}
},
- "minizlib": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz",
- "integrity": "sha1-EeE2WM5GvDpwomeqxYNZ0eDCnOs=",
- "requires": {
- "minipass": "^2.2.1"
- }
- },
"mixto": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/mixto/-/mixto-1.0.0.tgz",
@@ -4070,16 +4074,6 @@
"underscore": ">=1.3.1"
}
},
- "needle": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.2.tgz",
- "integrity": "sha512-mW7W8dKuVYefCpNzE3Z7xUmPI9wSrSL/1qH31YGMxmSOAnjatS3S9Zv3cmiHrhx3Jkp1SrWWBdOFXjfF48Uq3A==",
- "requires": {
- "debug": "^2.1.2",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
"next-tick": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
@@ -4117,30 +4111,6 @@
"is-stream": "^1.0.1"
}
},
- "node-pre-gyp": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz",
- "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==",
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.0",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.1.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- },
- "dependencies": {
- "semver": {
- "version": "5.5.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
- "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw=="
- }
- }
- },
"node-uuid": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
@@ -4159,15 +4129,6 @@
"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
"integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
},
- "nopt": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
- "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
@@ -4192,20 +4153,6 @@
"temp": "^0.8.1"
}
},
- "npm-bundled": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz",
- "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g=="
- },
- "npm-packlist": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.11.tgz",
- "integrity": "sha512-CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA==",
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
"npmlog": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
@@ -4299,15 +4246,6 @@
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
},
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
"output-file-sync": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz",
@@ -4352,9 +4290,9 @@
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
},
"pathwatcher": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/pathwatcher/-/pathwatcher-8.0.2.tgz",
- "integrity": "sha512-zuP+fLmB2IB6z89ikcehA+vG/ITx3Cmhaj3DJrBgnbdss6dwPolSq7cDBjgZ78Vl+SXmG7CHGIOM5mqdT9h7BQ==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/pathwatcher/-/pathwatcher-8.0.1.tgz",
+ "integrity": "sha1-UaLOKgHbbDLYZ/ZYXvKEvmvQo64=",
"requires": {
"async": "~0.2.10",
"emissary": "^1.3.2",
@@ -4362,19 +4300,19 @@
"fs-plus": "^3.0.0",
"grim": "^2.0.1",
"iconv-lite": "~0.4.4",
- "nan": "^2.10.0",
+ "nan": "2.x",
"underscore-plus": "~1.x"
},
"dependencies": {
"async": {
"version": "0.2.10",
- "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
},
"grim": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/grim/-/grim-2.0.2.tgz",
- "integrity": "sha512-Qj7hTJRfd87E/gUgfvM0YIH/g2UA2SV6niv6BYXk1o6w4mhgv+QyYM1EjOJQljvzgEj4SqSsRWldXIeKHz3e3Q==",
+ "integrity": "sha1-52CinKe4NDsMH/r2ziDyGkbuiu0=",
"requires": {
"event-kit": "^2.0.0"
}
@@ -4512,12 +4450,11 @@
}
},
"promisify-node": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/promisify-node/-/promisify-node-0.5.0.tgz",
- "integrity": "sha512-GR2E4qgCoKFTprhULqP2OP3bl8kHo16XtnqtkHH6be7tPW1yL6rXd15nl3oV2sLTFv1+j6tqoF69VVpFtJ/j+A==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/promisify-node/-/promisify-node-0.3.0.tgz",
+ "integrity": "sha1-tLVaz5D6p9K4uQyjlomQhsAwYM8=",
"requires": {
- "nodegit-promise": "^4.0.0",
- "object-assign": "^4.1.1"
+ "nodegit-promise": "~4.0.0"
}
},
"prop-types": {
@@ -4920,11 +4857,6 @@
"resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
"integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc="
},
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
"scandal": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/scandal/-/scandal-3.1.0.tgz",
@@ -5071,8 +5003,8 @@
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"settings-view": {
- "version": "https://www.atom.io/api/packages/settings-view/versions/0.259.0/tarball",
- "integrity": "sha512-jNQuTozGf1uQtS4Y4hlUT15STnmnKlAWzzJOIe+ts2S/SdrGHZwxhNykJFzM8gC8j4N3Kjb8CkgmbCDzZ98aEw==",
+ "version": "https://www.atom.io/api/packages/settings-view/versions/0.260.0/tarball",
+ "integrity": "sha512-uZspfpknxC+47Zr9FJmkrAzR+a7yprv6hevZU6dUIQ1q2n0ws/Bxm6mgZVjyxpDmnNRwxiMrzCl2UArE05sNOg==",
"requires": {
"async": "~0.2.9",
"dompurify": "^1.0.2",
@@ -5182,8 +5114,8 @@
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
},
"snippets": {
- "version": "https://www.atom.io/api/packages/snippets/versions/1.4.0/tarball",
- "integrity": "sha512-pfw/YOwYeU4xJBEe/qztZx8Lq0ODLtSy7seoaMRu4w1lGlzl0HsqBeqTwLxR6bak3nS5WLj+k3hSJO+yNJWH2w==",
+ "version": "https://www.atom.io/api/packages/snippets/versions/1.4.1/tarball",
+ "integrity": "sha512-bLQmuMmyC+Sfjm/jdPbY3j/Vml3E4ApKhMFRb4AJLTde5m7TEhdTmsQBtkf+vFqGfr76tZ144F9NWH12ryS5rw==",
"requires": {
"async": "~0.2.6",
"atom-select-list": "^0.7.0",
@@ -5256,22 +5188,22 @@
"integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc="
},
"spell-check": {
- "version": "https://www.atom.io/api/packages/spell-check/versions/0.74.3/tarball",
- "integrity": "sha512-QYy0xpSKp8OSZjlvq7fOjrf/NdG4BncHvn9AmO/vcuJvWAoiwEWhqqB+BSA6uSrxOxJeJhbDJSxOrvm4YXs1xQ==",
+ "version": "https://www.atom.io/api/packages/spell-check/versions/0.74.2/tarball",
+ "integrity": "sha512-WhwhDF4nznhQuwnRemZbXODI6aqax2HlHudfLEjbhzkRGjEbfssRK82lRRvCK9LmQh3fAqCqbmELU40NEODJ8Q==",
"requires": {
"atom-pathspec": "^0.0.0",
"atom-select-list": "^0.7.0",
"multi-integer-range": "^2.0.0",
"natural": "^0.4.0",
- "spellchecker": "^3.5.1",
+ "spellchecker": "^3.4.4",
"spelling-manager": "^1.1.0",
"underscore-plus": "^1"
}
},
"spellchecker": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/spellchecker/-/spellchecker-3.5.1.tgz",
- "integrity": "sha512-R1qUBsDZzio+7MFZN6/AtPUe5NGvnc0wywckuXAlp9akASaYSFqKuI5O8p3rSiA+yKP31qC7Iijjoygmzkh6xw==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/spellchecker/-/spellchecker-3.5.0.tgz",
+ "integrity": "sha512-Xa7XnRulYhh5N/XENeL2O8/875XhLBjos7Bemv0rfcgV6ojNYMSrXscUZUGJwniX2t67eY+lNUJeptD1bMauHQ==",
"requires": {
"any-promise": "^1.3.0",
"nan": "^2.10.0"
@@ -5370,38 +5302,24 @@
}
},
"streamroller": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.1.tgz",
- "integrity": "sha512-FKL2mEB0A+XTIWSOlBHm2DvdsER5cGraqrUufO0lFMfsVY+Gpb3TC29Z+6/l0Urbb7vtm6m9zJOQBVl6fEkZBA==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
+ "integrity": "sha1-odG3z4PTmvsNYwSaWsv5NJO99ks=",
"requires": {
- "async": "^2.6.1",
- "date-format": "^2.0.0",
+ "date-format": "^1.2.0",
"debug": "^3.1.0",
- "fs-extra": "^7.0.0",
- "lodash": "^4.17.10"
+ "mkdirp": "^0.5.1",
+ "readable-stream": "^2.3.0"
},
"dependencies": {
- "async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
- "requires": {
- "lodash": "^4.17.10"
- }
- },
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",
+ "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",
"requires": {
"ms": "^2.1.1"
}
},
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
- },
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
@@ -5473,9 +5391,9 @@
}
},
"superstring": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/superstring/-/superstring-2.3.6.tgz",
- "integrity": "sha512-kDTXCXArhHL1lRk2zBW7ByRJByqVwoLK3E3jlf8+LcwQLZgSMs9dwrDHDpBdoOm89kstSBSrGcW8OJqNkxjWrQ==",
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/superstring/-/superstring-2.3.4.tgz",
+ "integrity": "sha512-DcNkTCdB9F3FMZRdURSALsHi+7DWqFCI0cH+Eg8mwBg+kxQs6GeB3LrGUvCI5bEB6Dtlu2ox8UYN0onPN4JeZQ==",
"requires": {
"nan": "^2.10.0"
}
@@ -5518,20 +5436,6 @@
"underscore-plus": "1.x"
}
},
- "tar": {
- "version": "4.4.6",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz",
- "integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==",
- "requires": {
- "chownr": "^1.0.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.3",
- "minizlib": "^1.1.0",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
- }
- },
"tar-fs": {
"version": "1.16.3",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz",
@@ -5609,21 +5513,21 @@
}
},
"text-buffer": {
- "version": "13.15.3",
- "resolved": "https://registry.npmjs.org/text-buffer/-/text-buffer-13.15.3.tgz",
- "integrity": "sha512-H2fz/N15g0fBP7R33FUFLnIyND+Lji/xmuvHg9rKgmfCh7NAVxiFIvnZTabuBhL9InqPrtV5t4hkUy+r3dNXMg==",
+ "version": "13.15.1",
+ "resolved": "https://registry.npmjs.org/text-buffer/-/text-buffer-13.15.1.tgz",
+ "integrity": "sha512-LZx7EKhVwjo50Y9ZF6WDP2S4zLUcHAagHZhn6HzHjr0SxyWtm95HG7ApSzgLGvIzCZEoTzMYt62scUdesfzYuw==",
"requires": {
"delegato": "^1.0.0",
"diff": "^2.2.1",
"emissary": "^1.0.0",
"event-kit": "^2.4.0",
- "fs-admin": "^0.1.7",
+ "fs-admin": "^0.1.4",
"fs-plus": "^3.0.0",
"grim": "^2.0.2",
"mkdirp": "^0.5.1",
- "pathwatcher": "8.0.2",
+ "pathwatcher": "8.0.1",
"serializable": "^1.0.3",
- "superstring": "2.3.6",
+ "superstring": "2.3.4",
"underscore-plus": "^1.0.0"
},
"dependencies": {
@@ -6066,8 +5970,8 @@
"integrity": "sha1-BNoCcKh6d4VAFzzb8KLbSZqNnik="
},
"welcome": {
- "version": "https://www.atom.io/api/packages/welcome/versions/0.36.7/tarball",
- "integrity": "sha512-z1EOTRYfN23fBL75Shrbe/j2VDelw2c8oKRXC2MqLLBiWUCFDkxsEo1R7OfiCaNZi7q/0ue0fqLCpENHker4FA==",
+ "version": "https://www.atom.io/api/packages/welcome/versions/0.36.8/tarball",
+ "integrity": "sha512-U2EFFqgGxqQ5eMFFP3bl5oBSSvb0kx4VZwQVyO8oXqjuveiV2gUSrnDP68C9yCqJxcMR9ZP4ZYTLsf255F7CsA==",
"requires": {
"etch": "0.9.0"
},
diff --git a/package.json b/package.json
index 6a84858c7..d19425400 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "atom",
"productName": "Atom",
- "version": "1.36.0-dev",
+ "version": "1.37.0-dev",
"description": "A hackable text editor for the 21st Century.",
"main": "./src/main-process/main.js",
"repository": {
@@ -12,17 +12,17 @@
"url": "https://github.com/atom/atom/issues"
},
"license": "MIT",
- "electronVersion": "3.0.14",
+ "electronVersion": "2.0.16",
"dependencies": {
- "@atom/nsfw": "1.0.21",
+ "@atom/nsfw": "1.0.18",
"@atom/source-map-support": "^0.3.4",
- "@atom/watcher": "1.0.8",
+ "@atom/watcher": "1.3.1",
"about": "file:packages/about",
"archive-view": "https://www.atom.io/api/packages/archive-view/versions/0.65.1/tarball",
"async": "0.2.6",
"atom-dark-syntax": "file:packages/atom-dark-syntax",
"atom-dark-ui": "file:packages/atom-dark-ui",
- "atom-keymap": "8.2.12",
+ "atom-keymap": "8.2.13",
"atom-light-syntax": "file:packages/atom-light-syntax",
"atom-light-ui": "file:packages/atom-light-ui",
"atom-select-list": "^0.7.2",
@@ -39,6 +39,7 @@
"base16-tomorrow-light-theme": "file:packages/base16-tomorrow-light-theme",
"bookmarks": "https://www.atom.io/api/packages/bookmarks/versions/0.46.0/tarball",
"bracket-matcher": "https://www.atom.io/api/packages/bracket-matcher/versions/0.90.4/tarball",
+ "cached-run-in-this-context": "0.5.0",
"chai": "3.5.0",
"chart.js": "^2.3.0",
"clear-cut": "^2.0.2",
@@ -54,15 +55,15 @@
"etch": "^0.12.6",
"event-kit": "^2.5.3",
"exception-reporting": "file:packages/exception-reporting",
- "find-and-replace": "https://www.atom.io/api/packages/find-and-replace/versions/0.218.0/tarball",
+ "find-and-replace": "https://www.atom.io/api/packages/find-and-replace/versions/0.218.9/tarball",
"find-parent-dir": "^0.3.0",
"first-mate": "7.1.3",
"focus-trap": "2.4.5",
"fs-admin": "^0.1.7",
- "fs-plus": "^3.1.1",
+ "fs-plus": "^3.0.1",
"fstream": "0.1.24",
"fuzzaldrin": "^2.1",
- "fuzzy-finder": "https://www.atom.io/api/packages/fuzzy-finder/versions/1.9.0/tarball",
+ "fuzzy-finder": "https://www.atom.io/api/packages/fuzzy-finder/versions/1.9.2/tarball",
"git-diff": "file:packages/git-diff",
"git-utils": "5.2.1",
"github": "https://www.atom.io/api/packages/github/versions/0.26.0/tarball",
@@ -88,7 +89,7 @@
"language-html": "https://www.atom.io/api/packages/language-html/versions/0.52.0/tarball",
"language-hyperlink": "https://www.atom.io/api/packages/language-hyperlink/versions/0.17.0/tarball",
"language-java": "https://www.atom.io/api/packages/language-java/versions/0.31.1/tarball",
- "language-javascript": "https://www.atom.io/api/packages/language-javascript/versions/0.129.19/tarball",
+ "language-javascript": "https://www.atom.io/api/packages/language-javascript/versions/0.129.20/tarball",
"language-json": "https://www.atom.io/api/packages/language-json/versions/0.19.2/tarball",
"language-less": "https://www.atom.io/api/packages/language-less/versions/0.34.3/tarball",
"language-make": "https://www.atom.io/api/packages/language-make/versions/0.23.0/tarball",
@@ -132,7 +133,7 @@
"one-light-ui": "file:packages/one-light-ui",
"open-on-github": "https://www.atom.io/api/packages/open-on-github/versions/1.3.1/tarball",
"package-generator": "https://www.atom.io/api/packages/package-generator/versions/1.3.0/tarball",
- "pathwatcher": "8.0.2",
+ "pathwatcher": "8.0.1",
"postcss": "5.2.4",
"postcss-selector-parser": "2.2.1",
"property-accessors": "^1.1.3",
@@ -144,18 +145,18 @@
"season": "^6.0.2",
"semver": "^4.3.3",
"service-hub": "^0.7.4",
- "settings-view": "https://www.atom.io/api/packages/settings-view/versions/0.259.0/tarball",
+ "settings-view": "https://www.atom.io/api/packages/settings-view/versions/0.260.0/tarball",
"sinon": "1.17.4",
- "snippets": "https://www.atom.io/api/packages/snippets/versions/1.4.0/tarball",
+ "snippets": "https://www.atom.io/api/packages/snippets/versions/1.4.1/tarball",
"solarized-dark-syntax": "file:packages/solarized-dark-syntax",
"solarized-light-syntax": "file:packages/solarized-light-syntax",
- "spell-check": "https://www.atom.io/api/packages/spell-check/versions/0.74.3/tarball",
+ "spell-check": "https://www.atom.io/api/packages/spell-check/versions/0.74.2/tarball",
"status-bar": "https://www.atom.io/api/packages/status-bar/versions/1.8.17/tarball",
"styleguide": "https://www.atom.io/api/packages/styleguide/versions/0.49.12/tarball",
"symbols-view": "https://www.atom.io/api/packages/symbols-view/versions/0.118.2/tarball",
"tabs": "https://www.atom.io/api/packages/tabs/versions/0.110.0/tarball",
"temp": "^0.8.3",
- "text-buffer": "13.15.3",
+ "text-buffer": "13.15.1",
"timecop": "https://www.atom.io/api/packages/timecop/versions/0.36.2/tarball",
"tree-sitter": "0.13.23",
"tree-sitter-css": "^0.13.7",
@@ -163,7 +164,7 @@
"typescript-simple": "1.0.0",
"underscore-plus": "^1.6.8",
"update-package-dependencies": "https://www.atom.io/api/packages/update-package-dependencies/versions/0.13.1/tarball",
- "welcome": "https://www.atom.io/api/packages/welcome/versions/0.36.7/tarball",
+ "welcome": "https://www.atom.io/api/packages/welcome/versions/0.36.8/tarball",
"whitespace": "https://www.atom.io/api/packages/whitespace/versions/0.37.7/tarball",
"winreg": "^1.2.1",
"wrap-guide": "https://www.atom.io/api/packages/wrap-guide/versions/0.41.0/tarball",
@@ -200,8 +201,8 @@
"dev-live-reload": "file:./packages/dev-live-reload",
"encoding-selector": "0.23.9",
"exception-reporting": "file:./packages/exception-reporting",
- "find-and-replace": "0.218.0",
- "fuzzy-finder": "1.9.0",
+ "find-and-replace": "0.218.9",
+ "fuzzy-finder": "1.9.2",
"github": "0.26.0",
"git-diff": "file:./packages/git-diff",
"go-to-line": "file:./packages/go-to-line",
@@ -216,9 +217,9 @@
"notifications": "0.70.6",
"open-on-github": "1.3.1",
"package-generator": "1.3.0",
- "settings-view": "0.259.0",
- "snippets": "1.4.0",
- "spell-check": "0.74.3",
+ "settings-view": "0.260.0",
+ "snippets": "1.4.1",
+ "spell-check": "0.74.2",
"status-bar": "1.8.17",
"styleguide": "0.49.12",
"symbols-view": "0.118.2",
@@ -226,7 +227,7 @@
"timecop": "0.36.2",
"tree-view": "0.224.5",
"update-package-dependencies": "0.13.1",
- "welcome": "0.36.7",
+ "welcome": "0.36.8",
"whitespace": "0.37.7",
"wrap-guide": "0.41.0",
"language-c": "0.60.14",
@@ -240,7 +241,7 @@
"language-html": "0.52.0",
"language-hyperlink": "0.17.0",
"language-java": "0.31.1",
- "language-javascript": "0.129.19",
+ "language-javascript": "0.129.20",
"language-json": "0.19.2",
"language-less": "0.34.3",
"language-make": "0.23.0",
diff --git a/packages/about/lib/about.js b/packages/about/lib/about.js
index 1221bda6d..1fe660e9f 100644
--- a/packages/about/lib/about.js
+++ b/packages/about/lib/about.js
@@ -1,4 +1,4 @@
-const {CompositeDisposable, Emitter} = require('atom')
+const { CompositeDisposable, Emitter } = require('atom')
const AboutView = require('./components/about-view')
// Deferred requires
@@ -14,16 +14,22 @@ module.exports = class About {
aboutView: null
}
- this.subscriptions.add(atom.workspace.addOpener((uriToOpen) => {
- if (uriToOpen === this.state.uri) {
- return this.deserialize()
- }
- }))
+ this.subscriptions.add(
+ atom.workspace.addOpener(uriToOpen => {
+ if (uriToOpen === this.state.uri) {
+ return this.deserialize()
+ }
+ })
+ )
- this.subscriptions.add(atom.commands.add('atom-workspace', 'about:view-release-notes', () => {
- shell = shell || require('electron').shell
- shell.openExternal(this.state.updateManager.getReleaseNotesURLForCurrentVersion())
- }))
+ this.subscriptions.add(
+ atom.commands.add('atom-workspace', 'about:view-release-notes', () => {
+ shell = shell || require('electron').shell
+ shell.openExternal(
+ this.state.updateManager.getReleaseNotesURLForCurrentVersion()
+ )
+ })
+ )
}
destroy () {
@@ -31,14 +37,14 @@ module.exports = class About {
this.views.aboutView = null
if (this.state.updateManager) this.state.updateManager.dispose()
- this.setState({updateManager: null})
+ this.setState({ updateManager: null })
this.subscriptions.dispose()
}
setState (newState) {
if (newState && typeof newState === 'object') {
- let {state} = this
+ let { state } = this
this.state = Object.assign({}, state, newState)
this.didChange()
diff --git a/packages/about/lib/components/about-status-bar.js b/packages/about/lib/components/about-status-bar.js
index d55800f5d..4529b6ae8 100644
--- a/packages/about/lib/components/about-status-bar.js
+++ b/packages/about/lib/components/about-status-bar.js
@@ -1,16 +1,20 @@
-const {CompositeDisposable} = require('atom')
+const { CompositeDisposable } = require('atom')
const etch = require('etch')
const EtchComponent = require('../etch-component')
const $ = etch.dom
-module.exports =
-class AboutStatusBar extends EtchComponent {
+module.exports = class AboutStatusBar extends EtchComponent {
constructor () {
super()
this.subscriptions = new CompositeDisposable()
- this.subscriptions.add(atom.tooltips.add(this.element, {title: 'An update will be installed the next time Atom is relaunched.
Click the squirrel icon for more information.'}))
+ this.subscriptions.add(
+ atom.tooltips.add(this.element, {
+ title:
+ 'An update will be installed the next time Atom is relaunched.
Click the squirrel icon for more information.'
+ })
+ )
}
handleClick () {
@@ -18,8 +22,12 @@ class AboutStatusBar extends EtchComponent {
}
render () {
- return $.div({className: 'about-release-notes inline-block', onclick: this.handleClick.bind(this)},
- $.span({type: 'button', className: 'icon icon-squirrel'})
+ return $.div(
+ {
+ className: 'about-release-notes inline-block',
+ onclick: this.handleClick.bind(this)
+ },
+ $.span({ type: 'button', className: 'icon icon-squirrel' })
)
}
diff --git a/packages/about/lib/components/about-view.js b/packages/about/lib/components/about-view.js
index 3e370b171..34fb7cba9 100644
--- a/packages/about/lib/components/about-view.js
+++ b/packages/about/lib/components/about-view.js
@@ -1,4 +1,4 @@
-const {Disposable} = require('atom')
+const { Disposable } = require('atom')
const etch = require('etch')
const shell = require('shell')
const AtomLogo = require('./atom-logo')
@@ -7,8 +7,7 @@ const UpdateView = require('./update-view')
const $ = etch.dom
-module.exports =
-class AboutView extends EtchComponent {
+module.exports = class AboutView extends EtchComponent {
handleAtomVersionClick (e) {
e.preventDefault()
atom.clipboard.write(this.props.currentAtomVersion)
@@ -31,12 +30,17 @@ class AboutView extends EtchComponent {
handleReleaseNotesClick (e) {
e.preventDefault()
- shell.openExternal(this.props.updateManager.getReleaseNotesURLForAvailableVersion())
+ shell.openExternal(
+ this.props.updateManager.getReleaseNotesURLForAvailableVersion()
+ )
}
handleLicenseClick (e) {
e.preventDefault()
- atom.commands.dispatch(atom.views.getView(atom.workspace), 'application:open-license')
+ atom.commands.dispatch(
+ atom.views.getView(atom.workspace),
+ 'application:open-license'
+ )
}
handleTermsOfUseClick (e) {
@@ -46,7 +50,9 @@ class AboutView extends EtchComponent {
handleHowToUpdateClick (e) {
e.preventDefault()
- shell.openExternal('https://flight-manual.atom.io/getting-started/sections/installing-atom/')
+ shell.openExternal(
+ 'https://flight-manual.atom.io/getting-started/sections/installing-atom/'
+ )
}
handleShowMoreClick (e) {
@@ -66,39 +72,87 @@ class AboutView extends EtchComponent {
}
render () {
- return $.div({className: 'pane-item native-key-bindings about'},
- $.div({className: 'about-container'},
- $.header({className: 'about-header'},
- $.a({className: 'about-atom-io', href: 'https://atom.io'},
+ return $.div(
+ { className: 'pane-item native-key-bindings about' },
+ $.div(
+ { className: 'about-container' },
+ $.header(
+ { className: 'about-header' },
+ $.a(
+ { className: 'about-atom-io', href: 'https://atom.io' },
$(AtomLogo)
),
- $.div({className: 'about-header-info'},
- $.span({className: 'about-version-container inline-block atom', onclick: this.handleAtomVersionClick.bind(this)},
- $.span({className: 'about-version'}, `${this.props.currentAtomVersion} ${process.arch}`),
- $.span({className: 'icon icon-clippy about-copy-version'})
+ $.div(
+ { className: 'about-header-info' },
+ $.span(
+ {
+ className: 'about-version-container inline-block atom',
+ onclick: this.handleAtomVersionClick.bind(this)
+ },
+ $.span(
+ { className: 'about-version' },
+ `${this.props.currentAtomVersion} ${process.arch}`
+ ),
+ $.span({ className: 'icon icon-clippy about-copy-version' })
),
- $.a({className: 'about-header-release-notes', onclick: this.handleReleaseNotesClick.bind(this)}, 'Release Notes')
+ $.a(
+ {
+ className: 'about-header-release-notes',
+ onclick: this.handleReleaseNotesClick.bind(this)
+ },
+ 'Release Notes'
+ )
),
- $.span({className: 'about-version-container inline-block show-more-expand', onclick: this.handleShowMoreClick.bind(this)},
- $.span({className: 'about-more-expand'}, 'Show more')
+ $.span(
+ {
+ className:
+ 'about-version-container inline-block show-more-expand',
+ onclick: this.handleShowMoreClick.bind(this)
+ },
+ $.span({ className: 'about-more-expand' }, 'Show more')
),
- $.div({className: 'show-more hidden about-more-info'},
- $.div({className: 'about-more-info'},
- $.span({className: 'about-version-container inline-block electron', onclick: this.handleElectronVersionClick.bind(this)},
- $.span({className: 'about-more-version'}, `Electron: ${this.props.currentElectronVersion} `),
- $.span({className: 'icon icon-clippy about-copy-version'})
+ $.div(
+ { className: 'show-more hidden about-more-info' },
+ $.div(
+ { className: 'about-more-info' },
+ $.span(
+ {
+ className: 'about-version-container inline-block electron',
+ onclick: this.handleElectronVersionClick.bind(this)
+ },
+ $.span(
+ { className: 'about-more-version' },
+ `Electron: ${this.props.currentElectronVersion} `
+ ),
+ $.span({ className: 'icon icon-clippy about-copy-version' })
)
),
- $.div({className: 'about-more-info'},
- $.span({className: 'about-version-container inline-block chrome', onclick: this.handleChromeVersionClick.bind(this)},
- $.span({className: 'about-more-version'}, `Chrome: ${this.props.currentChromeVersion} `),
- $.span({className: 'icon icon-clippy about-copy-version'})
+ $.div(
+ { className: 'about-more-info' },
+ $.span(
+ {
+ className: 'about-version-container inline-block chrome',
+ onclick: this.handleChromeVersionClick.bind(this)
+ },
+ $.span(
+ { className: 'about-more-version' },
+ `Chrome: ${this.props.currentChromeVersion} `
+ ),
+ $.span({ className: 'icon icon-clippy about-copy-version' })
)
),
- $.div({className: 'about-more-info'},
- $.span({className: 'about-version-container inline-block node', onclick: this.handleNodeVersionClick.bind(this)},
- $.span({className: 'about-more-version'}, `Node: ${this.props.currentNodeVersion} `),
- $.span({className: 'icon icon-clippy about-copy-version'})
+ $.div(
+ { className: 'about-more-info' },
+ $.span(
+ {
+ className: 'about-version-container inline-block node',
+ onclick: this.handleNodeVersionClick.bind(this)
+ },
+ $.span(
+ { className: 'about-more-version' },
+ `Node: ${this.props.currentNodeVersion} `
+ ),
+ $.span({ className: 'icon icon-clippy about-copy-version' })
)
)
)
@@ -112,24 +166,43 @@ class AboutView extends EtchComponent {
viewUpdateInstructions: this.handleHowToUpdateClick.bind(this)
}),
- $.div({className: 'about-actions group-item'},
- $.div({className: 'btn-group'},
- $.button({className: 'btn view-license', onclick: this.handleLicenseClick.bind(this)}, 'License'),
- $.button({className: 'btn terms-of-use', onclick: this.handleTermsOfUseClick.bind(this)}, 'Terms of Use')
+ $.div(
+ { className: 'about-actions group-item' },
+ $.div(
+ { className: 'btn-group' },
+ $.button(
+ {
+ className: 'btn view-license',
+ onclick: this.handleLicenseClick.bind(this)
+ },
+ 'License'
+ ),
+ $.button(
+ {
+ className: 'btn terms-of-use',
+ onclick: this.handleTermsOfUseClick.bind(this)
+ },
+ 'Terms of Use'
+ )
)
),
- $.div({className: 'about-love group-start'},
- $.span({className: 'icon icon-code'}),
- $.span({className: 'inline'}, ' with '),
- $.span({className: 'icon icon-heart'}),
- $.span({className: 'inline'}, ' by '),
- $.a({className: 'icon icon-logo-github', href: 'https://github.com'})
+ $.div(
+ { className: 'about-love group-start' },
+ $.span({ className: 'icon icon-code' }),
+ $.span({ className: 'inline' }, ' with '),
+ $.span({ className: 'icon icon-heart' }),
+ $.span({ className: 'inline' }, ' by '),
+ $.a({ className: 'icon icon-logo-github', href: 'https://github.com' })
),
- $.div({className: 'about-credits group-item'},
- $.span({className: 'inline'}, 'And the awesome '),
- $.a({href: 'https://github.com/atom/atom/contributors'}, 'Atom Community')
+ $.div(
+ { className: 'about-credits group-item' },
+ $.span({ className: 'inline' }, 'And the awesome '),
+ $.a(
+ { href: 'https://github.com/atom/atom/contributors' },
+ 'Atom Community'
+ )
)
)
}
diff --git a/packages/about/lib/components/atom-logo.js b/packages/about/lib/components/atom-logo.js
index f8b620ce1..bd50fc7a2 100644
--- a/packages/about/lib/components/atom-logo.js
+++ b/packages/about/lib/components/atom-logo.js
@@ -3,23 +3,74 @@ const EtchComponent = require('../etch-component')
const $ = etch.dom
-module.exports =
-class AtomLogo extends EtchComponent {
+module.exports = class AtomLogo extends EtchComponent {
render () {
- return $.svg({className: 'about-logo', width: '330px', height: '68px', viewBox: '0 0 330 68'},
- $.g({stroke: 'none', 'stroke-width': '1', fill: 'none', 'fill-rule': 'evenodd'},
- $.g({transform: 'translate(2.000000, 1.000000)'},
- $.g({transform: 'translate(96.000000, 8.000000)', fill: 'currentColor'},
- $.path({d: 'M185.498,3.399 C185.498,2.417 186.34,1.573 187.324,1.573 L187.674,1.573 C188.447,1.573 189.01,1.995 189.5,2.628 L208.676,30.862 L227.852,2.628 C228.272,1.995 228.905,1.573 229.676,1.573 L230.028,1.573 C231.01,1.573 231.854,2.417 231.854,3.399 L231.854,49.403 C231.854,50.387 231.01,51.231 230.028,51.231 C229.044,51.231 228.202,50.387 228.202,49.403 L228.202,8.246 L210.151,34.515 C209.729,35.148 209.237,35.428 208.606,35.428 C207.973,35.428 207.481,35.148 207.061,34.515 L189.01,8.246 L189.01,49.475 C189.01,50.457 188.237,51.231 187.254,51.231 C186.27,51.231 185.498,50.458 185.498,49.475 L185.498,3.399 L185.498,3.399 Z'}),
- $.path({d: 'M113.086,26.507 L113.086,26.367 C113.086,12.952 122.99,0.941 137.881,0.941 C152.77,0.941 162.533,12.811 162.533,26.225 L162.533,26.367 C162.533,39.782 152.629,51.792 137.74,51.792 C122.85,51.792 113.086,39.923 113.086,26.507 M158.74,26.507 L158.74,26.367 C158.74,14.216 149.89,4.242 137.74,4.242 C125.588,4.242 116.879,14.075 116.879,26.225 L116.879,26.367 C116.879,38.518 125.729,48.491 137.881,48.491 C150.031,48.491 158.74,38.658 158.74,26.507'}),
- $.path({d: 'M76.705,5.155 L60.972,5.155 C60.06,5.155 59.287,4.384 59.287,3.469 C59.287,2.556 60.059,1.783 60.972,1.783 L96.092,1.783 C97.004,1.783 97.778,2.555 97.778,3.469 C97.778,4.383 97.005,5.155 96.092,5.155 L80.358,5.155 L80.358,49.405 C80.358,50.387 79.516,51.231 78.532,51.231 C77.55,51.231 76.706,50.387 76.706,49.405 L76.706,5.155 L76.705,5.155 Z'}),
- $.path({d: 'M0.291,48.562 L21.291,3.05 C21.783,1.995 22.485,1.292 23.75,1.292 L23.891,1.292 C25.155,1.292 25.858,1.995 26.348,3.05 L47.279,48.421 C47.49,48.843 47.56,49.194 47.56,49.546 C47.56,50.458 46.788,51.231 45.803,51.231 C44.961,51.231 44.329,50.599 43.978,49.826 L38.219,37.183 L9.21,37.183 L3.45,49.897 C3.099,50.739 2.538,51.231 1.694,51.231 C0.781,51.231 0.008,50.529 0.008,49.685 C0.009,49.404 0.08,48.983 0.291,48.562 L0.291,48.562 Z M36.673,33.882 L23.749,5.437 L10.755,33.882 L36.673,33.882 L36.673,33.882 Z'})
+ return $.svg(
+ {
+ className: 'about-logo',
+ width: '330px',
+ height: '68px',
+ viewBox: '0 0 330 68'
+ },
+ $.g(
+ {
+ stroke: 'none',
+ 'stroke-width': '1',
+ fill: 'none',
+ 'fill-rule': 'evenodd'
+ },
+ $.g(
+ { transform: 'translate(2.000000, 1.000000)' },
+ $.g(
+ {
+ transform: 'translate(96.000000, 8.000000)',
+ fill: 'currentColor'
+ },
+ $.path({
+ d:
+ 'M185.498,3.399 C185.498,2.417 186.34,1.573 187.324,1.573 L187.674,1.573 C188.447,1.573 189.01,1.995 189.5,2.628 L208.676,30.862 L227.852,2.628 C228.272,1.995 228.905,1.573 229.676,1.573 L230.028,1.573 C231.01,1.573 231.854,2.417 231.854,3.399 L231.854,49.403 C231.854,50.387 231.01,51.231 230.028,51.231 C229.044,51.231 228.202,50.387 228.202,49.403 L228.202,8.246 L210.151,34.515 C209.729,35.148 209.237,35.428 208.606,35.428 C207.973,35.428 207.481,35.148 207.061,34.515 L189.01,8.246 L189.01,49.475 C189.01,50.457 188.237,51.231 187.254,51.231 C186.27,51.231 185.498,50.458 185.498,49.475 L185.498,3.399 L185.498,3.399 Z'
+ }),
+ $.path({
+ d:
+ 'M113.086,26.507 L113.086,26.367 C113.086,12.952 122.99,0.941 137.881,0.941 C152.77,0.941 162.533,12.811 162.533,26.225 L162.533,26.367 C162.533,39.782 152.629,51.792 137.74,51.792 C122.85,51.792 113.086,39.923 113.086,26.507 M158.74,26.507 L158.74,26.367 C158.74,14.216 149.89,4.242 137.74,4.242 C125.588,4.242 116.879,14.075 116.879,26.225 L116.879,26.367 C116.879,38.518 125.729,48.491 137.881,48.491 C150.031,48.491 158.74,38.658 158.74,26.507'
+ }),
+ $.path({
+ d:
+ 'M76.705,5.155 L60.972,5.155 C60.06,5.155 59.287,4.384 59.287,3.469 C59.287,2.556 60.059,1.783 60.972,1.783 L96.092,1.783 C97.004,1.783 97.778,2.555 97.778,3.469 C97.778,4.383 97.005,5.155 96.092,5.155 L80.358,5.155 L80.358,49.405 C80.358,50.387 79.516,51.231 78.532,51.231 C77.55,51.231 76.706,50.387 76.706,49.405 L76.706,5.155 L76.705,5.155 Z'
+ }),
+ $.path({
+ d:
+ 'M0.291,48.562 L21.291,3.05 C21.783,1.995 22.485,1.292 23.75,1.292 L23.891,1.292 C25.155,1.292 25.858,1.995 26.348,3.05 L47.279,48.421 C47.49,48.843 47.56,49.194 47.56,49.546 C47.56,50.458 46.788,51.231 45.803,51.231 C44.961,51.231 44.329,50.599 43.978,49.826 L38.219,37.183 L9.21,37.183 L3.45,49.897 C3.099,50.739 2.538,51.231 1.694,51.231 C0.781,51.231 0.008,50.529 0.008,49.685 C0.009,49.404 0.08,48.983 0.291,48.562 L0.291,48.562 Z M36.673,33.882 L23.749,5.437 L10.755,33.882 L36.673,33.882 L36.673,33.882 Z'
+ })
),
- $.g({},
- $.path({d: 'M40.363,32.075 C40.874,34.44 39.371,36.77 37.006,37.282 C34.641,37.793 32.311,36.29 31.799,33.925 C31.289,31.56 32.791,29.23 35.156,28.718 C37.521,28.207 39.851,29.71 40.363,32.075', fill: 'currentColor'}),
- $.path({d: 'M48.578,28.615 C56.851,45.587 58.558,61.581 52.288,64.778 C45.822,68.076 33.326,56.521 24.375,38.969 C15.424,21.418 13.409,4.518 19.874,1.221 C22.689,-0.216 26.648,1.166 30.959,4.629', stroke: 'currentColor', 'stroke-width': '3.08', 'stroke-linecap': 'round'}),
- $.path({d: 'M7.64,39.45 C2.806,36.94 -0.009,33.915 0.154,30.79 C0.531,23.542 16.787,18.497 36.462,19.52 C56.137,20.544 71.781,27.249 71.404,34.497 C71.241,37.622 68.127,40.338 63.06,42.333', stroke: 'currentColor', 'stroke-width': '3.08', 'stroke-linecap': 'round'}),
- $.path({d: 'M28.828,59.354 C23.545,63.168 18.843,64.561 15.902,62.653 C9.814,58.702 13.572,42.102 24.296,25.575 C35.02,9.048 48.649,-1.149 54.736,2.803 C57.566,4.639 58.269,9.208 57.133,15.232', stroke: 'currentColor', 'stroke-width': '3.08', 'stroke-linecap': 'round'})
+ $.g(
+ {},
+ $.path({
+ d:
+ 'M40.363,32.075 C40.874,34.44 39.371,36.77 37.006,37.282 C34.641,37.793 32.311,36.29 31.799,33.925 C31.289,31.56 32.791,29.23 35.156,28.718 C37.521,28.207 39.851,29.71 40.363,32.075',
+ fill: 'currentColor'
+ }),
+ $.path({
+ d:
+ 'M48.578,28.615 C56.851,45.587 58.558,61.581 52.288,64.778 C45.822,68.076 33.326,56.521 24.375,38.969 C15.424,21.418 13.409,4.518 19.874,1.221 C22.689,-0.216 26.648,1.166 30.959,4.629',
+ stroke: 'currentColor',
+ 'stroke-width': '3.08',
+ 'stroke-linecap': 'round'
+ }),
+ $.path({
+ d:
+ 'M7.64,39.45 C2.806,36.94 -0.009,33.915 0.154,30.79 C0.531,23.542 16.787,18.497 36.462,19.52 C56.137,20.544 71.781,27.249 71.404,34.497 C71.241,37.622 68.127,40.338 63.06,42.333',
+ stroke: 'currentColor',
+ 'stroke-width': '3.08',
+ 'stroke-linecap': 'round'
+ }),
+ $.path({
+ d:
+ 'M28.828,59.354 C23.545,63.168 18.843,64.561 15.902,62.653 C9.814,58.702 13.572,42.102 24.296,25.575 C35.02,9.048 48.649,-1.149 54.736,2.803 C57.566,4.639 58.269,9.208 57.133,15.232',
+ stroke: 'currentColor',
+ 'stroke-width': '3.08',
+ 'stroke-linecap': 'round'
+ })
)
)
)
diff --git a/packages/about/lib/components/update-view.js b/packages/about/lib/components/update-view.js
index a4e97e74d..4399b58b4 100644
--- a/packages/about/lib/components/update-view.js
+++ b/packages/about/lib/components/update-view.js
@@ -4,12 +4,14 @@ const UpdateManager = require('../update-manager')
const $ = etch.dom
-module.exports =
-class UpdateView extends EtchComponent {
+module.exports = class UpdateView extends EtchComponent {
constructor (props) {
super(props)
- if (this.props.updateManager.getAutoUpdatesEnabled() && this.props.updateManager.getState() === UpdateManager.State.Idle) {
+ if (
+ this.props.updateManager.getAutoUpdatesEnabled() &&
+ this.props.updateManager.getState() === UpdateManager.State.Idle
+ ) {
this.props.updateManager.checkForUpdate()
}
}
@@ -19,12 +21,18 @@ class UpdateView extends EtchComponent {
}
shouldUpdateActionButtonBeDisabled () {
- let {state} = this.props.updateManager
- return state === UpdateManager.State.CheckingForUpdate || state === UpdateManager.State.DownloadingUpdate
+ let { state } = this.props.updateManager
+ return (
+ state === UpdateManager.State.CheckingForUpdate ||
+ state === UpdateManager.State.DownloadingUpdate
+ )
}
executeUpdateAction () {
- if (this.props.updateManager.state === UpdateManager.State.UpdateAvailableToInstall) {
+ if (
+ this.props.updateManager.state ===
+ UpdateManager.State.UpdateAvailableToInstall
+ ) {
this.props.updateManager.restartAndInstallUpdate()
} else {
this.props.updateManager.checkForUpdate()
@@ -36,44 +44,86 @@ class UpdateView extends EtchComponent {
switch (this.props.updateManager.state) {
case UpdateManager.State.Idle:
- updateStatus = $.div({className: 'about-updates-item is-shown about-default-update-message'},
- this.props.updateManager.getAutoUpdatesEnabled() ? 'Atom will check for updates automatically' : 'Automatic updates are disabled please check manually'
+ updateStatus = $.div(
+ {
+ className:
+ 'about-updates-item is-shown about-default-update-message'
+ },
+ this.props.updateManager.getAutoUpdatesEnabled()
+ ? 'Atom will check for updates automatically'
+ : 'Automatic updates are disabled please check manually'
)
break
case UpdateManager.State.CheckingForUpdate:
- updateStatus = $.div({className: 'about-updates-item app-checking-for-updates'},
- $.span({className: 'about-updates-label icon icon-search'}, 'Checking for updates...')
+ updateStatus = $.div(
+ { className: 'about-updates-item app-checking-for-updates' },
+ $.span(
+ { className: 'about-updates-label icon icon-search' },
+ 'Checking for updates...'
+ )
)
break
case UpdateManager.State.DownloadingUpdate:
- updateStatus = $.div({className: 'about-updates-item app-downloading-update'},
- $.span({className: 'loading loading-spinner-tiny inline-block'}),
- $.span({className: 'about-updates-label'}, 'Downloading update')
+ updateStatus = $.div(
+ { className: 'about-updates-item app-downloading-update' },
+ $.span({ className: 'loading loading-spinner-tiny inline-block' }),
+ $.span({ className: 'about-updates-label' }, 'Downloading update')
)
break
case UpdateManager.State.UpdateAvailableToInstall:
- updateStatus = $.div({className: 'about-updates-item app-update-available-to-install'},
- $.span({className: 'about-updates-label icon icon-squirrel'}, 'New update'),
- $.span({className: 'about-updates-version'}, this.props.availableVersion),
- $.a({className: 'about-updates-release-notes', onclick: this.props.viewUpdateReleaseNotes}, 'Release Notes')
+ updateStatus = $.div(
+ { className: 'about-updates-item app-update-available-to-install' },
+ $.span(
+ { className: 'about-updates-label icon icon-squirrel' },
+ 'New update'
+ ),
+ $.span(
+ { className: 'about-updates-version' },
+ this.props.availableVersion
+ ),
+ $.a(
+ {
+ className: 'about-updates-release-notes',
+ onclick: this.props.viewUpdateReleaseNotes
+ },
+ 'Release Notes'
+ )
)
break
case UpdateManager.State.UpToDate:
- updateStatus = $.div({className: 'about-updates-item app-up-to-date'},
- $.span({className: 'icon icon-check'}),
- $.span({className: 'about-updates-label is-strong'}, 'Atom is up to date!')
+ updateStatus = $.div(
+ { className: 'about-updates-item app-up-to-date' },
+ $.span({ className: 'icon icon-check' }),
+ $.span(
+ { className: 'about-updates-label is-strong' },
+ 'Atom is up to date!'
+ )
)
break
case UpdateManager.State.Unsupported:
- updateStatus = $.div({className: 'about-updates-item app-unsupported'},
- $.span({className: 'about-updates-label is-strong'}, 'Your system does not support automatic updates'),
- $.a({className: 'about-updates-instructions', onclick: this.props.viewUpdateInstructions}, 'How to update')
+ updateStatus = $.div(
+ { className: 'about-updates-item app-unsupported' },
+ $.span(
+ { className: 'about-updates-label is-strong' },
+ 'Your system does not support automatic updates'
+ ),
+ $.a(
+ {
+ className: 'about-updates-instructions',
+ onclick: this.props.viewUpdateInstructions
+ },
+ 'How to update'
+ )
)
break
case UpdateManager.State.Error:
- updateStatus = $.div({className: 'about-updates-item app-update-error'},
- $.span({className: 'icon icon-x'}),
- $.span({className: 'about-updates-label app-error-message is-strong'}, this.props.updateManager.getErrorMessage())
+ updateStatus = $.div(
+ { className: 'about-updates-item app-update-error' },
+ $.span({ className: 'icon icon-x' }),
+ $.span(
+ { className: 'about-updates-label app-error-message is-strong' },
+ this.props.updateManager.getErrorMessage()
+ )
)
break
}
@@ -82,37 +132,47 @@ class UpdateView extends EtchComponent {
}
render () {
- return $.div({className: 'about-updates group-start'},
- $.div({className: 'about-updates-box'},
- $.div({className: 'about-updates-status'}, this.renderUpdateStatus()),
+ return $.div(
+ { className: 'about-updates group-start' },
+ $.div(
+ { className: 'about-updates-box' },
+ $.div({ className: 'about-updates-status' }, this.renderUpdateStatus()),
$.button(
{
className: 'btn about-update-action-button',
disabled: this.shouldUpdateActionButtonBeDisabled(),
onclick: this.executeUpdateAction.bind(this),
style: {
- display: this.props.updateManager.state === UpdateManager.State.Unsupported ? 'none' : 'block'
+ display:
+ this.props.updateManager.state ===
+ UpdateManager.State.Unsupported
+ ? 'none'
+ : 'block'
}
},
- this.props.updateManager.state === 'update-available' ? 'Restart and install' : 'Check now'
+ this.props.updateManager.state === 'update-available'
+ ? 'Restart and install'
+ : 'Check now'
)
),
$.div(
{
className: 'about-auto-updates',
style: {
- display: this.props.updateManager.state === UpdateManager.State.Unsupported ? 'none' : 'block'
+ display:
+ this.props.updateManager.state === UpdateManager.State.Unsupported
+ ? 'none'
+ : 'block'
}
},
- $.label({},
- $.input(
- {
- className: 'input-checkbox',
- type: 'checkbox',
- checked: this.props.updateManager.getAutoUpdatesEnabled(),
- onchange: this.handleAutoUpdateCheckbox.bind(this)
- }
- ),
+ $.label(
+ {},
+ $.input({
+ className: 'input-checkbox',
+ type: 'checkbox',
+ checked: this.props.updateManager.getAutoUpdatesEnabled(),
+ onchange: this.handleAutoUpdateCheckbox.bind(this)
+ }),
$.span({}, 'Automatically download updates')
)
)
diff --git a/packages/about/lib/etch-component.js b/packages/about/lib/etch-component.js
index f75edce94..71ea85c88 100644
--- a/packages/about/lib/etch-component.js
+++ b/packages/about/lib/etch-component.js
@@ -4,8 +4,7 @@ const etch = require('etch')
Public: Abstract class for handling the initialization
boilerplate of an Etch component.
*/
-module.exports =
-class EtchComponent {
+module.exports = class EtchComponent {
constructor (props) {
this.props = props
diff --git a/packages/about/lib/main.js b/packages/about/lib/main.js
index f0b855649..ec1420e7f 100644
--- a/packages/about/lib/main.js
+++ b/packages/about/lib/main.js
@@ -1,4 +1,4 @@
-const {CompositeDisposable} = require('atom')
+const { CompositeDisposable } = require('atom')
const semver = require('semver')
const UpdateManager = require('./update-manager')
const About = require('./about')
@@ -16,20 +16,33 @@ module.exports = {
this.createModel()
let availableVersion = window.localStorage.getItem(AvailableUpdateVersion)
- if (atom.getReleaseChannel() === 'dev' || (availableVersion && semver.lte(availableVersion, atom.getVersion()))) {
+ if (
+ atom.getReleaseChannel() === 'dev' ||
+ (availableVersion && semver.lte(availableVersion, atom.getVersion()))
+ ) {
this.clearUpdateState()
}
- this.subscriptions.add(updateManager.onDidChange(() => {
- if (updateManager.getState() === UpdateManager.State.UpdateAvailableToInstall) {
- window.localStorage.setItem(AvailableUpdateVersion, updateManager.getAvailableVersion())
- this.showStatusBarIfNeeded()
- }
- }))
+ this.subscriptions.add(
+ updateManager.onDidChange(() => {
+ if (
+ updateManager.getState() ===
+ UpdateManager.State.UpdateAvailableToInstall
+ ) {
+ window.localStorage.setItem(
+ AvailableUpdateVersion,
+ updateManager.getAvailableVersion()
+ )
+ this.showStatusBarIfNeeded()
+ }
+ })
+ )
- this.subscriptions.add(atom.commands.add('atom-workspace', 'about:clear-update-state', () => {
- this.clearUpdateState()
- }))
+ this.subscriptions.add(
+ atom.commands.add('atom-workspace', 'about:clear-update-state', () => {
+ this.clearUpdateState()
+ })
+ )
},
deactivate () {
diff --git a/packages/about/lib/update-manager.js b/packages/about/lib/update-manager.js
index 0db55f08d..bae72753d 100644
--- a/packages/about/lib/update-manager.js
+++ b/packages/about/lib/update-manager.js
@@ -1,4 +1,4 @@
-const {Emitter, CompositeDisposable} = require('atom')
+const { Emitter, CompositeDisposable } = require('atom')
const Unsupported = 'unsupported'
const Idle = 'idle'
@@ -27,7 +27,7 @@ let UpdateManager = class UpdateManager {
atom.autoUpdater.onDidBeginDownloadingUpdate(() => {
this.setState(DownloadingUpdate)
}),
- atom.autoUpdater.onDidCompleteDownloadingUpdate(({releaseVersion}) => {
+ atom.autoUpdater.onDidCompleteDownloadingUpdate(({ releaseVersion }) => {
this.setAvailableVersion(releaseVersion)
}),
atom.autoUpdater.onUpdateNotAvailable(() => {
@@ -36,7 +36,7 @@ let UpdateManager = class UpdateManager {
atom.autoUpdater.onUpdateError(() => {
this.setState(ErrorState)
}),
- atom.config.observe('core.automaticallyUpdate', (value) => {
+ atom.config.observe('core.automaticallyUpdate', value => {
this.autoUpdatesEnabled = value
this.emitDidChange()
})
@@ -61,7 +61,9 @@ let UpdateManager = class UpdateManager {
}
getAutoUpdatesEnabled () {
- return this.autoUpdatesEnabled && this.state !== UpdateManager.State.Unsupported
+ return (
+ this.autoUpdatesEnabled && this.state !== UpdateManager.State.Unsupported
+ )
}
setAutoUpdatesEnabled (enabled) {
@@ -82,7 +84,9 @@ let UpdateManager = class UpdateManager {
}
resetState () {
- this.state = atom.autoUpdater.platformSupportsUpdates() ? atom.autoUpdater.getState() : Unsupported
+ this.state = atom.autoUpdater.platformSupportsUpdates()
+ ? atom.autoUpdater.getState()
+ : Unsupported
this.emitDidChange()
}
@@ -128,7 +132,8 @@ let UpdateManager = class UpdateManager {
appVersion = `v${appVersion}`
}
- const releaseRepo = appVersion.indexOf('nightly') > -1 ? 'atom-nightly-releases' : 'atom'
+ const releaseRepo =
+ appVersion.indexOf('nightly') > -1 ? 'atom-nightly-releases' : 'atom'
return `https://github.com/atom/${releaseRepo}/releases/tag/${appVersion}`
}
}
diff --git a/packages/about/spec/about-spec.js b/packages/about/spec/about-spec.js
index 60c4136d8..21aa4c5eb 100644
--- a/packages/about/spec/about-spec.js
+++ b/packages/about/spec/about-spec.js
@@ -1,5 +1,3 @@
-const {it, fit, ffit, fffit, beforeEach, afterEach} = require('./helpers/async-spec-helpers') // eslint-disable-line no-unused-vars
-
describe('About', () => {
let workspaceElement
@@ -9,7 +7,7 @@ describe('About', () => {
spyOn(window.localStorage, 'setItem').andCallFake((key, value) => {
storage[key] = value
})
- spyOn(window.localStorage, 'getItem').andCallFake((key) => {
+ spyOn(window.localStorage, 'getItem').andCallFake(key => {
return storage[key]
})
diff --git a/packages/about/spec/about-status-bar-spec.js b/packages/about/spec/about-status-bar-spec.js
index a611af67a..a67c0511c 100644
--- a/packages/about/spec/about-status-bar-spec.js
+++ b/packages/about/spec/about-status-bar-spec.js
@@ -1,4 +1,4 @@
-const {it, fit, ffit, fffit, beforeEach, afterEach, conditionPromise} = require('./helpers/async-spec-helpers') // eslint-disable-line no-unused-vars
+const { conditionPromise } = require('./helpers/async-spec-helpers')
const MockUpdater = require('./mocks/updater')
describe('the status bar', () => {
@@ -11,7 +11,7 @@ describe('the status bar', () => {
spyOn(window.localStorage, 'setItem').andCallFake((key, value) => {
storage[key] = value
})
- spyOn(window.localStorage, 'getItem').andCallFake((key) => {
+ spyOn(window.localStorage, 'getItem').andCallFake(key => {
return storage[key]
})
spyOn(atom, 'getVersion').andCallFake(() => {
diff --git a/packages/about/spec/helpers/async-spec-helpers.js b/packages/about/spec/helpers/async-spec-helpers.js
index 377024691..58e17d323 100644
--- a/packages/about/spec/helpers/async-spec-helpers.js
+++ b/packages/about/spec/helpers/async-spec-helpers.js
@@ -1,36 +1,7 @@
/** @babel */
-const {now} = Date
-const {setTimeout} = global
-
-export function beforeEach (fn) {
- global.beforeEach(function () {
- const result = fn()
- if (result instanceof Promise) {
- waitsForPromise(() => result)
- }
- })
-}
-
-export function afterEach (fn) {
- global.afterEach(function () {
- const result = fn()
- if (result instanceof Promise) {
- waitsForPromise(() => result)
- }
- })
-}
-
-['it', 'fit', 'ffit', 'fffit'].forEach(function (name) {
- module.exports[name] = function (description, fn) {
- global[name](description, function () {
- const result = fn()
- if (result instanceof Promise) {
- waitsForPromise(() => result)
- }
- })
- }
-})
+const { now } = Date
+const { setTimeout } = global
export async function conditionPromise (condition) {
const startTime = now()
@@ -53,13 +24,3 @@ export function timeoutPromise (timeout) {
setTimeout(resolve, timeout)
})
}
-
-function waitsForPromise (fn) {
- const promise = fn()
- global.waitsFor('spec promise to resolve', function (done) {
- promise.then(done, function (error) {
- jasmine.getEnv().currentSpec.fail(error)
- done()
- })
- })
-}
diff --git a/packages/about/spec/mocks/updater.js b/packages/about/spec/mocks/updater.js
index c96ea4ec1..6c5e1f19d 100644
--- a/packages/about/spec/mocks/updater.js
+++ b/packages/about/spec/mocks/updater.js
@@ -16,6 +16,8 @@ module.exports = {
},
finishDownloadingUpdate (releaseVersion) {
- atom.autoUpdater.emitter.emit('did-complete-downloading-update', {releaseVersion})
+ atom.autoUpdater.emitter.emit('did-complete-downloading-update', {
+ releaseVersion
+ })
}
}
diff --git a/packages/about/spec/update-manager-spec.js b/packages/about/spec/update-manager-spec.js
index 294e33b8b..cc395949e 100644
--- a/packages/about/spec/update-manager-spec.js
+++ b/packages/about/spec/update-manager-spec.js
@@ -9,14 +9,24 @@ describe('UpdateManager', () => {
describe('::getReleaseNotesURLForVersion', () => {
it('returns atom.io releases when dev version', () => {
- expect(updateManager.getReleaseNotesURLForVersion('1.7.0-dev-e44b57d')).toContain('atom.io/releases')
+ expect(
+ updateManager.getReleaseNotesURLForVersion('1.7.0-dev-e44b57d')
+ ).toContain('atom.io/releases')
})
it('returns the page for the release when not a dev version', () => {
- expect(updateManager.getReleaseNotesURLForVersion('1.7.0')).toContain('atom/atom/releases/tag/v1.7.0')
- expect(updateManager.getReleaseNotesURLForVersion('v1.7.0')).toContain('atom/atom/releases/tag/v1.7.0')
- expect(updateManager.getReleaseNotesURLForVersion('1.7.0-beta10')).toContain('atom/atom/releases/tag/v1.7.0-beta10')
- expect(updateManager.getReleaseNotesURLForVersion('1.7.0-nightly10')).toContain('atom/atom-nightly-releases/releases/tag/v1.7.0-nightly10')
+ expect(updateManager.getReleaseNotesURLForVersion('1.7.0')).toContain(
+ 'atom/atom/releases/tag/v1.7.0'
+ )
+ expect(updateManager.getReleaseNotesURLForVersion('v1.7.0')).toContain(
+ 'atom/atom/releases/tag/v1.7.0'
+ )
+ expect(
+ updateManager.getReleaseNotesURLForVersion('1.7.0-beta10')
+ ).toContain('atom/atom/releases/tag/v1.7.0-beta10')
+ expect(
+ updateManager.getReleaseNotesURLForVersion('1.7.0-nightly10')
+ ).toContain('atom/atom-nightly-releases/releases/tag/v1.7.0-nightly10')
})
})
})
diff --git a/packages/about/spec/update-view-spec.js b/packages/about/spec/update-view-spec.js
index 83ddf5ac1..8e6587b59 100644
--- a/packages/about/spec/update-view-spec.js
+++ b/packages/about/spec/update-view-spec.js
@@ -1,5 +1,4 @@
-const {shell} = require('electron')
-const {it, fit, ffit, fffit, beforeEach, afterEach} = require('./helpers/async-spec-helpers') // eslint-disable-line no-unused-vars
+const { shell } = require('electron')
const main = require('../lib/main')
const AboutView = require('../lib/components/about-view')
const UpdateView = require('../lib/components/update-view')
@@ -17,7 +16,7 @@ describe('UpdateView', () => {
spyOn(window.localStorage, 'setItem').andCallFake((key, value) => {
storage[key] = value
})
- spyOn(window.localStorage, 'getItem').andCallFake((key) => {
+ spyOn(window.localStorage, 'getItem').andCallFake(key => {
return storage[key]
})
@@ -45,13 +44,19 @@ describe('UpdateView', () => {
})
it('hides the auto update UI and shows the update instructions link', async () => {
- expect(aboutElement.querySelector('.about-update-action-button')).not.toBeVisible()
- expect(aboutElement.querySelector('.about-auto-updates')).not.toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-update-action-button')
+ ).not.toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-auto-updates')
+ ).not.toBeVisible()
})
it('opens the update instructions page when the instructions link is clicked', async () => {
spyOn(shell, 'openExternal')
- let link = aboutElement.querySelector('.app-unsupported .about-updates-instructions')
+ let link = aboutElement.querySelector(
+ '.app-unsupported .about-updates-instructions'
+ )
link.click()
let args = shell.openExternal.mostRecentCall.args
@@ -72,66 +77,116 @@ describe('UpdateView', () => {
})
it('shows the correct panels when the app checks for updates and there is no update available', async () => {
- expect(aboutElement.querySelector('.about-default-update-message')).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ ).toBeVisible()
MockUpdater.checkForUpdate()
await scheduler.getNextUpdatePromise()
expect(aboutElement.querySelector('.app-up-to-date')).not.toBeVisible()
- expect(aboutElement.querySelector('.app-checking-for-updates')).toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-checking-for-updates')
+ ).toBeVisible()
MockUpdater.updateNotAvailable()
await scheduler.getNextUpdatePromise()
expect(aboutElement.querySelector('.app-up-to-date')).toBeVisible()
- expect(aboutElement.querySelector('.app-checking-for-updates')).not.toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-checking-for-updates')
+ ).not.toBeVisible()
})
it('shows the correct panels when the app checks for updates and encounters an error', async () => {
- expect(aboutElement.querySelector('.about-default-update-message')).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ ).toBeVisible()
MockUpdater.checkForUpdate()
await scheduler.getNextUpdatePromise()
expect(aboutElement.querySelector('.app-up-to-date')).not.toBeVisible()
- expect(aboutElement.querySelector('.app-checking-for-updates')).toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-checking-for-updates')
+ ).toBeVisible()
spyOn(atom.autoUpdater, 'getErrorMessage').andReturn('an error message')
MockUpdater.updateError()
await scheduler.getNextUpdatePromise()
expect(aboutElement.querySelector('.app-update-error')).toBeVisible()
- expect(aboutElement.querySelector('.app-error-message').textContent).toBe('an error message')
- expect(aboutElement.querySelector('.app-checking-for-updates')).not.toBeVisible()
- expect(aboutElement.querySelector('.about-update-action-button').disabled).toBe(false)
- expect(aboutElement.querySelector('.about-update-action-button').textContent).toBe('Check now')
+ expect(
+ aboutElement.querySelector('.app-error-message').textContent
+ ).toBe('an error message')
+ expect(
+ aboutElement.querySelector('.app-checking-for-updates')
+ ).not.toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-update-action-button').disabled
+ ).toBe(false)
+ expect(
+ aboutElement.querySelector('.about-update-action-button').textContent
+ ).toBe('Check now')
})
it('shows the correct panels and button states when the app checks for updates and an update is downloaded', async () => {
- expect(aboutElement.querySelector('.about-default-update-message')).toBeVisible()
- expect(aboutElement.querySelector('.about-update-action-button').disabled).toBe(false)
- expect(aboutElement.querySelector('.about-update-action-button').textContent).toBe('Check now')
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-update-action-button').disabled
+ ).toBe(false)
+ expect(
+ aboutElement.querySelector('.about-update-action-button').textContent
+ ).toBe('Check now')
MockUpdater.checkForUpdate()
await scheduler.getNextUpdatePromise()
expect(aboutElement.querySelector('.app-up-to-date')).not.toBeVisible()
- expect(aboutElement.querySelector('.app-checking-for-updates')).toBeVisible()
- expect(aboutElement.querySelector('.about-update-action-button').disabled).toBe(true)
- expect(aboutElement.querySelector('.about-update-action-button').textContent).toBe('Check now')
+ expect(
+ aboutElement.querySelector('.app-checking-for-updates')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-update-action-button').disabled
+ ).toBe(true)
+ expect(
+ aboutElement.querySelector('.about-update-action-button').textContent
+ ).toBe('Check now')
MockUpdater.downloadUpdate()
await scheduler.getNextUpdatePromise()
- expect(aboutElement.querySelector('.app-checking-for-updates')).not.toBeVisible()
- expect(aboutElement.querySelector('.app-downloading-update')).toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-checking-for-updates')
+ ).not.toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-downloading-update')
+ ).toBeVisible()
// TODO: at some point it would be nice to be able to cancel an update download, and then this would be a cancel button
- expect(aboutElement.querySelector('.about-update-action-button').disabled).toBe(true)
- expect(aboutElement.querySelector('.about-update-action-button').textContent).toBe('Check now')
+ expect(
+ aboutElement.querySelector('.about-update-action-button').disabled
+ ).toBe(true)
+ expect(
+ aboutElement.querySelector('.about-update-action-button').textContent
+ ).toBe('Check now')
MockUpdater.finishDownloadingUpdate('42.0.0')
await scheduler.getNextUpdatePromise()
- expect(aboutElement.querySelector('.app-downloading-update')).not.toBeVisible()
- expect(aboutElement.querySelector('.app-update-available-to-install')).toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-downloading-update')
+ ).not.toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-update-available-to-install')
+ ).toBeVisible()
- expect(aboutElement.querySelector('.app-update-available-to-install .about-updates-version').textContent).toBe('42.0.0')
- expect(aboutElement.querySelector('.about-update-action-button').disabled).toBe(false)
- expect(aboutElement.querySelector('.about-update-action-button').textContent).toBe('Restart and install')
+ expect(
+ aboutElement.querySelector(
+ '.app-update-available-to-install .about-updates-version'
+ ).textContent
+ ).toBe('42.0.0')
+ expect(
+ aboutElement.querySelector('.about-update-action-button').disabled
+ ).toBe(false)
+ expect(
+ aboutElement.querySelector('.about-update-action-button').textContent
+ ).toBe('Restart and install')
})
it('opens the release notes for the downloaded release when the release notes link are clicked', async () => {
@@ -139,7 +194,9 @@ describe('UpdateView', () => {
await scheduler.getNextUpdatePromise()
spyOn(shell, 'openExternal')
- let link = aboutElement.querySelector('.app-update-available-to-install .about-updates-release-notes')
+ let link = aboutElement.querySelector(
+ '.app-update-available-to-install .about-updates-release-notes'
+ )
link.click()
let args = shell.openExternal.mostRecentCall.args
@@ -168,10 +225,18 @@ describe('UpdateView', () => {
updateManager.resetState()
await scheduler.getNextUpdatePromise()
- expect(aboutElement.querySelector('.app-checking-for-updates')).not.toBeVisible()
- expect(aboutElement.querySelector('.app-downloading-update')).toBeVisible()
- expect(aboutElement.querySelector('.about-update-action-button').disabled).toBe(true)
- expect(aboutElement.querySelector('.about-update-action-button').textContent).toBe('Check now')
+ expect(
+ aboutElement.querySelector('.app-checking-for-updates')
+ ).not.toBeVisible()
+ expect(
+ aboutElement.querySelector('.app-downloading-update')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-update-action-button').disabled
+ ).toBe(true)
+ expect(
+ aboutElement.querySelector('.about-update-action-button').textContent
+ ).toBe('Check now')
})
describe('when core.automaticallyUpdate is toggled', () => {
@@ -181,36 +246,66 @@ describe('UpdateView', () => {
})
it('shows the auto update UI', async () => {
- expect(aboutElement.querySelector('.about-auto-updates input').checked).toBe(true)
- expect(aboutElement.querySelector('.about-default-update-message')).toBeVisible()
- expect(aboutElement.querySelector('.about-default-update-message').textContent).toBe('Atom will check for updates automatically')
+ expect(
+ aboutElement.querySelector('.about-auto-updates input').checked
+ ).toBe(true)
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ .textContent
+ ).toBe('Atom will check for updates automatically')
atom.config.set('core.automaticallyUpdate', false)
await scheduler.getNextUpdatePromise()
- expect(aboutElement.querySelector('.about-auto-updates input').checked).toBe(false)
- expect(aboutElement.querySelector('.about-default-update-message')).toBeVisible()
- expect(aboutElement.querySelector('.about-default-update-message').textContent).toBe('Automatic updates are disabled please check manually')
+ expect(
+ aboutElement.querySelector('.about-auto-updates input').checked
+ ).toBe(false)
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ .textContent
+ ).toBe('Automatic updates are disabled please check manually')
})
it('updates config and the UI when the checkbox is used to toggle', async () => {
- expect(aboutElement.querySelector('.about-auto-updates input').checked).toBe(true)
+ expect(
+ aboutElement.querySelector('.about-auto-updates input').checked
+ ).toBe(true)
aboutElement.querySelector('.about-auto-updates input').click()
await scheduler.getNextUpdatePromise()
expect(atom.config.get('core.automaticallyUpdate')).toBe(false)
- expect(aboutElement.querySelector('.about-auto-updates input').checked).toBe(false)
- expect(aboutElement.querySelector('.about-default-update-message')).toBeVisible()
- expect(aboutElement.querySelector('.about-default-update-message').textContent).toBe('Automatic updates are disabled please check manually')
+ expect(
+ aboutElement.querySelector('.about-auto-updates input').checked
+ ).toBe(false)
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ .textContent
+ ).toBe('Automatic updates are disabled please check manually')
aboutElement.querySelector('.about-auto-updates input').click()
await scheduler.getNextUpdatePromise()
expect(atom.config.get('core.automaticallyUpdate')).toBe(true)
- expect(aboutElement.querySelector('.about-auto-updates input').checked).toBe(true)
- expect(aboutElement.querySelector('.about-default-update-message')).toBeVisible()
- expect(aboutElement.querySelector('.about-default-update-message').textContent).toBe('Atom will check for updates automatically')
+ expect(
+ aboutElement.querySelector('.about-auto-updates input').checked
+ ).toBe(true)
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector('.about-default-update-message')
+ .textContent
+ ).toBe('Atom will check for updates automatically')
})
describe('checking for updates', function () {
@@ -271,10 +366,20 @@ describe('UpdateView', () => {
updateManager = main.model.state.updateManager
scheduler = AboutView.getScheduler()
- expect(aboutElement.querySelector('.app-update-available-to-install')).toBeVisible()
- expect(aboutElement.querySelector('.app-update-available-to-install .about-updates-version').textContent).toBe('42.0.0')
- expect(aboutElement.querySelector('.about-update-action-button').disabled).toBe(false)
- expect(aboutElement.querySelector('.about-update-action-button').textContent).toBe('Restart and install')
+ expect(
+ aboutElement.querySelector('.app-update-available-to-install')
+ ).toBeVisible()
+ expect(
+ aboutElement.querySelector(
+ '.app-update-available-to-install .about-updates-version'
+ ).textContent
+ ).toBe('42.0.0')
+ expect(
+ aboutElement.querySelector('.about-update-action-button').disabled
+ ).toBe(false)
+ expect(
+ aboutElement.querySelector('.about-update-action-button').textContent
+ ).toBe('Restart and install')
})
})
})
diff --git a/packages/dalek/lib/dalek.js b/packages/dalek/lib/dalek.js
index 8d322cc03..3f1944a0c 100644
--- a/packages/dalek/lib/dalek.js
+++ b/packages/dalek/lib/dalek.js
@@ -13,7 +13,9 @@ module.exports = {
const names = atom.packages.getAvailablePackageNames()
for (let name of names) {
if (atom.packages.isBundledPackage(name)) {
- const isDuplicatedPackage = await this.isInstalledAsCommunityPackage(name)
+ const isDuplicatedPackage = await this.isInstalledAsCommunityPackage(
+ name
+ )
if (isDuplicatedPackage) {
duplicatePackages.push(name)
}
diff --git a/packages/dalek/test/dalek.test.js b/packages/dalek/test/dalek.test.js
index 8b84dd29d..ff1ba394c 100644
--- a/packages/dalek/test/dalek.test.js
+++ b/packages/dalek/test/dalek.test.js
@@ -17,20 +17,49 @@ describe('dalek', function () {
beforeEach(function () {
availablePackages = {
- 'an-unduplicated-installed-package': path.join('Users', 'username', '.atom', 'packages', 'an-unduplicated-installed-package'),
- 'duplicated-package': path.join('Users', 'username', '.atom', 'packages', 'duplicated-package'),
- 'unduplicated-package': path.join(`${atom.getLoadSettings().resourcePath}`, 'node_modules', 'unduplicated-package')
+ 'an-unduplicated-installed-package': path.join(
+ 'Users',
+ 'username',
+ '.atom',
+ 'packages',
+ 'an-unduplicated-installed-package'
+ ),
+ 'duplicated-package': path.join(
+ 'Users',
+ 'username',
+ '.atom',
+ 'packages',
+ 'duplicated-package'
+ ),
+ 'unduplicated-package': path.join(
+ `${atom.getLoadSettings().resourcePath}`,
+ 'node_modules',
+ 'unduplicated-package'
+ )
}
atom.devMode = false
bundledPackages = ['duplicated-package', 'unduplicated-package']
packageDirPaths = [path.join('Users', 'username', '.atom', 'packages')]
sandbox = sinon.sandbox.create()
- sandbox.stub(dalek, 'realpath').callsFake((filePath) => Promise.resolve(realPaths[filePath] || filePath))
- sandbox.stub(atom.packages, 'isBundledPackage').callsFake((packageName) => { return bundledPackages.includes(packageName) })
- sandbox.stub(atom.packages, 'getAvailablePackageNames').callsFake(() => Object.keys(availablePackages))
- sandbox.stub(atom.packages, 'getPackageDirPaths').callsFake(() => { return packageDirPaths })
- sandbox.stub(fs, 'existsSync').callsFake((candidate) => { return Object.values(availablePackages).includes(candidate) && !candidate.includes(atom.getLoadSettings().resourcePath) })
+ sandbox
+ .stub(dalek, 'realpath')
+ .callsFake(filePath => Promise.resolve(realPaths[filePath] || filePath))
+ sandbox.stub(atom.packages, 'isBundledPackage').callsFake(packageName => {
+ return bundledPackages.includes(packageName)
+ })
+ sandbox
+ .stub(atom.packages, 'getAvailablePackageNames')
+ .callsFake(() => Object.keys(availablePackages))
+ sandbox.stub(atom.packages, 'getPackageDirPaths').callsFake(() => {
+ return packageDirPaths
+ })
+ sandbox.stub(fs, 'existsSync').callsFake(candidate => {
+ return (
+ Object.values(availablePackages).includes(candidate) &&
+ !candidate.includes(atom.getLoadSettings().resourcePath)
+ )
+ })
})
afterEach(function () {
@@ -54,7 +83,13 @@ describe('dalek', function () {
describe('when a package is symlinked into the package directory', async function () {
beforeEach(function () {
const realPath = path.join('Users', 'username', 'duplicated-package')
- const packagePath = path.join('Users', 'username', '.atom', 'packages', 'duplicated-package')
+ const packagePath = path.join(
+ 'Users',
+ 'username',
+ '.atom',
+ 'packages',
+ 'duplicated-package'
+ )
realPaths[packagePath] = realPath
})
diff --git a/packages/dalek/test/runner.js b/packages/dalek/test/runner.js
index 5688fc9c0..7b155fa67 100644
--- a/packages/dalek/test/runner.js
+++ b/packages/dalek/test/runner.js
@@ -1,2 +1,2 @@
const createRunner = require('atom-mocha-test-runner').createRunner
-module.exports = createRunner({testSuffixes: ['test.js']})
+module.exports = createRunner({ testSuffixes: ['test.js'] })
diff --git a/packages/deprecation-cop/lib/deprecation-cop-view.js b/packages/deprecation-cop/lib/deprecation-cop-view.js
index 01d8ad736..0531a2631 100644
--- a/packages/deprecation-cop/lib/deprecation-cop-view.js
+++ b/packages/deprecation-cop/lib/deprecation-cop-view.js
@@ -2,7 +2,7 @@
/** @jsx etch.dom */
import _ from 'underscore-plus'
-import {CompositeDisposable} from 'atom'
+import { CompositeDisposable } from 'atom'
import etch from 'etch'
import fs from 'fs-plus'
import Grim from 'grim'
@@ -11,23 +11,45 @@ import path from 'path'
import shell from 'shell'
export default class DeprecationCopView {
- constructor ({uri}) {
+ constructor ({ uri }) {
this.uri = uri
- this.subscriptions = new CompositeDisposable
- this.subscriptions.add(Grim.on('updated', () => { etch.update(this) }))
+ this.subscriptions = new CompositeDisposable()
+ this.subscriptions.add(
+ Grim.on('updated', () => {
+ etch.update(this)
+ })
+ )
// TODO: Remove conditional when the new StyleManager deprecation APIs reach stable.
if (atom.styles.onDidUpdateDeprecations) {
- this.subscriptions.add(atom.styles.onDidUpdateDeprecations(() => { etch.update(this) }))
+ this.subscriptions.add(
+ atom.styles.onDidUpdateDeprecations(() => {
+ etch.update(this)
+ })
+ )
}
etch.initialize(this)
- this.subscriptions.add(atom.commands.add(this.element, {
- 'core:move-up': () => { this.scrollUp() },
- 'core:move-down': () => { this.scrollDown() },
- 'core:page-up': () => { this.pageUp() },
- 'core:page-down': () => { this.pageDown() },
- 'core:move-to-top': () => { this.scrollToTop() },
- 'core:move-to-bottom': () => { this.scrollToBottom() }
- }))
+ this.subscriptions.add(
+ atom.commands.add(this.element, {
+ 'core:move-up': () => {
+ this.scrollUp()
+ },
+ 'core:move-down': () => {
+ this.scrollDown()
+ },
+ 'core:page-up': () => {
+ this.pageUp()
+ },
+ 'core:page-down': () => {
+ this.pageDown()
+ },
+ 'core:move-to-top': () => {
+ this.scrollToTop()
+ },
+ 'core:move-to-bottom': () => {
+ this.scrollToBottom()
+ }
+ })
+ )
}
serialize () {
@@ -49,25 +71,35 @@ export default class DeprecationCopView {
render () {
return (
-