@gaspard-bruno/ecommerce-core
v1.0.0-build1
Published
E-commerce core
Downloads
3
Keywords
Readme
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>" >> ~/.netrc
Add 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_TOKEN
And have NPM do the checkout in a pre-install script.
"scripts": {
"preinstall": "rm -rf ../core.git && git clone https://${npm_config_ghtoken}:[email protected]/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 build
To watch for changes, run the linter, transpile and run the unit tests you can run:
npm start
Develop 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-core
To revert:
npm unlink ecommerce-core
cd ../core
npm unlink
npm install ecommerce-core
Docker
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 watch
docker run --rm -v $PWD:/usr/src/app -v /usr/src/app/node_modules ecommerce-core run clean