mirror of
https://github.com/balena-io/etcher.git
synced 2025-08-05 17:37:44 +00:00
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:
parent
0a0be3a13d
commit
35ad0340b9
@ -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
|
||||
|
@ -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')
|
||||
|
@ -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,
|
||||
|
@ -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}>
|
||||
|
@ -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 */
|
||||
|
@ -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')
|
||||
|
||||
|
@ -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')
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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')
|
||||
|
||||
|
@ -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')
|
||||
|
||||
/**
|
||||
|
@ -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' ])
|
||||
|
@ -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
|
@ -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')
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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')
|
||||
|
||||
/**
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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) {
|
||||
/**
|
||||
|
@ -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) {
|
||||
/**
|
||||
|
@ -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')
|
||||
|
||||
|
@ -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')
|
||||
|
@ -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 (
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
'use strict'
|
||||
|
||||
const units = require('../../../../shared/units')
|
||||
const units = require('../../../../gui/app/modules/units')
|
||||
|
||||
module.exports = () => {
|
||||
/**
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
'use strict'
|
||||
|
||||
const errors = require('../../../../../shared/errors')
|
||||
const errors = require('../../../../../gui/app/modules/errors')
|
||||
|
||||
/**
|
||||
* @summary ManifestBind directive
|
||||
|
@ -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()
|
||||
|
@ -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')
|
||||
}
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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(
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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')
|
||||
|
@ -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)
|
||||
})
|
||||
})
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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 () {
|
||||
|
@ -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) {
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user