feat: add configuration for configuration checks

Fixes #13
This commit is contained in:
Karl-Philipp Wulfert
2019-04-18 13:05:46 +02:00
parent 748cea493c
commit da2d7f6f91
6 changed files with 447 additions and 288 deletions

View File

@@ -5,9 +5,11 @@
[![license)](https://img.shields.io/npm/l/@openstapps/configuration.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![documentation](https://img.shields.io/badge/documentation-online-blue.svg?style=flat-square)](https://openstapps.gitlab.io/configuration)
A collection of configuration base files for StApps projects.
Checks your `@openstapps` project's configuration and automatically adjusts it to adhere to the suggested defaults.
Install it as a dev dependency in your project and it will automatically add a script in your `package.json` to execute it.
## Installation
Install it as a dev dependency in your project and it will check your configuration and add a script in your `package.json` to check the configuration again easily afterwards.
```shell
npm install --save-dev @openstapps/configuration
@@ -21,24 +23,6 @@ npm install -g @openstapps/configuration
openstapps-configuration --help
```
## Checked files
## Configuration
If your project's root contains a `tsconfig.json` or a `tslint.json` they will be checked if they contain the extension of the default configurations.
## Copied files
The following files are automatically copied to your project's root directory if they do not exist yet. Use `-r, --replace` to replace existing files.
| File | Purpose |
| --- | --- |
| `.editorconfig` | Configuration for your editor/IDE about basic settings for indentation and formatting |
| `.gitignore` | Configuration for Git about which files to ignore from versioning |
| `.npmignore` | Configuration for NPM about which files to exclude from packaging |
| `tsconfig.json` | Configuration for [TypeScript compiler](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) |
| `tslint.json` | Configuration for [TSLint](https://palantir.github.io/tslint/usage/configuration/) |
## Adjusted files
Your project's `package.json` will be examined to determine whether or not you have `nyc` installed in your `devDependencies`. If it is installed the recommended configuration for `nyc` will be added to your `package.json` if it does not exist.
A script called `check-configuration` will be added to your `package.json` to execute the configuration script manually again.
To configure how your project's configuration is checked add a property `"openstappsConfiguration"` to your `package.json` with all or some properties of the [configuration](https://openstapps.gitlab.io/configuration/interfaces/_src_common_.configuration.html);