From 7c9f15d8a9c4c213168657f5af488ad243ccb1dc Mon Sep 17 00:00:00 2001 From: Jonas Hermsmeier Date: Thu, 15 Feb 2018 17:39:56 +0100 Subject: [PATCH] feat(sdk): Consolidate low-level components into SDK Changes: - Split out scanner into own file - Move `lib/shared/sdk` -> `lib/sdk` - Move `lib/image-stream` -> `lib/sdk/image-stream` - Move `lib/writer` -> `lib/sdk/writer` - Rename `sdk/standard` -> `sdk/blockdevice` - Move adapters into `sdk/adapters` subdirectory Change-Type: minor Changelog-Entry: Consolidate low-level components into Etcher SDK --- lib/cli/writer.js | 4 +- lib/gui/app/modules/drive-scanner.js | 4 +- .../pages/main/controllers/image-selection.js | 2 +- .../adapters/blockdevice}/index.js | 14 ++-- lib/sdk/adapters/index.js | 46 +++++++++++++ .../sdk => sdk/adapters}/usbboot/index.js | 2 +- .../sdk => sdk/adapters}/usbboot/protocol.js | 0 .../sdk => sdk/adapters}/usbboot/usb.js | 0 lib/{ => sdk}/image-stream/README.md | 0 .../image-stream/archive-hooks/zip.js | 2 +- lib/{ => sdk}/image-stream/archive.js | 4 +- lib/{ => sdk}/image-stream/gzip.js | 0 lib/{ => sdk}/image-stream/handlers.js | 4 +- lib/{ => sdk}/image-stream/index.js | 8 +-- lib/{ => sdk}/image-stream/mime.js | 0 .../image-stream/parse-partitions.js | 0 lib/{ => sdk}/image-stream/supported.js | 0 lib/{ => sdk}/image-stream/utils.js | 2 +- lib/sdk/index.js | 47 +++++++++++++ lib/{shared/sdk/index.js => sdk/scanner.js} | 66 ++++--------------- lib/{ => sdk}/writer/.eslintrc.yml | 0 lib/{ => sdk}/writer/block-read-stream.js | 0 lib/{ => sdk}/writer/block-stream.js | 0 lib/{ => sdk}/writer/block-write-stream.js | 0 lib/{ => sdk}/writer/checksum-stream.js | 0 lib/{ => sdk}/writer/error-types.js | 0 lib/{ => sdk}/writer/index.js | 0 lib/{ => sdk}/writer/progress-stream.js | 0 lib/shared/supported-formats.js | 2 +- tests/gui/modules/drive-scanner.spec.js | 8 +-- tests/image-stream/archive-hooks/zip.spec.js | 4 +- tests/image-stream/bz2.spec.js | 2 +- tests/image-stream/directory.spec.js | 2 +- tests/image-stream/dmg.spec.js | 2 +- tests/image-stream/gz.spec.js | 2 +- tests/image-stream/img.spec.js | 2 +- tests/image-stream/index.spec.js | 2 +- tests/image-stream/iso.spec.js | 2 +- tests/image-stream/metadata/zip.spec.js | 2 +- tests/image-stream/mime.spec.js | 2 +- tests/image-stream/tester.js | 2 +- tests/image-stream/utils.spec.js | 2 +- tests/image-stream/xz.spec.js | 2 +- tests/image-stream/zip.spec.js | 2 +- webpack.config.js | 2 +- 45 files changed, 151 insertions(+), 96 deletions(-) rename lib/{shared/sdk/standard => sdk/adapters/blockdevice}/index.js (90%) create mode 100644 lib/sdk/adapters/index.js rename lib/{shared/sdk => sdk/adapters}/usbboot/index.js (99%) rename lib/{shared/sdk => sdk/adapters}/usbboot/protocol.js (100%) rename lib/{shared/sdk => sdk/adapters}/usbboot/usb.js (100%) rename lib/{ => sdk}/image-stream/README.md (100%) rename lib/{ => sdk}/image-stream/archive-hooks/zip.js (98%) rename lib/{ => sdk}/image-stream/archive.js (98%) rename lib/{ => sdk}/image-stream/gzip.js (100%) rename lib/{ => sdk}/image-stream/handlers.js (98%) rename lib/{ => sdk}/image-stream/index.js (95%) rename lib/{ => sdk}/image-stream/mime.js (100%) rename lib/{ => sdk}/image-stream/parse-partitions.js (100%) rename lib/{ => sdk}/image-stream/supported.js (100%) rename lib/{ => sdk}/image-stream/utils.js (98%) create mode 100644 lib/sdk/index.js rename lib/{shared/sdk/index.js => sdk/scanner.js} (79%) rename lib/{ => sdk}/writer/.eslintrc.yml (100%) rename lib/{ => sdk}/writer/block-read-stream.js (100%) rename lib/{ => sdk}/writer/block-stream.js (100%) rename lib/{ => sdk}/writer/block-write-stream.js (100%) rename lib/{ => sdk}/writer/checksum-stream.js (100%) rename lib/{ => sdk}/writer/error-types.js (100%) rename lib/{ => sdk}/writer/index.js (100%) rename lib/{ => sdk}/writer/progress-stream.js (100%) diff --git a/lib/cli/writer.js b/lib/cli/writer.js index 22e63ea9..2eb58b13 100644 --- a/lib/cli/writer.js +++ b/lib/cli/writer.js @@ -22,10 +22,10 @@ const fs = Bluebird.promisifyAll(require('fs')) const mountutils = Bluebird.promisifyAll(require('mountutils')) const drivelist = Bluebird.promisifyAll(require('drivelist')) const os = require('os') -const imageStream = require('../image-stream') +const imageStream = require('../sdk/image-stream') const errors = require('../shared/errors') const constraints = require('../shared/drive-constraints') -const ImageWriter = require('../writer') +const ImageWriter = require('../sdk/writer') const diskpart = require('./diskpart') /** diff --git a/lib/gui/app/modules/drive-scanner.js b/lib/gui/app/modules/drive-scanner.js index 06eff093..6bc9e516 100644 --- a/lib/gui/app/modules/drive-scanner.js +++ b/lib/gui/app/modules/drive-scanner.js @@ -21,7 +21,7 @@ const Bluebird = require('bluebird') const fs = Bluebird.promisifyAll(require('fs')) const path = require('path') const settings = require('../models/settings') -const SDK = require('../../../shared/sdk') +const SDK = require('../../../sdk') /** * @summary The Etcher "blobs" directory path @@ -31,7 +31,7 @@ const SDK = require('../../../shared/sdk') const BLOBS_DIRECTORY = path.join(__dirname, '..', '..', 'blobs') const scanner = SDK.createScanner({ - standard: { + blockdevice: { get includeSystemDrives () { return settings.get('unsafeMode') } diff --git a/lib/gui/app/pages/main/controllers/image-selection.js b/lib/gui/app/pages/main/controllers/image-selection.js index 162d1ed8..5992f844 100644 --- a/lib/gui/app/pages/main/controllers/image-selection.js +++ b/lib/gui/app/pages/main/controllers/image-selection.js @@ -21,7 +21,7 @@ const Bluebird = require('bluebird') const path = require('path') const messages = require('../../../../../shared/messages') const errors = require('../../../../../shared/errors') -const imageStream = require('../../../../../image-stream') +const imageStream = require('../../../../../sdk/image-stream') const supportedFormats = require('../../../../../shared/supported-formats') const analytics = require('../../../modules/analytics') const selectionState = require('../../../../../shared/models/selection-state') diff --git a/lib/shared/sdk/standard/index.js b/lib/sdk/adapters/blockdevice/index.js similarity index 90% rename from lib/shared/sdk/standard/index.js rename to lib/sdk/adapters/blockdevice/index.js index c7f6e8cb..5fa1f76c 100644 --- a/lib/shared/sdk/standard/index.js +++ b/lib/sdk/adapters/blockdevice/index.js @@ -22,15 +22,15 @@ const EventEmitter = require('events') const drivelist = Bluebird.promisifyAll(require('drivelist')) /** - * @summary StandardAdapter + * @summary BlockDeviceAdapter * @class */ -class StandardAdapter extends EventEmitter { +class BlockDeviceAdapter extends EventEmitter { /** - * @summary StandardAdapter constructor + * @summary BlockDeviceAdapter constructor * @class * @example - * const adapter = new StandardAdapter() + * const adapter = new BlockDeviceAdapter() */ constructor () { super() @@ -51,7 +51,7 @@ class StandardAdapter extends EventEmitter { * @param {Object} [options] - options * @param {Object} [options.includeSystemDrives=false] - include system drives * @param {Function} [callback] - optional callback - * @returns {StandardAdapter} + * @returns {BlockDeviceAdapter} * * @example * adapter.scan({ @@ -101,7 +101,7 @@ class StandardAdapter extends EventEmitter { * @type {String} * @constant */ -StandardAdapter.id = 'standard' +BlockDeviceAdapter.id = 'blockdevice' // Exports -module.exports = StandardAdapter +module.exports = BlockDeviceAdapter diff --git a/lib/sdk/adapters/index.js b/lib/sdk/adapters/index.js new file mode 100644 index 00000000..e227f7e4 --- /dev/null +++ b/lib/sdk/adapters/index.js @@ -0,0 +1,46 @@ +/* + * Copyright 2017 resin.io + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +'use strict' + +const _ = require('lodash') +const os = require('os') + +/** + * @summary The list of loaded adapters + * @type {Object[]} + * @constant + */ +const ADAPTERS = [ + require('./blockdevice') +] + +// We don't support usbboot on GNU/Linux yet, given +// that some distributions require root permissions +// to open USB devices. +if (os.platform() !== 'linux') { + ADAPTERS.push(require('./usbboot')) +} + +/** + * @summary Initialised adapters + * @type {Object} + * @constant + */ +module.exports = _.reduce(ADAPTERS, (adapters, Adapter) => { + adapters[Adapter.id] = new Adapter() + return adapters +}, {}) diff --git a/lib/shared/sdk/usbboot/index.js b/lib/sdk/adapters/usbboot/index.js similarity index 99% rename from lib/shared/sdk/usbboot/index.js rename to lib/sdk/adapters/usbboot/index.js index 1d9cd443..b798ea1a 100644 --- a/lib/shared/sdk/usbboot/index.js +++ b/lib/sdk/adapters/usbboot/index.js @@ -27,7 +27,7 @@ const Bluebird = require('bluebird') const debug = require('debug')('sdk:usbboot') const usb = require('./usb') const protocol = require('./protocol') -const utils = require('../../utils') +const utils = require('../../../shared/utils') debug.enabled = true diff --git a/lib/shared/sdk/usbboot/protocol.js b/lib/sdk/adapters/usbboot/protocol.js similarity index 100% rename from lib/shared/sdk/usbboot/protocol.js rename to lib/sdk/adapters/usbboot/protocol.js diff --git a/lib/shared/sdk/usbboot/usb.js b/lib/sdk/adapters/usbboot/usb.js similarity index 100% rename from lib/shared/sdk/usbboot/usb.js rename to lib/sdk/adapters/usbboot/usb.js diff --git a/lib/image-stream/README.md b/lib/sdk/image-stream/README.md similarity index 100% rename from lib/image-stream/README.md rename to lib/sdk/image-stream/README.md diff --git a/lib/image-stream/archive-hooks/zip.js b/lib/sdk/image-stream/archive-hooks/zip.js similarity index 98% rename from lib/image-stream/archive-hooks/zip.js rename to lib/sdk/image-stream/archive-hooks/zip.js index 02aa6997..79879e7c 100644 --- a/lib/image-stream/archive-hooks/zip.js +++ b/lib/sdk/image-stream/archive-hooks/zip.js @@ -20,7 +20,7 @@ const Bluebird = require('bluebird') const _ = require('lodash') const StreamZip = require('node-stream-zip') const yauzl = Bluebird.promisifyAll(require('yauzl')) -const errors = require('../../shared/errors') +const errors = require('../../../shared/errors') /** * @summary Get all archive entries diff --git a/lib/image-stream/archive.js b/lib/sdk/image-stream/archive.js similarity index 98% rename from lib/image-stream/archive.js rename to lib/sdk/image-stream/archive.js index 1909bb21..38f79a11 100644 --- a/lib/image-stream/archive.js +++ b/lib/sdk/image-stream/archive.js @@ -21,8 +21,8 @@ const _ = require('lodash') const PassThroughStream = require('stream').PassThrough const supportedFileTypes = require('./supported') const utils = require('./utils') -const errors = require('../shared/errors') -const fileExtensions = require('../shared/file-extensions') +const errors = require('../../shared/errors') +const fileExtensions = require('../../shared/file-extensions') /** * @summary Archive metadata base path diff --git a/lib/image-stream/gzip.js b/lib/sdk/image-stream/gzip.js similarity index 100% rename from lib/image-stream/gzip.js rename to lib/sdk/image-stream/gzip.js diff --git a/lib/image-stream/handlers.js b/lib/sdk/image-stream/handlers.js similarity index 98% rename from lib/image-stream/handlers.js rename to lib/sdk/image-stream/handlers.js index 11899e46..492e3d0b 100644 --- a/lib/image-stream/handlers.js +++ b/lib/sdk/image-stream/handlers.js @@ -29,9 +29,9 @@ const udif = Bluebird.promisifyAll(require('udif')) const archive = require('./archive') const utils = require('./utils') const zipArchiveHooks = require('./archive-hooks/zip') -const fileExtensions = require('../shared/file-extensions') +const fileExtensions = require('../../shared/file-extensions') const path = require('path') -const errors = require('../shared/errors') +const errors = require('../../shared/errors') /** * @summary Default image extension to be assumed diff --git a/lib/image-stream/index.js b/lib/sdk/image-stream/index.js similarity index 95% rename from lib/image-stream/index.js rename to lib/sdk/image-stream/index.js index ab922be9..c3c29e9f 100644 --- a/lib/image-stream/index.js +++ b/lib/sdk/image-stream/index.js @@ -23,7 +23,7 @@ const stream = require('stream') const mime = require('./mime') const handlers = require('./handlers') const supportedFileTypes = require('./supported') -const errors = require('../shared/errors') +const errors = require('../../shared/errors') const parsePartitions = require('./parse-partitions') /** @@ -54,7 +54,7 @@ const parsePartitions = require('./parse-partitions') * @returns {Promise} * * @example - * const imageStream = require('./lib/image-stream'); + * const imageStream = require('./lib/sdk/image-stream'); * * imageStream.getFromFilePath('path/to/rpi.img.xz').then((image) => { * console.log(`The image display name is: ${image.name}`); @@ -106,7 +106,7 @@ exports.getFromFilePath = (file) => { * @returns {Promise} * * @example - * const imageStream = require('./lib/image-stream'); + * const imageStream = require('./lib/sdk/image-stream'); * * imageStream.getImageMetadata('path/to/rpi.img.xz').then((metadata) => { * console.log(`The image display name is: ${metadata.name}`); @@ -131,7 +131,7 @@ exports.getImageMetadata = (file) => { * @public * * @example - * const imageStream = require('./lib/image-stream'); + * const imageStream = require('./lib/sdk/image-stream'); * * imageStream.supportedFileTypes.forEach((fileType) => { * console.log('Supported file type: ' + fileType.extension); diff --git a/lib/image-stream/mime.js b/lib/sdk/image-stream/mime.js similarity index 100% rename from lib/image-stream/mime.js rename to lib/sdk/image-stream/mime.js diff --git a/lib/image-stream/parse-partitions.js b/lib/sdk/image-stream/parse-partitions.js similarity index 100% rename from lib/image-stream/parse-partitions.js rename to lib/sdk/image-stream/parse-partitions.js diff --git a/lib/image-stream/supported.js b/lib/sdk/image-stream/supported.js similarity index 100% rename from lib/image-stream/supported.js rename to lib/sdk/image-stream/supported.js diff --git a/lib/image-stream/utils.js b/lib/sdk/image-stream/utils.js similarity index 98% rename from lib/image-stream/utils.js rename to lib/sdk/image-stream/utils.js index fa532cda..3b507f52 100644 --- a/lib/image-stream/utils.js +++ b/lib/sdk/image-stream/utils.js @@ -18,7 +18,7 @@ const Bluebird = require('bluebird') const fs = Bluebird.promisifyAll(require('fs')) -const errors = require('../shared/errors') +const errors = require('../../shared/errors') /** * @summary Read a buffer from an image file descriptor diff --git a/lib/sdk/index.js b/lib/sdk/index.js new file mode 100644 index 00000000..7a0dedb1 --- /dev/null +++ b/lib/sdk/index.js @@ -0,0 +1,47 @@ +/* + * Copyright 2017 resin.io + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +'use strict' + +const SDK = module.exports + +/** + * @summary Initialised adapters + * @type {Object} + * @constant + */ +SDK.adapters = require('./adapters') + +/** + * Adapter Scanner + * @see scanner.js + * @ignore + */ +SDK.Scanner = require('./scanner') + +/** + * @summary Create a new Scanner + * @param {Object} [options] - options + * @returns {SDK.Scanner} + * @example + * SDK.createScanner({ + * blockdevice: { ... }, + * usbboot: { ... } + * }) + */ +SDK.createScanner = (options) => { + return new SDK.Scanner(options) +} diff --git a/lib/shared/sdk/index.js b/lib/sdk/scanner.js similarity index 79% rename from lib/shared/sdk/index.js rename to lib/sdk/scanner.js index 50caae19..ba3dd9d1 100644 --- a/lib/shared/sdk/index.js +++ b/lib/sdk/scanner.js @@ -16,54 +16,28 @@ 'use strict' -const EventEmitter = require('events') const _ = require('lodash') -const SDK = module.exports -const debug = require('debug')('sdk') -const os = require('os') +const EventEmitter = require('events') +const debug = require('debug')('sdk:scanner') +const SDK = require('./') debug.enabled = true -/** - * @summary The list of loaded adapters - * @type {Object[]} - * @constant - */ -const ADAPTERS = [ - require('./standard') -] - -// We don't support usbboot on GNU/Linux yet, given -// that some distributions require root permissions -// to open USB devices. -if (os.platform() !== 'linux') { - ADAPTERS.push(require('./usbboot')) -} - -/** - * @summary Initialised adapters - * @type {Object} - * @constant - */ -SDK.adapters = _.reduce(ADAPTERS, (adapters, Adapter) => { - adapters[Adapter.id] = new Adapter() - return adapters -}, {}) - /* eslint-disable lodash/prefer-lodash-method */ /** * Adapter Scanner * @class Scanner + * @memberOf SDK */ -SDK.Scanner = class Scanner extends EventEmitter { +class Scanner extends EventEmitter { /** * @summary Adapter Scanner constructor * @param {Object} [options] - device adapter options * @param {Object} [options.adapters] - map of external device adapters * @example - * new SDK.Scanner({ - * standard: { ... }, + * new Scanner({ + * blockdevice: { ... }, * usbboot: { ... } * }) */ @@ -133,7 +107,7 @@ SDK.Scanner = class Scanner extends EventEmitter { /** * @summary Start scanning for devices * @public - * @returns {SDK.Scanner} + * @returns {Scanner} * @example * scanner.start() */ @@ -156,7 +130,7 @@ SDK.Scanner = class Scanner extends EventEmitter { const runScan = () => { adapter.scan(options, () => { if (this.isScanning) { - setTimeout(runScan, SDK.Scanner.MIN_SCAN_DELAY) + setTimeout(runScan, Scanner.MIN_SCAN_DELAY) } }) } @@ -177,7 +151,7 @@ SDK.Scanner = class Scanner extends EventEmitter { /** * @summary Stop scanning for devices * @public - * @returns {SDK.Scanner} + * @returns {Scanner} * @example * scanner.stop() */ @@ -202,7 +176,7 @@ SDK.Scanner = class Scanner extends EventEmitter { * @summary Subscribe to an adapter * @public * @param {Adapter} adapter - device adapter - * @returns {SDK.Scanner} + * @returns {Scanner} * @example * scanner.subscribe(adapter) */ @@ -223,7 +197,7 @@ SDK.Scanner = class Scanner extends EventEmitter { * @summary Unsubscribe from an adapter * @public * @param {Adapter} adapter - device adapter - * @returns {SDK.Scanner} + * @returns {Scanner} * @example * scanner.unsubscribe(adapter) * // OR @@ -253,18 +227,6 @@ SDK.Scanner = class Scanner extends EventEmitter { * @const * @type {Number} */ -SDK.Scanner.MIN_SCAN_DELAY = 500 +Scanner.MIN_SCAN_DELAY = 500 -/** - * @summary Create a new Scanner - * @param {Object} [options] - options - * @returns {SDK.Scanner} - * @example - * SDK.createScanner({ - * standard: { ... }, - * usbboot: { ... } - * }) - */ -SDK.createScanner = (options) => { - return new SDK.Scanner(options) -} +module.exports = Scanner diff --git a/lib/writer/.eslintrc.yml b/lib/sdk/writer/.eslintrc.yml similarity index 100% rename from lib/writer/.eslintrc.yml rename to lib/sdk/writer/.eslintrc.yml diff --git a/lib/writer/block-read-stream.js b/lib/sdk/writer/block-read-stream.js similarity index 100% rename from lib/writer/block-read-stream.js rename to lib/sdk/writer/block-read-stream.js diff --git a/lib/writer/block-stream.js b/lib/sdk/writer/block-stream.js similarity index 100% rename from lib/writer/block-stream.js rename to lib/sdk/writer/block-stream.js diff --git a/lib/writer/block-write-stream.js b/lib/sdk/writer/block-write-stream.js similarity index 100% rename from lib/writer/block-write-stream.js rename to lib/sdk/writer/block-write-stream.js diff --git a/lib/writer/checksum-stream.js b/lib/sdk/writer/checksum-stream.js similarity index 100% rename from lib/writer/checksum-stream.js rename to lib/sdk/writer/checksum-stream.js diff --git a/lib/writer/error-types.js b/lib/sdk/writer/error-types.js similarity index 100% rename from lib/writer/error-types.js rename to lib/sdk/writer/error-types.js diff --git a/lib/writer/index.js b/lib/sdk/writer/index.js similarity index 100% rename from lib/writer/index.js rename to lib/sdk/writer/index.js diff --git a/lib/writer/progress-stream.js b/lib/sdk/writer/progress-stream.js similarity index 100% rename from lib/writer/progress-stream.js rename to lib/sdk/writer/progress-stream.js diff --git a/lib/shared/supported-formats.js b/lib/shared/supported-formats.js index 8897df57..32424cb6 100644 --- a/lib/shared/supported-formats.js +++ b/lib/shared/supported-formats.js @@ -18,7 +18,7 @@ const _ = require('lodash') const path = require('path') -const imageStream = require('../image-stream') +const imageStream = require('../sdk/image-stream') const fileExtensions = require('./file-extensions') /** diff --git a/tests/gui/modules/drive-scanner.spec.js b/tests/gui/modules/drive-scanner.spec.js index f2cdbbc0..199f3403 100644 --- a/tests/gui/modules/drive-scanner.spec.js +++ b/tests/gui/modules/drive-scanner.spec.js @@ -164,7 +164,7 @@ describe('Browser: driveScanner', function () { path: '/mnt/foo' } ], - adapter: 'standard', + adapter: 'blockdevice', isSystem: false, isRemovable: false }, @@ -178,7 +178,7 @@ describe('Browser: driveScanner', function () { path: '/mnt/bar' } ], - adapter: 'standard', + adapter: 'blockdevice', isSystem: false, isRemovable: false } @@ -268,7 +268,7 @@ describe('Browser: driveScanner', function () { description: 'Foo', size: '14G', mountpoints: [], - adapter: 'standard', + adapter: 'blockdevice', isSystem: false, isRemovable: false }, @@ -282,7 +282,7 @@ describe('Browser: driveScanner', function () { path: 'F:' } ], - adapter: 'standard', + adapter: 'blockdevice', isSystem: false, isRemovable: false } diff --git a/tests/image-stream/archive-hooks/zip.spec.js b/tests/image-stream/archive-hooks/zip.spec.js index 8da8b6cf..aab16827 100644 --- a/tests/image-stream/archive-hooks/zip.spec.js +++ b/tests/image-stream/archive-hooks/zip.spec.js @@ -18,8 +18,8 @@ const m = require('mochainon') const path = require('path') -const zipHooks = require('../../../lib/image-stream/archive-hooks/zip') -const utils = require('../../../lib/image-stream/utils') +const zipHooks = require('../../../lib/sdk/image-stream/archive-hooks/zip') +const utils = require('../../../lib/sdk/image-stream/utils') const tester = require('../tester') const ZIP_PATH = path.join(__dirname, '..', 'data', 'zip') diff --git a/tests/image-stream/bz2.spec.js b/tests/image-stream/bz2.spec.js index cf4d8c7b..1cff944d 100644 --- a/tests/image-stream/bz2.spec.js +++ b/tests/image-stream/bz2.spec.js @@ -22,7 +22,7 @@ const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') const BZ2_PATH = path.join(DATA_PATH, 'bz2') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const tester = require('./tester') describe('ImageStream: BZ2', function () { diff --git a/tests/image-stream/directory.spec.js b/tests/image-stream/directory.spec.js index 9f155081..1cd85a0d 100644 --- a/tests/image-stream/directory.spec.js +++ b/tests/image-stream/directory.spec.js @@ -21,7 +21,7 @@ const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') const errors = require('../../lib/shared/errors') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') describe('ImageStream: Directory', function () { describe('.getFromFilePath()', function () { diff --git a/tests/image-stream/dmg.spec.js b/tests/image-stream/dmg.spec.js index bd305970..c6a859e2 100644 --- a/tests/image-stream/dmg.spec.js +++ b/tests/image-stream/dmg.spec.js @@ -22,7 +22,7 @@ const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') const DMG_PATH = path.join(DATA_PATH, 'dmg') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const tester = require('./tester') describe('ImageStream: DMG', function () { diff --git a/tests/image-stream/gz.spec.js b/tests/image-stream/gz.spec.js index e96d8243..9960eead 100644 --- a/tests/image-stream/gz.spec.js +++ b/tests/image-stream/gz.spec.js @@ -22,7 +22,7 @@ const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') const GZ_PATH = path.join(DATA_PATH, 'gz') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const tester = require('./tester') describe('ImageStream: GZ', function () { diff --git a/tests/image-stream/img.spec.js b/tests/image-stream/img.spec.js index 523a9237..dc650b4b 100644 --- a/tests/image-stream/img.spec.js +++ b/tests/image-stream/img.spec.js @@ -21,7 +21,7 @@ const fs = require('fs') const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const tester = require('./tester') describe('ImageStream: IMG', function () { diff --git a/tests/image-stream/index.spec.js b/tests/image-stream/index.spec.js index 1ce08932..894d1d62 100644 --- a/tests/image-stream/index.spec.js +++ b/tests/image-stream/index.spec.js @@ -18,7 +18,7 @@ const m = require('mochainon') const _ = require('lodash') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') describe('ImageStream', function () { describe('.supportedFileTypes', function () { diff --git a/tests/image-stream/iso.spec.js b/tests/image-stream/iso.spec.js index bd47ea3a..cb3f180c 100644 --- a/tests/image-stream/iso.spec.js +++ b/tests/image-stream/iso.spec.js @@ -21,7 +21,7 @@ const fs = require('fs') const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const tester = require('./tester') describe('ImageStream: ISO', function () { diff --git a/tests/image-stream/metadata/zip.spec.js b/tests/image-stream/metadata/zip.spec.js index 83438ad5..a753080b 100644 --- a/tests/image-stream/metadata/zip.spec.js +++ b/tests/image-stream/metadata/zip.spec.js @@ -22,7 +22,7 @@ const DATA_PATH = path.join(__dirname, '..', 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') const ZIP_PATH = path.join(DATA_PATH, 'metadata', 'zip') const tester = require('../tester') -const imageStream = require('../../../lib/image-stream/index') +const imageStream = require('../../../lib/sdk/image-stream/index') const testMetadataProperty = (archivePath, propertyName, expectedValue) => { return imageStream.getFromFilePath(archivePath).then((image) => { diff --git a/tests/image-stream/mime.spec.js b/tests/image-stream/mime.spec.js index 8e1c8e93..bde09a11 100644 --- a/tests/image-stream/mime.spec.js +++ b/tests/image-stream/mime.spec.js @@ -19,7 +19,7 @@ const m = require('mochainon') const path = require('path') const DATA_PATH = path.join(__dirname, 'data') -const mime = require('../../lib/image-stream/mime') +const mime = require('../../lib/sdk/image-stream/mime') describe('ImageStream: MIME', function () { describe('.getMimeTypeFromFileName()', function () { diff --git a/tests/image-stream/tester.js b/tests/image-stream/tester.js index f243d25e..79c4ad25 100644 --- a/tests/image-stream/tester.js +++ b/tests/image-stream/tester.js @@ -22,7 +22,7 @@ const Bluebird = require('bluebird') const fs = Bluebird.promisifyAll(require('fs')) const os = require('os') const path = require('path') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const doFilesContainTheSameData = (file1, file2) => { return Bluebird.props({ diff --git a/tests/image-stream/utils.spec.js b/tests/image-stream/utils.spec.js index 88abe766..6ace6c56 100644 --- a/tests/image-stream/utils.spec.js +++ b/tests/image-stream/utils.spec.js @@ -18,7 +18,7 @@ const m = require('mochainon') const StreamReadable = require('stream').Readable -const utils = require('../../lib/image-stream/utils') +const utils = require('../../lib/sdk/image-stream/utils') describe('ImageStream: Utils', function () { describe('.extractStream()', function () { diff --git a/tests/image-stream/xz.spec.js b/tests/image-stream/xz.spec.js index 5c5f13be..926db437 100644 --- a/tests/image-stream/xz.spec.js +++ b/tests/image-stream/xz.spec.js @@ -22,7 +22,7 @@ const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') const XZ_PATH = path.join(DATA_PATH, 'xz') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const tester = require('./tester') describe('ImageStream: XZ', function () { diff --git a/tests/image-stream/zip.spec.js b/tests/image-stream/zip.spec.js index d11c2cca..04754ab0 100644 --- a/tests/image-stream/zip.spec.js +++ b/tests/image-stream/zip.spec.js @@ -22,7 +22,7 @@ const path = require('path') const DATA_PATH = path.join(__dirname, 'data') const IMAGES_PATH = path.join(DATA_PATH, 'images') const ZIP_PATH = path.join(DATA_PATH, 'zip') -const imageStream = require('../../lib/image-stream/index') +const imageStream = require('../../lib/sdk/image-stream/index') const tester = require('./tester') describe('ImageStream: ZIP', function () { diff --git a/webpack.config.js b/webpack.config.js index 2099a01c..ac4dc461 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -39,7 +39,7 @@ module.exports = { // on the tree (for testing purposes) or inside a generated // bundle (for production purposes), by translating // relative require paths within the bundle. - if (/\.\/(shared|image-stream)/i.test(request)) { + if (/\/(sdk|shared)/i.test(request)) { return callback(null, `commonjs ../../../lib/${_.replace(request, /(\.\.\/)*/, '')}`) }