1.0.0 • Published 4 years ago

ccl-base v1.0.0

Weekly downloads
3
License
ISC
Repository
github
Last release
4 years ago

Introduction:

This is a mono-repo project which has both Ginie app (built on top of react-native) , CCL (chart library as packages) and Docz (documentation of packages)

To add dependency at root level, run with -W. For example, see below
yarn add --dev -W prettier

Commit should be done via yarn commit. Don't use git commit

Development Setup Requirements

Prerequisites

  • XCode (Not applicable for windows OS)
  • Android Studio and standard setup for Android studio
  • yarn: We recommend to use yarn as package manager, as our lint-staged commands are using yarn.
  • lerna: For versioning packages
  • commitizen: To standardise commit workflow

Prerequisites for React-native in Mac (Android):

Add local.properties in android folder with below content

sdk.dir = /Users/username/Library/Android/sdk

Build commands

To run Ginie locally

  • Install Prerequisites as mentioned above.
  • Install the packages using : yarn
  • Install pod libraries for ios using: yarn pod
  • Start the application using : yarn ginie:start
  • In a parallel terminal, run the application using : yarn ginie:ios to run in iOS simulator or yarn ginie:android to run in android emulator.

To generate APK:

  • Install Prerequisites as mentioned above.
  • Install the packages using : yarn
  • Build the application using yarn ginie:android:bundle
  • The output of the file can be found in applications/ginieNative/android/app/build/outputs/apk/release/app-release.apk

To generate IPA:

  • Not yet defined

To run Docz locally

  • Install Prerequisites as mentioned above.
  • Install the packages using : yarn
  • Start the application using : yarn docz:start

To build docz

  • Install Prerequisites as mentioned above.
  • Install the packages using : yarn
  • Start the application using : yarn docz:build

To build/publish packages

  • Install Prerequisites as mentioned above.
  • Install the packages using : yarn
  • Start the application using : yarn publish:packages

Contributing

Linting

eslint rules are maintained as packages within this repository.

JavaScript files that aren't formatted by prettier will cause eslint to fail. You should either use an editor's prettier plugin to format your files when you save them, or run yarn prettier before committing your changes.

Lint errors MUST be fixed before a pull request will be accepted.

Git commit guidelines

This project follows conventional-commits for commiting code. Specifically, we follow a slight variation on the Angular commit conventions, so read that and become familiar. This enables us to automatically generate CHANGELOGs for each package, and calculate semver.

We use yarn commit instead of git commit. This uses the commitizen-cli with a custom adaptor to assist in writing the commit according to the correct structure.

The commit message structure is:

type(scope): summary

description

breaking

i.e.

fix(survey): update api endpoint for survey submit
Commit Summary Wording

When writing your commit summary:

  • Explain why, not how.
    • Bad: "use overflow-wrap and word-break"
    • Good: "prevent long URLs from overflowing"
  • Write in the imperative case.

If in doubt, try and complete the following sentence:

If applied, this commit will...

i.e.

  • Bad (how, not why): If applied, this commit will use overflow-wrap and word-break.
  • Bad (not imperitive): If applied, this commit will fix a bug causing long URLs to overflow.
  • Good: If applied, this commit will prevent long URLs from overflowing.

Editor

We recommend Visual Studio Code for the editor.