GoogleCloudPlatform / functions-framework-nodejs

FaaS (Function as a service) framework for writing portable Node.js functions
Apache License 2.0
1.29k stars 158 forks source link

Typescript function source location can only be referenced from `main` field in `package.json`? #469

Closed legendsjohn closed 1 year ago

legendsjohn commented 2 years ago

It seems like the --source flag in gcloud functions deploy can't be used with Typescript unless you copy over your package.json to the build output directory? This also seems to apply to the deploy cloud functions action.

This seems to be because the referenced source folder must also contain your package.json file. With Typescript, this is likely to be two different folders (ie. /build vs /).

Thus, the only way to reference the cloud function source is in main of package.json like https://github.com/GoogleCloudPlatform/functions-framework-nodejs/blob/master/docs/typescript.md describes.

I wanted to ensure this is expected behavior? If so, could the docs stress this? I spent a many hours figuring this out, as the cause of this problem wasn't immediately clear.

legendsjohn commented 2 years ago

This may be a duplicate of https://github.com/GoogleCloudPlatform/functions-framework-nodejs/issues/254, but I wanted to double check this understanding of the --source flag

matthewrobertson commented 1 year ago

I updated the docs. You should configure the main field to point to your compiled source code.