@square-enix-west/membership-js-api

0.8.2 • Public • Published

Membership JS API

Square Enix Membership is a service that provides authentication for users of Square Enix products. This library makes it easy to interact with.

#### Example usage

# First install in the project
yarn add @square-enix-west/membership-js-api
// Import from the project javascript
import Membership, { User } from '@square-enix-west/membership-js-api'

// Initialise the API
Membership.init({
  clientId: 'your-apps-id',
  service: 'membership' // (or "test-membership" if during development)
}).then(() => {
  if (User.isLoggedIn) {
    alert(`Hi, ${User.name}`)
  }
})

Full documentation can be found here
Examples can be found in the examples directory

Contributing

### Setting Up The Project

# Clone the repo
git clone git@bitbucket.org:squareenixoid/onlinedev-membership-js-api.git
cd onlinedev-membership-js-api

# Switch to the right Node version (v7)
# If using NVM
nvm install && nvm use

# Install dependencies
npm install

Working On The Code

Testing

Any changes/feature additions should use TDD. The project uses jest. Running npm run test will start watching the project and re-run tests on changes

Including In Local Projects During Development

To include a local membership-js-api in a project while working on it, you can use npm link

cd ~/Projects/onlinedev-membership-js-api
# Make the npm package available to link from other projects
npm link
# Watch and rebuild on any changes
npm run develop

# In another terminal
cd ~/Project/an-app-using-the-api
npm link @square-enix-west/membership-js-api

After invoking those commands, any javascript files requiring/importing @square-enix-west/membership-js-api should get the most up to date version, as it is in your local repo

Working On The Documentation

Running npm run docs:watch will start a watch task and a local server to view the docs. Go to http://localhost:4000 to view them. Any changes to the documentation should reflect instantly-ish

Releasing

The release process is fairly manual

Publishing To NPM

You can use the irish-pub npm package to perform a "dry run"

Deploying Updated Documentation

Pushing to master should result in the documentation being rebuilt and deployed to https://onlinedev-membership-js-api-prod.stage.sqexeu.com/quick-start-guide.html

Any problems speak to Malet. He'll probably sort you out.

Project goals

Provide a simple library for

Registering Square Enix Membership accounts
Logging a user in using a username and password
Logging a user out

The API should

Hide as much complexity as possible
Provide consumable feedback on validation errors

The library should

Have clear documentation
Be easy to install and implement
Should be worked on in isolation, and as such should
Have a comprehensive test suite
Should be consumable for modern application (use npm to import via private bitbucket repo)
Should be consumable for legacy applications (provide a built version and publish to CDN for each revision)

Readme

Keywords

none

Package Sidebar

Install

npm i @square-enix-west/membership-js-api

Weekly Downloads

258

Version

0.8.2

License

ISC

Unpacked Size

2.38 MB

Total Files

7

Last publish

Collaborators

  • chriskekeke
  • srp
  • ugonnanwosu