@genesisx/react-interapp-routing
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

react-interapp-routing

This Generator allows setting up a proxy server for local hosting of multiple react applications.

Usage

  • Install the package first For Using this package into your app, please follow the below steps
  • Install this npm package to your repo first
  • yarn add @genesisx/react-interapp-routing
  • Run the Proxy Server
  • Run this command
  • nx generate @genesisx/react-interapp-routing:proxy-server --portNo=5006
  • for the first time the command will create the <wsp-root>/gen-proxy.conf.json
  • below following steps for configuraiton and then run the Proxy server again.
  • Configuration & pre-requistes
  • Make sure the apps are configured with all react apps and target urls are configured properly
{
    "apps": [
        "react-app-1",
        "react-app-2"
    ],
    "mainapps": {
        "/home": {
            "target": "http://localhost:{write-react-app-1-port-here}",
            "secure": false
        },
        "/product": {
            "target": "http://localhost:{write-react-app-2-port-here}",
            "secure": false
        }
    }
}
  • The apps are already served (nx serve)

  • Run the proxy server now.

By example you can generate these both react apps by running commands bellow:

yarn nx generate @genesisx/react:application react-app-1 4202
yarn nx generate @genesisx/react:application react-app-2 4203

Via NX Console

After installation for above npm package:

  • Goto nx console > search for generate @genesisx/react-interapp-routing
  • Enter a port number you want which by default is 9200

Via Command line

  • Alternatively, use this command
    nx generate @genesisx/react-interapp-routing:proxy-server --portNo=<your port number>
  • If nx is not already installed then install it using npm install -g nx

This will start the new proxy server on supplied port

Contribution

Running build and lints

Run nx lint react to execute the lint checks on this package.

Run nx build react to build this package.

Run nx test react to execute the unit tests via Jest.

Publish to NPM

To publish the package you must first be logged into NPM (npm login) then run this command from the root of the project.

  • Make sure the package name in package.json should start with @genesisx/
  • Also use the correct version number in package.json same will be used for the published package.
  • Use your NPM js credentials (Publicis Sapient) with publish rights
  • Verify the package at https://www.npmjs.com/settings/genesisx/packages
npm publish dist/packages/react-interapp-routing --access public

Local development and testing

If you're going to locally develop and run/test this package you need to build it and copy into node_modules with every change. You can simply do this by running a bash command below:

yarn nx run react-interapp-routing:build && cp -R dist/packages/react-interapp-routing/ node_modules/@genesisx/react-interapp-routing/

Example local setup and running:

  1. yarn nx run react-interapp-routing:build && cp -R dist/packages/react-interapp-routing/ node_modules/@genesisx/react-interapp-routing/
  2. If you're using the local react package as well: yarn nx run react:build && cp -R dist/packages/react/ node_modules/@genesisx/react/
  3. Create first react app: yarn nx generate @genesisx/react:application react-app-1 4202
  4. And the second one: yarn nx generate @genesisx/react:application react-app-2 4203
  5. Run proxy server: yarn nx generate @genesisx/react-interapp-routing:proxy-server
  6. Wait for message it's completed: Proxy Server is now ready, open following url in your browser http://localhost:9200
  7. Visit either http://localhost:9200/home for react-app-1 or http://localhost:9200/products for react-app-2

Readme

Keywords

none

Package Sidebar

Install

npm i @genesisx/react-interapp-routing

Weekly Downloads

0

Version

4.0.1

License

SEE LICENSE IN LICENSE

Unpacked Size

21.1 kB

Total Files

22

Last publish

Collaborators

  • varkisebi
  • devesh.kaushal
  • paribhasika
  • sophiacmcg
  • shashixt
  • vigneshpushkaranps
  • tolalitnegi
  • nareshbhatia
  • iamdavidjackson
  • genesisy
  • venkateshmishra
  • dreamzmaster
  • harshi14
  • areai51