GithubHelp home page GithubHelp logo

howdysuraj / angular-open-source-starter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tinkoff/angular-open-source-starter

0.0 0.0 0.0 1.25 MB

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.

License: Apache License 2.0

JavaScript 22.39% TypeScript 74.06% HTML 2.69% CSS 0.85%

angular-open-source-starter's Introduction

Angular Open-source Starter

Travis (.org)

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. Run npm run add [your-library-name] to create basic file structure

  3. Fill in projects/[your-library-name]/package.json metadata for your newly generated library

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

  5. Update LICENSE file according to your preferences

  6. Updated root package.json metadata to represent your project

  7. Code your library and create demo for it

Cool features

  1. 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": "npm run build:all && npm publish:all"

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

  2. This project has Angular Universal โ€” you can easily test your library with SSR and Prerender:

    npm run start:ssr or npm run start:prerender

  3. CI and code coverage are ready, configured to use Travis and Coveralls. Just authorize on Travis with your Github account and enable your repository and do the same on Coveralls. If you want to have more than one library in your workspace add COVERALLS_PARALLEL=true to Travis Environmental variables.

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

  5. 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/master/projects/demo
    
  6. You can add more libraries using the same npm run add command to create a whole Angular Workspace with multiple libraries. Versioning and publishing is configured that they are released simultaneously like Angular packages.

Angular 8

Don't need your library to support Angular 7 and below? Run following command to update packages for Angular 8+:

ng update @angular/cli @angular/compiler-cli @angular/core @nguniversal/common tsickle

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/TinkoffCreditSystems/angular-open-source-starter)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.