1.0.18 • Published 2 years ago

@typeshield/stype v1.0.18

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

stype

Typeshield TypeScript Style

stype is TypeShield's tool for creating new code bases. It tries to tackle the problem of inconsistency between code bases in different TypeScript projects, and saves you time developing. How? TypeShield's stype provides a set of lint rules, a formatter, an automatic code fixer, and a bunch of other zero configuration tools that set you up to immediately start working on your project!

This tool is very opinionated. We recommend you use the default configuration, but if you need to customize compiler or linter config, you can.

Getting Started

To install stype globally, just run:

npm install -g @typeshield/stype

Then, any time you need a new TypeScript code base, you can initialize it by running:

stype init

Don't worry. stype will help you with every step of the process.

How it works

  • The stype init command creates a new opinionated code base. It runs eslint and prettier under the hood. For better readability and abstraction, this configuration is hidden from you, but you can also extend and customize it.
  • Opinionated tsconfig.json works similarly. It adds some of our favourite TypeScript style rules, so your code bases are consistent.
  • We also give you some scripts right away!:
    • start: Starts your compiled server in production
    • dev: Starts your server when developing. It also restarts when you make a change to your code.
    • lint: Lints and checks for formatting problems.
    • fix: Automatically fixes formatting and linting problems (if possible).
    • clean: Removes output files.
    • compile: Compiles the source code using TypeScript compiler.
    • pretest, posttest and prepare: convenience integrations.

Under the hood

Don't forget that we only use standard libraries for this to work. We do abstract some annoying parts of setting up the code base, but that doesn't mean you lose the robustness of the underlying tools! Try these commands in your stype codebase:

stype lint index.ts
stype lint one.ts two.ts three.ts
stype lint *.ts

Contributing

TypeShield is a community of TypeScript developers trying to provide standardization to what we do. If you have an idea or a proposition for how this tool should work, feel free to make a pull request!


Made with ❤️ by the TypeShield community. Enjoy!