📄Conventions
A set of conventions (sometimes arbitrary) about how to write code for this project.
GIT convention.
Please don't commit your
package-lock.json
until & unless you are not adding a new package.Please create a new feature branch from
develop
not frommaster
, and also create a pull request todevelop
not tomaster
.
Naming convention.
Use camelCase for defining variable as
const
,let
.Use camelCase for
className
.Use camelCase for function and method names.
Use camelCase for property names and local variables.
Use PascalCase for defining name of
Component
& andfile
that holds that component.Use
ignitus-PascalCase
fordirectories
. e.g -ignitus-CoreTeam
.
Iconography convention.
Use SVG Icons defined in
ignitus-Icons
, if you don't find the icon you want to use download its SVG fromfont-awesome/Material-icons
, please don't forget to give them credits by leaving a comment in the file.Only use the Material Rounded Icons and don't add from any other outside websites. In case, you do not find that icon in the list, please ask the maintainer.
Types convention.
Please name Types in
PascalCase
. e.g - TypesTeamItemProps
is written inPascalCase
.Do not export
types
orfunctions
unless you need to share it across multiple components.Do not introduce new types or values to the
global namespace
.
Directory Structure convention. 📁
Strings convention.
Use 'single quotes' for strings.
Use
arrow functions
=> over anonymous function expressions.Always surround loop and conditional bodies with curly braces.
Readability & Formatting convention.
Please move all
relative imports
afterabsolute imports
.Please don't use
IDS
inhtml
tags.Please use semantic
classNames
that makes some sense about the content inside them.Please use
rem
everywhere instead ofem
,px
,vw
.Colours should be written in
hexadecimal
form and should be picked fromcolors.ts
, if it is not present there then create a newconst
for that color.Please avoid
inline-styles
.CSS properties should be ordered in alphabetical order.
If you get any err similarly to this Node
SASS
could not find a binding for your current environment, try switching node version tov8.16.2
.
Last updated