Skip to content

This monorepo contains configuration and helper files to bootstrap TypeScript projects @ YOO. #styleguide #eslint #linting

Notifications You must be signed in to change notification settings

yoo-digital/typescript

Repository files navigation

YOO TypeScript

This monorepo contains configuration and helper files to bootstrap TypeScript projects @ YOO.

Introduction

This monorepo is a private repository. However, it contains packages that are publicly published to the npm registry. The published packages can be found in our npm organization here (@yoo-digital). We use lerna to reduce the burden of publishing the packages.

Goal

The goal of this repository is to improve the developer experience @ YOO, by offering a centralized repository containing files that are reused in the different projects. It should ensure that these projects follow a set of common and defined standards.

Motivation

Every developer can and should contribute to this repository. It should be in everyone's interest to improve the developer experience @ YOO. Amendments or changes can be introduced in our weekly guild meetings.

Overview

At the moment the following packages are maintained in this repository:

  • @yoo-digital/eslint-config-base: ESLint configuration file for TypeScript projects.
  • @yoo-digital/eslint-config-react: ESLint configuration extending from base for React projects.
  • @yoo-digital/eslint-config-angular: ESLint configuration extending from base for Angular projects.

Coding Guidelines

You can find our coding guidelines regarding TypeScript on our private Confluence page here. Amendments and changes to these guidelines can be proposed on a weekly basis. The configuration files and rules defined in the coding guidelines should be reflected in this repository.

Development

If changes or additions have to be made, this repository will have to be cloned.

git clone [email protected]:yooapps/yoo-digital-typescript.git

Make sure you have lerna cli available by installing the dependencies of this repository.

yarn install

Publishing and Versioning

As stated in the introduction, lerna is used to publish the packages. Each package is versioned independently. If changes are made to a package that is a dependant of other packages, the other packages have to be newly published as well. For example, changing definitions within eslint-config-base affects both eslint-config-react and eslint-config-angular as they depend on eslint-config-base.

Like every other project, we follow the principles of Git flow. Respective feature or bugfix branches are merged into develop after peer developers have accepted the pull request. The latest commit should always be on master, before publishing with lerna publish.

About

This monorepo contains configuration and helper files to bootstrap TypeScript projects @ YOO. #styleguide #eslint #linting

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •