kunokdev/cra-runtime-environment-variables

how do you run in a typescript app?

hayderimran7 opened this issue · 2 comments

im new to react but my react app is created in typescript. when i follow your tutorial , i get

Failed to compile.

......SomeFile.tsx
Type error: Property '_env_' does not exist on type 'Window'.  TS2339

    12 |         }
    13 | 
  > 14 |         return window._env_.REACT_APP_BACKEND_API_BASE_URL + '/rest';
       |                       ^
    15 |     }
    16 | 
    17 |     protected withResponseCheck(promise: Promise<any>, returnJson: boolean): Promise<any> {

i confirmed my env-config.js generated inside public has window.__env__ being set

window._env_ = {
  REACT_APP_BACKEND_API_BASE_URL: "http://localhost:5000"
}

in TypeScript 3.4.5 and above...

Create a file called window.d.ts under src with the following code

interface Window {
    _env_ : any
}

⬆️ Please use solution above!

Already asked here: #3

Also instead of using any I highly recommend to create configuration interface.

As TypeScript is now a standard way to write JS, I will add link to this in README.md and blog.