jsonresume.org icon indicating copy to clipboard operation
jsonresume.org copied to clipboard

Running the jsonresume-theme-professional theme locally

Open saeedesmaili opened this issue 11 months ago • 2 comments

I spent a few hours trying to run the jsonresume-theme-professional theme locally (via jsonresume-cli and resumed), with no success. Neither installing from npm nor copying the theme files and installing it locally worked. I get the following error when serving the resume locally after installing via npm install @jsonresume/jsonresume-theme-professional:

There was an error downloading your generated html resume from our server: Error: Method Not Allowed

Can someone guide on how this can be done?

saeedesmaili avatar Jan 14 '25 17:01 saeedesmaili

And when exporting, I get another error that I can't figure out how to fix it (the same command works fine with onepage-plus theme):

resume export --theme ./node_modules/jsonresume-theme-professional resume.pdf
or
resume export --theme ./node_modules/@jsonresume/jsonresume-theme-professional resume.pdf

both returns:

You have to install this theme relative to the folder to use it e.g. `npm install /Users/username/l/jsonresume/node_modules/jsonresume-theme-professional/index.js`

saeedesmaili avatar Jan 14 '25 19:01 saeedesmaili

Ive been dealing with a similar problem, but I think I managed to figure it out.

First it might help to reset your environment: npm ls -g --depth=0 is what helped me figure out what is installed.

Now, I have two folders, I have my folder with my json and I have my folder which has a theme it it:

/src/resume-json/
/src/jsonresume-theme-macchiato

Try this?

cd /src/jsonresume-theme-macchiato
npm install
npm link
cd /src/resume-json/
npm link jsonresume-theme-macchiato

# try it?
resume export --resume resume.json --format pdf --theme macchiato public/resume.pdf

Now I can make changes to jsonresume-theme-macchiato and when I rebuild the resume my expected changes are shown.

kornpow avatar Jan 29 '25 04:01 kornpow

Issue Analysis

This issue is related to third-party CLI tool compatibility (resume-cli and resumed), not a bug in the jsonresume.org registry website.

Root Cause

The themes in this repository use ESM (ES Modules) format, while older CLI tools like resume-cli expect CommonJS format. This is a known compatibility issue tracked in #152.

The Error "Method Not Allowed"

This error occurs because resume-cli attempts to connect to the registry API for theme rendering, which is not how the registry is designed to work. The registry is a web service that renders resumes in the browser, not an API for CLI tools.

Workaround

As @kornpow mentioned, you can use npm link to work with themes locally:

cd /path/to/theme
npm install
npm link
cd /path/to/your-resume
npm link theme-name
resume export --theme theme-name resume.pdf

Recommendations

  1. For theme compatibility issues with resume-cli: Report to the resume-cli repository
  2. For ESM/CommonJS compatibility: This is tracked in #152 and requires updates to the theme packages or CLI tools
  3. For using themes: The jsonresume.org registry website works perfectly with all themes - just use https://registry.jsonresume.org/username?theme=theme-name

Status

This is not a bug in the registry - the registry website works correctly. The issue is with third-party CLI tool compatibility. I'm keeping this open for visibility, but the fix needs to happen in either:

  • The CLI tools (to support ESM)
  • The theme packages (to provide dual ESM/CommonJS builds)
  • Or both

Note: The registry website itself has no issues rendering these themes.

thomasdavis avatar Oct 16 '25 15:10 thomasdavis

Analysis

This issue is about using jsonresume-theme-professional locally with resume-cli or resumed. The error "Method Not Allowed" suggests the CLI tools are trying to call a server endpoint that doesn't exist or isn't accessible.

Investigation Needed

  1. Verify the claim: Does the theme actually work on the hosted registry (registry.jsonresume.org)?
  2. Check theme compatibility: Is jsonresume-theme-professional actually compatible with resume-cli/resumed?
  3. ESM vs CommonJS: This might be related to #152 - the theme uses ESM modules which may not be compatible with CLI tools expecting CommonJS.

Questions

  • Can you share your resume.json file (or a minimal example that reproduces the issue)?
  • What version of resume-cli or resumed are you using?
  • Does the theme work correctly on https://registry.jsonresume.org?
  • Have you tried other themes locally? Do they work?

This appears to be a CLI tool compatibility issue, not a bug in this repository (jsonresume.org). The CLI tools (resume-cli, resumed) are separate projects maintained elsewhere. We publish ESM themes that work on the hosted registry, but we don't control how third-party CLI tools consume them.

Recommendation: This might be better reported to the CLI tool repositories:

  • https://github.com/jsonresume/resume-cli
  • https://github.com/rbardini/resumed

Or see issue #152 which discusses CommonJS vs ESM compatibility with CLI tools.

thomasdavis avatar Oct 16 '25 16:10 thomasdavis

Hi @saeedesmaili,

This issue is about jsonresume-cli and resumed, which are separate projects from this repository (jsonresume.org registry).

The error you're seeing ("Error: Method Not Allowed") suggests the CLI tools are trying to call a server endpoint that doesn't exist or isn't supported in the way they expect.

For support with resume-cli, please create an issue at:

  • https://github.com/jsonresume/resume-cli

For the themes in this repository (@jsonresume/jsonresume-theme-professional), they are designed to work with the registry at https://registry.jsonresume.org, not necessarily with the standalone CLI tools.

Workaround for local development:

  1. You can view your resume locally by running the registry app from this repository
  2. Or use the hosted version at https://registry.jsonresume.org/[your-github-username]

Closing this issue as it's not a bug in the jsonresume.org codebase. Please open issues in the appropriate repository for CLI-specific problems.

thomasdavis avatar Oct 16 '25 22:10 thomasdavis