Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lassjs/lass

:girl: Lass scaffolds a modern package boilerplate for Node.js
https://github.com/lassjs/lass

boilerplate framework module node npm package sao starter

Last synced: about 2 months ago
JSON representation

:girl: Lass scaffolds a modern package boilerplate for Node.js

Awesome Lists containing this project

README

        


Lass



chat
build status
code coverage
code style
styled with prettier
license
npm downloads



Lass scaffolds a modern package boilerplate for Node.js



A lass that fell in love with a lad
• Built by @niftylettuce
and contributors


:heart: Love this project? Support @niftylettuce's FOSS on Patreon or PayPal :unicorn:

## Table of Contents

* [Features](#features)
* [Requirements](#requirements)
* [Install](#install)
* [Usage](#usage)
* [Create a package](#create-a-package)
* [Test it](#test-it)
* [Tips](#tips)
* [Configuration](#configuration)
* [Version Bump and Release](#version-bump-and-release)
* [Related](#related)
* [Contributors](#contributors)
* [Trademark Notice](#trademark-notice)
* [License](#license)

## Features

* Unit testing with [ava][]
* Commit linting with [commitlint][]
* Linting with [xo][] (uses [eslint][] and [prettier][])
* Markdown Linting with [remark][]
* Automatic code formatting with [prettier][]
* Automatic `git init`
* Automatic `npm install` (or `yarn install` if selected)
* Automatic builds, tests, and code coverage uploading to [Codecov][] with [Travis-CI][]
* Includes git/editor configurations:
* [.gitignore](template/gitignore)
* [.gitattributes](template/.gitattributes)
* [.editorconfig](template/.editorconfig)
* Automatic markdown formatting and linting with [remark][]
* Adheres to GitHub flavored markdown standards
* Adds contributors section automatically with [remark-contributors][]
* Adjusts heading gaps automatically
* Adds a license block automatically with [remark-license][]
* Utilizes configurable presets with [remark-preset-github][]
* Highly configurable and remembers your defaults with [sao][]
* Test coverage with [nyc][]
* Automatically generated files with tailored defaults
* Readme with badges through [Shields.io][shields]
* Choose from (343) different licenses with [spdx-license-list][] (defaults to your npm default or MIT)
* Automatically inserts license year/name/email/website for MIT license if selected

## Requirements

Node.js v10+

## Install

[npm][]:

```sh
npm install -g lass
```

[yarn][]:

```sh
yarn global add lass
```

## Usage

### Create a package

```sh
lass new-package
cd new-package
```

### Test it

[npm][]:

```sh
npm test
```

[yarn][]:

```sh
yarn test
```

## Tips

### Configuration

You should configure [npm init defaults][npm-init-defaults] before using this package.

Run the following commands and replace the values below with your own:

```bash
npm config set init-author-email "[email protected]"
npm config set init-author-name "Nick Baugh"
npm config set init-author-url "http://niftylettuce.com"
npm config set init-license "MIT"
npm config set init-version "0.0.0"
```

These defaults get utilized by `lass` when scaffolding a package and `npm init` in general.

To check your existing configuration, run `npm config list -l`.

### Version Bump and Release

We highly recommend to use the tools [np][] and [release][] to version bump and release your package to GitHub and NPM.

## Related

* [lad][] - Scaffold a [Koa][] webapp and API framework for [Node.js][node]
* [lipo][] - Free image manipulation API service built on top of [Sharp][]
* [cabin][] - Logging and analytics solution for [Node.js][node], [Lad][], [Koa][], and [Express][]

## Contributors

| Name | Website |
| ------------------ | ------------------------------ |
| **Nick Baugh** | |
| **Pablo Varela** | |
| **Shaun Warman** | |
| **Imed Jaberi** | |
| **Spencer Snyder** | |

## Trademark Notice

Lass, Lad, Cabin, Lipo, and their respective logos are trademarks of Niftylettuce LLC.
These trademarks may not be reproduced, distributed, transmitted, or otherwise used, except with the prior written permission of Niftylettuce LLC.
If you are seeking permission to use these trademarks, then please [contact us](mailto:[email protected]).

## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com)

##

#

[eslint]: https://eslint.org/

[xo]: https://github.com/sindresorhus/xo

[codecov]: https://codecov.io

[travis-ci]: https://travis-ci.com

[ava]: https://github.com/avajs/ava

[prettier]: https://prettier.io/

[npm]: https://www.npmjs.com/

[yarn]: https://yarnpkg.com/

[remark]: https://github.com/wooorm/remark

[remark-contributors]: https://github.com/hughsk/remark-contributors

[lad]: https://lad.js.org

[node]: https://nodejs.org

[koa]: http://koajs.com/

[remark-license]: https://github.com/wooorm/remark-license

[remark-preset-github]: https://github.com/niftylettuce/remark-preset-github

[sao]: https://sao.js.org/#/

[nyc]: https://github.com/istanbuljs/nyc

[shields]: https://shields.io/

[spdx-license-list]: https://github.com/sindresorhus/spdx-license-list

[npm-init-defaults]: https://docs.npmjs.com/misc/config#init-author-name

[sharp]: http://sharp.dimens.io/

[lipo]: https://lipo.io

[cabin]: http://cabinjs.com

[express]: https://expressjs.com

[commitlint]: https://github.com/marionebl/commitlint

[np]: https://github.com/sindresorhus/np

[release]: https://github.com/zeit/release