rxdi / firelink

Firebase. gcloud and monorepos are not combining very well until they met @rxdi/firelink
MIT License
68 stars 9 forks source link

npm ERR! could not determine executable to run #18

Closed X-Titouan closed 3 years ago

X-Titouan commented 3 years ago

Hey mate,

I tryed to deloy a function with a local dependency since a week now, i'm going CRAZY !

Your package since to be nice but when I do firelink deploy, I get this error:

npm ERR! could not determine executable to run

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/XXXX/.npm/_logs/2021-09-21T12_02_49_871Z-debug.log
true

Is there something you know how to fix ?

Here is my package.json :

{
  "name": "api",
  "main": "build/index.js",
  "scripts": {
    "build": "tsc",
  },
  "engines": {
    "node": "14"
  },
  "dependencies": {
    "core": "file:../core",
    ...
  },
  "devDependencies": {
    ...
  },
  "fireDependencies": {
    "core": "../core"
  },
  "private": true,
  "fireConfig": {
    "runner": "./"
  }
}

Here is my repo:

Capture d’écran du 2021-09-21 14-09-56

And core is here :

Can you explain me what exactly does your firelink deploy ?

Save me, my brain is melting please

Stradivario commented 3 years ago

hahahahahahahaha @X-Titouan

Happy to help you mate! :D

First of all i can see that you have specified runner property inside package.json and i see that you provide a runner ./ so i assume this is what causes the issue.

Remove fireConfig or put firebase or gcloud in the runner property.

The main idea behind firelink is simple

  1. You have a local npm packages or private packages that you want to deploy
  2. To deploy it as a lambda you have 2 options either you need to bundle it as single js file or you can work with node_modules folder without bundle them
  3. Firelink relies on the existing feature of npm to install packages locally just like you install them from npm registry
  4. So before deploying the application it will copy packages in temporary folder and then it will install them as an npm packages inside the bundle.
  5. So when you try to execute firebase deploy you need to predefine the packages so they can be installable and it is a repetative job to redefine package.json every time you want to deploy something. Firelink makes it possible by wrapping command firebase so when you execute firelink deploy it will make everything for you

Since i am working at the moment i will be happy to help you on share screen later and to help you with your use case how is this sounds to you ?

I will be available here at hangouts https://hangouts.google.com/call/Rw2EICWR8jlmEXe-Qj2UAEEI

I have a spare time in about 1 hour and after 3 hours again.

X-Titouan commented 3 years ago

You are the light in the darkenesses !

I will be on hangout at 7:30 pm UTC +2 then !

Stradivario commented 3 years ago

hahaha @X-Titouan it says you are not allowed to join this call :D

I am so sorry but i have another meeting in 15 minutes so we need to be fast

https://meet.google.com/wqo-mhug-kjr?authuser=0

I have created a google meet one

Regards!

Stradivario commented 3 years ago

image

Unfortunate :(

I can see that you are inside the meeting but it doesn't let me enter it image

Stradivario commented 3 years ago

So sorry man i need to go feel free to contact me kristiqn.tachev@gmail.com we can invite each other and create Google Calendar Meeting

I am available tomorrow from 1 CT to 12 CT since i am from Bulgaria i get up at 09:00 and i am available till 20:00.

Set a meeting and i will enter it :))

Regards and have a great day/evening!

Stradivario commented 3 years ago

I am closing this issue since it was not related to the firelink itself and more to the way that the actual project was setup.

Please feel free @X-Titouan to open another ticket if you have a problem :))

Regards