blob: e6ecf1cf809a565f2353edb2936f8ad43c36e0b9 [file] [log] [blame] [view]
Rahul Ravikumar82028732019-04-23 18:11:25 -07001# Fetch Licenses
2
3A service that makes license files readable using headless Chrome.
4
5### Setup
6
7* This project uses TypeScript and Node.
Rahul Ravikumar92dc5cd2022-02-22 10:04:42 -08008* Download `fnm` and run `fnm install` to install a suitable version of Node.
Rahul Ravikumare9607c52020-08-19 11:18:54 -07009* Run `npm install` to setup dependencies.
Rahul Ravikumar82028732019-04-23 18:11:25 -070010* Use Visual Studio code to debug and test.
11
12### Testing
13
14#### Local debugging
15Run the web service locally using the provided package scripts.
Rahul Ravikumare9607c52020-08-19 11:18:54 -070016Run `npm run-script debug` and this spins up a local web server. You can use Visual Studio code to attach to this process.
Rahul Ravikumar82028732019-04-23 18:11:25 -070017`nodemon` and `tsc --watch` compiles and restarts your service as you are making changes to the source code automatically in `debug` mode.
18
19#### Example HTTP Request
20
21```
22curl -d '{"url": "https://opensource.org/licenses/bsd-license.php"}' -H 'Content-Type: application/json' -X POST 'http://localhost:8080/convert/licenses'
23```
24
25### Deploy
26
27* Install the `gcloud` CLI.
Rahul Ravikumare9607c52020-08-19 11:18:54 -070028* Run `npm run-script setupGcpProject` to setup credentials.
29* Run `npm run-script deploy` to deploy the project to App Engine.
Rahul Ravikumar0cd5ae02023-03-28 17:35:20 -070030
31
32### Notes
33
34Using Puppeteer v18.2.1 only because `npm post install` scripts for Puppeteer 19.x.x have been broken for App Engine standard.
35More context is [here](https://github.com/puppeteer/puppeteer/issues/9128).