Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/standard/ts-standard
Typescript style guide, linter, and formatter using StandardJS
https://github.com/standard/ts-standard
code-fixer code-style eslint linter standard standardjs ts tslint typescript typescript-standard
Last synced: 3 months ago
JSON representation
Typescript style guide, linter, and formatter using StandardJS
- Host: GitHub
- URL: https://github.com/standard/ts-standard
- Owner: standard
- License: mit
- Created: 2019-08-30T01:51:43.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-16T07:30:11.000Z (about 1 year ago)
- Last Synced: 2024-07-22T21:56:06.795Z (3 months ago)
- Topics: code-fixer, code-style, eslint, linter, standard, standardjs, ts, tslint, typescript, typescript-standard
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/ts-standard
- Size: 193 KB
- Stars: 451
- Watchers: 3
- Forks: 36
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![Tests](https://github.com/standard/ts-standard/workflows/tests/badge.svg?branch=master)](https://github.com/standard/ts-standard/actions?query=workflow%3A%22tests%22)
[![npm](https://badgen.net/npm/v/ts-standard)](https://www.npmjs.com/package/ts-standard)
[![npm](https://badgen.net/npm/dm/ts-standard)](https://www.npmjs.com/package/ts-standard)
[![License](https://badgen.net/github/license/standard/ts-standard)](https://github.com/standard/ts-standard/blob/master/LICENSE)
[![TS-Standard - TypeScript Standard Style Guide](https://badgen.net/badge/code%20style/ts-standard/blue?icon=typescript)](https://github.com/standard/ts-standard)
[![Dependabot badge](https://badgen.net/github/dependabot/standard/ts-standard?icon=dependabot)](https://dependabot.com/)# ts-standard
TypeScript Style Guide, with linter and automatic code fixer based on [StandardJS](https://standardjs.com/)
## 💾 Install
`npm install --save-dev ts-standard`
## ⌨️ Basic Usage
```sh
ts-standard
```Enable auto code fixing
```sh
ts-standard --fix
```Note: A `tsconfig.json` or similar project file is required. See
**[TSConfig](https://github.com/standard/ts-standard#-tsconfig-linting-with-type-information)**
section below for more details## 📜 Help
```text
ts-standard - Standard for TypeScript! (https://github.com/standard/ts-standard)Usage:
ts-standard [FILES...]If FILES is omitted, all JavaScript/TypeScript source files (*.js, *.jsx, *.mjs, *.cjs, *.ts, *.tsx)
in the current working directory are checked, recursively.Certain paths (node_modules/, coverage/, vendor/, *.min.js, and
files/folders that begin with '.' like .git/) are automatically ignored.Paths in a project's root .gitignore file are also automatically ignored.
Flags:
--fix Automatically fix problems
-p, --project Specify ts-config location (default: ./tsconfig.eslint.json or ./tsconfig.json)
--version Show current version
-h, --help Show usage informationFlags (advanced):
--stdin Read file text from stdin
--ext Specify JavaScript/TypeScript file extensions
--global Declare global variable
--plugin Use custom eslint plugin
--env Use custom eslint environment
--parser Use custom ts/js parser (default: @typescript-eslint/parser)```
## 🧬 TSConfig: Linting with Type Information
By default `ts-standard` will search the current working director (cwd) for the following in order
1. `tsconfig.eslint.json`
2. `tsconfig.json`You can also manually configure the location of the `tsconfig` file by either passing the path to
the `--project` flag or adding a `ts-standard` configuration property to your `package.json` file.```json
{
"ts-standard": {
"project": "path/to/tsconfig.json"
}
}
```## 🗑 Ignoring files and folders
You can add an `ignore` property to your `package.json` `ts-standard` configuration settings.
```json
{
"ts-standard": {
"ignore": [
"dist",
"src/**/*.js"
]
}
}
```## 🚫 Please change X rule
This project has no control over the rules implemented, as such this project cannot change any of the
rules that have been configured. If you want to discuss the rules, please visit the rules configuration repo
[`eslint-config-standard-with-typescript`](https://github.com/standard/eslint-config-standard-with-typescript).## 🧙 Why
This utility was designed to be the [`standard`](https://github.com/standard/standard) equivalent for typescript.
Underneath the hood, this utility uses the same [`standard-engine`](https://github.com/standard/standard-engine)
and combines that engine with the official
[`eslint-config-standard-with-typescript`](https://github.com/standard/eslint-config-standard-with-typescript)
ruleset.You can also choose to just use [`eslint`](https://github.com/eslint/eslint) with the
`eslint-config-standard-with-typescript` shareable config instead and achieve the same results as
this project. But `ts-standard` saves you from having to manually install all the extra dependencies
and may reduce configuration overhead.## 🎉 Special Thanks
Special thanks to [`standard`](https://github.com/standard/standard) for inspiration and some shared code and
to [`eslint-config-standard-with-typescript`](https://github.com/standard/eslint-config-standard-with-typescript) for
creating a typescript specific standard.## 📋 Contributing Guide
I welcome all pull requests. Please make sure you add appropriate test cases for any features
added. Before opening a PR please make sure to run the following scripts:- `npm run lint:standard` checks for code errors and format according to [standard](https://github.com/standard/standard)
- `npm test` make sure all tests pass