Running the jsonresume-theme-professional theme locally
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?
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`
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.
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
- For theme compatibility issues with resume-cli: Report to the resume-cli repository
- For ESM/CommonJS compatibility: This is tracked in #152 and requires updates to the theme packages or CLI tools
- 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.
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
- Verify the claim: Does the theme actually work on the hosted registry (registry.jsonresume.org)?
- Check theme compatibility: Is
jsonresume-theme-professionalactually compatible withresume-cli/resumed? - 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.jsonfile (or a minimal example that reproduces the issue)? - What version of
resume-cliorresumedare 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.
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:
- You can view your resume locally by running the registry app from this repository
- 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.