# jamify

> Help porting websites to a modern stack

Latest version **1.0.1** (published 2020-07-28) · GPL-2.0 license · 0 weekly downloads

## Install

```sh
npm install jamify
pnpm add jamify
yarn add jamify
bun add jamify
```

Provides the command `jamify`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2020-07-28 |
| First published | 2020-07-28 |
| Weekly downloads | 0 |
| License | GPL-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 18 |
| Unpacked size | 856.1 KB |
| Known vulnerabilities | 0 (+3 in 3 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Maximilian Torggler |
| Maintainers | scriptify |

## Links

- npm: https://www.npmjs.com/package/jamify
- Repository: https://github.com/jamthemes/jamify-cli
- Homepage: https://github.com/jamthemes/jamify-cli#readme
- Issues: https://github.com/jamthemes/jamify-cli/issues
- npm.io page: https://npm.io/package/jamify

## Dependencies (18)

- [del](https://npm.io/package/del.md) ^5.1.0
- [ncp](https://npm.io/package/ncp.md) ^2.0.0
- [uuid](https://npm.io/package/uuid.md) ^7.0.2
- [jsdom](https://npm.io/package/jsdom.md) ^16.2.0
- [yargs](https://npm.io/package/yargs.md) ^15.3.1
- [dotenv](https://npm.io/package/dotenv.md) ^8.2.0
- [adm-zip](https://npm.io/package/adm-zip.md) ^0.4.14
- [aws-sdk](https://npm.io/package/aws-sdk.md) ^2.674.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^8.1.0
- [urltools](https://npm.io/package/urltools.md) ^0.4.1
- [deepmerge](https://npm.io/package/deepmerge.md) ^4.2.2
- [react-dom](https://npm.io/package/react-dom.md) ^15.4.1
- [assetgraph](https://npm.io/package/assetgraph.md) ^6.0.5
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.8.7
- [recursive-readdir](https://npm.io/package/recursive-readdir.md) ^2.2.2
- [jsdom-no-contextify](https://npm.io/package/jsdom-no-contextify.md) ^3.1.0
- [@babel/plugin-syntax-jsx](https://npm.io/package/@babel/plugin-syntax-jsx.md) ^7.8.3
- [@babel/plugin-transform-react-jsx](https://npm.io/package/@babel/plugin-transform-react-jsx.md) ^7.8.3

## Recent versions

- 1.0.1 (latest) — 2020-07-28
- 1.0.0 — 2020-07-28

## README

# Jamify - The ultimate Gatsby.js website converter

(this tool was extracted from a bigger monorepo, we finally had time to open source it!)

## What it is

Jamify let's you convert any website to a working Jamstack website by compiling it.
Currently, only **Gatsby.js** is supported as a compile target. Thanks to Jamify, you can convert _mostly_ every existing website to Gatsby with ease. Going from Gatsby.js to Next.js isn't that difficult after that.

You can also jump straight to [The Ultimate Template Porting Guide](https://www.notion.so/The-Ultimate-Template-Porting-Guide-1935e0b7824f4f42a4efa8b1ad89ead1)

## Showcase

Here's an example of a website we converted to Gatsby.js using the steps as documented in The Ultimate Template Porting Guide.

- Original site: [Source](https://www.bootstrapdash.com/product/marshmallow/) | [Live Demo](https://www.bootstrapdash.com/demo/marshmallow/)
- Gatsby.js starter: [Source](https://github.com/jamthemes/gatsby-starter-marshmallow) | [Live Demo](https://www.bootstrapdash.com/demo/marshmallow/)
- Next.js starter: [Source](https://www.bootstrapdash.com/product/marshmallow/) | [Live Demo](https://next-starter-marshmallow-showcase.vercel.app/)

## Usage

Try it out yourself now! Just like that:

```bash
npm i -g jamify # or "yarn add -g jamify"
jamify gatsby --urls https://html5up.net/uploads/demos/paradigm-shift/ -o ./new-gatsby-site
```

This will convert the website located at "https://html5up.net/uploads/demos/paradigm-shift/" to a Gatsby.js project.

Now, let's start the Gatsby development server:

```bash
cd new-gatsby-site
npm i
gatsby develop
```

For more options, type `jamify --help`

**This is only the start of the journey.** For most sites, you will have a fully functioning Gatsby site now, but there are still some manual steps which need to be performed to reach an acceptable quality.
Here you can find a somewhat extensive guide for porting website templates to Gatsby.js using Jamify:

[The Ultimate Template Porting Guide](https://www.notion.so/The-Ultimate-Template-Porting-Guide-1935e0b7824f4f42a4efa8b1ad89ead1)

The document is editable, so you can add your findings too!

## For maintainers

When developing Jamify, first create a `.env` file in the root of your project:

```
DEV_COMMAND=gatsby -u http://localhost:8080 -r -o ./out
```

The `DEV_COMMAND` variable is the current command you want to simulate.

Now run `npm run dev`

Live-reload is enabled thanks to Nodemon.

### Commit Standard

Please use the [commitizen CLI](https://github.com/commitizen/cz-cli) to create commit messages

---
_Source: https://npm.io/package/jamify · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
