Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | 1x 1x 1x 1x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 3x 14x 14x 14x 3x 3x 1x 1x 14x 3x 2x 2x 1x 1x 3x 3x 3x 14x 14x 14x 28x 4x 2x 2x 24x 14x 14x 14x 14x 14x 14x 14x 14x 14x | const fs = require('fs') const semver = require('semver') const { warn } = require('@vue/cli-shared-utils') module.exports = (api, options = {}) => { Iif (!options.electronBuilder) options.electronBuilder = {} const electronVersion = options.electronBuilder.electronVersion let pkg = fs.readFileSync(api.resolve('./package.json'), 'utf8') pkg = JSON.parse(pkg) const usesTS = api.hasPlugin('typescript') const hasBackground = fs.existsSync(api.resolve('./src/background.ts')) || fs.existsSync(api.resolve('./src/background.js')) const devtoolsExtensionsBroken = semver.gte( (electronVersion || pkg.devDependencies.electron).replace('^', ''), '6.0.0' ) Eif (devtoolsExtensionsBroken) { warn('Devtools extensions are broken in Electron 6.0.0 and greater') warn( 'Vue Devtools have been disabled, see the comments in your background file for more info' ) } if (!hasBackground) { // If user does not have a background file it should be created api.render('./templates/base', { // Scheme registration changed in Electron 5.0.0 newSchemeRegistrationFunction: semver.gte( (electronVersion || pkg.devDependencies.electron).replace('^', ''), '5.0.0' ), devtoolsExtensionsBroken }) } // Add tests let testFramework Iif (options.electronBuilder.addTests) { if (api.hasPlugin('unit-mocha')) testFramework = 'mocha' if (api.hasPlugin('unit-jest')) testFramework = 'jest' if (testFramework) api.render(`./templates/tests-${testFramework}`) } api.onCreateComplete(() => { // Update .gitignore if it exists if (fs.existsSync(api.resolve('./.gitignore'))) { let gitignore = fs.readFileSync(api.resolve('./.gitignore'), 'utf8') if (!gitignore.match(/(#Electron-builder output|\/dist_electron)/)) { // Add /dist_electron to gitignore if it doesn't exist already gitignore = gitignore + '\n#Electron-builder output\n/dist_electron' fs.writeFileSync(api.resolve('./.gitignore'), gitignore) } } if (usesTS) { let background if (fs.existsSync(api.resolve('./src/background.js'))) { background = fs.readFileSync(api.resolve('./src/background.js'), 'utf8') fs.unlinkSync(api.resolve('./src/background.js')) } else Eif (fs.existsSync(api.resolve('./src/background.ts'))) { background = fs.readFileSync(api.resolve('./src/background.ts'), 'utf8') } else { // Exit if background file cannot be found return } background = background.replace( // Add types if they don't exist /process\.env\.WEBPACK_DEV_SERVER_URL\s*?\)$/m, 'process.env.WEBPACK_DEV_SERVER_URL as string)' ) background = background.replace( /let win\s*?$/m, 'let win: BrowserWindow | null' ) fs.writeFileSync(api.resolve('./src/background.ts'), background) } Iif (api.hasPlugin('router')) { console.log('\n') require('@vue/cli-shared-utils/lib/logger').warn( 'It is detected that you are using Vue Router. If you are using history mode, you must push the default route when the root component is loaded. Learn more at https://goo.gl/GM1xZG .' ) } }) // Add electron-builder install-app-deps to postinstall and postuninstall const scripts = { 'electron:build': 'vue-cli-service electron:build', 'electron:serve': 'vue-cli-service electron:serve' } const addScript = (name, command) => { // Add on to existing script if it exists if (pkg.scripts && pkg.scripts[name]) { // Don't re-add script if (!pkg.scripts[name].match(command)) { // add command to existing script scripts[name] = pkg.scripts[name] + ` && ${command}` } else { // command already exists, don't change it scripts[name] = pkg.scripts[name] } } else { // Create new postinstall script scripts[name] = command } } addScript('postinstall', 'electron-builder install-app-deps') addScript('postuninstall', 'electron-builder install-app-deps') const devDependencies = {} Eif (electronVersion) { // Use provided electron version devDependencies.electron = electronVersion } const dependencies = {} Iif (testFramework) { // Spectron version should be electron version + 2 devDependencies.spectron = '^' + (parseInt( (electronVersion || pkg.devDependencies.electron).match(/^\^(\d*)\./)[1] ) + 2) + '.0.0' } Iif (testFramework === 'mocha') { dependencies['chai-as-promised'] = '^7.1.1' } api.extendPackage({ scripts, dependencies, devDependencies, main: 'background.js' }) } |