Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
9cef9c3
Use tsconfig references for non-src files
garrettjstevens Jan 28, 2026
e8ba331
Convert apollo-mst to esm
garrettjstevens Jan 29, 2026
a811f26
Convert apollo-schemas to esm
garrettjstevens Jan 29, 2026
5349336
Convert apollo-common to esm
garrettjstevens Jan 29, 2026
d8d9ed7
Convert apollo-shared to esm
garrettjstevens Jan 29, 2026
36bd834
Update esm settings for apollo-cli
garrettjstevens Jan 29, 2026
0a3d486
Convert apollo-collaboration-server to esm
garrettjstevens Jan 29, 2026
d9dc96c
Mark internal packages free from side effects
garrettjstevens Jan 30, 2026
cbecdef
Move rollup config into repo
garrettjstevens Jan 30, 2026
ef6aba0
Dep updates and various fixes
garrettjstevens Jan 30, 2026
b12e6e9
Use node 24 in CI
garrettjstevens Feb 2, 2026
653e4f8
Only build UMD for now
garrettjstevens Feb 2, 2026
c3a43c4
Update devcontainer
garrettjstevens Feb 2, 2026
964e713
Fix some TS errors
garrettjstevens Feb 2, 2026
c6a1613
Fix TS rollup config
garrettjstevens Feb 2, 2026
bbf0d6b
Pass feature instead of getting from model again
garrettjstevens Jan 20, 2026
900fb3d
Improve typing of JBrowse feature
garrettjstevens Jan 20, 2026
f22243b
Remove custom z-index that broke sub-menus
garrettjstevens Jan 20, 2026
68d533c
Get Jest tests working, remove unused tests
garrettjstevens Jan 27, 2026
d13abfc
Fix lint
garrettjstevens Feb 2, 2026
10a4f2d
Add missing TS project reference
garrettjstevens Feb 3, 2026
491fd77
Convert Cypress config to TS
garrettjstevens Feb 3, 2026
0f0d836
Update test runner node version that got missed
garrettjstevens Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
FROM mcr.microsoft.com/devcontainers/javascript-node:1-20-bullseye
FROM mcr.microsoft.com/devcontainers/javascript-node:24-bookworm

# Install MongoDB command line tools - though mongo-database-tools not available on arm64
ARG MONGO_TOOLS_VERSION=6.0
ARG MONGO_TOOLS_VERSION=8.0
RUN . /etc/os-release \
&& curl -sSL "https://www.mongodb.org/static/pgp/server-${MONGO_TOOLS_VERSION}.asc" | gpg --dearmor > /usr/share/keyrings/mongodb-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg] http://repo.mongodb.org/apt/debian ${VERSION_CODENAME}/mongodb-org/${MONGO_TOOLS_VERSION} main" | tee /etc/apt/sources.list.d/mongodb-org-${MONGO_TOOLS_VERSION}.list \
&& apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get install -y mongodb-mongosh \
&& if [ "$(dpkg --print-architecture)" = "amd64" ]; then apt-get install -y mongodb-database-tools; fi \
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
&& apt-get clean -y && rm -rf /var/lib/apt/lists/* \
&& mkdir -p /data/uploads \
&& chown -R ${USERNAME}:npm /data/uploads

# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ services:
dockerfile: Dockerfile
volumes:
- ../..:/workspaces:cached
- uploads:/data/uploads
environment:
FILE_UPLOAD_FOLDER: /data/uploads

# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
Expand All @@ -18,7 +21,7 @@ services:
# (Adding the "ports" property to this file will not forward from a Codespace.)

db:
image: mongo:latest
image: mongo:8
restart: unless-stopped
volumes:
- mongodb-data:/data/db
Expand All @@ -34,3 +37,4 @@ services:

volumes:
mongodb-data: null
uploads: null
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// https://github.com/devcontainers/templates/tree/main/src/javascript-node-mongo
{
"name": "Apollo",
"dockerComposeFile": "docker-compose.yml",
"dockerComposeFile": "compose.yml",
"service": "app",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cypress_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:
- name: Check out
uses: actions/checkout@v4

- name: Use Node.js 20.x
- name: Use Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: yarn

- name: Install
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ jobs:
steps:
- name: Check out
uses: actions/checkout@v4
- name: Use Node.js 20.x
- name: Use Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: yarn
- name: Install
if: inputs.environment == 'staging'
run: yarn --immutable
- name: Build plugin
if: inputs.environment == 'staging'
run: |
yarn build
JB_NPM=false yarn build
cp dist/jbrowse-plugin-apollo.umd.development.js dist/apollo.js
working-directory: packages/jbrowse-plugin-apollo
- name: Fetch plugin
Expand Down
30 changes: 23 additions & 7 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,35 @@ jobs:
steps:
- name: Check out
uses: actions/checkout@v4
- name: Use Node.js 20.x
- name: Use Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: yarn
- name: Install
run: yarn --immutable
# Have to build shared before linting so type-based lint rules can
# run correctly
# Have to build shared before linting so type-based lint rules can
# run correctly
- name: Build shared
run: yarn build
working-directory: packages/apollo-shared
- name: Lint codebase
run: yarn eslint --max-warnings 0
- name: Run Jest tests
run: yarn test

# apollo-shared tests
- name: Build shared
run: yarn build
working-directory: packages/apollo-shared
- name: Run apollo-shared tests
run: yarn run test:ci
working-directory: packages/apollo-shared

# jbrowse-plugin-apollo tests
- name: Run jbrowse-plugin-apollo tests
run: yarn run test:ci
working-directory: packages/jbrowse-plugin-apollo

# Cypress tests
- name: Get latest JBrowse
run: yarn run jbrowse create --nightly .jbrowse
working-directory: packages/jbrowse-plugin-apollo
Expand All @@ -43,13 +56,16 @@ jobs:
- name: Run Cypress tests
run: yarn run test:e2e
working-directory: packages/jbrowse-plugin-apollo

# CLI tests
- name: Start apollo
run: |
yarn --cwd packages/apollo-shared start &
yarn --cwd packages/apollo-collaboration-server test:cli:start &
- name: Run CLI tests
run: yarn test:cli
run: yarn run test:ci
working-directory: packages/apollo-cli

# - name: Run docker tests
# working-directory: packages/apollo-cli
# run: python3 ./src/test/test_docker.py
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,29 @@ jobs:
steps:
- name: Check out
uses: actions/checkout@v4
- name: Use Node.js 20.x
- name: Use Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: yarn
- name: Install
run: yarn --immutable
- name: Build collaboration server
run: yarn build
working-directory: packages/apollo-collaboration-server
- name: Build plugin
run: yarn build
run: JB_NPM=false yarn build
working-directory: packages/jbrowse-plugin-apollo
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4
- name: Use Node.js 20.x
- name: Use Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: yarn
- name: Install
run: yarn --immutable
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ jobs:
steps:
- name: Check out
uses: actions/checkout@v4
- name: Use Node.js 20.x
- name: Use Node.js 24.x
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: yarn
- name: Install
run: yarn --immutable
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/usr/bin/env sh
yarn node .husky/pre-commit.js
yarn node .husky/pre-commit.cjs
yarn lint-staged
File renamed without changes.
1 change: 1 addition & 0 deletions .prettierrc.lint-staged.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ const config = {
options: { parser: 'jsonc' },
},
],
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
plugins: [packagejson],
}

Expand Down
10 changes: 2 additions & 8 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,11 @@ export default [
pluginReact.configs.flat.recommended,
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
pluginJSXA11y.flatConfigs.recommended,
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
pluginCypress.configs.recommended,
{
languageOptions: {
globals: { ...globals.browser, ...globals.node },
parserOptions: {
projectService: {
allowDefaultProject: ['packages/jbrowse-plugin-apollo/*.js'],
},
defaultProject: 'tsconfig.json',
tsconfigRootDir: import.meta.dirname,
},
parserOptions: { projectService: true },
},
settings: { react: { version: 'detect' } },
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
Expand Down Expand Up @@ -122,6 +115,7 @@ export default [
'packages/website/src/**/*.{jsx,tsx}',
],
plugins: { 'react-hooks': pluginReactHooks },
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
rules: { ...pluginReactHooks.configs.recommended.rules },
},
// Don't enforce tsdoc syntax in JS files
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "apollo3",
"private": true,
"description": "Monorepo containing Apollo front and back end code",
"type": "module",
"workspaces": [
"packages/*"
],
Expand All @@ -19,7 +20,7 @@
"devDependencies": {
"@eslint/js": "^9.21.0",
"@types/cross-spawn": "^6.0.6",
"@types/node": "^20.19.15",
"@types/node": "^24.10.9",
"@types/semver": "^7",
"@types/yargs": "^17.0.32",
"@typescript-eslint/parser": "^8.25.0",
Expand Down
Loading