On this project we had the frontend code.
It's an Angular project that is served by the concept-server via Express.
- Install Node.js
- Install pnpm:
npm install -g pnpm@latest - Install Angular CLI:
npm install -g @angular/cli - From project root folder install all the dependencies:
pnpm install - To be served by concept-server, it must be located at sibling folder of this project, as shown:
concept
└─ concept-client
└─ concept-server
└─ uploads (this is where server saves users uploaded files)
Run pnpm start: execute ng serve that makes a virtual server on memory and host Angular page at localhost:4200. Any change automatically creates a new bundle and restart client. (Note: with this command you will not be able to do queries to concept-server because this won't generate dist folder to be served by concept-server and so the projects will not be at same path)
Run pnpm watch: execute ng build with Watch mode, it generates dist folder at the project root folder. You need to execute concept-server too for see Angular page hosted by it at localhost:4000. Any change automatically creates a new bundle and restart client.
Development of @dynamic-glsp all-in-one
For develop concept-client along with their main packages @dynamic-glsp/client and @dynamic-glsp/protocol. It packages must be located along side concept project, as shown:
concept
└─ concept-client
└─ concept-server
@dynamic-glsp
└─ client
└─ server
└─ protocol
If packages are not available locally it will use the registry uploaded ones. Only if the packages are available locally you can use the next command:
Run pnpm watch:all: execute concurrently watch mode over concept-client, @dynamic-glsp/client and @dynamic-glsp/protocol. Any changes on sub-packages re-compiles them and re-install them on client, and re-compile and restart client.
Run pnpm build: executes ng build, it generates dist folder at the project root folder. Then it can be served by concept-server.