# feanor

> The tool for creating modern light static web sites.

Latest version **0.7.0** (published 2021-03-31) · MIT license · 0 weekly downloads

## Install

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

Provides the command `feanor`.

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.7.0 |
| Published | 2021-03-31 |
| First published | 2017-11-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 36.2 KB |
| Known vulnerabilities | 0 (+25 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Saionaro |
| Maintainers | saionaro |
| Keywords | static, sites |

## Links

- npm: https://www.npmjs.com/package/feanor
- Repository: https://github.com/Saionaro/feanor
- Issues: https://github.com/Saionaro/feanor/issues
- npm.io page: https://npm.io/package/feanor

## Dependencies (7)

- [axios](https://npm.io/package/axios.md) ^0.19.2
- [yargs](https://npm.io/package/yargs.md) ^15.4.1
- [nanoid](https://npm.io/package/nanoid.md) ^3.1.20
- [opener](https://npm.io/package/opener.md) ^1.5.2
- [mustache](https://npm.io/package/mustache.md) ^4.1.0
- [nanodelay](https://npm.io/package/nanodelay.md) ^1.0.6
- [cross-spawn](https://npm.io/package/cross-spawn.md) ^7.0.3

## Recent versions

- 0.7.0 (latest) — 2021-03-31
- 0.6.1 — 2021-03-04
- 0.6.0 — 2021-02-02
- 0.5.1 — 2020-10-06
- 0.5.0 — 2020-06-18
- 0.4.1 — 2020-06-14
- 0.4.0 — 2020-06-06
- 0.3.5 — 2020-05-30
- 0.3.4 — 2020-05-11
- 0.3.3 — 2020-05-11
- 0.3.2 — 2020-05-11
- 0.3.1 — 2020-05-11
- 0.3.0 — 2020-05-11
- 0.2.0 — 2020-04-25
- 0.1.0 — 2020-03-23
- … 7 more at https://npm.io/package/feanor/versions

## README

# Feanor [![Build Status](https://travis-ci.org/Saionaro/feanor.svg?branch=master)](https://travis-ci.org/Saionaro/feanor) [![npm version](https://badge.fury.io/js/feanor.svg)](https://badge.fury.io/js/feanor)

The tool for creating modern static web sites. Via the only command you get an environment ready for development.

## New Project Initialization

First of all install Feanor globally:

`yarn global add feanor`

Then just create new project with the command:
`feanor init myProjectName`

Also, the bizarre (and recommended) way of using Feanor is `npx`. In this case, you should not install something globally:

`npx feanor init myProjectName`

## Options

| Name        | Type        | Default value | Description                                                                                                           |
| ----------- | ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------- |
| `--less`    | `boolean`   | false         | Use [less](http://lesscss.org) in project.<br>Only one `--less` or `--sass` allowed to be used.                       |
| `--sass`    | `boolean`   | false         | Use [scss](https://sass-lang.com) in project.<br>Only one `--less` or `--sass` allowed to be used.                    |
| `--npm`     | `boolean`   | true          | Use NPM.<br>Only one `--npm` or `--yarn` allowed to be used.                                                          |
| `--yarn`    | `boolean[]` | false         | Use [Yarn](https://yarnpkg.com).<br>Only one `--npm` or `--yarn` allowed to be used.                                  |
| `--scripts` | `string[]`  | []            | Postinstall script ids splitted via whitespace to execute.<br>See **Post-install scripts** below for more information |

Example options usage:

`npx feanor init myProjectName --sass --yarn`

## Post-install Scripts

Feanor post-install scripts are normally just Github Gists with additional project contents including dependencies and scrips.

Post-install script Gists can contain two special files:

1. `deps.json` - NPM-packages list to install. Add suffix `:dev` to install things as dev dependencies.

```
["axios", "jsdom:dev"]
```

2. `scripts.json` - additional scripts for your `package json`.

```
{
  "optimize-images": "node ./scripts/optimizer.js"
}
```

Take a look [here](https://gist.github.com/Saionaro/a20915c22d3c8481c4a7c2e6b6a1faa3) for example.

All additional files will be downloaded in directory `scripts` in your project directory. In case of names conflict, Feanor'll add a random prefix.

Gist ID means a hash, wich normally follows after author's username. For example `a20915c22d3c8481c4a7c2e6b6a1faa3` is Gist ID in url below:

`https://gist.github.com/Saionaro/a20915c22d3c8481c4a7c2e6b6a1faa3`

You also can specify the exact gist revision after a slash symbol, like below:

`a20915c22d3c8481c4a7c2e6b6a1faa3/f11bd725edbbfe7f8b9d2776a4f9b036aaea310c`

**In the case of missing revision SHA, Feanor will use the latest revision. Beware this in case of an untrusted script provider.**

Below the example with postinstall scripts:

`npx feanor i project --sass --scripts a20915c22d3c8481c4a7c8e6b6a1faa3/f11bd725edbbfe7f8b9d2776a4f9b036aaea310c a20915c22dfcf481c3a7c2e6b6a1fna4`

In this example we tell Feanor to install exact revision for script and the the latest version for another script as well.

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