diff --git a/src/api-binder/index.ts b/src/api-binder/index.ts index c25458849..b05fc8826 100644 --- a/src/api-binder/index.ts +++ b/src/api-binder/index.ts @@ -1,8 +1,8 @@ -import * as Bluebird from 'bluebird'; +import Bluebird from 'bluebird'; import { stripIndent } from 'common-tags'; import { isLeft } from 'fp-ts/lib/Either'; import * as t from 'io-ts'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { PinejsClientRequest } from 'pinejs-client-request'; import * as url from 'url'; import * as deviceRegister from '../lib/register-device'; diff --git a/src/api-binder/report.ts b/src/api-binder/report.ts index 66c97c30c..30fc019e4 100644 --- a/src/api-binder/report.ts +++ b/src/api-binder/report.ts @@ -1,5 +1,5 @@ import * as url from 'url'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { delay } from 'bluebird'; import { CoreOptions } from 'request'; import { performance } from 'perf_hooks'; diff --git a/src/compose/app.ts b/src/compose/app.ts index e78233a59..eb5352fd1 100644 --- a/src/compose/app.ts +++ b/src/compose/app.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import Network from './network'; @@ -14,7 +14,7 @@ import { } from './composition-steps'; import * as targetStateCache from '../device-state/target-state-cache'; import * as dockerUtils from '../lib/docker-utils'; -import constants = require('../lib/constants'); +import constants from '../lib/constants'; import { getStepsFromStrategy } from './update-strategies'; diff --git a/src/compose/application-manager.ts b/src/compose/application-manager.ts index 5d2aa9004..b51350bb0 100644 --- a/src/compose/application-manager.ts +++ b/src/compose/application-manager.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { EventEmitter } from 'events'; import StrictEventEmitter from 'strict-event-emitter-types'; @@ -10,7 +10,7 @@ import proxyvisor from '../proxyvisor'; import * as dbFormat from '../device-state/db-format'; import { validateTargetContracts } from '../lib/contracts'; -import constants = require('../lib/constants'); +import constants from '../lib/constants'; import { docker } from '../lib/docker-utils'; import log from '../lib/supervisor-console'; import { diff --git a/src/compose/composition-steps.ts b/src/compose/composition-steps.ts index d05b7d7c6..8523f9f1d 100644 --- a/src/compose/composition-steps.ts +++ b/src/compose/composition-steps.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as config from '../config'; diff --git a/src/compose/images.ts b/src/compose/images.ts index 69427e6cc..98aafdec0 100644 --- a/src/compose/images.ts +++ b/src/compose/images.ts @@ -1,7 +1,7 @@ -import * as Bluebird from 'bluebird'; -import * as Docker from 'dockerode'; +import Bluebird from 'bluebird'; +import Docker from 'dockerode'; import { EventEmitter } from 'events'; -import * as _ from 'lodash'; +import _ from 'lodash'; import StrictEventEmitter from 'strict-event-emitter-types'; import * as config from '../config'; diff --git a/src/compose/network-manager.ts b/src/compose/network-manager.ts index 54603c8dd..508d4763b 100644 --- a/src/compose/network-manager.ts +++ b/src/compose/network-manager.ts @@ -1,10 +1,10 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import * as constants from '../lib/constants'; import { docker } from '../lib/docker-utils'; import { isNotFoundError } from '../lib/errors'; -import logTypes = require('../lib/log-types'); +import * as logTypes from '../lib/log-types'; import log from '../lib/supervisor-console'; import * as logger from '../logger'; diff --git a/src/compose/network.ts b/src/compose/network.ts index aa34a1287..ca4ac511d 100644 --- a/src/compose/network.ts +++ b/src/compose/network.ts @@ -1,8 +1,8 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as dockerode from 'dockerode'; import { docker } from '../lib/docker-utils'; -import logTypes = require('../lib/log-types'); +import * as logTypes from '../lib/log-types'; import * as logger from '../logger'; import log from '../lib/supervisor-console'; import * as ComposeUtils from './utils'; diff --git a/src/compose/ports.ts b/src/compose/ports.ts index aa309f054..c2e9d2a9a 100644 --- a/src/compose/ports.ts +++ b/src/compose/ports.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { TypedError } from 'typed-error'; // Adapted from https://github.com/docker/docker-py/blob/master/docker/utils/ports.py#L3 diff --git a/src/compose/sanitise.ts b/src/compose/sanitise.ts index e421b36e0..9b839fcb4 100644 --- a/src/compose/sanitise.ts +++ b/src/compose/sanitise.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { ConfigMap, ServiceComposeConfig } from './types/service'; diff --git a/src/compose/service-manager.ts b/src/compose/service-manager.ts index 150509aae..4335d2a42 100644 --- a/src/compose/service-manager.ts +++ b/src/compose/service-manager.ts @@ -1,9 +1,9 @@ -import * as Bluebird from 'bluebird'; +import Bluebird from 'bluebird'; import * as Dockerode from 'dockerode'; import { EventEmitter } from 'events'; import { isLeft } from 'fp-ts/lib/Either'; import * as JSONStream from 'JSONStream'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import StrictEventEmitter from 'strict-event-emitter-types'; @@ -12,7 +12,7 @@ import { docker } from '../lib/docker-utils'; import * as logger from '../logger'; import { PermissiveNumber } from '../config/types'; -import constants = require('../lib/constants'); +import constants from '../lib/constants'; import { InternalInconsistencyError, isNotFoundError, diff --git a/src/compose/service.ts b/src/compose/service.ts index 7072a1a68..be022b72d 100644 --- a/src/compose/service.ts +++ b/src/compose/service.ts @@ -1,7 +1,7 @@ import { detailedDiff as diff } from 'deep-object-diff'; import * as Dockerode from 'dockerode'; -import Duration = require('duration-js'); -import * as _ from 'lodash'; +import Duration from 'duration-js'; +import _ from 'lodash'; import * as path from 'path'; import { DockerPortOptions, PortMap } from './ports'; diff --git a/src/compose/utils.ts b/src/compose/utils.ts index 1b3fa38ff..22f66e62c 100644 --- a/src/compose/utils.ts +++ b/src/compose/utils.ts @@ -1,6 +1,6 @@ import * as Dockerode from 'dockerode'; -import Duration = require('duration-js'); -import * as _ from 'lodash'; +import Duration from 'duration-js'; +import _ from 'lodash'; import { parse as parseCommand } from 'shell-quote'; import * as constants from '../lib/constants'; diff --git a/src/compose/volume-manager.ts b/src/compose/volume-manager.ts index 8004a9cef..4a4d55db9 100644 --- a/src/compose/volume-manager.ts +++ b/src/compose/volume-manager.ts @@ -1,8 +1,8 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as Path from 'path'; import { VolumeInspectInfo } from 'dockerode'; -import constants = require('../lib/constants'); +import constants from '../lib/constants'; import { isNotFoundError, InternalInconsistencyError } from '../lib/errors'; import { safeRename } from '../lib/fs-utils'; import { docker } from '../lib/docker-utils'; diff --git a/src/compose/volume.ts b/src/compose/volume.ts index b9514badc..cadc204b8 100644 --- a/src/compose/volume.ts +++ b/src/compose/volume.ts @@ -1,8 +1,8 @@ -import * as Docker from 'dockerode'; -import isEqual = require('lodash/isEqual'); -import omitBy = require('lodash/omitBy'); +import Docker from 'dockerode'; +import isEqual from 'lodash/isEqual'; +import omitBy from 'lodash/omitBy'; -import constants = require('../lib/constants'); +import constants from '../lib/constants'; import { docker } from '../lib/docker-utils'; import { InternalInconsistencyError } from '../lib/errors'; import * as LogTypes from '../lib/log-types'; diff --git a/src/config/backends/backend.ts b/src/config/backends/backend.ts index 1fbfe3dce..45c1b71cf 100644 --- a/src/config/backends/backend.ts +++ b/src/config/backends/backend.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; export interface ConfigOptions { [key: string]: string | string[]; diff --git a/src/config/backends/config-fs.ts b/src/config/backends/config-fs.ts index 896af2245..f5ee00afb 100644 --- a/src/config/backends/config-fs.ts +++ b/src/config/backends/config-fs.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import * as path from 'path'; diff --git a/src/config/backends/config-txt.ts b/src/config/backends/config-txt.ts index 3ffbbdbf1..a8a5d319b 100644 --- a/src/config/backends/config-txt.ts +++ b/src/config/backends/config-txt.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { ConfigOptions, ConfigBackend } from './backend'; import * as constants from '../../lib/constants'; diff --git a/src/config/backends/extlinux-file.ts b/src/config/backends/extlinux-file.ts index e9f753195..f551fec68 100644 --- a/src/config/backends/extlinux-file.ts +++ b/src/config/backends/extlinux-file.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { ConfigOptions } from './backend'; import { diff --git a/src/config/backends/extlinux.ts b/src/config/backends/extlinux.ts index 78bb9cf23..90f3910eb 100644 --- a/src/config/backends/extlinux.ts +++ b/src/config/backends/extlinux.ts @@ -1,5 +1,5 @@ -import * as _ from 'lodash'; -import * as semver from 'semver'; +import _ from 'lodash'; +import semver from 'semver'; import { ConfigOptions, ConfigBackend } from './backend'; import { diff --git a/src/config/backends/extra-uEnv.ts b/src/config/backends/extra-uEnv.ts index 73f886170..efac662a1 100644 --- a/src/config/backends/extra-uEnv.ts +++ b/src/config/backends/extra-uEnv.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { ConfigOptions, ConfigBackend } from './backend'; import * as constants from '../../lib/constants'; diff --git a/src/config/backends/index.ts b/src/config/backends/index.ts index 40436630a..b132b4d80 100644 --- a/src/config/backends/index.ts +++ b/src/config/backends/index.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { Extlinux } from './extlinux'; import { ExtraUEnv } from './extra-uEnv'; diff --git a/src/config/backends/odmdata.ts b/src/config/backends/odmdata.ts index 6c7a72ae3..32e6cfb92 100644 --- a/src/config/backends/odmdata.ts +++ b/src/config/backends/odmdata.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import { ConfigOptions, ConfigBackend } from './backend'; diff --git a/src/config/backends/splash-image.ts b/src/config/backends/splash-image.ts index d41bde78e..2a0bd8075 100644 --- a/src/config/backends/splash-image.ts +++ b/src/config/backends/splash-image.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import * as path from 'path'; diff --git a/src/config/configJson.ts b/src/config/configJson.ts index d86963de2..2ce898a9a 100644 --- a/src/config/configJson.ts +++ b/src/config/configJson.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import * as path from 'path'; import * as constants from '../lib/constants'; diff --git a/src/config/functions.ts b/src/config/functions.ts index 2f27ee6c7..44577b813 100644 --- a/src/config/functions.ts +++ b/src/config/functions.ts @@ -1,8 +1,7 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; -import * as memoizee from 'memoizee'; +import _ from 'lodash'; +import memoizee from 'memoizee'; -import supervisorVersion = require('../lib/supervisor-version'); +import supervisorVersion from '../lib/supervisor-version'; import * as config from '.'; import * as constants from '../lib/constants'; @@ -12,8 +11,8 @@ import * as hostUtils from '../lib/host-utils'; import log from '../lib/supervisor-console'; export const fnSchema = { - version: () => { - return Bluebird.resolve(supervisorVersion); + version: async () => { + return supervisorVersion; }, currentApiKey: () => { return config diff --git a/src/config/index.ts b/src/config/index.ts index 7e3ba696e..d6b4f2dbe 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -1,6 +1,6 @@ import { EventEmitter } from 'events'; import type { Knex } from 'knex'; -import * as _ from 'lodash'; +import _ from 'lodash'; import StrictEventEmitter from 'strict-event-emitter-types'; import { inspect } from 'util'; import { generateUniqueKey } from '../lib/register-device'; @@ -86,7 +86,7 @@ export async function get( // we can validate the output of the function as well, ensuring that the type matches const promiseValue = FnSchema.fnSchema[fnKey](); return promiseValue - .then((value: unknown) => { + .then((value) => { const decoded = schemaTypes[key].type.decode(value); return checkValueDecode(decoded, key, value) && decoded.right; diff --git a/src/config/types.ts b/src/config/types.ts index 6de028393..8a27ff01d 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -1,6 +1,6 @@ import { either, isRight } from 'fp-ts/lib/Either'; import * as t from 'io-ts'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { InternalInconsistencyError } from '../lib/errors'; import { checkBooleanish, checkTruthy } from '../lib/validation'; diff --git a/src/config/utils.ts b/src/config/utils.ts index 94f8021b0..e68e77626 100644 --- a/src/config/utils.ts +++ b/src/config/utils.ts @@ -1,5 +1,5 @@ -import * as _ from 'lodash'; -import * as Bluebird from 'bluebird'; +import _ from 'lodash'; +import Bluebird from 'bluebird'; import * as config from '../config'; import * as constants from '../lib/constants'; diff --git a/src/db.ts b/src/db.ts index 9241d6e8b..8ce11b2ad 100644 --- a/src/db.ts +++ b/src/db.ts @@ -1,6 +1,6 @@ import { knex, Knex } from 'knex'; import * as path from 'path'; -import * as _ from 'lodash'; +import _ from 'lodash'; import * as constants from './lib/constants'; diff --git a/src/device-api/api-keys.ts b/src/device-api/api-keys.ts index 6c48d12d9..f66224e38 100644 --- a/src/device-api/api-keys.ts +++ b/src/device-api/api-keys.ts @@ -1,6 +1,6 @@ -import * as _ from 'lodash'; -import * as express from 'express'; -import * as memoizee from 'memoizee'; +import _ from 'lodash'; +import express from 'express'; +import memoizee from 'memoizee'; import { TypedError } from 'typed-error'; import * as db from '../db'; diff --git a/src/device-api/common.ts b/src/device-api/common.ts index 3a9af2689..32d469658 100644 --- a/src/device-api/common.ts +++ b/src/device-api/common.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import * as logger from '../logger'; import * as deviceState from '../device-state'; diff --git a/src/device-api/index.ts b/src/device-api/index.ts index 67f196d03..2d3af3f7e 100644 --- a/src/device-api/index.ts +++ b/src/device-api/index.ts @@ -1,12 +1,12 @@ -import * as express from 'express'; -import * as _ from 'lodash'; +import express from 'express'; +import _ from 'lodash'; import * as middleware from './middleware'; import * as apiKeys from './api-keys'; import * as eventTracker from '../event-tracker'; import { reportCurrentState } from '../device-state'; import proxyvisor from '../proxyvisor'; -import blink = require('../lib/blink'); +import blink from '../lib/blink'; import log from '../lib/supervisor-console'; import type { Server } from 'http'; diff --git a/src/device-api/middleware/errors.ts b/src/device-api/middleware/errors.ts index db68349f6..acd88478c 100644 --- a/src/device-api/middleware/errors.ts +++ b/src/device-api/middleware/errors.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { UpdatesLockedError } from '../../lib/errors'; import log from '../../lib/supervisor-console'; diff --git a/src/device-api/middleware/logging.ts b/src/device-api/middleware/logging.ts index 7b0e98615..3bfc7eb77 100644 --- a/src/device-api/middleware/logging.ts +++ b/src/device-api/middleware/logging.ts @@ -1,4 +1,4 @@ -import * as morgan from 'morgan'; +import morgan from 'morgan'; import { Request } from 'express'; import log from '../../lib/supervisor-console'; diff --git a/src/device-api/v1.ts b/src/device-api/v1.ts index 9de0974c4..6fbcbbca7 100644 --- a/src/device-api/v1.ts +++ b/src/device-api/v1.ts @@ -1,5 +1,5 @@ -import * as express from 'express'; -import * as _ from 'lodash'; +import express from 'express'; +import _ from 'lodash'; import { doRestart, doPurge } from './common'; import { AuthorizedRequest } from './api-keys'; diff --git a/src/device-api/v2.ts b/src/device-api/v2.ts index aeaf99ac0..4b588b41d 100644 --- a/src/device-api/v2.ts +++ b/src/device-api/v2.ts @@ -1,7 +1,7 @@ -import * as Bluebird from 'bluebird'; -import * as express from 'express'; +import Bluebird from 'bluebird'; +import express from 'express'; import type { Response, NextFunction } from 'express'; -import * as _ from 'lodash'; +import _ from 'lodash'; import * as deviceState from '../device-state'; import * as apiBinder from '../api-binder'; @@ -28,7 +28,7 @@ import { v2ServiceEndpointInputErrorMessage, } from './messages'; import log from '../lib/supervisor-console'; -import supervisorVersion = require('../lib/supervisor-version'); +import supervisorVersion from '../lib/supervisor-version'; import { checkInt, checkTruthy } from '../lib/validation'; import { isVPNActive } from '../network'; import { doPurge, doRestart, safeStateClone } from './common'; diff --git a/src/device-config.ts b/src/device-config.ts index 4cd493d1b..ace27ce2e 100644 --- a/src/device-config.ts +++ b/src/device-config.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { inspect } from 'util'; import { promises as fs } from 'fs'; diff --git a/src/device-state.ts b/src/device-state.ts index e62616c74..29f01c89d 100644 --- a/src/device-state.ts +++ b/src/device-state.ts @@ -1,11 +1,11 @@ -import * as Bluebird from 'bluebird'; +import Bluebird from 'bluebird'; import { stripIndent } from 'common-tags'; import { EventEmitter } from 'events'; -import * as _ from 'lodash'; +import _ from 'lodash'; import StrictEventEmitter from 'strict-event-emitter-types'; import { isRight } from 'fp-ts/lib/Either'; import Reporter from 'io-ts-reporters'; -import prettyMs = require('pretty-ms'); +import prettyMs from 'pretty-ms'; import * as config from './config'; import * as db from './db'; @@ -15,7 +15,7 @@ import * as globalEventBus from './event-bus'; import * as network from './network'; import * as deviceConfig from './device-config'; -import constants = require('./lib/constants'); +import constants from './lib/constants'; import * as dbus from './lib/dbus'; import { InternalInconsistencyError, diff --git a/src/device-state/db-format.ts b/src/device-state/db-format.ts index 741c85e74..ec5bca667 100644 --- a/src/device-state/db-format.ts +++ b/src/device-state/db-format.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as db from '../db'; import * as targetStateCache from './target-state-cache'; diff --git a/src/device-state/legacy.ts b/src/device-state/legacy.ts index dd2798121..53bc5336b 100644 --- a/src/device-state/legacy.ts +++ b/src/device-state/legacy.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { fromV2TargetApps, TargetAppsV2 } from '../lib/legacy'; import { AppsJsonFormat, TargetApp, TargetRelease } from '../types'; diff --git a/src/device-state/preload.ts b/src/device-state/preload.ts index 088f8e0d2..81741f504 100644 --- a/src/device-state/preload.ts +++ b/src/device-state/preload.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import { Image, imageFromService } from '../compose/images'; diff --git a/src/device-state/target-state-cache.ts b/src/device-state/target-state-cache.ts index 9ffe12b89..e77433414 100644 --- a/src/device-state/target-state-cache.ts +++ b/src/device-state/target-state-cache.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as config from '../config'; import * as db from '../db'; diff --git a/src/device-state/target-state.ts b/src/device-state/target-state.ts index a1b8b0ef6..14fa9d497 100644 --- a/src/device-state/target-state.ts +++ b/src/device-state/target-state.ts @@ -1,8 +1,8 @@ import { EventEmitter } from 'events'; import * as url from 'url'; import { delay } from 'bluebird'; -import * as _ from 'lodash'; -import Bluebird = require('bluebird'); +import _ from 'lodash'; +import Bluebird from 'bluebird'; import type StrictEventEmitter from 'strict-event-emitter-types'; import type { TargetState } from '../types/state'; @@ -11,7 +11,7 @@ import { getRequestInstance } from '../lib/request'; import { CoreOptions } from 'request'; import * as config from '../config'; import { writeLock } from '../lib/update-lock'; -import constants = require('../lib/constants'); +import constants from '../lib/constants'; import log from '../lib/supervisor-console'; export class ApiResponseError extends Error {} diff --git a/src/event-bus.ts b/src/event-bus.ts index 1052b55c2..b75302224 100644 --- a/src/event-bus.ts +++ b/src/event-bus.ts @@ -1,5 +1,5 @@ import { EventEmitter } from 'events'; -import * as _ from 'lodash'; +import _ from 'lodash'; import StrictEventEmitter from 'strict-event-emitter-types'; import { TargetState } from './types/state'; diff --git a/src/event-tracker.ts b/src/event-tracker.ts index 79174bf56..32943d929 100644 --- a/src/event-tracker.ts +++ b/src/event-tracker.ts @@ -1,5 +1,5 @@ -import mask = require('json-mask'); -import * as _ from 'lodash'; +import mask from 'json-mask'; +import _ from 'lodash'; import log from './lib/supervisor-console'; diff --git a/src/host-config.ts b/src/host-config.ts index ac5e9470e..b8131d776 100644 --- a/src/host-config.ts +++ b/src/host-config.ts @@ -1,6 +1,6 @@ -import * as Bluebird from 'bluebird'; +import Bluebird from 'bluebird'; import { stripIndent } from 'common-tags'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import * as path from 'path'; diff --git a/src/lib/api-helper.ts b/src/lib/api-helper.ts index d073c19df..762505c42 100644 --- a/src/lib/api-helper.ts +++ b/src/lib/api-helper.ts @@ -1,6 +1,6 @@ import { PinejsClientRequest } from 'pinejs-client-request'; -import * as Bluebird from 'bluebird'; +import Bluebird from 'bluebird'; import * as config from '../config'; import * as eventTracker from '../event-tracker'; diff --git a/src/lib/avahi.ts b/src/lib/avahi.ts index 019645657..fde534099 100644 --- a/src/lib/avahi.ts +++ b/src/lib/avahi.ts @@ -1,7 +1,7 @@ import * as config from '../config'; import * as dbus from './dbus'; -import * as _ from 'lodash'; +import _ from 'lodash'; import log from './supervisor-console'; diff --git a/src/lib/blink.ts b/src/lib/blink.ts index 6997e69fe..5e10d8da7 100644 --- a/src/lib/blink.ts +++ b/src/lib/blink.ts @@ -1,5 +1,5 @@ -import blinking = require('blinking'); +import blinking from 'blinking'; -import constants = require('./constants'); +import constants from './constants'; export = blinking(constants.ledFile); diff --git a/src/lib/contracts.ts b/src/lib/contracts.ts index da57a4b58..63e7e0cfa 100644 --- a/src/lib/contracts.ts +++ b/src/lib/contracts.ts @@ -1,7 +1,7 @@ import { isLeft } from 'fp-ts/lib/Either'; import * as t from 'io-ts'; import Reporter from 'io-ts-reporters'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { Blueprint, Contract, ContractObject } from '@balena/contrato'; diff --git a/src/lib/conversions.ts b/src/lib/conversions.ts index 8780e0680..d58dcf587 100644 --- a/src/lib/conversions.ts +++ b/src/lib/conversions.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { EnvVarObject } from '../types'; diff --git a/src/lib/dbus.ts b/src/lib/dbus.ts index 9fe1dee5d..d0c7d0486 100644 --- a/src/lib/dbus.ts +++ b/src/lib/dbus.ts @@ -1,10 +1,10 @@ import { getBus, Error as DBusError } from 'dbus'; import { promisify } from 'util'; import { TypedError } from 'typed-error'; -import * as _ from 'lodash'; +import _ from 'lodash'; import log from './supervisor-console'; -import DBus = require('dbus'); +import DBus from 'dbus'; export class DbusError extends TypedError {} diff --git a/src/lib/docker-utils.ts b/src/lib/docker-utils.ts index 66b0fc433..26580e6f7 100644 --- a/src/lib/docker-utils.ts +++ b/src/lib/docker-utils.ts @@ -1,10 +1,10 @@ import { DockerProgress, ProgressCallback } from 'docker-progress'; -import * as Dockerode from 'dockerode'; -import * as _ from 'lodash'; -import * as memoizee from 'memoizee'; +import Dockerode from 'dockerode'; +import _ from 'lodash'; +import memoizee from 'memoizee'; import { applyDelta, OutOfSyncError } from 'docker-delta'; -import DockerToolbelt = require('docker-toolbelt'); +import DockerToolbelt from 'docker-toolbelt'; import { SchemaReturn } from '../config/schema-type'; import { envArrayToObject } from './conversions'; diff --git a/src/lib/firewall.ts b/src/lib/firewall.ts index 3aba7d2ab..77437b72b 100644 --- a/src/lib/firewall.ts +++ b/src/lib/firewall.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as config from '../config/index'; import * as constants from './constants'; diff --git a/src/lib/fs-utils.ts b/src/lib/fs-utils.ts index b4cdc7db3..d4af46815 100644 --- a/src/lib/fs-utils.ts +++ b/src/lib/fs-utils.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import * as path from 'path'; import { exec as execSync } from 'child_process'; diff --git a/src/lib/iptables.ts b/src/lib/iptables.ts index 38d1a24ce..48b2b4742 100644 --- a/src/lib/iptables.ts +++ b/src/lib/iptables.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { spawn } from 'child_process'; import { Readable } from 'stream'; import { TypedError } from 'typed-error'; diff --git a/src/lib/journald.ts b/src/lib/journald.ts index 219433dd5..92547d2ac 100644 --- a/src/lib/journald.ts +++ b/src/lib/journald.ts @@ -1,6 +1,6 @@ import { ChildProcess, spawn } from 'child_process'; -import constants = require('./constants'); +import constants from './constants'; import log from './supervisor-console'; export function spawnJournalctl(opts: { diff --git a/src/lib/legacy.ts b/src/lib/legacy.ts index a78e9c97d..af1b1b42c 100644 --- a/src/lib/legacy.ts +++ b/src/lib/legacy.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as path from 'path'; import * as apiBinder from '../api-binder'; diff --git a/src/lib/mac-address.ts b/src/lib/mac-address.ts index c53b1b5b7..a572befb0 100644 --- a/src/lib/mac-address.ts +++ b/src/lib/mac-address.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import * as path from 'path'; import { TypedError } from 'typed-error'; diff --git a/src/lib/migration.ts b/src/lib/migration.ts index 73c505fb7..f7eb6e2aa 100644 --- a/src/lib/migration.ts +++ b/src/lib/migration.ts @@ -1,8 +1,8 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import * as path from 'path'; -import * as rimraf from 'rimraf'; +import rimraf from 'rimraf'; const rimrafAsync = Bluebird.promisify(rimraf); diff --git a/src/lib/os-release.ts b/src/lib/os-release.ts index 14adfa078..40a8e6f41 100644 --- a/src/lib/os-release.ts +++ b/src/lib/os-release.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import { InternalInconsistencyError } from './errors'; diff --git a/src/lib/request.ts b/src/lib/request.ts index 8e4740a39..a51ed44c9 100644 --- a/src/lib/request.ts +++ b/src/lib/request.ts @@ -1,12 +1,12 @@ -import * as Bluebird from 'bluebird'; -import once = require('lodash/once'); +import Bluebird from 'bluebird'; +import once from 'lodash/once'; import * as requestLib from 'request'; import * as resumableRequestLib from 'resumable-request'; import * as constants from './constants'; import * as osRelease from './os-release'; -import supervisorVersion = require('./supervisor-version'); +import supervisorVersion from './supervisor-version'; export { requestLib }; diff --git a/src/lib/supervisor-console.ts b/src/lib/supervisor-console.ts index e63e1ba86..3b84d48d4 100644 --- a/src/lib/supervisor-console.ts +++ b/src/lib/supervisor-console.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { TransformableInfo } from 'logform'; import * as winston from 'winston'; diff --git a/src/lib/supervisor-version.ts b/src/lib/supervisor-version.ts index 6d95b7972..6196af5b1 100644 --- a/src/lib/supervisor-version.ts +++ b/src/lib/supervisor-version.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as packageJson from '../../package.json'; let version = packageJson.version; diff --git a/src/lib/system-info.ts b/src/lib/system-info.ts index 0c28bfd85..85a539882 100644 --- a/src/lib/system-info.ts +++ b/src/lib/system-info.ts @@ -1,6 +1,6 @@ -import * as systeminformation from 'systeminformation'; -import * as _ from 'lodash'; -import * as memoizee from 'memoizee'; +import systeminformation from 'systeminformation'; +import _ from 'lodash'; +import memoizee from 'memoizee'; import { promises as fs } from 'fs'; // TODO: remove this once we can update Node to v16 and typescript diff --git a/src/lib/update-lock.ts b/src/lib/update-lock.ts index 54f1de204..434309ed5 100644 --- a/src/lib/update-lock.ts +++ b/src/lib/update-lock.ts @@ -1,8 +1,8 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import { promises as fs } from 'fs'; import * as path from 'path'; -import * as Lock from 'rwlock'; +import Lock from 'rwlock'; import { isRight } from 'fp-ts/lib/Either'; import * as constants from './constants'; diff --git a/src/lib/validation.ts b/src/lib/validation.ts index 7c7e130a3..673a2d5a2 100644 --- a/src/lib/validation.ts +++ b/src/lib/validation.ts @@ -1,5 +1,5 @@ import { isRight } from 'fp-ts/lib/Either'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { DeviceName } from '../types'; export interface CheckIntOptions { positive?: boolean; diff --git a/src/local-mode.ts b/src/local-mode.ts index b134979a4..dbb004b74 100644 --- a/src/local-mode.ts +++ b/src/local-mode.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import * as config from './config'; import * as db from './db'; diff --git a/src/logger.ts b/src/logger.ts index d57e59309..8e962b66b 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import * as config from './config'; import * as db from './db'; diff --git a/src/logging/balena-backend.ts b/src/logging/balena-backend.ts index edae059ac..9868bf248 100644 --- a/src/logging/balena-backend.ts +++ b/src/logging/balena-backend.ts @@ -1,6 +1,6 @@ import { ClientRequest } from 'http'; import * as https from 'https'; -import * as _ from 'lodash'; +import _ from 'lodash'; import * as stream from 'stream'; import * as url from 'url'; import * as zlib from 'zlib'; diff --git a/src/logging/container.ts b/src/logging/container.ts index f3cdc0128..efd436d03 100644 --- a/src/logging/container.ts +++ b/src/logging/container.ts @@ -1,6 +1,6 @@ import * as es from 'event-stream'; import { EventEmitter } from 'events'; -import * as _ from 'lodash'; +import _ from 'lodash'; import * as Stream from 'stream'; import StrictEventEmitter from 'strict-event-emitter-types'; diff --git a/src/logging/local-backend.ts b/src/logging/local-backend.ts index a5e318ffb..145b3d506 100644 --- a/src/logging/local-backend.ts +++ b/src/logging/local-backend.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import { Readable } from 'stream'; import { checkInt } from '../lib/validation'; diff --git a/src/network.ts b/src/network.ts index da9cc199a..f6c238a21 100644 --- a/src/network.ts +++ b/src/network.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as _ from 'lodash'; +import Bluebird from 'bluebird'; +import _ from 'lodash'; import { promises as fs, watch } from 'fs'; import * as networkCheck from 'network-checker'; import * as os from 'os'; @@ -9,7 +9,7 @@ import * as constants from './lib/constants'; import { EEXIST } from './lib/errors'; import { checkFalsey } from './lib/validation'; -import blink = require('./lib/blink'); +import blink from './lib/blink'; import log from './lib/supervisor-console'; @@ -127,8 +127,10 @@ const shouldReportIPv6 = (ip: os.NetworkInterfaceInfo) => const shouldReportIPv4 = (ip: os.NetworkInterfaceInfo) => ip.family === 'IPv4' && !ip.internal; -export function getIPAddresses(): string[] { - // We get IP addresses but ignore: +export function filterValidInterfaces( + networkInterfaces: ReturnType, +) { + // We ignore: // - docker and balena bridges (docker0, docker1, balena0, etc) // - legacy rce bridges (rce0, etc) // - tun interfaces like the legacy vpn @@ -137,7 +139,6 @@ export function getIPAddresses(): string[] { // - the bridge for dnsmasq (resin-dns) // - the docker network for the supervisor API (supervisor0) // - custom docker network bridges (br- + 12 hex characters) - const networkInterfaces = os.networkInterfaces(); return Object.entries(networkInterfaces) .filter(([iface]) => shouldReportInterface(iface)) .flatMap(([, validInterfaces]) => { @@ -149,6 +150,9 @@ export function getIPAddresses(): string[] { ); }); } +export function getIPAddresses(): string[] { + return filterValidInterfaces(os.networkInterfaces()); +} export function startIPAddressUpdate(): ( callback: (ips: string[]) => void, diff --git a/src/proxyvisor.js b/src/proxyvisor.js index c57dcb320..cb7fffa04 100644 --- a/src/proxyvisor.js +++ b/src/proxyvisor.js @@ -1,6 +1,6 @@ -import * as Promise from 'bluebird'; -import * as _ from 'lodash'; -import * as express from 'express'; +import Promise from 'bluebird'; +import _ from 'lodash'; +import express from 'express'; import { promises as fs } from 'fs'; import * as path from 'path'; import * as url from 'url'; diff --git a/src/supervisor.ts b/src/supervisor.ts index bdd031688..40498ecbf 100644 --- a/src/supervisor.ts +++ b/src/supervisor.ts @@ -12,7 +12,7 @@ import { initializeContractRequirements } from './lib/contracts'; import { normaliseLegacyDatabase } from './lib/legacy'; import * as osRelease from './lib/os-release'; import log from './lib/supervisor-console'; -import version = require('./lib/supervisor-version'); +import version from './lib/supervisor-version'; import * as avahi from './lib/avahi'; import * as firewall from './lib/firewall'; diff --git a/sync/device.ts b/sync/device.ts index 572161960..49c364c68 100644 --- a/sync/device.ts +++ b/sync/device.ts @@ -1,6 +1,6 @@ -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; import { Dockerfile } from 'livepush'; -import * as _ from 'lodash'; +import _ from 'lodash'; import { Builder } from 'resin-docker-build'; import { promises as fs } from 'fs'; diff --git a/sync/init.ts b/sync/init.ts index a047b11a7..4813ec017 100644 --- a/sync/init.ts +++ b/sync/init.ts @@ -1,5 +1,5 @@ -import * as Bluebird from 'bluebird'; -import * as Docker from 'dockerode'; +import Bluebird from 'bluebird'; +import Docker from 'dockerode'; import { Dockerfile } from 'livepush'; import * as device from './device'; diff --git a/sync/livepush.ts b/sync/livepush.ts index 1edad0f6e..403c229b1 100644 --- a/sync/livepush.ts +++ b/sync/livepush.ts @@ -1,6 +1,6 @@ import * as chokidar from 'chokidar'; -import * as Docker from 'dockerode'; -import * as _ from 'lodash'; +import Docker from 'dockerode'; +import _ from 'lodash'; import * as Path from 'path'; import { Dockerfile, Livepush } from 'livepush'; diff --git a/sync/logs.ts b/sync/logs.ts index 33f3d0fd8..47fd09f9d 100644 --- a/sync/logs.ts +++ b/sync/logs.ts @@ -1,5 +1,5 @@ -import * as Docker from 'dockerode'; -import * as _ from 'lodash'; +import Docker from 'dockerode'; +import _ from 'lodash'; export async function setupLogs( docker: Docker, diff --git a/test/integration/compose/application-manager.spec.ts b/test/integration/compose/application-manager.spec.ts index b107c3dbb..d2b2860b7 100644 --- a/test/integration/compose/application-manager.spec.ts +++ b/test/integration/compose/application-manager.spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; import * as sinon from 'sinon'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; import App from '~/src/compose/app'; import * as applicationManager from '~/src/compose/application-manager'; import * as imageManager from '~/src/compose/images'; diff --git a/test/integration/compose/images.spec.ts b/test/integration/compose/images.spec.ts index 57a015b55..45ed5308f 100644 --- a/test/integration/compose/images.spec.ts +++ b/test/integration/compose/images.spec.ts @@ -4,7 +4,7 @@ import * as imageManager from '~/src/compose/images'; import { createImage, withMockerode } from '~/test-lib/mockerode'; import { createDockerImage } from '~/test-lib/docker-helper'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; import * as db from '~/src/db'; // TODO: this code is duplicated in multiple tests diff --git a/test/integration/compose/network.spec.ts b/test/integration/compose/network.spec.ts index f022d1ebc..21ef7acfd 100644 --- a/test/integration/compose/network.spec.ts +++ b/test/integration/compose/network.spec.ts @@ -3,7 +3,7 @@ import { expect } from 'chai'; import { Network } from '~/src/compose/network'; import { createNetwork, withMockerode } from '~/test-lib/mockerode'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; describe('compose/network: integration tests', () => { const docker = new Docker(); diff --git a/test/integration/compose/service.spec.ts b/test/integration/compose/service.spec.ts index 4519ac04b..b051e2d65 100644 --- a/test/integration/compose/service.spec.ts +++ b/test/integration/compose/service.spec.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { expect } from 'chai'; diff --git a/test/integration/compose/volume-manager.spec.ts b/test/integration/compose/volume-manager.spec.ts index 5ff1e82c5..395a7ef95 100644 --- a/test/integration/compose/volume-manager.spec.ts +++ b/test/integration/compose/volume-manager.spec.ts @@ -5,7 +5,7 @@ import * as volumeManager from '~/src/compose/volume-manager'; import Volume from '~/src/compose/volume'; import { createDockerImage } from '~/test-lib/docker-helper'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; describe('compose/volume-manager', () => { const docker = new Docker(); diff --git a/test/integration/compose/volume.spec.ts b/test/integration/compose/volume.spec.ts index fca255183..54b0f9a44 100644 --- a/test/integration/compose/volume.spec.ts +++ b/test/integration/compose/volume.spec.ts @@ -4,7 +4,7 @@ import Volume from '~/src/compose/volume'; import * as logTypes from '~/lib/log-types'; import * as logger from '~/src/logger'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; import { createVolume, withMockerode } from '~/test-lib/mockerode'; diff --git a/test/integration/config.spec.ts b/test/integration/config.spec.ts index 9ea7bbd53..863ee5bb1 100644 --- a/test/integration/config.spec.ts +++ b/test/integration/config.spec.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import * as path from 'path'; import { promises as fs } from 'fs'; import { SinonSpy, spy, stub } from 'sinon'; @@ -6,7 +6,7 @@ import { expect } from 'chai'; import { testfs, TestFs } from 'mocha-pod'; import * as hostUtils from '~/lib/host-utils'; -import constants = require('~/lib/constants'); +import constants from '~/lib/constants'; import { fnSchema } from '~/src/config/functions'; describe('config', () => { diff --git a/test/integration/db.spec.ts b/test/integration/db.spec.ts index d87902012..836f64f64 100644 --- a/test/integration/db.spec.ts +++ b/test/integration/db.spec.ts @@ -1,4 +1,4 @@ -import * as Bluebird from 'bluebird'; +import Bluebird from 'bluebird'; import { knex, Knex } from 'knex'; import { promises as fs } from 'fs'; diff --git a/test/integration/device-api/api-keys.spec.ts b/test/integration/device-api/api-keys.spec.ts index 8095a2179..534e4bfe0 100644 --- a/test/integration/device-api/api-keys.spec.ts +++ b/test/integration/device-api/api-keys.spec.ts @@ -1,5 +1,5 @@ -import * as express from 'express'; -import * as request from 'supertest'; +import express from 'express'; +import request from 'supertest'; import { expect } from 'chai'; import * as config from '~/src/config'; diff --git a/test/integration/device-api/index.spec.ts b/test/integration/device-api/index.spec.ts index 412cdf770..2499c1d87 100644 --- a/test/integration/device-api/index.spec.ts +++ b/test/integration/device-api/index.spec.ts @@ -1,5 +1,5 @@ -import * as express from 'express'; -import * as request from 'supertest'; +import express from 'express'; +import request from 'supertest'; import * as deviceApi from '~/src/device-api'; diff --git a/test/integration/device-api/middleware.spec.ts b/test/integration/device-api/middleware.spec.ts index 4c39c4017..2afc2fe89 100644 --- a/test/integration/device-api/middleware.spec.ts +++ b/test/integration/device-api/middleware.spec.ts @@ -1,5 +1,5 @@ -import * as express from 'express'; -import * as request from 'supertest'; +import express from 'express'; +import request from 'supertest'; import * as config from '~/src/config'; import * as testDb from '~/src/db'; diff --git a/test/integration/device-state.spec.ts b/test/integration/device-state.spec.ts index f194e343b..6321fd51c 100644 --- a/test/integration/device-state.spec.ts +++ b/test/integration/device-state.spec.ts @@ -12,7 +12,7 @@ import { initializeContractRequirements } from '~/lib/contracts'; import { testfs } from 'mocha-pod'; import { createDockerImage } from '~/test-lib/docker-helper'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; import { setTimeout } from 'timers/promises'; describe('device-state', () => { diff --git a/test/integration/lib/contracts.spec.ts b/test/integration/lib/contracts.spec.ts index 7a4be20d5..0047411df 100644 --- a/test/integration/lib/contracts.spec.ts +++ b/test/integration/lib/contracts.spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; import { SinonStub, stub } from 'sinon'; -import * as semver from 'semver'; +import semver from 'semver'; import * as constants from '~/lib/constants'; import { @@ -9,7 +9,7 @@ import { validateContract, } from '~/lib/contracts'; import * as osRelease from '~/lib/os-release'; -import supervisorVersion = require('~/lib/supervisor-version'); +import supervisorVersion from '~/lib/supervisor-version'; import * as fsUtils from '~/lib/fs-utils'; describe('lib/contracts', () => { diff --git a/test/integration/lib/docker-utils.spec.ts b/test/integration/lib/docker-utils.spec.ts index ab0c1b9c1..e44265553 100644 --- a/test/integration/lib/docker-utils.spec.ts +++ b/test/integration/lib/docker-utils.spec.ts @@ -3,7 +3,7 @@ import { stub } from 'sinon'; import * as dockerUtils from '~/lib/docker-utils'; import { createDockerImage } from '~/test-lib/docker-helper'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; describe('lib/docker-utils', () => { const docker = new Docker(); diff --git a/test/integration/lib/firewall.spec.ts b/test/integration/lib/firewall.spec.ts index 304ead295..b7af0790b 100644 --- a/test/integration/lib/firewall.spec.ts +++ b/test/integration/lib/firewall.spec.ts @@ -1,4 +1,4 @@ -import _ = require('lodash'); +import _ from 'lodash'; import { expect } from 'chai'; import * as sinon from 'sinon'; @@ -9,7 +9,7 @@ import * as logger from '~/src/logger'; import * as iptablesMock from '~/test-lib/mocked-iptables'; import * as dbFormat from '~/src/device-state/db-format'; -import constants = require('~/lib/constants'); +import constants from '~/lib/constants'; import { RuleAction, Rule } from '~/lib/iptables'; import { log } from '~/lib/supervisor-console'; diff --git a/test/integration/lib/legacy.spec.ts b/test/integration/lib/legacy.spec.ts index 7de2b9082..e86bb3775 100644 --- a/test/integration/lib/legacy.spec.ts +++ b/test/integration/lib/legacy.spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; import { isRight } from 'fp-ts/lib/Either'; -import * as nock from 'nock'; +import nock from 'nock'; import { TargetState } from '~/src/types'; import * as legacy from '~/lib/legacy'; diff --git a/test/integration/supervisor.spec.ts b/test/integration/supervisor.spec.ts index d92b1fad7..8a9f43a45 100644 --- a/test/integration/supervisor.spec.ts +++ b/test/integration/supervisor.spec.ts @@ -1,4 +1,4 @@ -import * as request from 'supertest'; +import request from 'supertest'; const BALENA_SUPERVISOR_ADDRESS = process.env.BALENA_SUPERVISOR_ADDRESS || 'http://balena-supervisor:48484'; diff --git a/test/legacy/10-api-binder.spec.ts b/test/legacy/10-api-binder.spec.ts index 679d36602..f7b4712f0 100644 --- a/test/legacy/10-api-binder.spec.ts +++ b/test/legacy/10-api-binder.spec.ts @@ -4,16 +4,16 @@ import { Server } from 'net'; import { SinonSpy, SinonStub, spy, stub } from 'sinon'; import { expect } from 'chai'; -import prepare = require('~/test-lib/prepare'); +import prepare from '~/test-lib/prepare'; import * as config from '~/src/config'; import * as deviceState from '~/src/device-state'; import Log from '~/lib/supervisor-console'; -import balenaAPI = require('~/test-lib/mocked-balena-api'); +import balenaAPI from '~/test-lib/mocked-balena-api'; import { schema } from '~/src/config/schema'; import ConfigJsonConfigBackend from '~/src/config/configJson'; import * as TargetState from '~/src/device-state/target-state'; import * as ApiHelper from '~/lib/api-helper'; -import supervisorVersion = require('~/lib/supervisor-version'); +import supervisorVersion from '~/lib/supervisor-version'; import * as eventTracker from '~/src/event-tracker'; import * as constants from '~/lib/constants'; diff --git a/test/legacy/11-logger.spec.ts b/test/legacy/11-logger.spec.ts index a9e32eea5..6bc827826 100644 --- a/test/legacy/11-logger.spec.ts +++ b/test/legacy/11-logger.spec.ts @@ -1,7 +1,7 @@ import * as https from 'https'; import * as stream from 'stream'; import * as zlib from 'zlib'; -import * as Promise from 'bluebird'; +import Promise from 'bluebird'; import { expect } from 'chai'; import * as sinon from 'sinon'; diff --git a/test/legacy/22-local-mode.spec.ts b/test/legacy/22-local-mode.spec.ts index dda41d33d..ea3a4a298 100644 --- a/test/legacy/22-local-mode.spec.ts +++ b/test/legacy/22-local-mode.spec.ts @@ -1,5 +1,5 @@ import { expect } from 'chai'; -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; import * as sinon from 'sinon'; import * as db from '~/src/db'; diff --git a/test/legacy/40-target-state.spec.ts b/test/legacy/40-target-state.spec.ts index 814dd8298..1b5e3f841 100644 --- a/test/legacy/40-target-state.spec.ts +++ b/test/legacy/40-target-state.spec.ts @@ -1,7 +1,7 @@ import { SinonStub, stub, spy, SinonSpy } from 'sinon'; import { Promise } from 'bluebird'; -import * as _ from 'lodash'; -import rewire = require('rewire'); +import _ from 'lodash'; +import rewire from 'rewire'; import { expect } from 'chai'; import * as TargetState from '~/src/device-state/target-state'; diff --git a/test/legacy/41-device-api-v1.spec.ts b/test/legacy/41-device-api-v1.spec.ts index 3b0cbf9c0..8a28e932b 100644 --- a/test/legacy/41-device-api-v1.spec.ts +++ b/test/legacy/41-device-api-v1.spec.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { expect } from 'chai'; import { stub, @@ -8,15 +8,15 @@ import { SinonSpy, SinonFakeTimers, } from 'sinon'; -import * as supertest from 'supertest'; +import supertest from 'supertest'; import * as path from 'path'; import { promises as fs } from 'fs'; import { exists, unlinkAll } from '~/lib/fs-utils'; import * as appMock from '~/test-lib/application-state-mock'; import * as mockedDockerode from '~/test-lib/mocked-dockerode'; -import mockedAPI = require('~/test-lib/mocked-device-api'); -import sampleResponses = require('~/test-data/device-api-responses.json'); +import mockedAPI from '~/test-lib/mocked-device-api'; +import sampleResponses from '~/test-data/device-api-responses.json'; import * as config from '~/src/config'; import * as logger from '~/src/logger'; import SupervisorAPI from '~/src/device-api'; @@ -28,8 +28,8 @@ import * as dbus from '~/lib/dbus'; import * as updateLock from '~/lib/update-lock'; import * as TargetState from '~/src/device-state/target-state'; import * as targetStateCache from '~/src/device-state/target-state-cache'; -import blink = require('~/lib/blink'); -import constants = require('~/lib/constants'); +import blink from '~/lib/blink'; +import constants from '~/lib/constants'; import * as deviceAPIActions from '~/src/device-api/common'; import { UpdatesLockedError } from '~/lib/errors'; import { SchemaTypeKey } from '~/src/config/schema-type'; diff --git a/test/legacy/42-device-api-v2.spec.ts b/test/legacy/42-device-api-v2.spec.ts index 6dcc2f235..27e17719d 100644 --- a/test/legacy/42-device-api-v2.spec.ts +++ b/test/legacy/42-device-api-v2.spec.ts @@ -1,9 +1,9 @@ import { expect } from 'chai'; import { stub, SinonStub, spy, SinonSpy } from 'sinon'; -import * as supertest from 'supertest'; +import supertest from 'supertest'; -import sampleResponses = require('~/test-data/device-api-responses.json'); -import mockedAPI = require('~/test-lib/mocked-device-api'); +import sampleResponses from '~/test-data/device-api-responses.json'; +import mockedAPI from '~/test-lib/mocked-device-api'; import * as apiBinder from '~/src/api-binder'; import * as deviceState from '~/src/device-state'; import SupervisorAPI from '~/src/device-api'; diff --git a/test/lib/chai.ts b/test/lib/chai.ts index 67774d4d4..f34ebb674 100644 --- a/test/lib/chai.ts +++ b/test/lib/chai.ts @@ -1,8 +1,8 @@ import * as chai from 'chai'; -import * as chaiAsPromised from 'chai-as-promised'; -import * as sinonChai from 'sinon-chai'; -import * as chaiThings from 'chai-things'; -import * as chaiLike from 'chai-like'; +import chaiAsPromised from 'chai-as-promised'; +import sinonChai from 'sinon-chai'; +import chaiThings from 'chai-things'; +import chaiLike from 'chai-like'; /** * Mocha runs this EXACTLY ONCE before all tests to set up globals that diff --git a/test/lib/docker-helper.ts b/test/lib/docker-helper.ts index 1aca43f7f..7081f9253 100644 --- a/test/lib/docker-helper.ts +++ b/test/lib/docker-helper.ts @@ -1,4 +1,4 @@ -import * as Docker from 'dockerode'; +import Docker from 'dockerode'; import * as tar from 'tar-stream'; import { strict as assert } from 'assert'; diff --git a/test/lib/mocked-balena-api.ts b/test/lib/mocked-balena-api.ts index b92ee95d1..85b1c9e59 100644 --- a/test/lib/mocked-balena-api.ts +++ b/test/lib/mocked-balena-api.ts @@ -1,5 +1,5 @@ -import * as express from 'express'; -import * as _ from 'lodash'; +import express from 'express'; +import _ from 'lodash'; const api: express.Express & { balenaBackend?: { diff --git a/test/lib/mocked-device-api.ts b/test/lib/mocked-device-api.ts index 47fdf7d3b..58d86869e 100644 --- a/test/lib/mocked-device-api.ts +++ b/test/lib/mocked-device-api.ts @@ -1,5 +1,5 @@ -import * as _ from 'lodash'; -import rewire = require('rewire'); +import _ from 'lodash'; +import rewire from 'rewire'; import { unlinkAll } from '~/lib/fs-utils'; import * as serviceManager from '~/src/compose/service-manager'; diff --git a/test/lib/mocked-dockerode.ts b/test/lib/mocked-dockerode.ts index ad7da4dd8..e2fce57ff 100644 --- a/test/lib/mocked-dockerode.ts +++ b/test/lib/mocked-dockerode.ts @@ -2,7 +2,7 @@ process.env.DOCKER_HOST = 'unix:///your/dockerode/mocks/are/not/working'; import * as dockerode from 'dockerode'; import { Stream } from 'stream'; -import _ = require('lodash'); +import _ from 'lodash'; import { NotFoundError } from '~/lib/errors'; const overrides: Dictionary<(...args: any[]) => Resolvable> = {}; diff --git a/test/lib/mocked-iptables.ts b/test/lib/mocked-iptables.ts index 2f2908136..76f12fea8 100644 --- a/test/lib/mocked-iptables.ts +++ b/test/lib/mocked-iptables.ts @@ -1,4 +1,4 @@ -import _ = require('lodash'); +import _ from 'lodash'; import { expect } from 'chai'; import { stub } from 'sinon'; import * as childProcess from 'child_process'; diff --git a/test/unit/compose/service.spec.ts b/test/unit/compose/service.spec.ts index 5c4783c13..e9c618864 100644 --- a/test/unit/compose/service.spec.ts +++ b/test/unit/compose/service.spec.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { expect } from 'chai'; import { createContainer } from '~/test-lib/mockerode'; diff --git a/test/unit/device-api/middleware.spec.ts b/test/unit/device-api/middleware.spec.ts index ddde15171..9cba6dbcd 100644 --- a/test/unit/device-api/middleware.spec.ts +++ b/test/unit/device-api/middleware.spec.ts @@ -1,5 +1,5 @@ -import * as express from 'express'; -import * as request from 'supertest'; +import express from 'express'; +import request from 'supertest'; import { SinonStub } from 'sinon'; import { expect } from 'chai'; diff --git a/test/unit/lib/fs-utils.spec.ts b/test/unit/lib/fs-utils.spec.ts index c6b40b33f..e8a9ac907 100644 --- a/test/unit/lib/fs-utils.spec.ts +++ b/test/unit/lib/fs-utils.spec.ts @@ -2,7 +2,7 @@ import { expect } from 'chai'; import * as path from 'path'; import { promises as fs } from 'fs'; import { spy, SinonSpy } from 'sinon'; -import mock = require('mock-fs'); +import mock from 'mock-fs'; import * as fsUtils from '~/lib/fs-utils'; import { rootMountPoint } from '~/lib/constants'; diff --git a/test/unit/lib/journald.spec.ts b/test/unit/lib/journald.spec.ts index 3e261e141..e7e18f682 100644 --- a/test/unit/lib/journald.spec.ts +++ b/test/unit/lib/journald.spec.ts @@ -1,7 +1,7 @@ import { SinonStub, stub } from 'sinon'; import { expect } from 'chai'; -import constants = require('~/lib/constants'); +import constants from '~/lib/constants'; import { spawnJournalctl } from '~/lib/journald'; describe('lib/journald', () => { diff --git a/test/unit/lib/system-info.spec.ts b/test/unit/lib/system-info.spec.ts index 753d7a2ca..b4f5e1e61 100644 --- a/test/unit/lib/system-info.spec.ts +++ b/test/unit/lib/system-info.spec.ts @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { SinonStub, stub } from 'sinon'; import { promises as fs } from 'fs'; -import * as systeminformation from 'systeminformation'; +import systeminformation from 'systeminformation'; import * as fsUtils from '~/lib/fs-utils'; import * as sysInfo from '~/lib/system-info'; diff --git a/test/unit/lib/validation.spec.ts b/test/unit/lib/validation.spec.ts index 40c70e2f6..6285593a8 100644 --- a/test/unit/lib/validation.spec.ts +++ b/test/unit/lib/validation.spec.ts @@ -1,4 +1,4 @@ -import * as _ from 'lodash'; +import _ from 'lodash'; import { expect } from 'chai'; import { isRight } from 'fp-ts/lib/Either'; diff --git a/test/unit/network.spec.ts b/test/unit/network.spec.ts index 4ff87d950..625d49593 100644 --- a/test/unit/network.spec.ts +++ b/test/unit/network.spec.ts @@ -1,91 +1,91 @@ -import * as os from 'os'; -import { stub } from 'sinon'; - import { expect } from 'chai'; import * as network from '~/src/network'; describe('network', () => { describe('getIPAddresses', () => { - before(() => - stub(os, 'networkInterfaces').returns({ - lo: [ - { - address: '127.0.0.1', - netmask: '255.0.0.0', - family: 'IPv4', - mac: '00:00:00:00:00:00', - internal: true, - }, - { - address: '::1', - netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', - family: 'IPv6', - mac: '00:00:00:00:00:00', - scopeid: 0, - internal: true, - }, - ], - docker0: [ - { - address: '172.17.0.1', - netmask: '255.255.0.0', - family: 'IPv4', - mac: '02:42:0f:33:06:ad', - internal: false, - }, - { - address: 'fe80::42:fff:fe33:6ad', - netmask: 'ffff:ffff:ffff:ffff::', - family: 'IPv6', - mac: '02:42:0f:33:06:ad', - scopeid: 3, - internal: false, - }, - ], - wlan0: [ - { - address: '192.168.1.137', - netmask: '255.255.255.0', - family: 'IPv4', - mac: '60:6d:c7:c6:44:3d', - internal: false, - }, - { - address: '2605:9080:1103:3011:2dbe:35e3:1b5a:b99', - netmask: 'ffff:ffff:ffff:ffff::', - family: 'IPv6', - mac: '60:6d:c7:c6:44:3d', - scopeid: 0, - internal: false, - }, - ], - eth0: [ - { - address: 'fe80::9992:76e3:c2e1:8a02', - netmask: 'ffff:ffff:ffff:ffff::', - family: 'IPv6', - mac: '58:6d:c7:c6:44:3d', - scopeid: 9, - internal: false, - }, - ], - 'resin-vpn': [ - { - address: '10.10.2.14', - netmask: '255.255.0.0', - family: 'IPv4', - mac: '01:43:1f:32:05:bd', - internal: false, - }, - ], - } as any), - ); - - // @ts-expect-error - after(() => os.networkInterfaces.restore()); - it('returns only the relevant IP addresses', () => - expect(network.getIPAddresses()).to.deep.equal([ + expect( + network.filterValidInterfaces({ + lo: [ + { + address: '127.0.0.1', + netmask: '255.0.0.0', + family: 'IPv4', + mac: '00:00:00:00:00:00', + internal: true, + cidr: null, + }, + { + address: '::1', + netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', + family: 'IPv6', + mac: '00:00:00:00:00:00', + scopeid: 0, + internal: true, + cidr: null, + }, + ], + docker0: [ + { + address: '172.17.0.1', + netmask: '255.255.0.0', + family: 'IPv4', + mac: '02:42:0f:33:06:ad', + internal: false, + cidr: null, + }, + { + address: 'fe80::42:fff:fe33:6ad', + netmask: 'ffff:ffff:ffff:ffff::', + family: 'IPv6', + mac: '02:42:0f:33:06:ad', + scopeid: 3, + internal: false, + cidr: null, + }, + ], + wlan0: [ + { + address: '192.168.1.137', + netmask: '255.255.255.0', + family: 'IPv4', + mac: '60:6d:c7:c6:44:3d', + internal: false, + cidr: null, + }, + { + address: '2605:9080:1103:3011:2dbe:35e3:1b5a:b99', + netmask: 'ffff:ffff:ffff:ffff::', + family: 'IPv6', + mac: '60:6d:c7:c6:44:3d', + scopeid: 0, + internal: false, + cidr: null, + }, + ], + eth0: [ + { + address: 'fe80::9992:76e3:c2e1:8a02', + netmask: 'ffff:ffff:ffff:ffff::', + family: 'IPv6', + mac: '58:6d:c7:c6:44:3d', + scopeid: 9, + internal: false, + cidr: null, + }, + ], + 'resin-vpn': [ + { + address: '10.10.2.14', + netmask: '255.255.0.0', + family: 'IPv4', + mac: '01:43:1f:32:05:bd', + internal: false, + cidr: null, + }, + ], + }), + ).to.deep.equal([ '192.168.1.137', '2605:9080:1103:3011:2dbe:35e3:1b5a:b99', ])); diff --git a/tsconfig.json b/tsconfig.json index a287730ad..22ad7d6ed 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,7 @@ "skipLibCheck": true, "resolveJsonModule": true, "allowJs": true, + "esModuleInterop": true, "paths": { "~/src/*": ["src/*"], "~/lib/*": ["src/lib/*"],