From 59eec534b6e049e5f4c38d8c732136638288d742 Mon Sep 17 00:00:00 2001 From: Asher Date: Fri, 22 Feb 2019 18:42:59 -0600 Subject: [PATCH] Recursively create modules directory --- packages/server/src/modules.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/server/src/modules.ts b/packages/server/src/modules.ts index d4a91db8a..6d1bc273b 100644 --- a/packages/server/src/modules.ts +++ b/packages/server/src/modules.ts @@ -8,13 +8,18 @@ declare var __non_webpack_require__: typeof require; * Handling of native modules within the CLI */ export const setup = (dataDirectory: string): void => { - try { - fs.mkdirSync(path.join(dataDirectory, "modules")); - } catch (ex) { - if (ex.code !== "EEXIST") { - throw ex; + path.resolve(dataDirectory, "modules").split(path.sep).reduce((parentDir, childDir) => { + const currentDir = path.join(parentDir, childDir); + try { + fs.mkdirSync(currentDir); + } catch (ex) { + if (ex.code !== "EEXIST") { + throw ex; + } } - } + + return currentDir; + }, path.sep); const unpackModule = (moduleName: string): void => { const memFile = path.join(isCli ? buildDir! : path.join(__dirname, ".."), "build/modules", moduleName + ".node");