Utilities for PMC (PubMed Central) manuscript submissions. This monorepo contains packages for building, validating, and submitting PMC deposits.
- pmc-utils (
packages/web/) - Core utilities for PMC metadata and XML generation - pmc-node-utils (
packages/node/) - Node.js CLI and deposit building tools - pmc-ftp-service (
packages/ftp-service/) - SFTP service for PMC submissions
Run a faux web application using the pmc-web client code
npm install
npm run dev
Given a manifest use the CLI to create a deposit .tar.gz file
npm install
npm run dev
pmc build-deposit deposits/job/task-1234/manifest.json
This project uses changesets for version management and automated releases.
When making changes that should be released:
- Create a changeset: Run
npm run changeset:addand follow the prompts - Select packages: Choose which packages are affected by your changes
- Choose version type: Select patch, minor, or major version bump
- Write description: Provide a clear description of the changes
Releases are automated via GitHub Actions:
- Pull Requests: The CI checks for missing changesets
- Main Branch: Automated versioning and publishing when changesets are merged
- Manual Release: Run
npm run versionto create a version PR, thennpm run publishto publish
npm run changeset:add- Add a new changesetnpm run changeset:status- Check status of changesetsnpm run changeset:version- Create version PRnpm run publish- Publish packages to npm