Move shared folder to gui/app/modules

Change-type: patch
Changelog-entry: Move shared folder to gui/app/modules
Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzoa@balena.io>
This commit is contained in:
Lorenzo Alberto Maria Ambrosi 2019-06-13 16:00:50 +02:00 committed by Alexis Svinartchouk
parent 0a0be3a13d
commit 35ad0340b9
53 changed files with 119 additions and 134 deletions

View File

@ -62,7 +62,7 @@ since fresh eyes could help unveil things that we take for granted, but should
be documented instead!
[lego-blocks]: https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328
[exit-codes]: https://github.com/balena-io/etcher/blob/master/lib/shared/exit-codes.js
[exit-codes]: https://github.com/balena-io/etcher/blob/master/lib/gui/app/modules/exit-codes.js
[gui-dir]: https://github.com/balena-io/etcher/tree/master/lib/gui
[electron]: http://electron.atom.io
[nodejs]: https://nodejs.org

View File

@ -31,8 +31,8 @@ const sdk = require('etcher-sdk')
const _ = require('lodash')
const uuidV4 = require('uuid/v4')
const EXIT_CODES = require('../../shared/exit-codes')
const messages = require('../../shared/messages')
const EXIT_CODES = require('../../gui/app/modules/exit-codes')
const messages = require('../../gui/app/modules/messages')
const store = require('./models/store')
const packageJSON = require('../../../package.json')
const flashState = require('./models/flash-state')

View File

@ -19,12 +19,12 @@
const angular = require('angular')
const _ = require('lodash')
const Bluebird = require('bluebird')
const constraints = require('../../../../../shared/drive-constraints')
const constraints = require('../../../../../gui/app/modules/drive-constraints')
const store = require('../../../models/store')
const analytics = require('../../../modules/analytics')
const availableDrives = require('../../../models/available-drives')
const selectionState = require('../../../models/selection-state')
const utils = require('../../../../../shared/utils')
const utils = require('../../../../../gui/app/modules/utils')
module.exports = function (
$q,

View File

@ -31,7 +31,7 @@ const {
} = require('./../../styled-components')
const { Txt } = require('rendition')
const middleEllipsis = require('./../../utils/middle-ellipsis')
const { bytesToClosestUnit } = require('./../../../../shared/units')
const { bytesToClosestUnit } = require('./../../../../gui/app/modules/units')
const TargetDetail = styled((props) => (
<Txt.span {...props}>

View File

@ -19,7 +19,7 @@
const _ = require('lodash')
const os = require('os')
const settings = require('../../../models/settings')
const utils = require('../../../../../shared/utils')
const utils = require('../../../../../gui/app/modules/utils')
const angular = require('angular')
/* eslint-disable lodash/prefer-lodash-method */

View File

@ -25,7 +25,7 @@ const colors = require('./colors')
const prettyBytes = require('pretty-bytes')
const files = require('../../../models/files')
const middleEllipsis = require('../../../utils/middle-ellipsis')
const supportedFormats = require('../../../../../shared/supported-formats')
const supportedFormats = require('../../../../../gui/app/modules/supported-formats')
const debug = require('debug')('etcher:gui:file-selector')

View File

@ -35,9 +35,9 @@ const selectionState = require('../../../models/selection-state')
const store = require('../../../models/store')
const osDialog = require('../../../os/dialog')
const exceptionReporter = require('../../../modules/exception-reporter')
const messages = require('../../../../../shared/messages')
const errors = require('../../../../../shared/errors')
const supportedFormats = require('../../../../../shared/supported-formats')
const messages = require('../../../../../gui/app/modules/messages')
const errors = require('../../../../../gui/app/modules/errors')
const supportedFormats = require('../../../../../gui/app/modules/supported-formats')
const analytics = require('../../../modules/analytics')
const debug = require('debug')('etcher:gui:file-selector')

View File

@ -22,7 +22,7 @@ const propTypes = require('prop-types')
const middleEllipsis = require('./../../utils/middle-ellipsis')
const shared = require('./../../../../shared/units')
const shared = require('./../../../../gui/app/modules/units')
const {
StepButton,
StepNameButton,

View File

@ -18,7 +18,7 @@
const _ = require('lodash')
const store = require('./store')
const units = require('../../../shared/units')
const units = require('../../../gui/app/modules/units')
/**
* @summary Reset flash state

View File

@ -23,7 +23,7 @@
const _ = require('lodash')
const Bluebird = require('bluebird')
const localSettings = require('./local-settings')
const errors = require('../../../shared/errors')
const errors = require('../modules/errors')
const packageJSON = require('../../../../package.json')
const debug = require('debug')('etcher:models:settings')

View File

@ -20,11 +20,11 @@ const Immutable = require('immutable')
const _ = require('lodash')
const redux = require('redux')
const uuidV4 = require('uuid/v4')
const constraints = require('../../../shared/drive-constraints')
const supportedFormats = require('../../../shared/supported-formats')
const errors = require('../../../shared/errors')
const fileExtensions = require('../../../shared/file-extensions')
const utils = require('../../../shared/utils')
const constraints = require('../modules/drive-constraints')
const supportedFormats = require('../modules/supported-formats')
const errors = require('../modules/errors')
const fileExtensions = require('../modules/file-extensions')
const utils = require('../modules/utils')
const settings = require('./settings')
/**

View File

@ -20,7 +20,7 @@ const _ = require('lodash')
const resinCorvus = require('resin-corvus/browser')
const packageJSON = require('../../../../package.json')
const settings = require('../models/settings')
const { getConfig, hasProps } = require('../../../shared/utils')
const { getConfig, hasProps } = require('../../../gui/app/modules/utils')
const sentryToken = settings.get('analyticsSentryToken') ||
_.get(packageJSON, [ 'analytics', 'sentry', 'token' ])

View File

@ -20,8 +20,8 @@ const Bluebird = require('bluebird')
const _ = require('lodash')
const ipc = require('node-ipc')
const sdk = require('etcher-sdk')
const EXIT_CODES = require('../../shared/exit-codes')
const errors = require('../../shared/errors')
const EXIT_CODES = require('./exit-codes')
const errors = require('./errors')
ipc.config.id = process.env.IPC_CLIENT_ID
ipc.config.socketRoot = process.env.IPC_SOCKET_ROOT

View File

@ -26,8 +26,8 @@ const electron = require('electron')
const store = require('../models/store')
const settings = require('../models/settings')
const flashState = require('../models/flash-state')
const errors = require('../../../shared/errors')
const permissions = require('../../../shared/permissions')
const errors = require('../../../gui/app/modules/errors')
const permissions = require('../../../gui/app/modules/permissions')
const windowProgress = require('../os/window-progress')
const analytics = require('../modules/analytics')
const updateLock = require('./update-lock')

View File

@ -17,8 +17,8 @@
'use strict'
const settings = require('../models/settings')
const utils = require('../../../shared/utils')
const units = require('../../../shared/units')
const utils = require('../../../gui/app/modules/utils')
const units = require('../../../gui/app/modules/units')
/**
* @summary Make the progress status subtitle string

View File

@ -19,8 +19,8 @@
const _ = require('lodash')
const electron = require('electron')
const Bluebird = require('bluebird')
const errors = require('../../../shared/errors')
const supportedFormats = require('../../../shared/supported-formats')
const errors = require('../../../gui/app/modules/errors')
const supportedFormats = require('../../../gui/app/modules/supported-formats')
/**
* @summary Current renderer BrowserWindow instance

View File

@ -17,7 +17,7 @@
'use strict'
const electron = require('electron')
const utils = require('../../../shared/utils')
const utils = require('../../../gui/app/modules/utils')
const progressStatus = require('../modules/progress-status')
/**

View File

@ -25,7 +25,7 @@ const Path = require('path')
const process = require('process')
const { promisify } = require('util')
const { tmpFileDisposer } = require('../../../shared/utils')
const { tmpFileDisposer } = require('../../../gui/app/modules/utils')
const readFileAsync = promisify(fs.readFile)

View File

@ -24,7 +24,7 @@ const flashState = require('../../../models/flash-state')
const selectionState = require('../../../models/selection-state')
const analytics = require('../../../modules/analytics')
const updateLock = require('../../../modules/update-lock')
const messages = require('../../../../../shared/messages')
const messages = require('../../../../../gui/app/modules/messages')
module.exports = function ($state) {
/**

View File

@ -24,7 +24,7 @@ const settings = require('../../../models/settings')
const selectionState = require('../../../models/selection-state')
const analytics = require('../../../modules/analytics')
const exceptionReporter = require('../../../modules/exception-reporter')
const utils = require('../../../../../shared/utils')
const utils = require('../../../../../gui/app/modules/utils')
module.exports = function (DriveSelectorService) {
/**

View File

@ -17,7 +17,7 @@
'use strict'
const _ = require('lodash')
const messages = require('../../../../../shared/messages')
const messages = require('../../../../../gui/app/modules/messages')
const flashState = require('../../../models/flash-state')
const driveScanner = require('../../../modules/drive-scanner')
const progressStatus = require('../../../modules/progress-status')
@ -26,7 +26,7 @@ const analytics = require('../../../modules/analytics')
const imageWriter = require('../../../modules/image-writer')
const path = require('path')
const store = require('../../../models/store')
const constraints = require('../../../../../shared/drive-constraints')
const constraints = require('../../../../../gui/app/modules/drive-constraints')
const availableDrives = require('../../../models/available-drives')
const selection = require('../../../models/selection-state')

View File

@ -22,9 +22,9 @@ const path = require('path')
const sdk = require('etcher-sdk')
const store = require('../../../models/store')
const messages = require('../../../../../shared/messages')
const errors = require('../../../../../shared/errors')
const supportedFormats = require('../../../../../shared/supported-formats')
const messages = require('../../../../../gui/app/modules/messages')
const errors = require('../../../../../gui/app/modules/errors')
const supportedFormats = require('../../../../../gui/app/modules/supported-formats')
const analytics = require('../../../modules/analytics')
const settings = require('../../../models/settings')
const selectionState = require('../../../models/selection-state')

View File

@ -24,8 +24,8 @@ const analytics = require('../../../modules/analytics')
const exceptionReporter = require('../../../modules/exception-reporter')
const availableDrives = require('../../../models/available-drives')
const selectionState = require('../../../models/selection-state')
const driveConstraints = require('../../../../../shared/drive-constraints')
const messages = require('../../../../../shared/messages')
const driveConstraints = require('../../../../../gui/app/modules/drive-constraints')
const messages = require('../../../../../gui/app/modules/messages')
const prettyBytes = require('pretty-bytes')
module.exports = function (

View File

@ -16,7 +16,7 @@
'use strict'
const units = require('../../../../shared/units')
const units = require('../../../../gui/app/modules/units')
module.exports = () => {
/**

View File

@ -16,7 +16,7 @@
'use strict'
const errors = require('../../../../../shared/errors')
const errors = require('../../../../../gui/app/modules/errors')
/**
* @summary ManifestBind directive

View File

@ -21,11 +21,11 @@ const path = require('path')
const _ = require('lodash')
const { autoUpdater } = require('electron-updater')
const Bluebird = require('bluebird')
const EXIT_CODES = require('../shared/exit-codes')
const EXIT_CODES = require('../gui/app/modules/exit-codes')
const buildWindowMenu = require('./menu')
const settings = require('./app/models/settings')
const analytics = require('./app/modules/analytics')
const { getConfig } = require('../shared/utils')
const { getConfig } = require('../gui/app/modules/utils')
/* eslint-disable lodash/prefer-lodash-method */
const config = settings.getDefaults()

View File

@ -27,7 +27,7 @@
// an older equivalent of `ELECTRON_RUN_AS_NODE` that still gets set when
// using `child_process.fork()`.
if (process.env.ELECTRON_RUN_AS_NODE || process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE) {
require('./gui/modules/child-writer')
require('./gui/app/modules/child-writer')
} else {
require('../generated/etcher')
}

View File

@ -14,7 +14,7 @@ const chalk = require('chalk')
const path = require('path')
const _ = require('lodash')
const angularValidate = require('html-angular-validate')
const EXIT_CODES = require('../lib/shared/exit-codes')
const EXIT_CODES = require('../lib/gui/app/modules/exit-codes')
const PROJECT_ROOT = path.join(__dirname, '..')
const FILENAME = path.relative(PROJECT_ROOT, __filename)

View File

@ -20,7 +20,7 @@ const _ = require('lodash')
const m = require('mochainon')
const angular = require('angular')
require('angular-mocks')
const utils = require('../../../lib/shared/utils')
const utils = require('../../../lib/gui/app/modules/utils')
describe('Browser: DriveSelector', function () {
beforeEach(angular.mock.module(

View File

@ -20,7 +20,7 @@ const m = require('mochainon')
const path = require('path')
const availableDrives = require('../../../lib/gui/app/models/available-drives')
const selectionState = require('../../../lib/gui/app/models/selection-state')
const constraints = require('../../../lib/shared/drive-constraints')
const constraints = require('../../../lib/gui/app/modules/drive-constraints')
describe('Model: availableDrives', function () {
describe('availableDrives', function () {

View File

@ -18,7 +18,7 @@
const m = require('mochainon')
const ipc = require('node-ipc')
require('../../../lib/gui/modules/child-writer')
require('../../../lib/gui/app/modules/child-writer')
describe('Browser: childWriter', function () {
it('should have the ipc config set to silent', function () {

View File

@ -20,7 +20,7 @@ const m = require('mochainon')
const _ = require('lodash')
const fs = require('fs')
const path = require('path')
const supportedFormats = require('../../../lib/shared/supported-formats')
const supportedFormats = require('../../../lib/gui/app/modules/supported-formats')
const angular = require('angular')
const flashState = require('../../../lib/gui/app/models/flash-state')
const availableDrives = require('../../../lib/gui/app/models/available-drives')

View File

@ -19,7 +19,7 @@
const m = require('mochainon')
const angular = require('angular')
require('angular-mocks')
const units = require('../../../lib/shared/units')
const units = require('../../../lib/gui/app/modules/units')
describe('Browser: ByteSize', function () {
beforeEach(angular.mock.module(
@ -33,7 +33,7 @@ describe('Browser: ByteSize', function () {
closestUnitFilter = _closestUnitFilter_
}))
it('should expose lib/shared/units.js bytesToGigabytes()', function () {
it('should expose lib/gui/app/modules/units.js bytesToGigabytes()', function () {
m.chai.expect(closestUnitFilter).to.equal(units.bytesToClosestUnit)
})
})

View File

@ -19,8 +19,8 @@
const m = require('mochainon')
const _ = require('lodash')
const path = require('path')
const constraints = require('../../lib/shared/drive-constraints')
const messages = require('../../lib/shared/messages')
const constraints = require('../../lib/gui/app/modules/drive-constraints')
const messages = require('../../lib/gui/app/modules/messages')
describe('Shared: DriveConstraints', function () {
describe('.isDriveLocked()', function () {

View File

@ -18,7 +18,7 @@
const m = require('mochainon')
const _ = require('lodash')
const errors = require('../../lib/shared/errors')
const errors = require('../../lib/gui/app/modules/errors')
describe('Shared: Errors', function () {
describe('.HUMAN_FRIENDLY', function () {

View File

@ -18,7 +18,7 @@
const m = require('mochainon')
const _ = require('lodash')
const fileExtensions = require('../../lib/shared/file-extensions')
const fileExtensions = require('../../lib/gui/app/modules/file-extensions')
describe('Shared: fileExtensions', function () {
describe('.getFileExtensions()', function () {

View File

@ -18,7 +18,7 @@
const m = require('mochainon')
const _ = require('lodash')
const messages = require('../../lib/shared/messages')
const messages = require('../../lib/gui/app/modules/messages')
describe('Shared: Messages', function () {
beforeEach(function () {

View File

@ -20,7 +20,7 @@
const m = require('mochainon')
const os = require('os')
const permissions = require('../../lib/shared/permissions')
const permissions = require('../../lib/gui/app/modules/permissions')
describe('Shared: permissions', function () {
describe('.createLaunchScript()', function () {

View File

@ -18,7 +18,7 @@
const m = require('mochainon')
const _ = require('lodash')
const supportedFormats = require('../../lib/shared/supported-formats')
const supportedFormats = require('../../lib/gui/app/modules/supported-formats')
describe('Shared: SupportedFormats', function () {
describe('.getCompressedExtensions()', function () {

View File

@ -17,7 +17,7 @@
'use strict'
const m = require('mochainon')
const units = require('../../lib/shared/units')
const units = require('../../lib/gui/app/modules/units')
describe('Shared: Units', function () {
describe('.bytesToClosestUnit()', function () {

View File

@ -18,7 +18,7 @@
const _ = require('lodash')
const m = require('mochainon')
const utils = require('../../lib/shared/utils')
const utils = require('../../lib/gui/app/modules/utils')
describe('Shared: Utils', function () {
describe('.isValidPercentage()', function () {

View File

@ -19,7 +19,7 @@
const Bluebird = require('bluebird')
const spectron = require('spectron')
const m = require('mochainon')
const EXIT_CODES = require('../../lib/shared/exit-codes')
const EXIT_CODES = require('../../lib/gui/app/modules/exit-codes')
const entrypoint = process.env.ETCHER_SPECTRON_ENTRYPOINT
if (!entrypoint) {

View File

@ -27,7 +27,6 @@ const commonConfig = {
// Minification breaks angular.
minimize: false
},
target: 'electron-main',
module: {
rules: [
{
@ -69,89 +68,75 @@ const commonConfig = {
]
}
const guiConfig = _.assign({
node: {
__dirname: true,
__filename: true
},
externals: [
nodeExternals(),
(context, request, callback) => {
// eslint-disable-next-line lodash/prefer-lodash-method
const absoluteContext = path.resolve(context)
const absoluteNodeModules = path.resolve('node_modules')
const guiConfig = _.assign(
{},
commonConfig,
{
node: {
__dirname: true,
__filename: true
},
target: 'electron-renderer',
externals: [
nodeExternals(),
(context, request, callback) => {
// eslint-disable-next-line lodash/prefer-lodash-method
const absoluteContext = path.resolve(context)
const absoluteNodeModules = path.resolve('node_modules')
// We shouldn't rewrite any node_modules import paths
// eslint-disable-next-line lodash/prefer-lodash-method
if (!path.relative(absoluteNodeModules, absoluteContext).startsWith('..')) {
return callback()
}
// We shouldn't rewrite any node_modules import paths
// eslint-disable-next-line lodash/prefer-lodash-method
if (!path.relative(absoluteNodeModules, absoluteContext).startsWith('..')) {
return callback()
}
// We want to keep the SDK code outside the GUI bundle.
// This piece of code allows us to run the GUI directly
// on the tree (for testing purposes) or inside a generated
// bundle (for production purposes), by translating
// relative require paths within the bundle.
if (/\/(sdk|shared)/i.test(request) || /package\.json$/.test(request)) {
const output = path.join(__dirname, 'generated')
const dirname = path.join(context, request)
const relative = path.relative(output, dirname)
return callback(null, `commonjs ${path.join('..', '..', relative)}`)
}
return callback()
],
entry: {
gui: path.join(__dirname, 'lib', 'gui', 'app', 'app.js')
},
output: {
path: path.join(__dirname, 'generated'),
filename: '[name].js'
}
],
entry: {
gui: path.join(__dirname, 'lib', 'gui', 'app', 'app.js')
},
output: {
path: path.join(__dirname, 'generated'),
filename: '[name].js'
}
}, commonConfig)
)
const etcherConfig = _.assign({
node: {
__dirname: false,
__filename: true
},
externals: [
nodeExternals(),
(context, request, callback) => {
// eslint-disable-next-line lodash/prefer-lodash-method
const absoluteContext = path.resolve(context)
const absoluteNodeModules = path.resolve('node_modules')
const etcherConfig = _.assign(
{},
commonConfig,
{
node: {
__dirname: false,
__filename: true
},
target: 'electron-main',
externals: [
nodeExternals(),
(context, request, callback) => {
// eslint-disable-next-line lodash/prefer-lodash-method
const absoluteContext = path.resolve(context)
const absoluteNodeModules = path.resolve('node_modules')
// We shouldn't rewrite any node_modules import paths
// eslint-disable-next-line lodash/prefer-lodash-method
if (!path.relative(absoluteNodeModules, absoluteContext).startsWith('..')) {
return callback()
}
// We shouldn't rewrite any node_modules import paths
// eslint-disable-next-line lodash/prefer-lodash-method
if (!path.relative(absoluteNodeModules, absoluteContext).startsWith('..')) {
return callback()
}
// We want to keep the SDK code outside the GUI bundle.
// This piece of code allows us to run the GUI directly
// on the tree (for testing purposes) or inside a generated
// bundle (for production purposes), by translating
// relative require paths within the bundle.
if (/\/shared/i.test(request) || /package\.json$/.test(request)) {
const output = path.join(__dirname, 'generated')
const dirname = path.join(context, request)
const relative = path.relative(output, dirname)
return callback(null, `commonjs ${path.join('..', 'lib', relative)}`)
}
return callback()
],
entry: {
etcher: path.join(__dirname, 'lib', 'gui', 'etcher.js')
},
output: {
path: path.join(__dirname, 'generated'),
filename: '[name].js'
}
],
entry: {
etcher: path.join(__dirname, 'lib', 'gui', 'etcher.js')
},
output: {
path: path.join(__dirname, 'generated'),
filename: '[name].js'
}
}, commonConfig)
)
module.exports = [
guiConfig,