ecommerce-core v1.0.0-build1
E-commerce core
Core component library for e-commerce apps.
Includes support for:
- Chat
Integrate into your project
Because the core library lives in a private repository we need to generate an OAuth token within GitHub.
Save the token into your ~/.netrc file, like this:
echo "machine github.com login <YOUR-TOKEN>" >> ~/.netrcAdd a dependency in your package.json:
"dependencies": {
"ecommerce-core": "git+https://github.com/Gaspard-Bruno/etudes-ecommerce-core.git#v0.1.0",
...The library will be installed the next time you npm install.
Alternatives to .netrc
Use a preinstall script
If you cannot or would prefere not to modify your user's .netrc settings, you could store the token in an environment variable like this:
export npm_config_ghtoken=YOUR_TOKENAnd have NPM do the checkout in a pre-install script.
"scripts": {
"preinstall": "rm -rf ../core.git && git clone https://${npm_config_ghtoken}:x-oauth-basic@github.com/Gaspard-Bruno/etudes-ecommerce-core.git ../core.git && cd ../core.git && git checkout v0.1.0"
...One caveat is that the script runs before installing any package, not just core.
Use SSH deploy key
Generate and install the deploy key and access the git repo via SSH protocol
Specification
Formal specification in the form of Jasmine test cases can be found in the spec folder.
Frameworks
- Redux
Libraries
- Fetch
- Redux-Thunk
- Reselect
Components
- Reducers
- Action creators
- Memoized selectors
- API Client
- Service adapters for REST, WebSocket
Develop the library
Use npm scripts to build the library:
npm run buildTo watch for changes, run the linter, transpile and run the unit tests you can run:
npm startDevelop side by side with your client project
Use npm link to have a working development copy of the library within your project:
npm uninstall ecommerce-core
cd ../core
npm link
cd ../app
npm link ecommerce-coreTo revert:
npm unlink ecommerce-core
cd ../core
npm unlink
npm install ecommerce-coreDocker
You can use docker to test and develop this library
Build image for the first time
docker build -t ecommerce-core .
Create a container for the first time
docker run --name ecommerce-core -v $PWD:/usr/src/app -v /usr/src/app/node_modules ecommerce-core
Create a container for the first time
docker run --name ecommerce-core -v $PWD:/usr/src/app -v /usr/src/app/node_modules ecommerce-core run watchdocker run --rm -v $PWD:/usr/src/app -v /usr/src/app/node_modules ecommerce-core run clean8 years ago
8 years ago