Comparing version 2.34.0 to 2.35.0
{ | ||
"name": "ipwa", | ||
"version": "2.34.0", | ||
"version": "2.35.0", | ||
"author": "Sreeram Padmanabhan", | ||
@@ -49,2 +49,3 @@ "license": "ISC", | ||
"dev": "concurrently --kill-others \"npm run build:client:dev:watch\" \"npm run build:server:dev:watch\" -n client,server -c blue,yellow", | ||
"prod": "concurrently --kill-others \"npm run build:client:prod:watch\" \"npm run build:server:prod:watch\" -n client,server -c blue,yellow", | ||
"lint": "eslint .", | ||
@@ -68,2 +69,3 @@ "nodemon": "cd _dist && nodemon index.js --watch _dist/index.js", | ||
"@commitlint/config-conventional": "^8.3.4", | ||
"@material-ui/core": "^4.9.4", | ||
"@percy/script": "^1.0.3", | ||
@@ -74,2 +76,3 @@ "babel-eslint": "^10.0.3", | ||
"babel-preset-expo": "^8.0.0", | ||
"clean-webpack-plugin": "^3.0.0", | ||
"codecov": "^3.6.5", | ||
@@ -108,7 +111,11 @@ "concurrently": "^5.1.0", | ||
"rimraf": "^3.0.2", | ||
"robotstxt-webpack-plugin": "^7.0.0", | ||
"webpack": "^4.41.5", | ||
"webpack-cli": "^3.3.10", | ||
"webpack-dev-server": "^3.10.1", | ||
"webpack-manifest-plugin": "^2.2.0", | ||
"webpack-merge": "^4.2.2", | ||
"webpack-node-externals": "^1.7.2" | ||
"webpack-node-externals": "^1.7.2", | ||
"webpack-visualizer-plugin": "^0.1.11", | ||
"workbox-webpack-plugin": "^5.0.0" | ||
}, | ||
@@ -115,0 +122,0 @@ "optionalDependencies": {}, |
@@ -6,27 +6,9 @@ ![Pipeline](https://github.com/jsDrome/ipwa/workflows/Build/badge.svg?branch=master) | ||
⭐️ Star us on GitHub — it helps! | ||
# iPWA | ||
🚀 Spin up an isomorphic progressive web app or native app deployable in the cloud, publishable as AN npm package or docker container with a fully automated supercharged pipeline, all in under an hour! | ||
🚀 Spin up an isomorphic progressive web app or native app deployable in the cloud, publishable as an npm package or docker container with a fully automated supercharged pipeline, all in under an hour, so you can focus on creating stuff! | ||
## Salient Features | ||
1. Frontend in React, Redux | ||
2. Backend in Node | ||
3. Native in React Native (Expo) | ||
4. Isomorphic/Progressive Web Apps | ||
6. Unit testing using Jest | ||
7. Code coverage reports using Codecov | ||
8. Regression testing using Cypress, Puppeteer & Percy | ||
9. Fully automated pipeline using Github actions | ||
10. Deployable in Dockerhub, Github Container Registry as Docker image | ||
11. Publishable in npm, Github package registry as npm package | ||
12. Publishable in Expo as OTA updates. | ||
13. Deployable in Google Container Registry using Terraform (WIP) | ||
14. Helm charts deployable in a Kubernetes Cluster (WIP) | ||
## How this works | ||
This package was created with automated pipeline in mind. All you need to do is spin up a new project, sign up to a few providers, set the tokens and secrets correctly and the rest is all magic. When you push code to master, it will just be deployed everywhere after a series of checks. | ||
This package was created with automated pipeline in mind. One codebase for web and native apps where when something gets merged to master, it gets to production. All you need to do is spin up a new project, set the tokens and secrets correctly and the rest is all magic. When you push code to master, it will just be deployed everywhere after a series of checks. What happens behind the scene is once you push code to Github, it triggers Github actions. If its the master branch, it runs a basic Sanity Check where it builds the client and server code base, runs lint and unittests and reports to Codecov. This sanity check is followed by staging in Heroku. The application is dockerized and deployed as a docker container on Heroku. Once done, regression tests are performed on this staging environment. Unit tests, Cypress tests, Puppeteer and Percy visual regression tests are performed on this environment. Once passed, the docker image is pushed to Dockerhub and Github Container Registry, deployed into Firebase and published to Expo as over-the-air update. To top it all, its published to npm as well. | ||
@@ -38,9 +20,9 @@ ## Setup Project | ||
```shell | ||
`npm i -g ipwa` | ||
npm i -g ipwa | ||
``` | ||
Spawn a new ipwa app | ||
Create a new ipwa app | ||
```shell | ||
`ipwa my-app install` | ||
ipwa my-app install | ||
``` | ||
@@ -55,3 +37,3 @@ This will create a new project called my-app in the current directory and install npm dependencies. | ||
Set your stage url in .configrc | ||
Set `config_environment__STAGE_URL` environment variable or set `STAGE_URL` in `.configrc` | ||
@@ -151,2 +133,4 @@ Run `npm run test:cypress:open`, create a new project in Cypress and set `CYPRESS_PROJECT_ID` and `CYPRESS_TOKEN` secrets in Github. | ||
Set `config_environment__STAGE_URL` environment variable or set `STAGE_URL` in `.configrc` | ||
```shell | ||
@@ -217,1 +201,3 @@ npm run test:puppeteer | ||
``` | ||
⭐️ Star us on GitHub — it helps! |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
17096
56
199