Skip to content

Conversation

dannon
Copy link
Member

@dannon dannon commented Jun 16, 2025

Very much a work in progress, but this PR modernizes the Galaxy visualizations
monorepo with automated publishing and improved development tooling.

Automated Publishing: Added GitHub Actions workflows that automatically publish
packages to npm when versions are updated on merge to main. Includes manual
publishing workflow and comprehensive testing for changed packages only.

Tooling Migration: Removed outdated Lerna and migrated to pnpm workspaces for
faster, more efficient dependency management. Updated all build/test commands
and achieved 29/40 packages building successfully.

Standardized Formatting: Added root-level Prettier configuration with
centralized settings and .prettierignore to protect package.json files from
formatting conflicts.

Enhanced Documentation: Updated README with comprehensive development setup,
repository structure, and publishing guidelines.

This provides a solid foundation for scaling the Galaxy visualizations
ecosystem with automated quality assurance and streamlined development
workflows.

dannon added 5 commits June 14, 2025 14:56
- Create workflow to detect version changes and publish to npm
- Add manual publishing workflow with dry-run support
- Include testing workflow for PRs and main branch
- All packages publish under @galaxyproject npm scope
- Add repository structure section showing package organization
- Include practical development setup instructions and commands
- Document npm publishing under @galaxyproject scope
- Add automated CI/CD workflow information
- Improve contributing guidelines with clear PR process
- Remove outdated references and add modern development workflow
- Replace yarn.lock with pnpm-lock.yaml and pnpm-workspace.yaml
- Update package.json scripts to use pnpm commands
- Set packageManager field to [email protected]
- Add workspace configuration excluding problematic packages
- Remove root yarn.lock in favor of pnpm lockfile

This provides faster installs, better dependency isolation, and
efficient disk usage for the 40+ package monorepo.
Copy link
Contributor

@davelopez davelopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is very helpful! Thank you!

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need version 18 here due to some limitation, or can we use a more recent one?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'd definitely prefer to bump this to a more recent version to match what Galaxy uses. I picked 18 conservatively for now since I haven't had a chance to fully test the publishing workflow without doing actual npm publishes.

Currently, I've excluded packages that failed during pnpm build:all to get the initial automation working, but the goal is to get all 40 packages building and publishing successfully. Once I figure out a good testing strategy (maybe using a local npm registry or dry-run publishes), I'll update the Node version and bring the remaining packages into the workflow.

@dannon dannon changed the title Automatic visualization publishing, package standardization and Automatic visualization publishing, package standardization and improved tooling Jun 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants