"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); const fs = require("fs-extra"); const os = require("os"); const path = require("path"); const search_module_1 = require("../src/search-module"); let baseDir; async function createTempDir() { baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'electron-rebuild-test-')); } async function removeTempDir() { await fs.remove(baseDir); } describe('search-module', () => { describe('getProjectRootPath', () => { describe('multi-level workspace', () => { for (const lockFile of ['yarn.lock', 'package-lock.json']) { describe(lockFile, () => { before(async () => { await createTempDir(); await fs.copy(path.resolve(__dirname, 'fixture', 'multi-level-workspace'), baseDir); await fs.ensureFile(path.join(baseDir, lockFile)); }); it('finds the folder with the lockfile', async () => { const packageDir = path.join(baseDir, 'packages', 'bar'); chai_1.expect(await search_module_1.getProjectRootPath(packageDir)).to.equal(baseDir); }); after(removeTempDir); }); } }); describe('no workspace', () => { before(createTempDir); it('returns the input directory if a lockfile cannot be found', async () => { chai_1.expect(await search_module_1.getProjectRootPath(baseDir)).to.equal(baseDir); }); after(removeTempDir); }); }); }); //# sourceMappingURL=search-module.js.map