Package Exports
- @bensjoberg/ts-standard
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@bensjoberg/ts-standard) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ts-standard
TypeScript Style Guide, with linter and automatic code fixer based on StandardJS
💾 Install
npm install ts-standard
⌨️ Basic Usage
ts-standard
Enable auto code fixing
ts-standard --fix
Note: A tsconfig.json
or similar project file is required. See
TSConfig
section below for more details
📜 Help
ts-standard - Standard for Typescript! (https://github.com/toddbluhm/ts-standard)
Usage:
ts-standard <flags> [FILES...]
If FILES is omitted, all JavaScript/Typescript source files (*.js, *.jsx, *.mjs, *.cjs, *.ts)
in the current working directory are checked, recursively.
Certain paths (node_modules/, coverage/, vendor/, *.min.js, bundle.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
-v, --verbose Show rule names for errors (to ignore specific rules)
--version Show current version
-h, --help Show usage information
Flags (advanced):
--stdin Read file text from stdin
--global Declare global variable
--plugin Use custom eslint plugin
--env Use custom eslint environment
--parser Use custom js parser (e.g. babel-eslint)
-p, --project Use custom tsconfig file to get type information
🧬 TSConfig: Linting with Type Information
By default ts-standard
will search the current working director (cwd) for the following in order
tsconfig.eslint.json
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.
{
"ts-standard": {
"project": "path/to/tsconfig.json"
}
}
🗑 Ignoring files and folders
You can ignore files and folders by either providing specific files/globs of the files you want linted
to ts-standard
when running the command or you can add an ignore
property to your package.json
ts-standard
configuration settings.
{
"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
.
🧙 Why
This utility was designed to be the standard
equivalent for typescript.
Underneath the hood, this utility uses the same standard-engine
and combines that engine with the official
eslint-config-standard-with-typescript
ruleset.
You can also choose to just use 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
for inspiration and some shared code and
to 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
checks for code errors and format according to ts-standardnpm test
make sure all tests passnpm run test-cover
make sure the coverage has not decreased from current master