mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-05 14:09:46 -06:00
* electron@7.x * node12.8.1-chrome78-ff70 * Revert "node12.8.1-chrome78-ff70" for now This reverts commitdb2d521994. * update sendCommand to log on all sendcommands * promisification in 6.x * Revert "Revert "node12.8.1-chrome78-ff70" for now" This reverts commit57fe764098. * fix sendcommand * fix cdp in electron * fix desktop-gui test * skip tests that will be fixed by #4973 * bump MAX_ALLOWED_FILE_SIZE :/ * update electron browser spec * make new dialog code null-proof * add failing e2e test for issue 5475 * bump electron packager * add e2e snapshot * update deprecated electron getters/setters https://github.com/electron/electron/blob/7-1-x/docs/api/modernization/property-updates.md * build and test on Mac * use electron-builder 20.41.0 that adds an option to use hardened Mac OS, which is necessary for code notarization later. See https://github.com/electron-userland/electron-builder/releases/tag/v20.41.0 and https://github.com/electron-userland/electron-builder/pull/3858 * electron-builder and pass hardenedRuntime: true * uncomment build * upload built binary on mac * back to 20.41.0, trying after sign hook without success * use current electron-builder alias instead of build * retry smoke test on first failure * testing * trying to notarize signed app (that does not have node_modules yet) * env variable names * copy node_modules ourselves * build and bundle binary on mac on circle, inject new context * enable build steps before electron build * increase mac build timeout * update build folder on mac * uncomment actual electron build command * set linux target to zip * set zip as target for all platforms * updated steps * put notarization hook back * tweaks for icons * remove dist electron before code sign * icons per platform * make node_modules copy path platform-specific * fix linux build unpacked folder * build mac * fix lint * test new mac binary against kitchensink * working on Linux build * try building entire thing on Linux * removing correct electron dist folder * increase zip size limit for now * add folder rename on Linux from linux-unpacked to Cypress * print file sizes before zipping * move linux-unpacked to build dir function * try deleting second electron file, but code signing probably would not work * test windows build [build binary] * ignore tsc errors * windows build path * windows [build binary] * update windows build folder * increase binary build timeout on Mac * no need to pass our dist folder * adding explicit list of additional binaries to code sign on mac * yarn lock * uncomment necessary build steps * electron dir for Linux * yarn lock again * back to execa v3 * use execa v4 in packages launcher * yarn lock again and again * updated tests that use execa * print build folder * add executable name on Linux * get rid of execa.shell in build scripts * remove old and commented out code * need to test building binary on Windows * throw error from after sign hook if fails * use execa to zip * yarn lock * fix after merge variable * update test * add nohoist ffmpeg installer * patch * yarn types pass * yarn lock has binary Co-authored-by: Zach Bloomquist <github@chary.us> Co-authored-by: Brian Mann <brian.mann86@gmail.com>
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
/* eslint-disable no-console */
|
|
const fs = require('fs-extra')
|
|
const { join } = require('path')
|
|
const globby = require('globby')
|
|
const os = require('os')
|
|
|
|
module.exports = async function (params) {
|
|
console.log('****************************')
|
|
console.log('After pack hook')
|
|
console.log(params.appOutDir)
|
|
console.log(params.outDir)
|
|
console.log(params.electronPlatformName)
|
|
console.log('****************************')
|
|
|
|
const packages = await globby(['packages/*/node_modules'], {
|
|
cwd: params.packager.info._appDir,
|
|
onlyFiles: false,
|
|
})
|
|
|
|
const buildSubfoldersPerPlatform = {
|
|
darwin: join('Cypress.app', 'Contents', 'Resources', 'app'),
|
|
linux: join('resources', 'app'),
|
|
win32: join('resources', 'app'), // TODO check this path
|
|
}
|
|
const buildSubfolder = buildSubfoldersPerPlatform[os.platform()]
|
|
const outputFolder = join(params.appOutDir, buildSubfolder)
|
|
|
|
console.log('copying node_modules to', outputFolder)
|
|
|
|
packages.forEach(async (packageNodeModules) => {
|
|
console.log('copying', packageNodeModules)
|
|
|
|
const sourceFolder = join(params.packager.info._appDir, packageNodeModules)
|
|
const destinationFolder = join(outputFolder, packageNodeModules)
|
|
|
|
await fs.copy(sourceFolder, destinationFolder)
|
|
})
|
|
|
|
console.log('all node_modules subfolders copied to', outputFolder)
|
|
}
|