npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ossy/resumes

v3.9.0

Published

Resumes feature package — create, view, and manage professional resumes with experience and profile sections

Readme

@ossy/resumes

Resumes feature package for the Ossy platform — provides resume creation, viewing, and management pages that are auto-discovered by @ossy/app when the package is installed.

What's included

Pages

| File | Page id | Default paths | |---|---|---| | home.page.jsx | resumes/home | /resumes (en + sv) | | Resume.page.jsx | resume | /resumes/:resumeId (en + sv) | | ResumeCreate.page.jsx | resumes/create | /resumes/create (en), /resumes/skapa (sv) | | Consulting.page.jsx | resumes/consulting | /resumes/consulting (en), /resumes/konsulting (sv) |

Components & hooks

| Export | Description | |---|---| | useResumes | Hook to list and create resume directories | | useResume | Hook to load a resume directory, linked profile resource, and experience documents | | Resumes | Grid of resume preview cards | | ResumesList | Authenticated list of resumes with loading/error states | | Resume | Full resume view with sidebar (profile via @ossy/profile) | | ResumeCreate | Form to create a new resume | | ResumeSidebar | Options sidebar — profile image, summary, experiences, remove | | Definition | Presentation metadata for store/sidebar (id, title, description, icon, status) — see ENTITLEMENTS.md | | cover | Marketing cover copy ({ title, text }) | | features | Marketing feature list |

Export

| Format | Module | Notes | |---|---|---| | PNG | download-resume-image.js | DOM capture of the A4 sheet | | PDF | download-resume-pdf.js | DOM capture embedded on an A4 PDF page | | Word (.docx) | download-resume-docx.js / build-resume-docx.js | Editable document from shaped profile + experiences |

Schemas

Resume content schemas live in src/*.schema.js and are auto-discovered at build time. Canonical ids are exported from schema-ids.js:

| Schema | Id | File | |--------|----|------| | Resume experience | @ossy/resumes/schema/resume-experience | resume-experience.schema.js |

Profile summary and image are stored as @ossy/profile/schema/profile documents (from @ossy/profile), not as a local resume-summary schema. Each resume directory holds one profile resource plus zero or more experience documents.

Experience descriptions (Markdown)

Experience Description is a richtext field authored as Markdown (lists, links, emphasis). ResumeExperience renders it with @ossy/design-system MarkdownViewer — the same pattern as tool docs (@ossy/tools). Plain text continues to work without Markdown syntax.

A dedicated Markdown resource type (instead of structured experiences) remains a possible follow-up; this package keeps the structured experience model and uses MD only for description bodies.

Data model

  • Resume directory — a folder resource under the resumes location (useResumes / useResume)
  • Profile@ossy/profile/schema/profile child document; image id stored on content.imageId
  • Experience@ossy/resumes/schema/resume-experience child documents

useResume returns { resume, profileId, profileResource, experiences, setProfileImage, createProfile, createExperience, remove }. The Resume page loads shaped profile data via useProfile(profileId).

Usage

npm install @ossy/resumes @ossy/profile @ossy/resources
npm run build

@ossy/app discovers the pages automatically by reading the "ossy": { "src": "./src" } field in this package's package.json.

TODOs / known cross-feature dependencies

ResourceFactory (high priority)

ModaUpdateResumeExperience originally imported ResourceFactory from website-ossy/src/resources/ResourceFactory.jsx. This is a complex component with many sub-dependencies (DocumentView, DocumentEdit, ImageResource, etc.).

Workaround: ModaUpdateResumeExperience now accepts an optional ResourceFactory prop. Pass the component from your app to restore full editing functionality:

import { ResourceFactory } from '../resources/ResourceFactory.jsx'
<ModaUpdateResumeExperience id={id} ResourceFactory={ResourceFactory} />

Long-term fix: Extract an @ossy/resources package.

SalesPage (medium priority)

home.page.jsx and Consulting.page.jsx originally showed a SalesPage for unauthenticated users from website-ossy/src/sales/Sales.page.jsx. The unauthenticated state currently shows a minimal placeholder.

Long-term fix: Extract an @ossy/sales package.

Peer dependencies

| Package | Version | |---|---| | @ossy/app | >=1.0.0 | | @ossy/connected-components | >=1.0.0 | | @ossy/design-system | >=1.0.0 | | @ossy/profile | >=1.0.0 | | @ossy/resources | >=1.0.0 | | @ossy/router-react | >=1.0.0 | | @ossy/sdk-react | >=1.0.0 | | ramda | >=0.29.0 | | react | >=19.0.0 <20.0.0 |