* Copyright (c) 2025 Huawei Technologies Co., Ltd.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import tmp from 'tmp';
import { ProjectDependenciesManager } from '../src/core/ProjectDependenciesManager';
import { createFileStructure } from './fsUtils';
import { AbsolutePath } from '../src/core';
import { RealFS } from '../src/io';
let tmpDir: string = '';
beforeEach(async () => {
const dir = tmp.dirSync();
tmpDir = dir.name;
});
it('should not recognize a dependency if package.json is not defined', async () => {
createFileStructure(tmpDir, {
node_modules: {
'@types': {
node: {
'ts.4.8': {},
},
},
'some-package': {
'package.json': '...',
},
},
});
const projectDependenciesManager = new ProjectDependenciesManager(
new RealFS(),
new AbsolutePath(tmpDir)
);
const dependencyRootPaths: AbsolutePath[] = [];
await projectDependenciesManager.forEachAsync((dependency) => {
dependencyRootPaths.push(dependency.getRootPath());
});
expect(dependencyRootPaths.length).toBe(1);
});