Code Monkey home page Code Monkey logo

Comments (3)

motdotla avatar motdotla commented on June 12, 2024 1

yes, that is normal for many npm libs to include a binary script that can be executed. that said, here is what we recommend going forward:

use dotenvx instead of dotenv preloading. It uses dotenv under the hood but works everywhere, supports multiple environments, and also offers optional encryption of your envs.

npm install @dotenvx/dotenvx
"scripts": {
  "dotenvx": "dotenvx",
  "dev": "dotenvx run --debug -- ./node_modules/.bin/vite dev",
  "build": "dotenvx run -- /node_modules/.bin/vite build",
  "preview": "dotenvx run -- ./node_modules/.bin/vite preview"
},

(there's also a guide here that uses the binary instead of the npm package. choose what you prefer. github actions guide)

from dotenv.

yslinear avatar yslinear commented on June 12, 2024 1

I discovered there might be an issue when using dotenvx with FirebaseExtended/action-hosting-deploy@v0. Running firebase deploy locally works fine, indicating that dotenvx is functioning properly. This suggests that the previous use of dotenv was also normal and that there might be complications when combining it with FirebaseExtended/action-hosting-deploy@v0.

Later on, I attempted deployment without using GitHub Actions, opting instead to use the Cloud Run built-in trigger in GCP. This involves deploying in Docker format by writing a Dockerfile in the project. However, I encountered some issues, though the details escape me as it was late at night.

Upon further exploration, I stumbled upon the dotenvx decrypt command in the dotenvx documentation, which can generate the .env file directly using .env.keys in conjunction with the repository's .env.vault. So, in the workflow, I added:

- run: 'echo "DOTENV_KEY_PRODUCTION=$DOTENV_KEY" > .env.keys'
- run: dotenvx decrypt

Additionally, I reverted the package.json to:

"scripts": {
  "dev": "vite dev",
  "build": "vite build",
  "preview": "vite preview"
}

This ensured that the GitHub Actions Runner, during the build, had a similar environment to the local setup when a .env file is present. While this approach may not be standard, it appears to be the most direct and simple solution at the moment.

Ultimately, I re-implemented the use of FirebaseExtended/action-hosting-deploy@v0, made some adjustments to the GitHub Actions workflow file, and successfully completed the deployment.

full workflow

@motdotla
I apologize for not mentioning earlier that I am using FirebaseExtended/action-hosting-deploy@v0.
If you don't have any additional comments or explanations, you can close this issue. Thank you!

from dotenv.

yslinear avatar yslinear commented on June 12, 2024

I'm not a front-end expert, and upon inspection, I observed that when executing the pnpm install command, multiple bash script files are generated within the ./node_modules/.bin directory.

Conversely, opting for npm install resulted in the presence of .js files in the ./node_modules/.bin directory.

from dotenv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.