From 6b72f7b49dd8fa9221c43bb211ab94ec63ea4711 Mon Sep 17 00:00:00 2001 From: Iku-turso Date: Thu, 23 Jun 2022 10:51:19 +0300 Subject: [PATCH] Revert to again permit modular directory structures for behaviours in spirit of "Screaming Architecture" See https://blog.cleancoder.com/uncle-bob/2011/09/30/Screaming-Architecture.html This reverts commit b6274481550847c8da40e3d5bcbcf28201c4cd05. Co-authored-by: Janne Savolainen Signed-off-by: Iku-turso --- src/main/getDi.ts | 1 + src/main/getDiForUnitTesting.ts | 3 +++ src/renderer/getDi.tsx | 1 + src/renderer/getDiForUnitTesting.tsx | 3 +++ 4 files changed, 8 insertions(+) diff --git a/src/main/getDi.ts b/src/main/getDi.ts index ac7dffe12b..6b5de4e07b 100644 --- a/src/main/getDi.ts +++ b/src/main/getDi.ts @@ -18,6 +18,7 @@ export const getDi = () => { require.context("./", true, /\.injectable\.(ts|tsx)$/), require.context("../extensions", true, /\.injectable\.(ts|tsx)$/), require.context("../common", true, /\.injectable\.(ts|tsx)$/), + require.context("../behaviours", true, /.*\/(main|common)\/.*\.injectable\.(ts|tsx)$/), ], }); diff --git a/src/main/getDiForUnitTesting.ts b/src/main/getDiForUnitTesting.ts index 36713d852d..5d22057c06 100644 --- a/src/main/getDiForUnitTesting.ts +++ b/src/main/getDiForUnitTesting.ts @@ -204,6 +204,9 @@ const getInjectableFilePaths = memoize(() => [ ...glob.sync("./**/*.injectable.{ts,tsx}", { cwd: __dirname }), ...glob.sync("../extensions/**/*.injectable.{ts,tsx}", { cwd: __dirname }), ...glob.sync("../common/**/*.injectable.{ts,tsx}", { cwd: __dirname }), + ...glob.sync("../behaviours/**/{main,common}/*.injectable.{ts,tsx}", { + cwd: __dirname, + }), ]); // TODO: Reorganize code in Runnables to get rid of requirement for override diff --git a/src/renderer/getDi.tsx b/src/renderer/getDi.tsx index 3380d25c06..7fdc6dae8a 100644 --- a/src/renderer/getDi.tsx +++ b/src/renderer/getDi.tsx @@ -19,6 +19,7 @@ export const getDi = () => { require.context("./", true, /\.injectable\.(ts|tsx)$/), require.context("../common", true, /\.injectable\.(ts|tsx)$/), require.context("../extensions", true, /\.injectable\.(ts|tsx)$/), + require.context("../behaviours", true, /.*\/(renderer|common)\/.*\.injectable\.(ts|tsx)$/), ], }); diff --git a/src/renderer/getDiForUnitTesting.tsx b/src/renderer/getDiForUnitTesting.tsx index 2f030c8ab9..67cc83f53a 100644 --- a/src/renderer/getDiForUnitTesting.tsx +++ b/src/renderer/getDiForUnitTesting.tsx @@ -158,6 +158,9 @@ const getInjectableFilePaths = memoize(() => [ ...glob.sync("./**/*.injectable.{ts,tsx}", { cwd: __dirname }), ...glob.sync("../common/**/*.injectable.{ts,tsx}", { cwd: __dirname }), ...glob.sync("../extensions/**/*.injectable.{ts,tsx}", { cwd: __dirname }), + ...glob.sync("../behaviours/**/{renderer,common}/*.injectable.{ts,tsx}", { + cwd: __dirname, + }), ]); const overrideFunctionalInjectables = (di: DiContainer, injectables: Injectable[]) => {