From 4472c7a7a041913959c3f99020eac0f1bd7528d9 Mon Sep 17 00:00:00 2001
From: ascariandrea <dev.ascariandrea@gmail.com>
Date: Thu, 3 Feb 2022 12:24:17 +0100
Subject: [PATCH] chore(shared): fix DOTENV_CONFIG_PATH resolution in webpack
 config

---
 commitlint.config.js                  | 10 +++++++++-
 packages/shared/src/webpack/config.ts | 24 +++++++++++++++++-------
 2 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/commitlint.config.js b/commitlint.config.js
index f9c592d5a..283f2ad5b 100644
--- a/commitlint.config.js
+++ b/commitlint.config.js
@@ -7,7 +7,15 @@ module.exports = {
     'scope-enum': [
       2,
       'always',
-      ['workspace', 'guardoni', 'ycai', 'taboule', 'tktrex', 'yttrex'],
+      [
+        'workspace',
+        'shared',
+        'taboule',
+        'backend',
+        'guardoni',
+        'ycai',
+        'tktrex',
+      ],
     ],
     'type-enum': [
       2,
diff --git a/packages/shared/src/webpack/config.ts b/packages/shared/src/webpack/config.ts
index d30069a70..a05ad0358 100644
--- a/packages/shared/src/webpack/config.ts
+++ b/packages/shared/src/webpack/config.ts
@@ -1,4 +1,5 @@
 import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';
+import D from 'debug';
 import dotenv from 'dotenv';
 import { pipe } from 'fp-ts/lib/function';
 import * as R from 'fp-ts/lib/Record';
@@ -52,19 +53,28 @@ interface GetConfigParams<E extends t.Props> {
 const getConfig = <E extends t.Props>(
   opts: GetConfigParams<E>
 ): WebpackConfig => {
-  const mode =
-    process.env.NODE_ENV === 'production' ? 'production' : 'development';
-
   const DOTENV_CONFIG_PATH =
     process.env.DOTENV_CONFIG_PATH ??
-    path.resolve(opts.cwd, mode === 'production' ? '.env' : '.env.development');
-
-  // const tsConfigFile = path.resolve(opts.cwd, './tsconfig.json');
+    path.resolve(
+      opts.cwd,
+      process.env.NODE_ENV === 'production' ? '.env' : '.env.development'
+    );
 
-  webpackLogger.debug(`DOTENV_CONFIG_PATH %s`, DOTENV_CONFIG_PATH);
+  // eslint-disable-next-line
+  console.log(
+    `Reading process.env from %s for %s (%s)`,
+    DOTENV_CONFIG_PATH,
+    path.basename(opts.cwd),
+    Object.keys(opts.entry).join(', ')
+  );
 
   dotenv.config({ path: DOTENV_CONFIG_PATH });
 
+  D.enable(process.env.DEBUG ?? '');
+
+  const mode =
+    process.env.NODE_ENV === 'production' ? 'production' : 'development';
+
   const buildENV = pipe(
     {
       BUNDLE_TARGET: 'chrome',