Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into remove_toggle_track…
Browse files Browse the repository at this point in the history
…selector_menu
  • Loading branch information
rbuels committed Nov 25, 2020
2 parents 981ca94 + 34eddf1 commit 39e1db4
Show file tree
Hide file tree
Showing 186 changed files with 17,456 additions and 1,843 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Pull Request

on: [pull_request]
on: pull_request

jobs:
lint:
Expand Down
53 changes: 53 additions & 0 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Push

on: push

jobs:
test:
name: Test and typecheck on node 10.x and ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 10.x
uses: actions/setup-node@v1
with:
node-version: 10.x
- name: Install deps and build (with cache)
uses: bahmutov/npm-install@v1
- name: Test codebase
run: yarn test-ci
- name: Upload coverage
run: bash <(curl -s https://codecov.io/bash)
- name: Typecheck codebase
run: yarn typecheck

build:
name: Build on node 10.x and ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 10.x
uses: actions/setup-node@v1
with:
node-version: 10.x
- name: Install deps and build (with cache)
uses: bahmutov/npm-install@v1
- name: Build codebase
run: yarn build
- name: Test build
run: BUILT_TESTS=1 yarn built-test-ci
- name: Build website
run: |
cd website/
yarn
yarn build
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Copy branch build to S3
run: |
cp products/jbrowse-web/build/test_data/config.json products/jbrowse-web/build/config.json
aws s3 sync --delete products/jbrowse-web/build s3://jbrowse.org/code/jb2/$(echo ${{github.ref}} | cut -d "/" -f3-)
40 changes: 0 additions & 40 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status](https://img.shields.io/travis/com/GMOD/jbrowse-components/master.svg?logo=travis&style=for-the-badge)](https://travis-ci.com/GMOD/jbrowse-components)
[![Build Status](https://img.shields.io/github/workflow/status/GMOD/jbrowse-components/Push/master?logo=github&style=for-the-badge)](https://github.com/GMOD/jbrowse-components/actions?query=branch%3Amaster+workflow%3APush+)
[![Coverage Status](https://img.shields.io/codecov/c/github/GMOD/jbrowse-components/master.svg?logo=codecov&style=for-the-badge)](https://codecov.io/gh/GMOD/jbrowse-components/branch/master)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjx0aXRsZT5Db250cmlidXRvciBDb3ZlbmFudCBMb2dvPC90aXRsZT48ZyBpZD0iQ2FudmFzIj48ZyBpZD0iR3JvdXAiPjxnIGlkPSJTdWJ0cmFjdCI+PHVzZSB4bGluazpocmVmPSIjcGF0aDBfZmlsbCIgZmlsbD0iIzVFMEQ3MyIvPjwvZz48ZyBpZD0iU3VidHJhY3QiPjx1c2UgeGxpbms6aHJlZj0iI3BhdGgxX2ZpbGwiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4IDI0KSIgZmlsbD0iIzVFMEQ3MyIvPjwvZz48L2c+PC9nPjxkZWZzPjxwYXRoIGlkPSJwYXRoMF9maWxsIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0gMTgyLjc4NyAxMi4yODQ2QyAxNzMuMDA1IDkuNDk0MDggMTYyLjY3NyA4IDE1MiA4QyA5MC4xNDQxIDggNDAgNTguMTQ0MSA0MCAxMjBDIDQwIDE4MS44NTYgOTAuMTQ0MSAyMzIgMTUyIDIzMkMgMTg4LjQ2NCAyMzIgMjIwLjg1NyAyMTQuNTc1IDI0MS4zMDggMTg3LjU5OEMgMjE5Ljg3IDIyOC4yNzIgMTc3LjE3MyAyNTYgMTI4IDI1NkMgNTcuMzA3NSAyNTYgMCAxOTguNjkyIDAgMTI4QyAwIDU3LjMwNzUgNTcuMzA3NSAwIDEyOCAwQyAxNDcuNjA0IDAgMTY2LjE3OSA0LjQwNzA5IDE4Mi43ODcgMTIuMjg0NloiLz48cGF0aCBpZD0icGF0aDFfZmlsbCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNIDEzNy4wOSA5LjIxMzQyQyAxMjkuNzU0IDcuMTIwNTYgMTIyLjAwOCA2IDExNCA2QyA2Ny42MDgxIDYgMzAgNDMuNjA4MSAzMCA5MEMgMzAgMTM2LjM5MiA2Ny42MDgxIDE3NCAxMTQgMTc0QyAxNDEuMzQ4IDE3NCAxNjUuNjQzIDE2MC45MzEgMTgwLjk4MSAxNDAuNjk4QyAxNjQuOTAzIDE3MS4yMDQgMTMyLjg4IDE5MiA5NiAxOTJDIDQyLjk4MDcgMTkyIDAgMTQ5LjAxOSAwIDk2QyAwIDQyLjk4MDcgNDIuOTgwNyAwIDk2IDBDIDExMC43MDMgMCAxMjQuNjM0IDMuMzA1MzEgMTM3LjA5IDkuMjEzNDJaIi8+PC9kZWZzPjwvc3ZnPg==)](CODE_OF_CONDUCT.md)

Expand Down
5 changes: 2 additions & 3 deletions lerna.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"version": "independent",
"version": "1.0.1",
"npmClient": "yarn",
"useWorkspaces": true,
"independent": true
"useWorkspaces": true
}
13 changes: 13 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
{
"name": "root",
"private": true,
"repository": "https://github.com/GMOD/jbrowse-components",
"workspaces": [
"packages/*",
"products/*",
"plugins/*"
],
"scripts": {
"build": "yarn useDist && node scripts/build.js && yarn useSrc",
"changelog": "lerna-changelog",
"useDist": "lerna run useDist --scope \"@jbrowse/plugin*\"",
"useSrc": "lerna run useSrc --scope \"@jbrowse/plugin*\"",
"lerna-publish": "lerna publish --no-push",
Expand Down Expand Up @@ -37,6 +39,12 @@
"@oclif/dev-cli": "^1",
"@oclif/test": "^1.2.7",
"@rescripts/cli": "^0.0.14",
"@storybook/addon-actions": "^6.0.28",
"@storybook/addon-docs": "^6.0.28",
"@storybook/addon-links": "^6.0.28",
"@storybook/addons": "^6.0.28",
"@storybook/preset-create-react-app": "^3.1.5",
"@storybook/react": "^6.0.28",
"@testing-library/jest-dom": "^5.5.0",
"@testing-library/react": "^9.0.0",
"@types/base64-js": "^1.2.5",
Expand Down Expand Up @@ -75,6 +83,7 @@
"@types/string-template": "^1.0.2",
"@types/unzipper": "^0.10.3",
"babel-loader": "^8.1.0",
"babel-plugin-inline-import-data-uri": "^1.0.1",
"babel-preset-mobx": "^2.0.0",
"babel-preset-react-app": "9.1.2",
"babel-preset-typescript": "^7.0.0-alpha.19",
Expand Down Expand Up @@ -104,6 +113,7 @@
"jest-localstorage-mock": "^2.4.3",
"jest-pnp-resolver": "^1.2.0",
"lerna": "^3.4.1",
"lerna-changelog": "^1.0.1",
"mobx": "^5.0.0",
"mobx-react": "^6.0.0",
"mobx-state-tree": "3.14.1",
Expand All @@ -117,12 +127,15 @@
"prop-types": "^15.0.0",
"range-parser": "^1.2.1",
"react": "^16.8.0",
"react-docgen-typescript-loader": "^3.7.2",
"react-dom": "^16.8.0",
"react-is": "^16.13.1",
"react-scripts": "^3.3.0",
"requestidlecallback-polyfill": "^1.0.2",
"rimraf": "^3.0.2",
"rxjs": "^6.0.0",
"standard-changelog": "^2.0.7",
"ts-loader": "^7.0.5",
"ts-node": "^8",
"tsdx": "^0.14.0",
"tslib": "^2.0.1",
Expand Down
8 changes: 4 additions & 4 deletions packages/core/BaseFeatureWidget/BaseFeatureDetail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ const coreRenderedDetails = [
]

interface BaseCardProps {
title: string
title?: string
}

export const BaseCard: FunctionComponent<BaseCardProps> = props => {
Expand Down Expand Up @@ -107,7 +107,7 @@ export const BaseCoreDetails = (props: BaseProps) => {
{coreRenderedDetails.map(key => {
const value = displayedDetails[key.toLowerCase()]
const strValue = String(value)
return value ? (
return value !== null && value !== undefined ? (
<div className={classes.field} key={key}>
<div className={classes.fieldName}>{key}</div>
<div className={classes.fieldValue}>
Expand Down Expand Up @@ -156,7 +156,7 @@ export const Attributes: FunctionComponent<AttributeProps> = props => {

const SimpleValue = ({ name, value }: { name: string; value: any }) => {
const description = descriptions && descriptions[name]
return (
return value ? (
<div style={{ display: 'flex' }}>
{description ? (
<Tooltip title={description} placement="left">
Expand All @@ -167,7 +167,7 @@ export const Attributes: FunctionComponent<AttributeProps> = props => {
)}
<div className={classes.fieldValue}>{formatter(value)}</div>
</div>
)
) : null
}
const ArrayValue = ({ name, value }: { name: string; value: any[] }) => {
const description = descriptions && descriptions[name]
Expand Down
10 changes: 10 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## [1.0.1](https://github.com/GMOD/jbrowse-components/compare/v0.0.1-beta.11...v1.0.1) (2020-11-25)

### Reverts

- Revert "make rootModel setSession check and attempt to remove undefined MST references" ([c2c06d6](https://github.com/GMOD/jbrowse-components/commit/c2c06d6e18c60a09a4cdda15f53de1c3da7bc520))
- Revert "Bump @docusaurus alpha version" ([32b604a](https://github.com/GMOD/jbrowse-components/commit/32b604a1ef829f2d2e17fa3822184577ea951e69))
- Revert "Remove checkLocation from CLI base class" ([d399135](https://github.com/GMOD/jbrowse-components/commit/d399135e364d3553130c919bdfccbf17e14d6a9b))
- Revert "Allow touchscreen using pointer events (#1112)" the pointer ([404546e](https://github.com/GMOD/jbrowse-components/commit/404546e5a1c71510a90a777957d32cd2c8f71ed1)), closes [#1112](https://github.com/GMOD/jbrowse-components/issues/1112)
- Revert "Simplify command unzip (#1075)" ([9c0b975](https://github.com/GMOD/jbrowse-components/commit/9c0b97504b7a423a9c356ac3ffffc2754224c65a)), closes [#1075](https://github.com/GMOD/jbrowse-components/issues/1075)

# [1.0.0](https://github.com/GMOD/jbrowse-components/compare/v0.0.1-beta.11...v1.0.0) (2020-11-06)

### Reverts
Expand Down
87 changes: 46 additions & 41 deletions packages/core/assemblyManager/assembly.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ import jsonStableStringify from 'json-stable-stringify'
import { cast, getParent, IAnyType, types, Instance } from 'mobx-state-tree'
import AbortablePromiseCache from 'abortable-promise-cache'
import { readConfObject } from '../configuration'
import {
BaseRefNameAliasAdapter,
RegionsAdapter,
} from '../data_adapters/BaseAdapter'
import PluginManager from '../PluginManager'
import { Region } from '../util/types'
import { Region as MSTRegion } from '../util/types/mst'
import { makeAbortableReaction, when } from '../util'
Expand Down Expand Up @@ -62,7 +67,6 @@ async function loadRefNameMap(
},
{ timeout: 1000000 },
)

const refNameMap: Record<string, string> = {}
const { refNameAliases } = assembly
if (!refNameAliases) {
Expand Down Expand Up @@ -117,7 +121,10 @@ interface CacheData {
sessionId: string
options: BaseOptions
}
export default function assemblyFactory(assemblyConfigType: IAnyType) {
export default function assemblyFactory(
assemblyConfigType: IAnyType,
pluginManager: PluginManager,
) {
const adapterLoads = new AbortablePromiseCache({
cache: new QuickLRU({ maxSize: 1000 }),
async fill(
Expand Down Expand Up @@ -226,7 +233,7 @@ export default function assemblyFactory(assemblyConfigType: IAnyType) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
self as any,
// @ts-ignore
loadAssemblyData,
makeLoadAssemblyData(pluginManager),
loadAssemblyReaction,
{ name: `${self.name} assembly loading`, fireImmediately: true },
this.setLoading,
Expand Down Expand Up @@ -277,29 +284,28 @@ export default function assemblyFactory(assemblyConfigType: IAnyType) {
},
}))
}
function loadAssemblyData(self: Assembly) {
if (self.configuration) {
const sequenceAdapterConfig = readConfObject(self.configuration, [
'sequence',
'adapter',
])
const adapterConfigId = getAdapterId(sequenceAdapterConfig)
const { rpcManager } = getParent(self, 2)
const refNameAliasesAdapterConfig =
self.configuration.refNameAliases &&
readConfObject(self.configuration, ['refNameAliases', 'adapter'])
return {
sequenceAdapterConfig,
adapterConfigId,
rpcManager,
assemblyName: self.name,
refNameAliasesAdapterConfig,
function makeLoadAssemblyData(pluginManager: PluginManager) {
return (self: Assembly) => {
if (self.configuration) {
const sequenceAdapterConfig = readConfObject(self.configuration, [
'sequence',
'adapter',
])
const refNameAliasesAdapterConfig =
self.configuration.refNameAliases &&
readConfObject(self.configuration, ['refNameAliases', 'adapter'])
return {
sequenceAdapterConfig,
assemblyName: self.name,
refNameAliasesAdapterConfig,
pluginManager,
}
}
return undefined
}
return undefined
}
async function loadAssemblyReaction(
props: ReturnType<typeof loadAssemblyData> | undefined,
props: ReturnType<ReturnType<typeof makeLoadAssemblyData>> | undefined,
signal: AbortSignal,
) {
if (!props) {
Expand All @@ -308,36 +314,35 @@ async function loadAssemblyReaction(

const {
sequenceAdapterConfig,
rpcManager,
assemblyName,
refNameAliasesAdapterConfig,
pluginManager,
} = props

const sessionId = `assembly-${assemblyName}`
const adapterRegions = (await rpcManager.call(
sessionId,
'CoreGetRegions',
{ sessionId, adapterConfig: sequenceAdapterConfig, signal },
{ timeout: 1000000 },
)) as Region[]
const dataAdapterType = pluginManager.getAdapterType(
sequenceAdapterConfig.type,
)
const adapter = new dataAdapterType.AdapterClass(
sequenceAdapterConfig,
) as RegionsAdapter
const adapterRegions = (await adapter.getRegions({ signal })) as Region[]

const adapterRegionsWithAssembly = adapterRegions.map(adapterRegion => {
const { refName } = adapterRegion
checkRefName(refName)
return { ...adapterRegion, assemblyName }
})
const refNameAliases: RefNameAliases = {}
if (refNameAliasesAdapterConfig) {
const refNameAliasesAborter = new AbortController()
const refNameAliasesList = (await rpcManager.call(
sessionId,
'CoreGetRefNameAliases',
{
sessionId,
adapterConfig: refNameAliasesAdapterConfig,
signal: refNameAliasesAborter.signal,
},
{ timeout: 1000000 },
)) as {
const refAliasAdapterType = pluginManager.getAdapterType(
refNameAliasesAdapterConfig.type,
)
const refNameAliasAdapter = new refAliasAdapterType.AdapterClass(
refNameAliasesAdapterConfig,
) as BaseRefNameAliasAdapter
const refNameAliasesList = (await refNameAliasAdapter.getRefNameAliases({
signal,
})) as {
refName: string
aliases: string[]
}[]
Expand Down
Loading

0 comments on commit 39e1db4

Please sign in to comment.