From 319f9bb1c45e77920ea5f96865f21bf3ce6513af Mon Sep 17 00:00:00 2001 From: amaanbs Date: Tue, 11 Jul 2023 13:10:21 +0530 Subject: [PATCH 1/2] pack and upload local cli as dependency --- bin/helpers/packageInstaller.js | 9 ++++++++- bin/testObservability/helper/helper.js | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bin/helpers/packageInstaller.js b/bin/helpers/packageInstaller.js index 35850237..92d1bf5c 100644 --- a/bin/helpers/packageInstaller.js +++ b/bin/helpers/packageInstaller.js @@ -8,7 +8,7 @@ utils = require('./utils'), { get_version } = require('./usageReporting'), process = require('process'), - { spawn } = require('child_process'), + { spawn, execSync } = require('child_process'), util = require('util'); let nodeProcess; @@ -80,6 +80,13 @@ const packageInstall = (packageDir) => { const npm_major_version = utils.getMajorVersion(npm_version); logger.debug(`Fetched npm version: ${npm_version} and its major version: ${npm_major_version}`); + try { + logger.info(`Running npm pack command : ${path.resolve(__dirname, '..', '..', '..', 'browserstack-cypress-cli')}`); + execSync(`${/^win/.test(process.platform) ? 'npm.cmd' : 'npm'} pack`, {cwd: path.resolve(__dirname, '..', '..', '..', 'browserstack-cypress-cli')}, function(err, stdout, stderr) {}); + } catch(e) { + logger.info(`Error running npm pack command`); + } + // add --legacy-peer-deps flag while installing dependencies for npm v7+ // For more info please read "Peer Dependencies" section here -> https://github.blog/2021-02-02-npm-7-is-now-generally-available/ if (parseInt(npm_major_version) >= 7) { diff --git a/bin/testObservability/helper/helper.js b/bin/testObservability/helper/helper.js index 021c6af9..1786359e 100644 --- a/bin/testObservability/helper/helper.js +++ b/bin/testObservability/helper/helper.js @@ -445,7 +445,7 @@ const setBrowserstackCypressCliDependency = (bsConfig) => { typeof runSettings.npm_dependencies === 'object') { if (!("browserstack-cypress-cli" in runSettings.npm_dependencies)) { logger.warn("Missing browserstack-cypress-cli not found in npm_dependencies"); - runSettings.npm_dependencies['browserstack-cypress-cli'] = exports.getAgentVersion() || "latest"; + runSettings.npm_dependencies['browserstack-cypress-cli'] = path.resolve(__dirname, '..', '..', '..', '..', 'browserstack-cypress-cli', `browserstack-cypress-cli-${exports.getAgentVersion()}.tgz`); logger.warn(`Adding browserstack-cypress-cli version ${runSettings.npm_dependencies['browserstack-cypress-cli']} in npm_dependencies`); } } From 35d17ebbc48dcceebbe81863652586f3a3e1dc57 Mon Sep 17 00:00:00 2001 From: amaanbs Date: Mon, 22 Jul 2024 17:33:02 +0530 Subject: [PATCH 2/2] changes post refactoring --- bin/helpers/helper.js | 3 ++- bin/testObservability/helper/helper.js | 12 ------------ 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/bin/helpers/helper.js b/bin/helpers/helper.js index 8a985829..e0d04269 100644 --- a/bin/helpers/helper.js +++ b/bin/helpers/helper.js @@ -315,10 +315,11 @@ exports.getBuildDetails = (bsConfig, isO11y = false) => { exports.setBrowserstackCypressCliDependency = (bsConfig) => { const runSettings = bsConfig.run_settings; if (runSettings.npm_dependencies !== undefined && + Object.keys(runSettings.npm_dependencies).length !== 0 && typeof runSettings.npm_dependencies === 'object') { if (!("browserstack-cypress-cli" in runSettings.npm_dependencies)) { logger.warn("Missing browserstack-cypress-cli not found in npm_dependencies"); - runSettings.npm_dependencies['browserstack-cypress-cli'] = this.getAgentVersion() || "latest"; + runSettings.npm_dependencies['browserstack-cypress-cli'] = path.resolve(__dirname, '..', '..', '..', 'browserstack-cypress-cli', `browserstack-cypress-cli-${exports.getAgentVersion()}.tgz`); logger.warn(`Adding browserstack-cypress-cli version ${runSettings.npm_dependencies['browserstack-cypress-cli']} in npm_dependencies`); } } diff --git a/bin/testObservability/helper/helper.js b/bin/testObservability/helper/helper.js index 7f9abae8..a7537985 100644 --- a/bin/testObservability/helper/helper.js +++ b/bin/testObservability/helper/helper.js @@ -322,18 +322,6 @@ const getBuildDetails = (bsConfig) => { }; } -const setBrowserstackCypressCliDependency = (bsConfig) => { - const runSettings = bsConfig.run_settings; - if (runSettings.npm_dependencies !== undefined && - Object.keys(runSettings.npm_dependencies).length !== 0 && - typeof runSettings.npm_dependencies === 'object') { - if (!("browserstack-cypress-cli" in runSettings.npm_dependencies)) { - logger.warn("Missing browserstack-cypress-cli not found in npm_dependencies"); - runSettings.npm_dependencies['browserstack-cypress-cli'] = path.resolve(__dirname, '..', '..', '..', '..', 'browserstack-cypress-cli', `browserstack-cypress-cli-${exports.getAgentVersion()}.tgz`); - logger.warn(`Adding browserstack-cypress-cli version ${runSettings.npm_dependencies['browserstack-cypress-cli']} in npm_dependencies`); - } - } -} const getCypressConfigFileContent = (bsConfig, cypressConfigPath) => { try { const cypressConfigFile = require(path.resolve(bsConfig ? bsConfig.run_settings.cypress_config_file : cypressConfigPath));