You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're really glad you're reading this, because we need volunteer developers to help this project come to fruition. 👏
3
+
[First please read and abide by the Code of Conduct](CODE_OF_CONDUCT.md).
4
4
5
-
## Instructions
5
+
## Environment
6
6
7
-
These steps will guide you through contributing to this project:
8
-
9
-
- Fork the repo
10
-
- Clone it and install dependencies
11
-
- Setup test env
7
+
Everything you need is a stable version of Node.JS (v8+) and Docker.
12
8
13
9
Running tests for this module requires running an etcd3 server locally. The tests try to use the default port initially, and you can configure this by setting the ETCD_ADDR environment variable, like export ETCD_ADDR=localhost:12345.
14
10
@@ -18,4 +14,91 @@ There is a Docker image ready to use, which can be easily build with:
18
14
npm run docker
19
15
```
20
16
21
-
Finally send a [GitHub Pull Request](https://github.com/alexjoverm/typescript-library-starter/compare?expand=1) with a clear list of what you've done (read more [about pull requests](https://help.github.com/articles/about-pull-requests/)). Make sure all of your commits are atomic (one feature per commit).
17
+
## Coding Style Guidelines
18
+
19
+
The source code is written in [TypeScript](http://www.typescriptlang.org/) using strict compilation mode and all the ES2017 features. We are following the [TSLint](https://github.com/palantir/tslint) and [Editorconfig](http://editorconfig.org/) rules listed at their config files. We strongly recommend to use a code editor with good support for these tools (we recommend [VSCode](https://code.visualstudio.com/)), so that it is easy to integrate new code into our code base.
20
+
21
+
## First Run
22
+
23
+
After cloning the project and installing the dependencies with `npm install` you should be able start coding.
24
+
25
+
You can double check if the local environment is fully working by running the tests with `npm test` and building the project with `npm run build`.
26
+
27
+
## Main Development Commands
28
+
29
+
Execute unit tests and check coverage:
30
+
31
+
-`npm test`
32
+
33
+
Execute unit tests in watch mode for TDD purposes:
34
+
35
+
-`npm run test:watch`
36
+
37
+
Lint Typescript code:
38
+
39
+
-`npm run lint`
40
+
41
+
Commit convention helper (see related topic below):
42
+
43
+
-`npm run commit`
44
+
45
+
Build the project locally:
46
+
47
+
-`npm run build`
48
+
49
+
## Commit Message Format
50
+
51
+
This repository follows a strict **Commit Message Conventions**, which leads to more readable messages that are easy to follow when looking through the project history. Also, we use the git commit messages to generate the change log, calculate the new version number and automatically publish new versions to NPM. For these purposes, we are using [Semantic Release](https://github.com/semantic-release/semantic-release). We have a helper script `npm run commit` that provides a command line based wizard for easy commit message formatting.
52
+
53
+
Each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **type**, a **scope** and a **subject**:
54
+
55
+
```
56
+
<type>(<scope>): <subject>
57
+
<BLANK LINE>
58
+
<body>
59
+
<BLANK LINE>
60
+
<footer>
61
+
```
62
+
63
+
Only the first line is mandatory, and any line of the commit message cannot be longer than 100 characters! A linter will check your commit message in a git hook for each commit and guide you to fix any error. Please take a look at the [AngularJS Commit Message Conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit) for detailed information about this convention.
64
+
65
+
## Submitting a Pull Request (PR)
66
+
67
+
Before you submit your Pull Request (PR) consider the following guidelines:
68
+
69
+
- Search our repository for an open or closed PR that relates to your submission. You don't want to duplicate effort.
70
+
- Fork the project on Github
71
+
- Make your changes in a new git branch:
72
+
73
+
```shell
74
+
git checkout -b my-fix-branch master
75
+
```
76
+
77
+
- Create your patch, following [code style guidelines](#coding-style-guidelines), and **including appropriate test cases**.
78
+
- Run the full test suite and ensure that all tests pass.
79
+
- Commit your changes using a descriptive commit message that follows our [commit message format](#commit-message-format):
80
+
81
+
```shell
82
+
npm run commit
83
+
```
84
+
85
+
- Push your branch to your GitHub fork:
86
+
87
+
```shell
88
+
git push origin my-fix-branch
89
+
```
90
+
91
+
- In GitHub, send a pull request to `jexia/express-session-etcd3:master`.
92
+
- Check if our **Continuous Integration** checks passed against your PR and make the necessary fixes if something breaks.
93
+
- If we suggest changes then:
94
+
- Please apply the required updates.
95
+
- Re-run the test suites to ensure tests are still passing.
96
+
- Re-run performance tests to make sure your changes didn't hurt performance.
97
+
- Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
Copy file name to clipboardExpand all lines: LICENSE
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
Copyright 2017 William Grasel <d.ru.fo.s+github@gmail.com>
1
+
Copyright 2017 Jexia <community@jexia.com>
2
2
3
3
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
0 commit comments