diff --git a/package-lock.json b/package-lock.json index 6c4f849e..53f39606 100644 --- a/package-lock.json +++ b/package-lock.json @@ -512,9 +512,9 @@ "dev": true }, "@types/lodash": { - "version": "4.14.158", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.158.tgz", - "integrity": "sha512-InCEXJNTv/59yO4VSfuvNrZHt7eeNtWQEgnieIA+mIC+MOWM9arOWG2eQ8Vhk6NbOre6/BidiXhkZYeDY9U35w==", + "version": "4.14.159", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.159.tgz", + "integrity": "sha512-gF7A72f7WQN33DpqOWw9geApQPh4M3PxluMtaHxWHXEGSN12/WbcEk/eNSqWNQcQhF66VSZ06vCF94CrHwXJDg==", "dev": true }, "@types/lru-cache": { @@ -5993,9 +5993,9 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, "log-symbols": { @@ -7387,30 +7387,36 @@ "dev": true }, "pinejs-client-core": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pinejs-client-core/-/pinejs-client-core-6.1.0.tgz", - "integrity": "sha512-sp9/LYOOsJuYtlp8d8gR3QqW/oZNN/WEb1UhNJJqRMawNh/LBQRCP3TXCkBwhVmTcH3kYsopj/oCc4Gei+htkQ==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/pinejs-client-core/-/pinejs-client-core-6.7.1.tgz", + "integrity": "sha512-xFNgRtJQmpwUXV1Ze7LqtGzLAxhgDJa+T5O8Ys2v8t3cnoBg6gYdpCd6R8UF46+8vXRBOtP5fCwo7hSQPaBpPA==", "dev": true, "requires": { "@balena/es-version": "^1.0.0" } }, "pinejs-client-request": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/pinejs-client-request/-/pinejs-client-request-7.1.0.tgz", - "integrity": "sha512-BZmBLfiS+C/dfA07GYNJDz3oqj8G7mBC0kL36PRD9kDWjYZHd4RSOSgGOae/S8/NnxeQheQ0xtnqNDcamTlpcA==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/pinejs-client-request/-/pinejs-client-request-7.2.1.tgz", + "integrity": "sha512-f389Yglua/n5Uy9DqI7hs22EYSmKNZtSKgnsECkRmiGvqkP4GTUmz7hE7xsMOpGCZJVcxFXsohtZ34ybB+esdg==", "dev": true, "requires": { - "@types/lodash": "^4.14.158", + "@types/lodash": "^4.14.159", "@types/lru-cache": "^5.1.0", "@types/request": "^2.48.5", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "lru-cache": "^6.0.0", - "pinejs-client-core": "^6.1.0", + "pinejs-client-core": "^6.7.1", "request": "^2.88.2", - "typed-error": "^3.2.0" + "typed-error": "^3.2.1" }, "dependencies": { + "@types/lodash": { + "version": "4.14.159", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.159.tgz", + "integrity": "sha512-gF7A72f7WQN33DpqOWw9geApQPh4M3PxluMtaHxWHXEGSN12/WbcEk/eNSqWNQcQhF66VSZ06vCF94CrHwXJDg==", + "dev": true + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -7421,9 +7427,9 @@ } }, "typed-error": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/typed-error/-/typed-error-3.2.0.tgz", - "integrity": "sha512-n0NojMTp7jD2MMgJxtjzS1it/sKIlDfQwqOECSPAGwsIU2jns3G0R6alnakRelQzxz7t8PhjYrlqYoQKUVGOsQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/typed-error/-/typed-error-3.2.1.tgz", + "integrity": "sha512-XlUv4JMrT2dpN0c4Vm3lOm88ga21Z6pNJUmjejRz/mkh6sdBtkMwyRf4fF+yhRGZgfgWam31Lkxu11GINKiBTQ==", "dev": true }, "yallist": { @@ -9034,19 +9040,6 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "lru-cache": { "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", diff --git a/package.json b/package.json index f2f495bf..148a3e61 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@types/event-stream": "^3.3.34", "@types/express": "^4.17.3", "@types/lockfile": "^1.0.1", - "@types/lodash": "^4.14.158", + "@types/lodash": "^4.14.159", "@types/memoizee": "^0.4.4", "@types/mkdirp": "^0.5.2", "@types/mocha": "^5.2.7", @@ -93,7 +93,7 @@ "lint-staged": "^10.2.11", "livepush": "^3.3.0", "lockfile": "^1.0.4", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "memoizee": "^0.4.14", "mixpanel": "^0.10.3", "mkdirp": "^0.5.3", @@ -102,7 +102,7 @@ "mz": "^2.7.0", "network-checker": "^0.1.1", "nodemon": "^2.0.2", - "pinejs-client-request": "^7.1.0", + "pinejs-client-request": "^7.2.1", "pretty-ms": "^5.1.0", "request": "^2.88.2", "resin-docker-build": "^1.1.4", diff --git a/src/api-binder.ts b/src/api-binder.ts index ef73c7f4..93c9272d 100644 --- a/src/api-binder.ts +++ b/src/api-binder.ts @@ -342,13 +342,13 @@ export class APIBinder { if (deviceId == null) { throw new Error('Attempt to retrieve device tags before provision'); } - const tags = (await this.balenaApi.get({ + const tags = await this.balenaApi.get({ resource: 'device_tag', options: { $select: ['id', 'tag_key', 'value'], $filter: { device: deviceId }, }, - })) as Array>; + }); return tags.map((tag) => { // Do some type safe decoding and throw if we get an unexpected value @@ -398,7 +398,7 @@ export class APIBinder { }, }); - const releaseId = _.get(release, '[0].id'); + const releaseId = release[0]?.id; if (releaseId == null) { throw new Error( 'Cannot continue pinning preloaded device! No release found!', diff --git a/src/lib/migration.ts b/src/lib/migration.ts index b4b7f968..8634a53f 100644 --- a/src/lib/migration.ts +++ b/src/lib/migration.ts @@ -147,7 +147,7 @@ export async function normaliseLegacyDatabase( } log.debug(`Getting release ${app.commit} for app ${app.appId} from API`); - const releases = (await balenaApi.get({ + const releases = await balenaApi.get({ resource: 'release', options: { $filter: { @@ -161,7 +161,7 @@ export async function normaliseLegacyDatabase( }, }, }, - })) as Array>; + }); if (releases.length === 0) { log.warn(