Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@jbrowse/cli

Package Overview
Dependencies
Maintainers
6
Versions
101
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jbrowse/cli - npm Package Compare versions

Comparing version 1.4.4 to 1.5.0

9

lib/base.d.ts

@@ -7,2 +7,3 @@ /**

uri: string;
locationType: 'UriLocation';
}

@@ -97,5 +98,7 @@ export interface Gff3TabixAdapter {

prerelease: boolean;
assets?: [{
browser_download_url: string;
}];
assets?: [
{
browser_download_url: string;
}
];
}

@@ -102,0 +105,0 @@ export default abstract class JBrowseCommand extends Command {

@@ -7,7 +7,7 @@ "use strict";

const tslib_1 = require("tslib");
const command_1 = tslib_1.__importDefault(require("@oclif/command"));
const command_1 = (0, tslib_1.__importDefault)(require("@oclif/command"));
const fs_1 = require("fs");
const path_1 = tslib_1.__importDefault(require("path"));
const json_parse_better_errors_1 = tslib_1.__importDefault(require("json-parse-better-errors"));
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const json_parse_better_errors_1 = (0, tslib_1.__importDefault)(require("json-parse-better-errors"));
const node_fetch_1 = (0, tslib_1.__importDefault)(require("node-fetch"));
class JBrowseCommand extends command_1.default {

@@ -24,3 +24,3 @@ async init() { }

catch (error) {
this.error(error instanceof Error ? error : error.message, {
this.error(error instanceof Error ? error : `${error}`, {
suggestions: [

@@ -35,6 +35,6 @@ `Make sure the file "${location}" exists or use --out to point to a directory with a config.json`,

try {
result = json_parse_better_errors_1.default(contents);
result = (0, json_parse_better_errors_1.default)(contents);
}
catch (error) {
this.error(error instanceof Error ? error : error.message, {
this.error(error instanceof Error ? error : `${error}`, {
suggestions: [`Make sure "${location}" is a valid JSON file`],

@@ -61,3 +61,3 @@ exit: 50,

if (check) {
const response = await node_fetch_1.default(locationUrl, { method: 'HEAD' });
const response = await (0, node_fetch_1.default)(locationUrl, { method: 'HEAD' });
if (!response.ok) {

@@ -96,3 +96,3 @@ throw new Error(`${locationUrl} result ${response.statusText}`);

try {
result = json_parse_better_errors_1.default(inlineOrFileName);
result = (0, json_parse_better_errors_1.default)(inlineOrFileName);
}

@@ -110,3 +110,3 @@ catch (error) {

try {
for (var _b = tslib_1.__asyncValues(this.fetchVersions()), _c; _c = await _b.next(), !_c.done;) {
for (var _b = (0, tslib_1.__asyncValues)(this.fetchVersions()), _c; _c = await _b.next(), !_c.done;) {
const iter = _c.value;

@@ -128,3 +128,3 @@ versions = versions.concat(iter);

try {
for (var _b = tslib_1.__asyncValues(this.fetchVersions()), _c; _c = await _b.next(), !_c.done;) {
for (var _b = (0, tslib_1.__asyncValues)(this.fetchVersions()), _c; _c = await _b.next(), !_c.done;) {
const versions = _c.value;

@@ -152,10 +152,10 @@ // if a release was just uploaded, or an erroneous build was made

fetchVersions() {
return tslib_1.__asyncGenerator(this, arguments, function* fetchVersions_1() {
return (0, tslib_1.__asyncGenerator)(this, arguments, function* fetchVersions_1() {
let page = 1;
let result;
do {
const response = yield tslib_1.__await(node_fetch_1.default(`https://api.github.com/repos/GMOD/jbrowse-components/releases?page=${page}`));
const response = yield (0, tslib_1.__await)((0, node_fetch_1.default)(`https://api.github.com/repos/GMOD/jbrowse-components/releases?page=${page}`));
if (response.ok) {
result = (yield tslib_1.__await(response.json()));
yield yield tslib_1.__await(result.filter(release => release.tag_name.startsWith('v')));
result = (yield (0, tslib_1.__await)(response.json()));
yield yield (0, tslib_1.__await)(result.filter(release => release.tag_name.startsWith('v')));
page++;

@@ -170,3 +170,3 @@ }

async getTag(tag) {
const response = await node_fetch_1.default(`https://api.github.com/repos/GMOD/jbrowse-components/releases/tags/${tag}`);
const response = await (0, node_fetch_1.default)(`https://api.github.com/repos/GMOD/jbrowse-components/releases/tags/${tag}`);
if (response.ok) {

@@ -173,0 +173,0 @@ const result = await response.json();

@@ -5,5 +5,5 @@ "use strict";

const command_1 = require("@oclif/command");
const fs_1 = tslib_1.__importDefault(require("fs"));
const path_1 = tslib_1.__importDefault(require("path"));
const base_1 = tslib_1.__importDefault(require("../base"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
const fsPromises = fs_1.default.promises;

@@ -72,4 +72,7 @@ function isValidJSON(string) {

type: 'IndexedFastaAdapter',
fastaLocation: { uri: sequenceLocation },
faiLocation: { uri: indexLocation },
fastaLocation: {
uri: sequenceLocation,
locationType: 'UriLocation',
},
faiLocation: { uri: indexLocation, locationType: 'UriLocation' },
},

@@ -112,5 +115,11 @@ };

type: 'BgzipFastaAdapter',
fastaLocation: { uri: sequenceLocation },
faiLocation: { uri: indexLocation },
gziLocation: { uri: bgzipIndexLocation },
fastaLocation: {
uri: sequenceLocation,
locationType: 'UriLocation',
},
faiLocation: { uri: indexLocation, locationType: 'UriLocation' },
gziLocation: {
uri: bgzipIndexLocation,
locationType: 'UriLocation',
},
},

@@ -138,3 +147,6 @@ };

type: 'TwoBitAdapter',
twoBitLocation: { uri: sequenceLocation },
twoBitLocation: {
uri: sequenceLocation,
locationType: 'UriLocation',
},
},

@@ -162,3 +174,6 @@ };

type: 'ChromSizesAdapter',
chromSizesLocation: { uri: sequenceLocation },
chromSizesLocation: {
uri: sequenceLocation,
locationType: 'UriLocation',
},
},

@@ -236,3 +251,6 @@ };

type: 'RefNameAliasAdapter',
location: { uri: refNameAliasesLocation },
location: {
uri: refNameAliasesLocation,
locationType: 'UriLocation',
},
},

@@ -239,0 +257,0 @@ };

@@ -5,8 +5,7 @@ "use strict";

const command_1 = require("@oclif/command");
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const path_1 = tslib_1.__importDefault(require("path"));
const json_parse_better_errors_1 = tslib_1.__importDefault(require("json-parse-better-errors"));
const base_1 = tslib_1.__importDefault(require("../base"));
const fsPromises = fs_1.default.promises;
const node_fetch_1 = (0, tslib_1.__importDefault)(require("node-fetch"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const json_parse_better_errors_1 = (0, tslib_1.__importDefault)(require("json-parse-better-errors"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
class AddConnection extends base_1.default {

@@ -16,3 +15,3 @@ async run() {

const output = runFlags.target || runFlags.out || '.';
const isDir = (await fsPromises.lstat(output)).isDirectory();
const isDir = fs_1.default.lstatSync(output).isDirectory();
this.target = isDir ? `${output}/config.json` : output;

@@ -61,3 +60,3 @@ const { connectionUrlOrPath: argsPath } = runArgs;

try {
configObj = json_parse_better_errors_1.default(config);
configObj = (0, json_parse_better_errors_1.default)(config);
}

@@ -72,7 +71,13 @@ catch (error) {

case 'UCSCTrackHubConnection': {
connectionConfig.hubTxtLocation = { uri: url };
connectionConfig.hubTxtLocation = {
uri: url,
locationType: 'UriLocation',
};
break;
}
case 'JBrowse1Connection': {
connectionConfig.dataDirLocation = { uri: url };
connectionConfig.dataDirLocation = {
uri: url,
locationType: 'UriLocation',
};
break;

@@ -120,3 +125,3 @@ }

if (check) {
response = await node_fetch_1.default(locationUrl, { method: 'HEAD' });
response = await (0, node_fetch_1.default)(locationUrl, { method: 'HEAD' });
}

@@ -166,3 +171,3 @@ if (!response || response.ok) {

'$ jbrowse add-connection http://mysite.com/path/to/custom_hub_name.txt --type UCSCTrackHubConnection --assemblyName hg19',
`$ jbrowse add-connection http://mysite.com/path/to/custom --type custom --config '{"uri":{"url":"https://mysite.com/path/to/custom"}}' --assemblyName hg19`,
`$ jbrowse add-connection http://mysite.com/path/to/custom --type custom --config '{"uri":{"url":"https://mysite.com/path/to/custom"}, "locationType": "UriLocation"}' --assemblyName hg19`,
'$ jbrowse add-connection https://mysite.com/path/to/hub.txt --connectionId newId --name newName --target /path/to/jb2/installation/config.json',

@@ -188,3 +193,3 @@ ];

char: 'c',
description: `Any extra config settings to add to connection in JSON object format, such as '{"uri":"url":"https://sample.com"}}'`,
description: `Any extra config settings to add to connection in JSON object format, such as '{"uri":"url":"https://sample.com"}, "locationType": "UriLocation"}'`,
}),

@@ -191,0 +196,0 @@ connectionId: command_1.flags.string({

@@ -6,3 +6,3 @@ "use strict";

const fs_1 = require("fs");
const base_1 = tslib_1.__importDefault(require("../base"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
class AddTrackJson extends base_1.default {

@@ -9,0 +9,0 @@ async run() {

@@ -5,5 +5,7 @@ import { flags } from '@oclif/command';

uri: string;
locationType: 'UriLocation';
}
interface LocalPathLocation {
localPath: string;
locationType: 'LocalPathLocation';
}

@@ -10,0 +12,0 @@ export default class AddTrack extends JBrowseCommand {

@@ -5,6 +5,6 @@ "use strict";

const command_1 = require("@oclif/command");
const fs_1 = tslib_1.__importDefault(require("fs"));
const path_1 = tslib_1.__importDefault(require("path"));
const json_parse_better_errors_1 = tslib_1.__importDefault(require("json-parse-better-errors"));
const base_1 = tslib_1.__importDefault(require("../base"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const json_parse_better_errors_1 = (0, tslib_1.__importDefault)(require("json-parse-better-errors"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
const fsPromises = fs_1.default.promises;

@@ -80,3 +80,3 @@ class AddTrack extends base_1.default {

this.debug(`Assembly name(s) is :${assemblyNames}`);
const configObj = config ? json_parse_better_errors_1.default(config) : {};
const configObj = config ? (0, json_parse_better_errors_1.default)(config) : {};
const trackConfig = Object.assign({ type: trackType, trackId,

@@ -131,3 +131,3 @@ name, category: category ? category.split(',').map(c => c.trim()) : undefined, assemblyNames: assemblyNames.split(',').map(a => a.trim()), adapter }, configObj);

catch (e) {
this.error(e);
this.error(e instanceof Error ? e : `${e}`);
}

@@ -147,3 +147,3 @@ return fsPromises.copyFile(filePath, dest, fs_1.default.constants.COPYFILE_EXCL);

catch (e) {
this.error(e);
this.error(e instanceof Error ? e : `${e}`);
}

@@ -163,3 +163,3 @@ return fsPromises.symlink(filePath, dest);

catch (e) {
this.error(e);
this.error(e instanceof Error ? e : `${e}`);
}

@@ -283,6 +283,6 @@ return fsPromises.rename(filePath, dest);

if (protocol === 'uri') {
return { uri: location };
return { uri: location, locationType: 'UriLocation' };
}
if (protocol === 'localPath') {
return { localPath: location };
return { localPath: location, locationType: 'LocalPathLocation' };
}

@@ -289,0 +289,0 @@ throw new Error(`invalid protocol ${protocol}`);

import { flags } from '@oclif/command';
import JBrowseCommand from '../base';
export default class AdminServer extends JBrowseCommand {
private target;
static description: string;

@@ -11,3 +10,2 @@ static examples: string[];

out: flags.IOptionFlag<string | undefined>;
skipCheck: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;

@@ -14,0 +12,0 @@ };

@@ -5,11 +5,11 @@ "use strict";

const command_1 = require("@oclif/command");
const fs_1 = tslib_1.__importDefault(require("fs"));
const crypto_1 = tslib_1.__importDefault(require("crypto"));
const boxen_1 = tslib_1.__importDefault(require("boxen"));
const chalk_1 = tslib_1.__importDefault(require("chalk"));
const os_1 = tslib_1.__importDefault(require("os"));
const express_1 = tslib_1.__importDefault(require("express"));
const cors_1 = tslib_1.__importDefault(require("cors"));
const base_1 = tslib_1.__importDefault(require("../base"));
const fsPromises = fs_1.default.promises;
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const crypto_1 = (0, tslib_1.__importDefault)(require("crypto"));
const boxen_1 = (0, tslib_1.__importDefault)(require("boxen"));
const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
const os_1 = (0, tslib_1.__importDefault)(require("os"));
const express_1 = (0, tslib_1.__importDefault)(require("express"));
const cors_1 = (0, tslib_1.__importDefault)(require("cors"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
function isValidPort(port) {

@@ -25,21 +25,21 @@ return port > 0 && port < 65535;

const { flags: runFlags } = this.parse(AdminServer);
const output = runFlags.target || runFlags.out || '.';
const isDir = (await fsPromises.lstat(output)).isDirectory();
this.target = isDir ? `${output}/config.json` : output;
// check if the config file exists, if none exists write default
const defaultConfig = {
assemblies: [],
configuration: {},
connections: [],
defaultSession: {
name: 'New Session',
},
tracks: [],
};
if (fs_1.default.existsSync(this.target)) {
this.debug(`Found existing config file ${this.target}`);
const { target, out } = runFlags;
const output = target || out || '.';
const isDir = fs_1.default.lstatSync(output).isDirectory();
const outFile = isDir ? `${output}/config.json` : output;
const baseDir = path_1.default.dirname(outFile);
if (fs_1.default.existsSync(outFile)) {
this.debug(`Found existing config file ${outFile}`);
}
else {
this.debug(`Creating config file ${this.target}`);
await this.writeJsonFile('./config.json', defaultConfig);
this.debug(`Creating config file ${outFile}`);
await this.writeJsonFile('./config.json', {
assemblies: [],
configuration: {},
connections: [],
defaultSession: {
name: 'New Session',
},
tracks: [],
});
}

@@ -56,17 +56,24 @@ // start server with admin key in URL query string

}
const app = express_1.default();
const app = (0, express_1.default)();
app.use(express_1.default.static('.'));
app.use(cors_1.default());
app.use((0, cors_1.default)());
// POST route to save config
app.use(express_1.default.json());
app.post('/updateConfig', async (req, res) => {
this.debug('Req body: ', req.body);
if (req.body.adminKey === adminKey) {
if (adminKey === req.body.adminKey) {
this.debug('Admin key matches');
try {
await this.writeJsonFile(this.target, req.body.config);
// use directory traversal prevention
// https://nodejs.org/en/knowledge/file-system/security/introduction/#preventing-directory-traversal
const filename = req.body.configPath
? path_1.default.join(baseDir, req.body.configPath)
: outFile;
if (filename.indexOf(baseDir) !== 0) {
throw new Error(`Cannot perform directory traversal outside of ${baseDir}`);
}
await this.writeJsonFile(filename, req.body.config);
res.send('Config written to disk');
}
catch (_a) {
res.status(500).send('Could not write config file');
catch (e) {
res.status(500).send(`Could not write config file ${e}`);
}

@@ -116,3 +123,3 @@ }

}
this.log(boxen_1.default(message, { padding: 1, borderColor: 'blue', margin: 1 }));
this.log((0, boxen_1.default)(message, { padding: 1, borderColor: 'blue', margin: 1 }));
this.log(`If you are running yarn start you can launch http://localhost:3000?adminKey=${adminKey}&adminServer=http://localhost:${port}/updateConfig`);

@@ -135,5 +142,2 @@ }

}),
skipCheck: command_1.flags.boolean({
description: "Don't check whether or not you are in a JBrowse directory",
}),
help: command_1.flags.help({ char: 'h' }),

@@ -140,0 +144,0 @@ };

@@ -22,3 +22,3 @@ import { flags } from '@oclif/command';

checkPath(userPath: string): Promise<void>;
catch(error: any): Promise<void>;
catch(error: unknown): Promise<void>;
}

@@ -5,6 +5,6 @@ "use strict";

const command_1 = require("@oclif/command");
const fs_1 = tslib_1.__importDefault(require("fs"));
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
const unzipper_1 = tslib_1.__importDefault(require("unzipper"));
const base_1 = tslib_1.__importDefault(require("../base"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const node_fetch_1 = (0, tslib_1.__importDefault)(require("node-fetch"));
const unzipper_1 = (0, tslib_1.__importDefault)(require("unzipper"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
const fsPromises = fs_1.default.promises;

@@ -32,3 +32,3 @@ class Create extends base_1.default {

this.log(`Fetching ${locationUrl}...`);
const response = await node_fetch_1.default(locationUrl);
const response = await (0, node_fetch_1.default)(locationUrl);
if (!response.ok) {

@@ -52,4 +52,4 @@ this.error(`Failed to fetch: ${response.statusText}`, { exit: 100 });

}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async catch(error) {
// @ts-ignore
if (error.parse && error.parse.output.flags.listVersions) {

@@ -56,0 +56,0 @@ const versions = (await this.fetchGithubVersions()).map(version => version.tag_name);

@@ -5,5 +5,5 @@ "use strict";

const command_1 = require("@oclif/command");
const fs_1 = tslib_1.__importDefault(require("fs"));
const json_parse_better_errors_1 = tslib_1.__importDefault(require("json-parse-better-errors"));
const base_1 = tslib_1.__importDefault(require("../base"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const json_parse_better_errors_1 = (0, tslib_1.__importDefault)(require("json-parse-better-errors"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
const fsPromises = fs_1.default.promises;

@@ -90,3 +90,3 @@ class SetDefaultSession extends base_1.default {

try {
const session = json_parse_better_errors_1.default(defaultSessionJson);
const session = (0, json_parse_better_errors_1.default)(defaultSessionJson);
// return top-level "session" if it exists, such as in files created by

@@ -93,0 +93,0 @@ // "File -> Export session"

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const fs_1 = tslib_1.__importDefault(require("fs"));
const path_1 = tslib_1.__importDefault(require("path"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const stream_1 = require("stream");

@@ -12,3 +12,3 @@ const ixixx_1 = require("ixixx");

const vcfAdapter_1 = require("../types/vcfAdapter");
const base_1 = tslib_1.__importDefault(require("../base"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
const common_1 = require("../types/common");

@@ -47,3 +47,4 @@ function readConf(confFilePath) {

const aggregateAdapters = config.aggregateTextSearchAdapters || [];
const asms = (assemblies === null || assemblies === void 0 ? void 0 : assemblies.split(',')) || ((_a = config.assemblies) === null || _a === void 0 ? void 0 : _a.map(a => a.name)) ||
const asms = (assemblies === null || assemblies === void 0 ? void 0 : assemblies.split(',')) ||
((_a = config.assemblies) === null || _a === void 0 ? void 0 : _a.map(a => a.name)) ||
(config.assembly ? [config.assembly.name] : []);

@@ -83,8 +84,11 @@ if (!(asms === null || asms === void 0 ? void 0 : asms.length)) {

uri: `trix/${asm}.ix`,
locationType: 'UriLocation',
},
ixxFilePath: {
uri: `trix/${asm}.ixx`,
locationType: 'UriLocation',
},
metaFilePath: {
uri: `trix/${asm}_meta.json`,
locationType: 'UriLocation',
},

@@ -148,8 +152,11 @@ assemblyNames: [asm],

uri: `trix/${trackId}.ix`,
locationType: 'UriLocation',
},
ixxFilePath: {
uri: `trix/${trackId}.ixx`,
locationType: 'UriLocation',
},
metaFilePath: {
uri: `trix/${trackId}_meta.json`,
locationType: 'UriLocation',
},

@@ -174,4 +181,4 @@ assemblyNames: assemblyNames,

const configs = file
.map(file => common_1.guessAdapterFromFileName(file))
.filter(fileConfig => common_1.supported(fileConfig.adapter.type));
.map(file => (0, common_1.guessAdapterFromFileName)(file))
.filter(fileConfig => (0, common_1.supported)(fileConfig.adapter.type));
await this.indexDriver({

@@ -191,3 +198,3 @@ configs,

const ixIxxStream = await this.runIxIxx(readable, outDir, name);
await common_1.generateMeta({
await (0, common_1.generateMeta)({
configs,

@@ -203,3 +210,3 @@ attributes,

indexFiles(trackConfigs, attributes, outLocation, quiet, typesToExclude) {
return tslib_1.__asyncGenerator(this, arguments, function* indexFiles_1() {
return (0, tslib_1.__asyncGenerator)(this, arguments, function* indexFiles_1() {
for (const config of trackConfigs) {

@@ -210,9 +217,9 @@ const { adapter, textSearching } = config;

if (type === 'Gff3TabixAdapter') {
yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(gff3Adapter_1.indexGff3(config, attrs, outLocation, types, quiet))));
yield (0, tslib_1.__await)(yield* (0, tslib_1.__asyncDelegator)((0, tslib_1.__asyncValues)((0, gff3Adapter_1.indexGff3)(config, attrs, outLocation, types, quiet))));
}
else if (type === 'GtfTabixAdapter') {
yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(gtfAdapter_1.indexGtf(config, attrs, outLocation, types, quiet))));
yield (0, tslib_1.__await)(yield* (0, tslib_1.__asyncDelegator)((0, tslib_1.__asyncValues)((0, gtfAdapter_1.indexGtf)(config, attrs, outLocation, types, quiet))));
}
else if (type === 'VcfTabixAdapter') {
yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(vcfAdapter_1.indexVcf(config, attrs, outLocation, types, quiet))));
yield (0, tslib_1.__await)(yield* (0, tslib_1.__asyncDelegator)((0, tslib_1.__asyncValues)((0, vcfAdapter_1.indexVcf)(config, attrs, outLocation, types, quiet))));
}

@@ -225,3 +232,3 @@ }

const ixxFilename = path_1.default.join(outLocation, 'trix', `${name}.ixx`);
return ixixx_1.ixIxxStream(readStream, ixFilename, ixxFilename);
return (0, ixixx_1.ixIxxStream)(readStream, ixFilename, ixxFilename);
}

@@ -242,3 +249,3 @@ async getTrackConfigs(configPath, trackIds, assemblyName) {

})
.filter(track => common_1.supported(track.adapter.type))
.filter(track => { var _a; return (0, common_1.supported)((_a = track.adapter) === null || _a === void 0 ? void 0 : _a.type); })
.filter(track => assemblyName ? track.assemblyNames.includes(assemblyName) : true);

@@ -245,0 +252,0 @@ }

@@ -5,7 +5,7 @@ "use strict";

const command_1 = require("@oclif/command");
const fs_1 = tslib_1.__importDefault(require("fs"));
const path_1 = tslib_1.__importDefault(require("path"));
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
const unzipper_1 = tslib_1.__importDefault(require("unzipper"));
const base_1 = tslib_1.__importDefault(require("../base"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const node_fetch_1 = (0, tslib_1.__importDefault)(require("node-fetch"));
const unzipper_1 = (0, tslib_1.__importDefault)(require("unzipper"));
const base_1 = (0, tslib_1.__importDefault)(require("../base"));
class Upgrade extends base_1.default {

@@ -34,3 +34,3 @@ async run() {

this.log(`Fetching ${locationUrl}...`);
const response = await node_fetch_1.default(locationUrl);
const response = await (0, node_fetch_1.default)(locationUrl);
if (!response.ok) {

@@ -37,0 +37,0 @@ this.error(`Failed to fetch: ${response.statusText}`, { exit: 100 });

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.run = void 0;
var command_1 = require("@oclif/command");
Object.defineProperty(exports, "run", { enumerable: true, get: function () { return command_1.run; } });
// trigger build

@@ -5,5 +5,5 @@ "use strict";

const tslib_1 = require("tslib");
const fs_1 = tslib_1.__importDefault(require("fs"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
const follow_redirects_1 = require("follow-redirects");
const path_1 = tslib_1.__importDefault(require("path"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
// Method for handing off the parsing of a gff3 file URL.

@@ -41,3 +41,3 @@ // Calls the proper parser depending on if it is gzipped or not.

type: 'VcfTabixAdapter',
vcfGzLocation: { uri },
vcfGzLocation: { uri, locationType: 'UriLocation' },
},

@@ -53,3 +53,3 @@ };

type: 'Gff3TabixAdapter',
gffGzLocation: { uri },
gffGzLocation: { uri, locationType: 'UriLocation' },
},

@@ -65,3 +65,3 @@ };

type: 'GtfTabixAdapter',
gtfGzLocation: { uri },
gtfGzLocation: { uri, locationType: 'UriLocation' },
},

@@ -68,0 +68,0 @@ };

@@ -8,7 +8,7 @@ "use strict";

const zlib_1 = require("zlib");
const readline_1 = tslib_1.__importDefault(require("readline"));
const path_1 = tslib_1.__importDefault(require("path"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const readline_1 = (0, tslib_1.__importDefault)(require("readline"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
function indexGff3(config, attributes, outLocation, typesToExclude, quiet) {
return tslib_1.__asyncGenerator(this, arguments, function* indexGff3_1() {
return (0, tslib_1.__asyncGenerator)(this, arguments, function* indexGff3_1() {
var e_1, _a;

@@ -26,4 +26,4 @@ const { adapter, trackId } = config;

let receivedBytes = 0;
if (common_1.isURL(uri)) {
fileDataStream = yield tslib_1.__await(common_1.createRemoteStream(uri));
if ((0, common_1.isURL)(uri)) {
fileDataStream = yield (0, tslib_1.__await)((0, common_1.createRemoteStream)(uri));
totalBytes = +(fileDataStream.headers['content-length'] || 0);

@@ -45,7 +45,7 @@ }

input: uri.endsWith('.gz')
? fileDataStream.pipe(zlib_1.createGunzip())
? fileDataStream.pipe((0, zlib_1.createGunzip)())
: fileDataStream,
});
try {
for (var rl_1 = tslib_1.__asyncValues(rl), rl_1_1; rl_1_1 = yield tslib_1.__await(rl_1.next()), !rl_1_1.done;) {
for (var rl_1 = (0, tslib_1.__asyncValues)(rl), rl_1_1; rl_1_1 = yield (0, tslib_1.__await)(rl_1.next()), !rl_1_1.done;) {
const line = rl_1_1.value;

@@ -81,3 +81,3 @@ if (line.startsWith('#')) {

]).replace(/,/g, '|');
yield yield tslib_1.__await(`${record} ${[...new Set(attrs)].join(' ')}\n`);
yield yield (0, tslib_1.__await)(`${record} ${[...new Set(attrs)].join(' ')}\n`);
}

@@ -90,3 +90,3 @@ }

try {
if (rl_1_1 && !rl_1_1.done && (_a = rl_1.return)) yield tslib_1.__await(_a.call(rl_1));
if (rl_1_1 && !rl_1_1.done && (_a = rl_1.return)) yield (0, tslib_1.__await)(_a.call(rl_1));
}

@@ -93,0 +93,0 @@ finally { if (e_1) throw e_1.error; }

@@ -8,7 +8,7 @@ "use strict";

const zlib_1 = require("zlib");
const readline_1 = tslib_1.__importDefault(require("readline"));
const path_1 = tslib_1.__importDefault(require("path"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const readline_1 = (0, tslib_1.__importDefault)(require("readline"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
function indexGtf(config, attributes, outLocation, typesToExclude, quiet) {
return tslib_1.__asyncGenerator(this, arguments, function* indexGtf_1() {
return (0, tslib_1.__asyncGenerator)(this, arguments, function* indexGtf_1() {
var e_1, _a;

@@ -26,4 +26,4 @@ const { adapter, trackId } = config;

let receivedBytes = 0;
if (common_1.isURL(uri)) {
fileDataStream = yield tslib_1.__await(common_1.createRemoteStream(uri));
if ((0, common_1.isURL)(uri)) {
fileDataStream = yield (0, tslib_1.__await)((0, common_1.createRemoteStream)(uri));
totalBytes = +(fileDataStream.headers['content-length'] || 0);

@@ -44,3 +44,3 @@ }

const gzStream = uri.endsWith('.gz')
? fileDataStream.pipe(zlib_1.createGunzip())
? fileDataStream.pipe((0, zlib_1.createGunzip)())
: fileDataStream;

@@ -51,3 +51,3 @@ const rl = readline_1.default.createInterface({

try {
for (var rl_1 = tslib_1.__asyncValues(rl), rl_1_1; rl_1_1 = yield tslib_1.__await(rl_1.next()), !rl_1_1.done;) {
for (var rl_1 = (0, tslib_1.__asyncValues)(rl), rl_1_1; rl_1_1 = yield (0, tslib_1.__await)(rl_1.next()), !rl_1_1.done;) {
const line = rl_1_1.value;

@@ -91,3 +91,3 @@ if (line.startsWith('#')) {

]).replace(/,/g, '|');
yield yield tslib_1.__await(`${record} ${[...new Set(attrs)].join(' ')}\n`);
yield yield (0, tslib_1.__await)(`${record} ${[...new Set(attrs)].join(' ')}\n`);
}

@@ -100,3 +100,3 @@ }

try {
if (rl_1_1 && !rl_1_1.done && (_a = rl_1.return)) yield tslib_1.__await(_a.call(rl_1));
if (rl_1_1 && !rl_1_1.done && (_a = rl_1.return)) yield (0, tslib_1.__await)(_a.call(rl_1));
}

@@ -103,0 +103,0 @@ finally { if (e_1) throw e_1.error; }

@@ -8,7 +8,7 @@ "use strict";

const zlib_1 = require("zlib");
const readline_1 = tslib_1.__importDefault(require("readline"));
const path_1 = tslib_1.__importDefault(require("path"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const readline_1 = (0, tslib_1.__importDefault)(require("readline"));
const path_1 = (0, tslib_1.__importDefault)(require("path"));
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
function indexVcf(config, attributesToIndex, outLocation, typesToExclude, quiet) {
return tslib_1.__asyncGenerator(this, arguments, function* indexVcf_1() {
return (0, tslib_1.__asyncGenerator)(this, arguments, function* indexVcf_1() {
var e_1, _a;

@@ -26,4 +26,4 @@ const { adapter, trackId } = config;

let receivedBytes = 0;
if (common_1.isURL(uri)) {
fileDataStream = yield tslib_1.__await(common_1.createRemoteStream(uri));
if ((0, common_1.isURL)(uri)) {
fileDataStream = yield (0, tslib_1.__await)((0, common_1.createRemoteStream)(uri));
totalBytes = +(fileDataStream.headers['content-length'] || 0);

@@ -44,3 +44,3 @@ }

const gzStream = uri.endsWith('.gz')
? fileDataStream.pipe(zlib_1.createGunzip())
? fileDataStream.pipe((0, zlib_1.createGunzip)())
: fileDataStream;

@@ -51,3 +51,3 @@ const rl = readline_1.default.createInterface({

try {
for (var rl_1 = tslib_1.__asyncValues(rl), rl_1_1; rl_1_1 = yield tslib_1.__await(rl_1.next()), !rl_1_1.done;) {
for (var rl_1 = (0, tslib_1.__asyncValues)(rl), rl_1_1; rl_1_1 = yield (0, tslib_1.__await)(rl_1.next()), !rl_1_1.done;) {
const line = rl_1_1.value;

@@ -57,2 +57,3 @@ if (line.startsWith('#')) {

}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [ref, pos, id, _ref, _alt, _qual, _filter, info] = line.split('\t');

@@ -88,3 +89,3 @@ // turns gff3 attrs into a map, and converts the arrays into space

]).replace(/,/g, '|');
yield yield tslib_1.__await(`${record} ${[...new Set(attrs)].join(' ')}\n`);
yield yield (0, tslib_1.__await)(`${record} ${[...new Set(attrs)].join(' ')}\n`);
}

@@ -96,3 +97,3 @@ }

try {
if (rl_1_1 && !rl_1_1.done && (_a = rl_1.return)) yield tslib_1.__await(_a.call(rl_1));
if (rl_1_1 && !rl_1_1.done && (_a = rl_1.return)) yield (0, tslib_1.__await)(_a.call(rl_1));
}

@@ -99,0 +100,0 @@ finally { if (e_1) throw e_1.error; }

@@ -1,1 +0,1 @@

{"version":"1.4.4","commands":{"add-assembly":{"id":"add-assembly","description":"Add an assembly to a JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse add-assembly GRCh38.fa --load copy","$ jbrowse add-assembly GRCh38.fasta.with.custom.extension.xyz --type indexedFasta --load move","$ jbrowse add-assembly myFile.fa.gz --name hg38 --alias GRCh38 --displayName \"Homo sapiens (hg38)\" --load inPlace","$ jbrowse add-assembly GRCh38.chrom.sizes --load inPlace","$ jbrowse add-assembly GRCh38.config.json --load copy","$ jbrowse add-assembly https://example.com/data/sample.2bit","$ jbrowse add-assembly GRCh38.fa --target /path/to/jb2/installation/customconfig.json --load copy"],"flags":{"type":{"name":"type","type":"option","char":"t","description":"type of sequence, by default inferred from sequence file\n\nindexedFasta An index FASTA (e.g. .fa or .fasta) file;\n can optionally specify --faiLocation\n\nbgzipFasta A block-gzipped and indexed FASTA (e.g. .fa.gz or .fasta.gz) file;\n can optionally specify --faiLocation and/or --gziLocation\n\ntwoBit A twoBit (e.g. .2bit) file\n\nchromSizes A chromosome sizes (e.g. .chrom.sizes) file\n\ncustom Either a JSON file location or inline JSON that defines a custom\n sequence adapter; must provide --name if using inline JSON","options":["indexedFasta","bgzipFasta","twoBit","chromSizes","custom"]},"name":{"name":"name","type":"option","char":"n","description":"Name of the assembly; if not specified, will be guessed using the sequence file name"},"alias":{"name":"alias","type":"option","char":"a","description":"An alias for the assembly name (e.g. \"hg38\" if the name of the assembly is \"GRCh38\");\ncan be specified multiple times"},"displayName":{"name":"displayName","type":"option","description":"The display name to specify for the assembly, e.g. \"Homo sapiens (hg38)\" while the name can be a shorter identifier like \"hg38\""},"faiLocation":{"name":"faiLocation","type":"option","description":"[default: <fastaLocation>.fai] FASTA index file or URL"},"gziLocation":{"name":"gziLocation","type":"option","description":"[default: <fastaLocation>.gzi] FASTA gzip index file or URL"},"refNameAliases":{"name":"refNameAliases","type":"option","description":"Reference sequence name aliases file or URL; assumed to be a tab-separated aliases\nfile unless --refNameAliasesType is specified"},"refNameAliasesType":{"name":"refNameAliasesType","type":"option","description":"Type of aliases defined by --refNameAliases; if \"custom\", --refNameAliases is either\na JSON file location or inline JSON that defines a custom sequence adapter","options":["aliases","custom"]},"refNameColors":{"name":"refNameColors","type":"option","description":"A comma-separated list of color strings for the reference sequence names; will cycle\nthrough colors if there are fewer colors than sequences"},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to.\nCreates ./config.json if nonexistent"},"out":{"name":"out","type":"option","description":"synonym for target"},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"load":{"name":"load","type":"option","char":"l","description":"Required flag when using a local file. Choose how to manage the data directory. Copy, symlink, or move the data directory to the JBrowse directory. Or use inPlace to modify the config without doing any file operations","options":["copy","symlink","move","inPlace"]},"skipCheck":{"name":"skipCheck","type":"boolean","description":"Don't check whether or not the sequence file or URL exists or if you are in a JBrowse directory","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrite existing assembly if one with the same name exists","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Equivalent to `--skipCheck --overwrite`","allowNo":false}},"args":[{"name":"sequence","description":"sequence file or URL\n\nIf TYPE is indexedFasta or bgzipFasta, the index file defaults to <location>.fai\nand can be optionally specified with --faiLocation\nIf TYPE is bgzipFasta, the gzip index file defaults to <location>.gzi and can be\noptionally specified with --gziLocation","required":true}]},"add-connection":{"id":"add-connection","description":"Add a connection to a JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse add-connection http://mysite.com/jbrowse/data/","$ jbrowse add-connection http://mysite.com/jbrowse/custom_data_folder/ --type JBrowse1Connection","$ jbrowse add-connection http://mysite.com/path/to/hub.txt --assemblyName hg19","$ jbrowse add-connection http://mysite.com/path/to/custom_hub_name.txt --type UCSCTrackHubConnection --assemblyName hg19","$ jbrowse add-connection http://mysite.com/path/to/custom --type custom --config '{\"uri\":{\"url\":\"https://mysite.com/path/to/custom\"}}' --assemblyName hg19","$ jbrowse add-connection https://mysite.com/path/to/hub.txt --connectionId newId --name newName --target /path/to/jb2/installation/config.json"],"flags":{"type":{"name":"type","type":"option","char":"t","description":"type of connection, ex. JBrowse1Connection, UCSCTrackHubConnection, custom"},"assemblyName":{"name":"assemblyName","type":"option","char":"a","description":"Assembly name of the connection If none, will default to the assembly in your config file"},"config":{"name":"config","type":"option","char":"c","description":"Any extra config settings to add to connection in JSON object format, such as '{\"uri\":\"url\":\"https://sample.com\"}}'"},"connectionId":{"name":"connectionId","type":"option","description":"Id for the connection that must be unique to JBrowse. Defaults to 'connectionType-assemblyName-currentTime'"},"name":{"name":"name","type":"option","char":"n","description":"Name of the connection. Defaults to connectionId if not provided"},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to."},"out":{"name":"out","type":"option","description":"synonym for target"},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"skipCheck":{"name":"skipCheck","type":"boolean","description":"Don't check whether or not the data directory URL exists or if you are in a JBrowse directory","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrites any existing connections if same connection id","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Equivalent to `--skipCheck --overwrite`","allowNo":false}},"args":[{"name":"connectionUrlOrPath","description":"URL of data directory\nFor hub file, usually called hub.txt\nFor JBrowse 1, location of JB1 data directory similar to http://mysite.com/jbrowse/data/ ","required":true}]},"add-track-json":{"id":"add-track-json","description":"Add a track configuration directly from a JSON hunk to the JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse add-track-json track.json","$ jbrowse add-track-json track.json --update"],"flags":{"update":{"name":"update","type":"boolean","char":"u","description":"update the contents of an existing track, matched based on trackId","allowNo":false},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to.\nCreates ./config.json if nonexistent"},"out":{"name":"out","type":"option","description":"synonym for target"}},"args":[{"name":"track","description":"track JSON file or command line arg blob","required":true}]},"add-track":{"id":"add-track","description":"Add a track to a JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["# --load copy copies my.bam and my.bam.bai to current directory and adds track to config.json","$ jbrowse add-track /path/to/my.bam --load copy\n","# same as above, but specify path to bai file","$ jbrowse add-track /path/to/my.bam --indexFile /path/to/my.bai --load copy\n","# --load symlink creates symlink in /path/to/jb2/ directory for this file, and adds track to config.json","$ jbrowse add-track /path/to/my.bam --target /path/to/jb2/config.json --load symlink\n","# no --load flag to add literal URL for this track to config.json","$ jbrowse add-track https://mywebsite.com/my.bam\n","# --load move to move the file ","$ jbrowse add-track /path/to/my.bam --name 'New Track' --load move\n","# --load inPlace puts /url/relative/path.bam in the config without performing any file operations","$ jbrowse add-track /url/relative/path.bam --trackId AlignmentsTrack1 --load url --overwrite"],"flags":{"trackType":{"name":"trackType","type":"option","char":"t","description":"Type of track, by default inferred from track file"},"name":{"name":"name","type":"option","char":"n","description":"Name of the track. Will be defaulted to the trackId if none specified"},"indexFile":{"name":"indexFile","type":"option","description":"Optional index file for the track"},"description":{"name":"description","type":"option","char":"d","description":"Optional description of the track"},"assemblyNames":{"name":"assemblyNames","type":"option","char":"a","description":"Assembly name or names for track as comma separated string. If none, will default to the assembly in your config file"},"category":{"name":"category","type":"option","description":"Optional Comma separated string of categories to group tracks"},"config":{"name":"config","type":"option","description":"Any extra config settings to add to a track. i.e '{\"defaultRendering\": \"density\"}'"},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation to write out to."},"out":{"name":"out","type":"option","description":"synonym for target"},"subDir":{"name":"subDir","type":"option","description":"when using --load a file, output to a subdirectory of the target dir","default":""},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"trackId":{"name":"trackId","type":"option","description":"trackId for the track, by default inferred from filename, must be unique throughout config"},"load":{"name":"load","type":"option","char":"l","description":"Required flag when using a local file. Choose how to manage the track. Copy, symlink, or move the track to the JBrowse directory. Or inPlace to leave track alone","options":["copy","symlink","move","inPlace"]},"skipCheck":{"name":"skipCheck","type":"boolean","description":"Skip check for whether or not the file or URL exists or if you are in a JBrowse directory","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrites existing track if it shares the same trackId","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Equivalent to `--skipCheck --overwrite`","allowNo":false},"protocol":{"name":"protocol","type":"option","description":"Force protocol to a specific value","default":"uri"}},"args":[{"name":"track","description":"Track file or URL","required":true}]},"admin-server":{"id":"admin-server","description":"Start up a small admin server for JBrowse configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse admin-server","$ jbrowse admin-server -p 8888"],"flags":{"port":{"name":"port","type":"option","char":"p","description":"Specifified port to start the server on;\nDefault is 9090."},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to.\nCreates ./config.json if nonexistent"},"out":{"name":"out","type":"option","description":"synonym for target"},"skipCheck":{"name":"skipCheck","type":"boolean","description":"Don't check whether or not you are in a JBrowse directory","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"create":{"id":"create","description":"Downloads and installs the latest JBrowse 2 release","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse create /path/to/new/installation","$ jbrowse create /path/to/new/installation --force","$ jbrowse create /path/to/new/installation --url url.com/directjbrowselink.zip","$ jbrowse create /path/to/new/installation --tag v1.0.0","$ jbrowse create --listVersions # Lists out all available versions of JBrowse 2"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Overwrites existing JBrowse 2 installation if present in path","allowNo":false},"listVersions":{"name":"listVersions","type":"boolean","char":"l","description":"Lists out all versions of JBrowse 2","allowNo":false},"branch":{"name":"branch","type":"option","description":"Download a development build from a named git branch"},"nightly":{"name":"nightly","type":"boolean","description":"Download the latest development build from the main branch","allowNo":false},"url":{"name":"url","type":"option","char":"u","description":"A direct URL to a JBrowse 2 release"},"tag":{"name":"tag","type":"option","char":"t","description":"Version of JBrowse 2 to install. Format is v1.0.0.\nDefaults to latest"}},"args":[{"name":"localPath","description":"Location where JBrowse 2 will be installed","required":true}]},"set-default-session":{"id":"set-default-session","description":"Set a default session with views and tracks","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse set-default-session --session /path/to/default/session.json","$ jbrowse set-default-session --target /path/to/jb2/installation/config.json --view LinearGenomeView --tracks track1, track2, track3","$ jbrowse set-default-session --view LinearGenomeView, --name newName --viewId view-no-tracks","$ jbrowse set-default-session --currentSession # Prints out current default session"],"flags":{"session":{"name":"session","type":"option","char":"s","description":"set path to a file containing session in json format"},"name":{"name":"name","type":"option","char":"n","description":"Give a name for the default session","default":"New Default Session"},"view":{"name":"view","type":"option","char":"v","description":"View type in config to be added as default session, i.e LinearGenomeView, CircularView, DotplotView.\nMust be provided if no default session file provided"},"viewId":{"name":"viewId","type":"option","description":"Identifier for the view. Will be generated on default"},"tracks":{"name":"tracks","type":"option","char":"t","description":"Track id or track ids as comma separated string to put into default session"},"currentSession":{"name":"currentSession","type":"boolean","char":"c","description":"List out the current default session","allowNo":false},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to"},"out":{"name":"out","type":"option","description":"synonym for target"},"delete":{"name":"delete","type":"boolean","description":"Delete any existing default session.","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"text-index":{"id":"text-index","description":"Make a text-indexing file for any given track(s).","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["# indexes all tracks that it can find in the current directory's config.json","$ jbrowse text-index","","# indexes specific trackIds that it can find in the current directory's config.json","$ jbrowse text-index --tracks=track1,track2,track3","","# indexes all tracks in a directory's config.json or in a specific config file","$ jbrowse text-index --out /path/to/jb2/","","# indexes only a specific assembly, and overwrite what was previously there using force (which is needed if a previous index already existed)","$ jbrowse text-index -a hg19 --force","","# create index for some files for use in @jbrowse/react-linear-genome-view or similar","$ jbrowse text-index --file myfile.gff3.gz --file myfile.vcfgz --out indexes"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"tracks":{"name":"tracks","type":"option","description":"Specific tracks to index, formatted as comma separated trackIds. If unspecified, indexes all available tracks"},"target":{"name":"target","type":"option","description":"Path to config file in JB2 installation directory to read from."},"out":{"name":"out","type":"option","description":"Synonym for target"},"attributes":{"name":"attributes","type":"option","description":"Comma separated list of attributes to index","default":"Name,ID"},"assemblies":{"name":"assemblies","type":"option","char":"a","description":"Specify the assembl(ies) to create an index for. If unspecified, creates an index for each assembly in the config"},"force":{"name":"force","type":"boolean","description":"Overwrite previously existing indexes","allowNo":false},"quiet":{"name":"quiet","type":"boolean","char":"q","description":"Hide the progress bars","allowNo":false},"perTrack":{"name":"perTrack","type":"boolean","description":"If set, creates an index per track","allowNo":false},"exclude":{"name":"exclude","type":"option","description":"Adds gene type to list of excluded types","default":"CDS,exon"},"file":{"name":"file","type":"option","description":"File or files to index (can be used to create trix indexes for embedded component use cases not using a config.json for example)"},"dryrun":{"name":"dryrun","type":"boolean","description":"Just print out tracks that will be indexed by the process, without doing any indexing","allowNo":false}},"args":[]},"upgrade":{"id":"upgrade","description":"Upgrades JBrowse 2 to latest version","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse upgrade # Upgrades current directory to latest jbrowse release","$ jbrowse upgrade /path/to/jbrowse2/installation","$ jbrowse upgrade /path/to/jbrowse2/installation --tag v1.0.0","$ jbrowse upgrade --listVersions # Lists out all available versions of JBrowse 2","$ jbrowse upgrade --url https://sample.com/jbrowse2.zip"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"listVersions":{"name":"listVersions","type":"boolean","char":"l","description":"Lists out all versions of JBrowse 2","allowNo":false},"tag":{"name":"tag","type":"option","char":"t","description":"Version of JBrowse 2 to install. Format is v1.0.0.\nDefaults to latest"},"branch":{"name":"branch","type":"option","description":"Download a development build from a named git branch"},"nightly":{"name":"nightly","type":"boolean","description":"Download the latest development build from the main branch","allowNo":false},"url":{"name":"url","type":"option","char":"u","description":"A direct URL to a JBrowse 2 release"}},"args":[{"name":"localPath","description":"Location where JBrowse 2 is installed","required":false,"default":"."},{"name":"placeholder","description":"Placeholder for config file migration scripts","required":false,"hidden":true}]}}}
{"version":"1.5.0","commands":{"add-assembly":{"id":"add-assembly","description":"Add an assembly to a JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse add-assembly GRCh38.fa --load copy","$ jbrowse add-assembly GRCh38.fasta.with.custom.extension.xyz --type indexedFasta --load move","$ jbrowse add-assembly myFile.fa.gz --name hg38 --alias GRCh38 --displayName \"Homo sapiens (hg38)\" --load inPlace","$ jbrowse add-assembly GRCh38.chrom.sizes --load inPlace","$ jbrowse add-assembly GRCh38.config.json --load copy","$ jbrowse add-assembly https://example.com/data/sample.2bit","$ jbrowse add-assembly GRCh38.fa --target /path/to/jb2/installation/customconfig.json --load copy"],"flags":{"type":{"name":"type","type":"option","char":"t","description":"type of sequence, by default inferred from sequence file\n\nindexedFasta An index FASTA (e.g. .fa or .fasta) file;\n can optionally specify --faiLocation\n\nbgzipFasta A block-gzipped and indexed FASTA (e.g. .fa.gz or .fasta.gz) file;\n can optionally specify --faiLocation and/or --gziLocation\n\ntwoBit A twoBit (e.g. .2bit) file\n\nchromSizes A chromosome sizes (e.g. .chrom.sizes) file\n\ncustom Either a JSON file location or inline JSON that defines a custom\n sequence adapter; must provide --name if using inline JSON","options":["indexedFasta","bgzipFasta","twoBit","chromSizes","custom"]},"name":{"name":"name","type":"option","char":"n","description":"Name of the assembly; if not specified, will be guessed using the sequence file name"},"alias":{"name":"alias","type":"option","char":"a","description":"An alias for the assembly name (e.g. \"hg38\" if the name of the assembly is \"GRCh38\");\ncan be specified multiple times"},"displayName":{"name":"displayName","type":"option","description":"The display name to specify for the assembly, e.g. \"Homo sapiens (hg38)\" while the name can be a shorter identifier like \"hg38\""},"faiLocation":{"name":"faiLocation","type":"option","description":"[default: <fastaLocation>.fai] FASTA index file or URL"},"gziLocation":{"name":"gziLocation","type":"option","description":"[default: <fastaLocation>.gzi] FASTA gzip index file or URL"},"refNameAliases":{"name":"refNameAliases","type":"option","description":"Reference sequence name aliases file or URL; assumed to be a tab-separated aliases\nfile unless --refNameAliasesType is specified"},"refNameAliasesType":{"name":"refNameAliasesType","type":"option","description":"Type of aliases defined by --refNameAliases; if \"custom\", --refNameAliases is either\na JSON file location or inline JSON that defines a custom sequence adapter","options":["aliases","custom"]},"refNameColors":{"name":"refNameColors","type":"option","description":"A comma-separated list of color strings for the reference sequence names; will cycle\nthrough colors if there are fewer colors than sequences"},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to.\nCreates ./config.json if nonexistent"},"out":{"name":"out","type":"option","description":"synonym for target"},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"load":{"name":"load","type":"option","char":"l","description":"Required flag when using a local file. Choose how to manage the data directory. Copy, symlink, or move the data directory to the JBrowse directory. Or use inPlace to modify the config without doing any file operations","options":["copy","symlink","move","inPlace"]},"skipCheck":{"name":"skipCheck","type":"boolean","description":"Don't check whether or not the sequence file or URL exists or if you are in a JBrowse directory","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrite existing assembly if one with the same name exists","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Equivalent to `--skipCheck --overwrite`","allowNo":false}},"args":[{"name":"sequence","description":"sequence file or URL\n\nIf TYPE is indexedFasta or bgzipFasta, the index file defaults to <location>.fai\nand can be optionally specified with --faiLocation\nIf TYPE is bgzipFasta, the gzip index file defaults to <location>.gzi and can be\noptionally specified with --gziLocation","required":true}]},"add-connection":{"id":"add-connection","description":"Add a connection to a JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse add-connection http://mysite.com/jbrowse/data/","$ jbrowse add-connection http://mysite.com/jbrowse/custom_data_folder/ --type JBrowse1Connection","$ jbrowse add-connection http://mysite.com/path/to/hub.txt --assemblyName hg19","$ jbrowse add-connection http://mysite.com/path/to/custom_hub_name.txt --type UCSCTrackHubConnection --assemblyName hg19","$ jbrowse add-connection http://mysite.com/path/to/custom --type custom --config '{\"uri\":{\"url\":\"https://mysite.com/path/to/custom\"}, \"locationType\": \"UriLocation\"}' --assemblyName hg19","$ jbrowse add-connection https://mysite.com/path/to/hub.txt --connectionId newId --name newName --target /path/to/jb2/installation/config.json"],"flags":{"type":{"name":"type","type":"option","char":"t","description":"type of connection, ex. JBrowse1Connection, UCSCTrackHubConnection, custom"},"assemblyName":{"name":"assemblyName","type":"option","char":"a","description":"Assembly name of the connection If none, will default to the assembly in your config file"},"config":{"name":"config","type":"option","char":"c","description":"Any extra config settings to add to connection in JSON object format, such as '{\"uri\":\"url\":\"https://sample.com\"}, \"locationType\": \"UriLocation\"}'"},"connectionId":{"name":"connectionId","type":"option","description":"Id for the connection that must be unique to JBrowse. Defaults to 'connectionType-assemblyName-currentTime'"},"name":{"name":"name","type":"option","char":"n","description":"Name of the connection. Defaults to connectionId if not provided"},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to."},"out":{"name":"out","type":"option","description":"synonym for target"},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"skipCheck":{"name":"skipCheck","type":"boolean","description":"Don't check whether or not the data directory URL exists or if you are in a JBrowse directory","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrites any existing connections if same connection id","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Equivalent to `--skipCheck --overwrite`","allowNo":false}},"args":[{"name":"connectionUrlOrPath","description":"URL of data directory\nFor hub file, usually called hub.txt\nFor JBrowse 1, location of JB1 data directory similar to http://mysite.com/jbrowse/data/ ","required":true}]},"add-track-json":{"id":"add-track-json","description":"Add a track configuration directly from a JSON hunk to the JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse add-track-json track.json","$ jbrowse add-track-json track.json --update"],"flags":{"update":{"name":"update","type":"boolean","char":"u","description":"update the contents of an existing track, matched based on trackId","allowNo":false},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to.\nCreates ./config.json if nonexistent"},"out":{"name":"out","type":"option","description":"synonym for target"}},"args":[{"name":"track","description":"track JSON file or command line arg blob","required":true}]},"add-track":{"id":"add-track","description":"Add a track to a JBrowse 2 configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["# --load copy copies my.bam and my.bam.bai to current directory and adds track to config.json","$ jbrowse add-track /path/to/my.bam --load copy\n","# same as above, but specify path to bai file","$ jbrowse add-track /path/to/my.bam --indexFile /path/to/my.bai --load copy\n","# --load symlink creates symlink in /path/to/jb2/ directory for this file, and adds track to config.json","$ jbrowse add-track /path/to/my.bam --target /path/to/jb2/config.json --load symlink\n","# no --load flag to add literal URL for this track to config.json","$ jbrowse add-track https://mywebsite.com/my.bam\n","# --load move to move the file ","$ jbrowse add-track /path/to/my.bam --name 'New Track' --load move\n","# --load inPlace puts /url/relative/path.bam in the config without performing any file operations","$ jbrowse add-track /url/relative/path.bam --trackId AlignmentsTrack1 --load url --overwrite"],"flags":{"trackType":{"name":"trackType","type":"option","char":"t","description":"Type of track, by default inferred from track file"},"name":{"name":"name","type":"option","char":"n","description":"Name of the track. Will be defaulted to the trackId if none specified"},"indexFile":{"name":"indexFile","type":"option","description":"Optional index file for the track"},"description":{"name":"description","type":"option","char":"d","description":"Optional description of the track"},"assemblyNames":{"name":"assemblyNames","type":"option","char":"a","description":"Assembly name or names for track as comma separated string. If none, will default to the assembly in your config file"},"category":{"name":"category","type":"option","description":"Optional Comma separated string of categories to group tracks"},"config":{"name":"config","type":"option","description":"Any extra config settings to add to a track. i.e '{\"defaultRendering\": \"density\"}'"},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation to write out to."},"out":{"name":"out","type":"option","description":"synonym for target"},"subDir":{"name":"subDir","type":"option","description":"when using --load a file, output to a subdirectory of the target dir","default":""},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"trackId":{"name":"trackId","type":"option","description":"trackId for the track, by default inferred from filename, must be unique throughout config"},"load":{"name":"load","type":"option","char":"l","description":"Required flag when using a local file. Choose how to manage the track. Copy, symlink, or move the track to the JBrowse directory. Or inPlace to leave track alone","options":["copy","symlink","move","inPlace"]},"skipCheck":{"name":"skipCheck","type":"boolean","description":"Skip check for whether or not the file or URL exists or if you are in a JBrowse directory","allowNo":false},"overwrite":{"name":"overwrite","type":"boolean","description":"Overwrites existing track if it shares the same trackId","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Equivalent to `--skipCheck --overwrite`","allowNo":false},"protocol":{"name":"protocol","type":"option","description":"Force protocol to a specific value","default":"uri"}},"args":[{"name":"track","description":"Track file or URL","required":true}]},"admin-server":{"id":"admin-server","description":"Start up a small admin server for JBrowse configuration","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse admin-server","$ jbrowse admin-server -p 8888"],"flags":{"port":{"name":"port","type":"option","char":"p","description":"Specifified port to start the server on;\nDefault is 9090."},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to.\nCreates ./config.json if nonexistent"},"out":{"name":"out","type":"option","description":"synonym for target"},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"create":{"id":"create","description":"Downloads and installs the latest JBrowse 2 release","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse create /path/to/new/installation","$ jbrowse create /path/to/new/installation --force","$ jbrowse create /path/to/new/installation --url url.com/directjbrowselink.zip","$ jbrowse create /path/to/new/installation --tag v1.0.0","$ jbrowse create --listVersions # Lists out all available versions of JBrowse 2"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Overwrites existing JBrowse 2 installation if present in path","allowNo":false},"listVersions":{"name":"listVersions","type":"boolean","char":"l","description":"Lists out all versions of JBrowse 2","allowNo":false},"branch":{"name":"branch","type":"option","description":"Download a development build from a named git branch"},"nightly":{"name":"nightly","type":"boolean","description":"Download the latest development build from the main branch","allowNo":false},"url":{"name":"url","type":"option","char":"u","description":"A direct URL to a JBrowse 2 release"},"tag":{"name":"tag","type":"option","char":"t","description":"Version of JBrowse 2 to install. Format is v1.0.0.\nDefaults to latest"}},"args":[{"name":"localPath","description":"Location where JBrowse 2 will be installed","required":true}]},"set-default-session":{"id":"set-default-session","description":"Set a default session with views and tracks","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse set-default-session --session /path/to/default/session.json","$ jbrowse set-default-session --target /path/to/jb2/installation/config.json --view LinearGenomeView --tracks track1, track2, track3","$ jbrowse set-default-session --view LinearGenomeView, --name newName --viewId view-no-tracks","$ jbrowse set-default-session --currentSession # Prints out current default session"],"flags":{"session":{"name":"session","type":"option","char":"s","description":"set path to a file containing session in json format"},"name":{"name":"name","type":"option","char":"n","description":"Give a name for the default session","default":"New Default Session"},"view":{"name":"view","type":"option","char":"v","description":"View type in config to be added as default session, i.e LinearGenomeView, CircularView, DotplotView.\nMust be provided if no default session file provided"},"viewId":{"name":"viewId","type":"option","description":"Identifier for the view. Will be generated on default"},"tracks":{"name":"tracks","type":"option","char":"t","description":"Track id or track ids as comma separated string to put into default session"},"currentSession":{"name":"currentSession","type":"boolean","char":"c","description":"List out the current default session","allowNo":false},"target":{"name":"target","type":"option","description":"path to config file in JB2 installation directory to write out to"},"out":{"name":"out","type":"option","description":"synonym for target"},"delete":{"name":"delete","type":"boolean","description":"Delete any existing default session.","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"text-index":{"id":"text-index","description":"Make a text-indexing file for any given track(s).","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["# indexes all tracks that it can find in the current directory's config.json","$ jbrowse text-index","","# indexes specific trackIds that it can find in the current directory's config.json","$ jbrowse text-index --tracks=track1,track2,track3","","# indexes all tracks in a directory's config.json or in a specific config file","$ jbrowse text-index --out /path/to/jb2/","","# indexes only a specific assembly, and overwrite what was previously there using force (which is needed if a previous index already existed)","$ jbrowse text-index -a hg19 --force","","# create index for some files for use in @jbrowse/react-linear-genome-view or similar","$ jbrowse text-index --file myfile.gff3.gz --file myfile.vcfgz --out indexes"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"tracks":{"name":"tracks","type":"option","description":"Specific tracks to index, formatted as comma separated trackIds. If unspecified, indexes all available tracks"},"target":{"name":"target","type":"option","description":"Path to config file in JB2 installation directory to read from."},"out":{"name":"out","type":"option","description":"Synonym for target"},"attributes":{"name":"attributes","type":"option","description":"Comma separated list of attributes to index","default":"Name,ID"},"assemblies":{"name":"assemblies","type":"option","char":"a","description":"Specify the assembl(ies) to create an index for. If unspecified, creates an index for each assembly in the config"},"force":{"name":"force","type":"boolean","description":"Overwrite previously existing indexes","allowNo":false},"quiet":{"name":"quiet","type":"boolean","char":"q","description":"Hide the progress bars","allowNo":false},"perTrack":{"name":"perTrack","type":"boolean","description":"If set, creates an index per track","allowNo":false},"exclude":{"name":"exclude","type":"option","description":"Adds gene type to list of excluded types","default":"CDS,exon"},"file":{"name":"file","type":"option","description":"File or files to index (can be used to create trix indexes for embedded component use cases not using a config.json for example)"},"dryrun":{"name":"dryrun","type":"boolean","description":"Just print out tracks that will be indexed by the process, without doing any indexing","allowNo":false}},"args":[]},"upgrade":{"id":"upgrade","description":"Upgrades JBrowse 2 to latest version","pluginName":"@jbrowse/cli","pluginType":"core","aliases":[],"examples":["$ jbrowse upgrade # Upgrades current directory to latest jbrowse release","$ jbrowse upgrade /path/to/jbrowse2/installation","$ jbrowse upgrade /path/to/jbrowse2/installation --tag v1.0.0","$ jbrowse upgrade --listVersions # Lists out all available versions of JBrowse 2","$ jbrowse upgrade --url https://sample.com/jbrowse2.zip"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"listVersions":{"name":"listVersions","type":"boolean","char":"l","description":"Lists out all versions of JBrowse 2","allowNo":false},"tag":{"name":"tag","type":"option","char":"t","description":"Version of JBrowse 2 to install. Format is v1.0.0.\nDefaults to latest"},"branch":{"name":"branch","type":"option","description":"Download a development build from a named git branch"},"nightly":{"name":"nightly","type":"boolean","description":"Download the latest development build from the main branch","allowNo":false},"url":{"name":"url","type":"option","char":"u","description":"A direct URL to a JBrowse 2 release"}},"args":[{"name":"localPath","description":"Location where JBrowse 2 is installed","required":false,"default":"."},{"name":"placeholder","description":"Placeholder for config file migration scripts","required":false,"hidden":true}]}}}
{
"name": "@jbrowse/cli",
"version": "1.4.4",
"version": "1.5.0",
"description": "A command line tool for working with JBrowse 2",

@@ -65,3 +65,3 @@ "keywords": [

"@types/follow-redirects": "^1.13.0",
"typescript": "^3.0.0"
"typescript": "^4.0.0"
},

@@ -79,3 +79,3 @@ "oclif": {

},
"gitHead": "c12a2b1cef07dbc5ea40be5c76e03b655b7f3636"
"gitHead": "542025578a39bd170c8a166f2568ee7edbd54072"
}

@@ -143,3 +143,3 @@ ---

_See code: [src/commands/add-assembly.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/add-assembly.ts)_
_See code: [src/commands/add-assembly.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/add-assembly.ts)_

@@ -164,3 +164,3 @@ ## `jbrowse add-connection CONNECTIONURLORPATH`

-c, --config=config Any extra config settings to add to connection in JSON object format, such as
'{"uri":"url":"https://sample.com"}}'
'{"uri":"url":"https://sample.com"}, "locationType": "UriLocation"}'

@@ -194,3 +194,3 @@ -f, --force Equivalent to `--skipCheck --overwrite`

$ jbrowse add-connection http://mysite.com/path/to/custom --type custom --config
'{"uri":{"url":"https://mysite.com/path/to/custom"}}' --assemblyName hg19
'{"uri":{"url":"https://mysite.com/path/to/custom"}, "locationType": "UriLocation"}' --assemblyName hg19
$ jbrowse add-connection https://mysite.com/path/to/hub.txt --connectionId newId --name newName --target

@@ -200,3 +200,3 @@ /path/to/jb2/installation/config.json

_See code: [src/commands/add-connection.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/add-connection.ts)_
_See code: [src/commands/add-connection.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/add-connection.ts)_

@@ -275,3 +275,3 @@ ## `jbrowse add-track TRACK`

_See code: [src/commands/add-track.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/add-track.ts)_
_See code: [src/commands/add-track.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/add-track.ts)_

@@ -301,3 +301,3 @@ ## `jbrowse add-track-json TRACK`

_See code: [src/commands/add-track-json.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/add-track-json.ts)_
_See code: [src/commands/add-track-json.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/add-track-json.ts)_

@@ -320,4 +320,2 @@ ## `jbrowse admin-server`

--skipCheck Don't check whether or not you are in a JBrowse directory
--target=target path to config file in JB2 installation directory to write out to.

@@ -331,3 +329,3 @@ Creates ./config.json if nonexistent

_See code: [src/commands/admin-server.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/admin-server.ts)_
_See code: [src/commands/admin-server.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/admin-server.ts)_

@@ -367,3 +365,3 @@ ## `jbrowse create LOCALPATH`

_See code: [src/commands/create.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/create.ts)_
_See code: [src/commands/create.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/create.ts)_

@@ -385,3 +383,3 @@ ## `jbrowse help [COMMAND]`

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.3/src/commands/help.ts)_

@@ -423,3 +421,3 @@ ## `jbrowse set-default-session`

_See code: [src/commands/set-default-session.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/set-default-session.ts)_
_See code: [src/commands/set-default-session.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/set-default-session.ts)_

@@ -480,3 +478,3 @@ ## `jbrowse text-index`

_See code: [src/commands/text-index.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/text-index.ts)_
_See code: [src/commands/text-index.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/text-index.ts)_

@@ -515,3 +513,3 @@ ## `jbrowse upgrade [LOCALPATH]`

_See code: [src/commands/upgrade.ts](https://github.com/GMOD/jbrowse-components/blob/v1.4.4/products/jbrowse-cli/src/commands/upgrade.ts)_
_See code: [src/commands/upgrade.ts](https://github.com/GMOD/jbrowse-components/blob/v1.5.0/products/jbrowse-cli/src/commands/upgrade.ts)_

@@ -518,0 +516,0 @@ <!-- commandsstop -->

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc