dpdm
Version:
Analyze circular dependencies in your JavaScript/TypeScript projects.
47 lines • 2.1 kB
JavaScript
/*!
* Copyright 2019 acrazing <joking.young@gmail.com>. All rights reserved.
* @since 2019-07-17 18:45:47
*/
import { __awaiter } from "tslib";
import fs from 'fs-extra';
import { dirname, join } from 'path';
import { simpleResolver } from './utils';
describe('util', () => {
it('should resolve correctly', () => __awaiter(void 0, void 0, void 0, function* () {
const ext = ['', '.js', '.jsx', '.ts', '.tsx', '.json'];
const local = yield simpleResolver(__dirname, './bin/dpdm', ext);
const index = yield simpleResolver(__dirname, '.', ext);
yield fs.outputJSON('node_modules/dpdm-ut-parent/package.json', {
name: 'dpdm-ut-parent',
version: '1.0.0',
main: 'index.js',
dependencies: {
'dpdm-ut-deep': '^1.0.0',
},
});
yield fs.outputFile('node_modules/dpdm-ut-parent/index.js', '');
yield fs.outputJSON('node_modules/dpdm-ut-parent/node_modules/dpdm-ut-deep/package.json', {
name: 'dpdm-ut-deep',
version: '1.0.0',
main: 'index.js',
});
yield fs.outputFile('node_modules/dpdm-ut-parent/node_modules/dpdm-ut-deep/index.js', '');
yield fs.outputJSON('node_modules/dpdm-ut-deep/package.json', {
name: 'dpdm-ut-deep',
version: '2.0.0',
main: 'index.js',
});
yield fs.outputFile('node_modules/dpdm-ut-deep/index.js', '');
const pkg = yield simpleResolver(__dirname, 'dpdm-ut-parent', ext);
const deepPkg = yield simpleResolver(dirname(pkg), 'dpdm-ut-deep', ext);
const notFound = yield simpleResolver(__dirname, './utils.tsx', ext);
expect([local, index, pkg, deepPkg, notFound]).toEqual([
join(__dirname, 'bin/dpdm.ts'),
join(__dirname, 'index.ts'),
join(__dirname, '../node_modules/dpdm-ut-parent/index.js'),
join(__dirname, '../node_modules/dpdm-ut-parent/node_modules/dpdm-ut-deep/index.js'),
null,
]);
}));
});
//# sourceMappingURL=utils.spec.js.map