@decaf-ts/styles
Version:
template for ts projects
112 lines (70 loc) • 5.67 kB
Markdown

## Typescript Template
This repository is meant to provide an enterprise template for any standard Typescript project



[](https://github.com/decaf-ts/ts-workspace/actions/workflows/nodejs-build-prod.yaml)
[](https://github.com/decaf-ts/ts-workspace/actions/workflows/codeql-analysis.yml)[](https://github.com/decaf-ts/ts-workspace/actions/workflows/snyk-analysis.yaml)
[](https://github.com/decaf-ts/ts-workspace/actions/workflows/pages.yaml)
[](https://github.com/decaf-ts/ts-workspace/actions/workflows/release-on-tag.yaml)









Documentation available [here](https://decaf-ts.github.io/ts-workspace/)
### Description
No one needs the hassle of setting up new repos every time.
Now you can create new repositories from this template and enjoy having everything set up for you.
### How to Use
- [Initial Setup](./tutorials/For%20Developers.md#_initial-setup_)
- [Installation](./tutorials/For%20Developers.md#installation)
- [Scripts](./tutorials/For%20Developers.md#scripts)
- [Linting](./tutorials/For%20Developers.md#testing)
- [CI/CD](./tutorials/For%20Developers.md#continuous-integrationdeployment)
- [Publishing](./tutorials/For%20Developers.md#publishing)
- [Structure](./tutorials/For%20Developers.md#repository-structure)
- [IDE Integrations](./tutorials/For%20Developers.md#ide-integrations)
- [VSCode(ium)](./tutorials/For%20Developers.md#visual-studio-code-vscode)
- [WebStorm](./tutorials/For%20Developers.md#webstorm)
- [Considerations](./tutorials/For%20Developers.md#considerations)
## Coding Principles
- group similar functionality in folders (analog to namespaces but without any namespace declaration)
- one class per file;
- one interface per file (unless interface is just used as a type);
- group types as other interfaces in a types.ts file per folder;
- group constants or enums in a constants.ts file per folder;
- group decorators in a decorators.ts file per folder;
- always import from the specific file, never from a folder or index file (exceptions for dependencies on other packages);
- prefer the usage of established design patters where applicable:
- Singleton (can be an anti-pattern. use with care);
- factory;
- observer;
- strategy;
- builder;
- etc;
### Related
[](https://github.com/decaf-ts/ts-workspace)
### Social
[](https://www.linkedin.com/in/decaf-ts/)
#### Languages




## Getting help
If you have bug reports, questions or suggestions please [create a new issue](https://github.com/decaf-ts/ts-workspace/issues/new/choose).
## Contributing
I am grateful for any contributions made to this project. Please read [this](./workdocs/98-Contributing.md) to get started.
## Supporting
The first and easiest way you can support it is by [Contributing](./workdocs/98-Contributing.md). Even just finding a typo in the documentation is important.
Financial support is always welcome and helps keep both me and the project alive and healthy.
So if you can, if this project in any way. either by learning something or simply by helping you save precious time, please consider donating.
## License
This project is released under the [MIT License](./LICENSE.md).
By developers, for developers...