From 85d120fe6453e9e1248841076151c28796402494 Mon Sep 17 00:00:00 2001 From: bbimber Date: Sun, 13 Jul 2025 15:34:01 -0700 Subject: [PATCH] Update Jbrowse CLI version --- jbrowse/package.json | 2 +- jbrowse/tools/buildStandaloneCli.js | 68 ----------------------------- 2 files changed, 1 insertion(+), 69 deletions(-) delete mode 100644 jbrowse/tools/buildStandaloneCli.js diff --git a/jbrowse/package.json b/jbrowse/package.json index 3807eef04..cfe8c7aae 100644 --- a/jbrowse/package.json +++ b/jbrowse/package.json @@ -10,7 +10,7 @@ "build-dev": "npm run build-no-pkg", "build-prod": "npm run clean && cross-env NODE_ENV=production PROD_SOURCE_MAP=source-map webpack --config ./config/prod.config.js --progress --profile", "clean": "rimraf resources/web/gen && rimraf resources/web/jbrowse/gen && rimraf resources/views/gen", - "prepareCli": "rimraf ./buildCli && rimraf ./resources/external/jb-cli && npm install @jbrowse/cli@1.7.4 --prefix ./buildCli", + "prepareCli": "rimraf ./buildCli && rimraf ./resources/external/jb-cli && npm install @jbrowse/cli@3.2.0 --prefix ./buildCli", "jb-pkg": "npm run prepareCli && npx pkg --outdir=./resources/external/jb-cli ./buildCli/node_modules/@jbrowse/cli && rimraf ./buildCli" }, "dependencies": { diff --git a/jbrowse/tools/buildStandaloneCli.js b/jbrowse/tools/buildStandaloneCli.js deleted file mode 100644 index fbfd342e9..000000000 --- a/jbrowse/tools/buildStandaloneCli.js +++ /dev/null @@ -1,68 +0,0 @@ -// This script is a workaround until pkg supports ES modules: https://github.com/vercel/pkg/issues/1291 -// See also: https://nodejs.org/api/single-executable-applications.html -// This should be replaced once a better solution is available -const fs = require('fs'); -const { exec, execSync } = require('child_process'); - -function convertEs6ToCommonJS(packageName) { - const sourceFile = './buildCli/node_modules/@isaacs/cliui/node_modules/' + packageName + '/index.js'; - const origFile = sourceFile + '.orig'; - if (fs.existsSync(origFile)) { - console.log('File exists, skipping: ' + origFile); - } else { - console.log('Updating: ' + sourceFile); - if (!fs.existsSync(sourceFile)) { - throw new Error('Missing file: ' + sourceFile); - } - - if (fs.existsSync('./buildCli/' + packageName)) { - console.log('Deleting existing index.js file') - fs.unlinkSync('./buildCli/' + packageName) - } - - try { - execSync('npx esbuild --outdir=./buildCli/' + packageName + ' --target=es6 --format=cjs ' + sourceFile) - } catch (err) { - throw new Error('ERROR: ' + err.message); - } - - try { - fs.renameSync(sourceFile, origFile) - } catch (err){ - throw new Error('ERROR: ' + err); - } - - try { - fs.renameSync('./buildCli/' + packageName + '/index.js', sourceFile) - } catch (err){ - throw new Error('ERROR: ' + err); - } - } -} - -convertEs6ToCommonJS('ansi-regex') -convertEs6ToCommonJS('ansi-styles') -convertEs6ToCommonJS('strip-ansi') -convertEs6ToCommonJS('wrap-ansi') -convertEs6ToCommonJS('string-width') - -const child = exec('npx pkg --outdir=./resources/external/jb-cli ./buildCli/node_modules/@jbrowse/cli', (err, stdout, stderr) => { - if (err) { - throw new Error('Unable to run pkg: ' + err) - } -}); - -child.stdout.setEncoding('utf8'); -child.stdout.on('data', function(data) { - console.log(data); -}); - -child.stderr.setEncoding('utf8'); -child.stderr.on('data', function(data) { - console.log(data); -}); - -child.on('close', function(code) { - console.log('closing pkg: ' + code); -}); -