npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ui-ib-application

v1.10.0

Published

PASHA Bank Internet Banking Application

Downloads

6

Readme

PASHA Bank Internet Banking Application

CircleCI

Target tools, technologies and frameworks

  • Webpack - build generator
  • SCSS - for UI styles
  • TypeScript - main language
  • React - ui components developing library
  • Redux - application state manager
  • Axios - REST provider
  • Jest/Enzyme - testing tools
  • NodeJS/Express - local web-server

Installation

  • Set up an SSH key
  • clone project git clone [email protected]:PB-Digital/ui-ib-application.git
  • add environment variable NPM_TOKEN=<ask_token_value_from_other_developers>.
    • Instructions for MAC: https://natelandau.com/my-mac-osx-bash_profile/.
    • Instructions for WIN: go to Control Panel -> Edit environment variable for your account and create a brand-new variable.
  • install dependencies npm i

Development

Webpack

We use webpack and webpack dev server.

Available commands:

  • npm start - start development server via webpack-dev-server.

Production

npm commands to run application in production mode:

  • npm run build - generate "production-ready" bundle.

Testing

Unit tests

Available commands:

  • npm run test - run all tests once & generate test coverage report;
  • npm run test:watch - TDD mode - run tests in the watch mode.

Files with tests must have *.spec.ts extension and should be placed in folders named __tests__.

E2E tests

We use Cypress for E2E tests. E2E tests are run in CI environment and only when release PR (from develop to master) is created. The prod back-end API (https://pashabank.digital/v*) is used for E2E tests which means that we're always testing the prod.

We write E2E tests only for the crucial features of the application. Reports and video recordings are collected to Cypress Dashboard.

There is a dedicated /cypress folder in the root of the project for the E2E tests. All test suites for this application must be placed in /cypress/e2e/ui-ib-application folder.

Run & watch E2E tests locally with dev server (in headed mode) - recommended when you're writing tests

  • Start up dev server and UI app - npm run start
  • Open Cypress UI - npm run cypress:open (you can select the test suites to run)

Run E2E tests locally with dev server (in headless mode) - recommended when you're validating tests before commit

You will see the tests report in the terminal

  • Start up dev server and UI app - npm run start
  • Run tests - npm run cypress:run:local

Run E2E tests locally with prod backend API - this is what kinda happens on CI

  • Start up only the UI app - npm run start:with-prod-api
  • Generate auth tokens - npm run cypress:generate-auth-token (as a result auth-tokens.json will be generated in the root folder)
  • Run tests - npm run cypress:run:local:with-prod-api

Bash profile issue

Apple has changed the default shell to zsh. Therefore you have to rename your configuration files. .bashrc is now .zshrc and .bash_profile is now .zprofile. If you get this issue, please follow the link

Content Security Policy (CSP)

Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks, including Cross Site Scripting (XSS) and data injection attacks. These attacks are used for everything from data theft to site defacement to distribution of malware. read more

In order to add/modify a new CSP header - head over to /csp-headers.yml

Guide for contributing with pull requests

  1. You must have a task in JIRA
  2. Then you can create a new branch from develop, it should match the following pattern:
<type-of-task>/<board-name>-<task-number>\[-v<version>\]

(version chunk is optional)

For example:

feature/LD-123
bugfix/LD-123-v3

Also there are 2 very special templates for temporary branches, which can be used in testing and experiments:

temp/<brief-description>
test/<brief-description>

For example:

test/web-socket
temp/mobx-probe

Note: Don't use it if you have a corresponding task in jira. 3. After you've completed the development and pushed your branch, you can create a pull request 4. Pull Requests should match the following pattern: <board-name>-<task-number>: <title-of-task>, and description(use a template from .github/PULL_REQUEST_TEMPLATE/ directory), read more about creating pull request descriptions with different templates with url 5. Assign your pull request to yourself 6. Add a label that describes your board (mandatory) and some other labels for describing your pull request (optional) 7. Now you are ready to share your pull request with your teammates for review

Contributors

PASHA Bank Digital Laboratory members.