Skip to content

Commit

Permalink
chore!: publish 0.2.0 πŸŽ‰
Browse files Browse the repository at this point in the history
  • Loading branch information
ifiokjr committed Jun 28, 2022
1 parent 619ae6c commit 0b8a0c8
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 4 deletions.
24 changes: 22 additions & 2 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,36 @@
# Changelog

## Unreleased
## 0.2.0

### πŸ’₯ Breaking

- `--cache` has been renamed to `--cache-dir` and can be used to set a custom cache directory.
- Remove ~~`--log-level`~~ flag Use `--debug` instead to get debug logging.

### ✨ Features

- `https://deno.land/x/scaffold/scaffold.ts` is now the entry point for installing the CLI. All documentation has been updated to reflect this.
- Add new commands, `upgrade`, `help`, `completions` and `alias`.
-

Setting up an alias can be done in the following way:

```bash
scaffold alias deno ifiokjr/templates/deno
```

Now you can use the `deno` alias to scaffold a project.

```bash
scaffold deno my-project
```

You can now upgrade the scaffold command to the latest version. You will also be prompted to upgrade the scaffold if a new version is available.

```bash
scaffold upgrade
```

- Add support for `--cache-only` which allows you to only use the cache and not download anything.

## 0.1.1 - [2022-06-24]

Expand Down
36 changes: 35 additions & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,42 @@

<br />

> scaffold project templates with deno
> scaffold your next project with style and πŸ’—
<br />

![Scaffold Cli Output!](./assets/example.svg "Scaffold Cli Output")

<br />

<a href="https://github.com/ifiokjr/scaffold/actions?query=workflow:ci">
<img src="https://github.com/ifiokjr/scaffold/workflows/ci/badge.svg?branch=main" alt="Continuous integration badge for github actions" title="CI Badge" />
</a>

<br />

## Why?

<br />

Ideas come to us all the time. Often it's the small ideas that lead to impactful projects, but sadly it's the small ideas that are dismissed too early. One of the greatest tools in a developers arsenal can hold is the ability to quickly test an idea, iterate on the concept, and ship it to the world. `scaffold` is designed to make you more effective at testing your small ideas. Start your next project using any public repository and quickly test your initial hypothesis in a short amount of time.

<br />

## Advantages

<br />

Scaffold is fast, lightweight and allows for full customization of the bootstrapped project via the `scaffold.config.ts`. Add this configuration file to the root of the project to prompt users for information about the project, e.g. do they prefer javascript or typescript, do they want to use a different build tool, etc. Their responses are stored and can be used to customise the project. Answers are also provided as template variables to the files in the project using the [`eta`](https://github.com/eta-dev/eta) template engine.

Another key advantage of `scaffold` as a project bootstrapping tool for your next project, is that it takes advantage of the `deno` worker runtime sandbox. This means that every remote template you install, needs to request express permissions the first time it's run. Once the permissions are granted then it should be able to run in the future without issues. This is a great feature of deno and part of the reason why `scaffold` was created.

<br />

## Installation

<br />

You should have `deno` installed on your system. Follow the instructions outlined [here](https://deno.land/x/install/).

#### Shell (macOS / Linux)
Expand All @@ -44,6 +64,8 @@ If you prefer to avoid the installation step then you can directly run the comma
deno run --unstable -A https://deno.land/x/scaffold/scaffold.ts <repository> <projectName>
```

<br />

## Usage

Scaffolding a project will download it from the remote repository in to the directory specified. The default when the `username/repo` pattern is used is to download from GitHub.
Expand Down Expand Up @@ -106,8 +128,12 @@ Examples:
The first time a repo is scaffolded, it will be cloned to the cache directory.
<br />
## Templates
<br />
`eta` is the template engine used in `scaffold`. Any file that is ends with the `.template` extension will be processed by `eta`.
Variables can be referenced in the template using the `<%= it.name %>` syntax. `it` is used to referenced the data passed from the `scaffold.config.ts` `getVariables` method.
Expand All @@ -116,12 +142,20 @@ File names can use an alternate platform independent syntax. For example, `[[it.
`eta` has a whole host of features which you can learn about [here](https://eta.js.org/docs/syntax#syntax-overview).
<br />
## API
<br />
<!--TEMPLATE: a.b-->Coming soon!<!--/TEMPLATE: a.b-->
<br />
## Gratitude
<br />
- This project was heavily influenced by [`degit`](https://github.com/Rich-Harris/degit) by **[@Rish-Harris](https://github.com/Rich-Harris)**.
- Special thanks to [`deno`](https://github.com/denoland/deno) for creating an elegant runtime for TypeScript development. It's been a joy to use.
- Thanks [@dsherret](https://github.com/dsherret) for creating [`dprint`](https://github.com/dprint/dprint), a blazing fast formatter that I'm falling in love with.
Expand Down
2 changes: 1 addition & 1 deletion src/constants.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* The version of the CLI.
*/
export const VERSION = /* ={version} */ "0.1.1" /* {/version} */;
export const VERSION = /* ={version} */ "0.2.0" /* {/version} */;

export const SUPPORTED_EXTENSIONS = [
".ts",
Expand Down

0 comments on commit 0b8a0c8

Please sign in to comment.