diff --git a/demos/angular-supabase-todolist/extra-webpack.config.js b/demos/angular-supabase-todolist/extra-webpack.config.js index 95fe11a1d..37e2b5b6e 100644 --- a/demos/angular-supabase-todolist/extra-webpack.config.js +++ b/demos/angular-supabase-todolist/extra-webpack.config.js @@ -18,7 +18,7 @@ module.exports = (config, options, targetOptions) => { ...config.plugins, new webpack.DefinePlugin({ // Embed environment variables starting with `WEBPACK_PUBLIC_` - 'process.env': JSON.stringify( + env: JSON.stringify( Object.fromEntries(Object.entries(process.env).filter(([key]) => key.startsWith('WEBPACK_PUBLIC_'))) ) }) diff --git a/demos/angular-supabase-todolist/src/env.d.ts b/demos/angular-supabase-todolist/src/env.d.ts deleted file mode 100644 index d76227ed0..000000000 --- a/demos/angular-supabase-todolist/src/env.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -declare namespace NodeJS { - // These are injected in the Webpack config - interface ProcessEnv { - WEBPACK_PUBLIC_SUPABASE_URL: string; - WEBPACK_PUBLIC_SUPABASE_ANON_KEY: string; - WEBPACK_PUBLIC_POWERSYNC_URL: string; - } -} diff --git a/demos/angular-supabase-todolist/src/environment.ts b/demos/angular-supabase-todolist/src/environment.ts index d3793e8e8..1740a5ae5 100644 --- a/demos/angular-supabase-todolist/src/environment.ts +++ b/demos/angular-supabase-todolist/src/environment.ts @@ -1,5 +1,5 @@ export const environment = { - supabaseUrl: process.env.WEBPACK_PUBLIC_SUPABASE_URL, - supabaseKey: process.env.WEBPACK_PUBLIC_SUPABASE_ANON_KEY, - powersyncUrl: process.env.WEBPACK_PUBLIC_POWERSYNC_URL + supabaseUrl: env.WEBPACK_PUBLIC_SUPABASE_URL, + supabaseKey: env.WEBPACK_PUBLIC_SUPABASE_ANON_KEY, + powersyncUrl: env.WEBPACK_PUBLIC_POWERSYNC_URL }; diff --git a/demos/angular-supabase-todolist/src/global.d.ts b/demos/angular-supabase-todolist/src/global.d.ts new file mode 100644 index 000000000..053775f10 --- /dev/null +++ b/demos/angular-supabase-todolist/src/global.d.ts @@ -0,0 +1,12 @@ +// Ambient declarations for webpack-injected environment variables. +// webpack's DefinePlugin injects `env` at build time. + +declare global { + const env: { + WEBPACK_PUBLIC_SUPABASE_URL: string; + WEBPACK_PUBLIC_SUPABASE_ANON_KEY: string; + WEBPACK_PUBLIC_POWERSYNC_URL: string; + }; +} + +export {};