setup-typescript-monorepo
Version:
Convert Workspaces to TypeScript's Project References
38 lines • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = void 0;
var tslib_1 = require("tslib");
var package_utils_1 = require("@monorepo-utils/package-utils");
exports.plugin = function (options) {
// getPackages support "workspaces" and lerna.json
var monorepoPackages = package_utils_1.getPackages(options.rootDir);
return {
supports: function () {
return monorepoPackages.length > 0;
},
getAllPackages: function () {
return monorepoPackages;
},
getDependencies: function (packageJSON) {
var _a, _b;
var dependencies = Object.entries((_a = packageJSON.dependencies) !== null && _a !== void 0 ? _a : {});
var devDependencies = Object.entries((_b = packageJSON.devDependencies) !== null && _b !== void 0 ? _b : {});
return tslib_1.__spreadArrays(dependencies, devDependencies).map(function (dep) {
return {
name: dep[0]
};
});
},
resolve: function (_a) {
var name = _a.name;
var matchPkg = monorepoPackages.find(function (info) {
return info.packageJSON.name === name;
});
if (!matchPkg) {
return null;
}
return matchPkg.location;
}
};
};
//# sourceMappingURL=workspaces.js.map