1.0.0-build1 • Published 7 years ago

@gaspard-bruno/ecommerce-core v1.0.0-build1

Weekly downloads
1
License
UNLICENSED
Repository
github
Last release
7 years ago

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}: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 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