• Stars
    star
    252
  • Rank 161,312 (Top 4 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This is a starter project for creating open-source libraries for Angular. It is a full fledged Angular workspace with demo application and easy library addition. It is designed to be used for open-sourcing libraries on Github and has everything you'd need ready for CI, code coverage, SSR testing, StackBlitz demo deployment and more.

Angular Open-source Starter

Deploy Unit tests codecov Demo

How to use

This is a starter project for creating open-source libraries for Angular. It is a full-fledged Angular workspace with demo application and easy library addition. It is designed to be used for open-sourcing libraries on GitHub and has everything you'd need ready for CI, code coverage, SSR testing, StackBlitz demo deployment and more.

  1. Run npm ci to install everything

  2. Use search to replace all mentions of angular-open-source-starter with your new library name (npmScope inside nx.json, matadata of the root package.json, root README.md etc.)

  3. Create basic file structure via Nx-generators:

    • nx g @nrwl/js:library [your-library-name] - create Typescript library. See available options.
    • nx g @nrwl/angular:library [your-library-name] - create Angular library. See available options.
  4. Fill in projects/[your-library-name]/package.json metadata for your newly generated library

  5. Add your email at [INSERT YOUR EMAIL HERE] in CODE_OF_CONDUCT.md

  6. Update LICENSE file according to your preferences

  7. Update root package.json metadata to represent your project

  8. Code your library and create demo for it

Cool features

  • Versioning is ready for you with following simple commands:
{
  "release": "standard-version",
  "release:patch": "npm run release -- --release-as patch",
  "release:minor": "npm run release -- --release-as minor",
  "release:major": "npm run release -- --release-as major",
  "publish": "nx run-many --target build --all --exclude=demo && nx run-many --target publish --all"
}

Just use Conventional Commits format and CHANGELOG.md will be automatically generated on releases by Standard Version.

  • This project has Angular Universal — you can easily test your library with SSR and Prerender:

    npm run serve:dev:ssr or npm run build:prerender && npm run serve:prerender

  • CI and code coverage are ready, GitHub Action checks that packages build, test and lint correctly. It also sends test results to Codecov.

  • Precommit checks, prettier, linter and all that jazz is there.

  • You can also deploy your demo to StackBlitz with no hustle, just use link in the following format:

       https://stackblitz.com/github/[User|Organization]/[Repository]/tree/main/projects/demo
    
  • You can add more libraries using the same Nx-generators to create a whole Angular Workspace with multiple libraries. Versioning and publishing is configured that they are released simultaneously like Angular packages.

Infrastructure

  • GitHub Actions
  • Node.js 16+, npm 8+
  • Angular 12+
  • TypeScript 4+
  • Prettier 2.6+
  • Stylelint 14+
  • ESLint 7+
  • Husky 7+
  • Cypress 10+
  • Jest 27+
  • Nx 13+

Badge

Show that your project is based off of our starter

angular-open-source-starter

[![angular-open-source-starter](https://img.shields.io/badge/made%20with-angular--open--source--starter-d81676?logo=angular)](https://github.com/Tinkoff/angular-open-source-starter)

More Repositories

1

taiga-ui

Angular UI Kit and components library for awesome people
TypeScript
2,658
star
2

career

Информация о внутренней кухне Тинькофф, включая подготовку к собеседованию
745
star
3

ng-web-apis

A set of common utils for consuming Web APIs with Angular
TypeScript
609
star
4

invest-openapi

Документация для Тинькофф Инвестиции OpenApi
HTML
457
star
5

investAPI

HTML
393
star
6

ng-polymorpheus

Polymorpheus is a tiny library for polymorphic templates in Angular.
TypeScript
335
star
7

invest-python

Tinkoff Invest Python gRPC client
Python
309
star
8

maskito

Collection of libraries to create an input mask which ensures that user types value according to predefined format.
TypeScript
270
star
9

ng-event-plugins

This is an Angular library for optimizing performance sensitive events and declarative preventDefault, stopPropagation and capture phase listeners.
TypeScript
233
star
10

tramvai

A modular framework for universal JS applications
TypeScript
230
star
11

invest-openapi-js-sdk

TypeScript
211
star
12

utils.js

Fast, small and purely functional utility library
TypeScript
179
star
13

invest-openapi-java-sdk

Java
167
star
14

kora

Java
167
star
15

invest-openapi-go-sdk

Go
153
star
16

Nginx-builder

A tool to build deb or rpm package of required Nginx version from the source code, with the ability to connect third-party modules. Nginx parameters are set in the yaml configuration file.
Python
153
star
17

invest-robot-contest

Конкурс разработчиков торговых роботов на API Тинькофф Инвестиций
144
star
18

ng-morph

Code mutations in your project or schematics were never easier than now.
TypeScript
124
star
19

linters

Tinkoff ESlint, Stylelint and Prettier linter configurations
JavaScript
124
star
20

micro-sentry

Tiny Sentry client with idiomatic wrapper for Angular
TypeScript
117
star
21

libvirt-exporter

Prometheus metrics exporter for libvirt.
Go
105
star
22

invest-openapi-csharp-sdk

C#
100
star
23

microzord

Simple and powerful Micro Frontends framework
TypeScript
93
star
24

phobos

Efficient and expressive XML data-binding library for Scala
Scala
91
star
25

stapp

Modular state and side-effects management for microfrontends
TypeScript
90
star
26

jira-helper

Jira Helper - adds visual elements for swimlanes, a button for adding a task description template.
JavaScript
87
star
27

ng-dompurify

Inclusive Angular API for DOMPurify
TypeScript
85
star
28

invest-api-java-sdk

Tinkoff Invest API Java SDK
Java
74
star
29

overhave

Web-framework for BDD: scalable, configurable, easy to use, based on Flask Admin and Pydantic.
JavaScript
71
star
30

gatling-kafka-plugin

Plugin for support Kafka in Gatling
Scala
62
star
31

tinkoff-request

Modular lightweight request library extendable by plugins.
TypeScript
60
star
32

Horarium

Horarium is the .Net library to manage background jobs
C#
56
star
33

voicekit-examples

Examples on how to use Tinkoff Voicekit
C#
55
star
34

mockingbird

Flexible mock server
Scala
55
star
35

invest-api-csharp-sdk

C#
51
star
36

data-detective

Data catalog for everything in your company
Python
50
star
37

QVisual

Tinkoff tool to control quality by visual testing
Java
48
star
38

angular-contenteditable-accessor

This accessor allows you to use Angular forms with contenteditable elements with ease. It has zero dependencies, other than Angular itself as peer and works with Angular 4+ in all modern browsers, including Internet Explorer 11
TypeScript
46
star
39

eclair

Java Spring library for declarative logging
Java
41
star
40

invest-api-go-sdk

SDK для работы с API Тинькофф Инвестиций
Go
41
star
41

aerospike-scala

Typesafe DSL for work with Aerospike Database
Scala
40
star
42

perfectum

A set of tools for working with project performance
TypeScript
40
star
43

cachalot

Cache manager for nodejs with support different cache strategies
TypeScript
39
star
44

gatling-picatinny

Library with a bunch of usefull functions that extend Gatling DSL and make your performance better
Scala
37
star
45

muffin

Mattermost API v4 Client for Scala
Scala
36
star
46

shared-library-webpack-plugin

Webpack plugin for library sharing at runtime between applications
TypeScript
36
star
47

asterisk-voicekit-modules

Non-blocking Asterisk modules for accessing VoiceKit services for speech recognition and speech synthesis.
Shell
35
star
48

dm-knowledgebase

База знаний профессии Деливери менеджер https://tinkoff.github.io/dm-knowledgebase/
JavaScript
34
star
49

go-course-for-students

HTML
33
star
50

gatling-amqp-plugin

Plugin for support performance testing with AMQP in Gatling (3.7.x)
Scala
33
star
51

camunda-delegator-lib

This project provides declarative camunda delegates for Spring based application
Kotlin
32
star
52

Allure.XUnit

Allure.XUnit is a library for displaying xunit .NET Core and .NET 5 tests in Allure reports.
C#
30
star
53

neptune

Test automation framework
Java
29
star
54

gradle-jarjar

Plugin for gradle which allows you to repackage jar-libraries with different package names using JarJar tool
Groovy
28
star
55

pvm

TypeScript
28
star
56

sage-community

Shell
28
star
57

react-styling-hoc

Механизм темизации для React-компонентов, написанных с использованием CSS модулей.
JavaScript
26
star
58

react-render-logger

Simple util for log component updates
JavaScript
24
star
59

uconfig

Lightweight, header-only, C++17 configuration library
C++
22
star
60

react-lazy-hydration-render

TypeScript
22
star
61

stream-client

Lightweight, header-only, Boost-based socket pool library
C++
22
star
62

gatling-template.g8

A Giter8 template for gatling performance test project
Scala
22
star
63

gatling-jdbc-plugin

Simple gatling plugin for JDBC
Scala
21
star
64

argus

GitHub App for screenshots tests in CI
TypeScript
18
star
65

invest-js

TypeScript
18
star
66

ScalaDatabase

Scala Database wrapper based on JDBC
Scala
17
star
67

navigation-skeleton

This component allows you to show skeletons of pages during navigation process.
TypeScript
17
star
68

Ogam3

Data transfer protocol based on a lightweight implementation of Scheme programming language written on C# for .NET enterprise development.
C#
14
star
69

ISA

Information Search Assistant
C#
13
star
70

voicekit_client_python

Tinkoff Voicekit Python client
Python
12
star
71

checkinx-utils

DB execution plan asserts
Kotlin
11
star
72

swagger-types-generator

generate typescript types using a swagger schema
TypeScript
11
star
73

oolong

Oolong - compile-time query generation for document stores
Scala
10
star
74

uri-template

URI Templates expansion and reverse-matching for C++
C++
9
star
75

server-request-timer

A library for analyzing request execution
TypeScript
9
star
76

tui-editor

Rich text editor extension with related Taiga UI components https://tinkoff.github.io/tui-editor
TypeScript
7
star
77

mbclient

Message Broker Client/Server
TypeScript
6
star
78

tui-ngrx-forms-adapter

TypeScript
6
star
79

deimos

Scala
6
star
80

business-openapi

Репозиторий для обратной связи по Tinkoff Business OpenApi
6
star
81

tinkoff-id

HTML
5
star
82

cassandra-ansible-role

Cassandra ansible role with custom libs, backups, and other things
Jinja
3
star
83

tokenizer

TypeScript
3
star
84

sbt-schema-registry-plugin

Sbt plugin for download schemas from schema registry
Scala
3
star
85

tinkoff-asdk-windows

Tinkoff Acquiring SDK for Windows
C#
3
star
86

gatling-samples

Samples gatling scripts with plugins
Scala
3
star
87

receipt2vec

Tool for feature extracting from receipts from Russian stores
Python
3
star
88

AllurePlugin.emceeplugin

Swift
2
star
89

dolyamesdk-ios

Dolyame SDK for iOS
HTML
2
star
90

api_asdk

Interactive API documentation on reDOC for Acquiring SDK
HTML
2
star
91

react-pixi-racing-game

TypeScript
2
star
92

logrus-sage-formatter

Go
1
star
93

tinkoff.github.io

JavaScript
1
star
94

github-analytics

An application to see various charts and stats on GitHub repositories
TypeScript
1
star
95

slack-pr-bot

C#
1
star
96

xk6-output-error

A k6 extension for add more information into StdErr
Go
1
star
97

voicekit-docs

1
star