diff --git a/src/actions/linkAsModule.js b/src/actions/linkAsModule.js index e6c0381..0dc263e 100644 --- a/src/actions/linkAsModule.js +++ b/src/actions/linkAsModule.js @@ -11,7 +11,7 @@ const linkOne = function linkAsModule(sourcePackage, pkgAsModule) { return new Promise((resolve, reject) => { const dir = dirname(pkgAsModule) if (!existsSync(dir)) { - mkdirSync(dir) + mkdirSync(dir, { recursive: true }) } symlinkDir(sourcePackage, pkgAsModule).then( () => { @@ -43,7 +43,7 @@ export function linkAsModule({ config }) { } const nodeModules = resolve(commonPath, 'node_modules') if (!existsSync(nodeModules)) { - runCommand(mkdir, [nodeModules]) + runCommand(mkdir, [nodeModules, { recursive: true }]) } return runAll( diff --git a/src/actions/linkAsModule.test.js b/src/actions/linkAsModule.test.js index 840decf..40dc70a 100644 --- a/src/actions/linkAsModule.test.js +++ b/src/actions/linkAsModule.test.js @@ -27,7 +27,7 @@ it('should link as modules', done => { } const commands = [ - { cmd: 'mkdir', args: ['/foo/bar/node_modules'] }, + { cmd: 'mkdir', args: ['/foo/bar/node_modules', { recursive: true }] }, ...Object.keys(packagesPaths).map(name => ({ cmd: 'linkAsModule', args: [packagesPaths[name], resolve('/foo/bar', 'node_modules', name)], @@ -57,7 +57,7 @@ it('should not link as modules inside part of name', done => { const commands = [ // /foo/bar, not /foo/bar/@repo-cooker-test - { cmd: 'mkdir', args: ['/foo/bar/node_modules'] }, + { cmd: 'mkdir', args: ['/foo/bar/node_modules', { recursive: true }] }, ...Object.keys(packagesPaths).map(name => ({ cmd: 'linkAsModule', args: [packagesPaths[name], resolve('/foo/bar', 'node_modules', name)],