lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
41 lines • 6.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.detectTsEntryName = void 0;
const path = require("path");
const fs_extra_1 = require("fs-extra");
async function detectTsEntryName(tsConfigInfo, packageNameWithoutScope) {
const tsConfigJson = tsConfigInfo.tsConfigJson;
const tsCompilerConfig = tsConfigInfo.tsCompilerConfig;
const tsConfigPath = tsConfigInfo.tsConfigPath;
const flatModuleOutFile = tsConfigJson.angularCompilerOptions && tsConfigJson.angularCompilerOptions.flatModuleOutFile
? tsConfigJson.angularCompilerOptions.flatModuleOutFile
: null;
if (flatModuleOutFile) {
return flatModuleOutFile.replace(/\.js$/i, '');
}
if (tsCompilerConfig.fileNames.length > 0) {
return path.basename(tsCompilerConfig.fileNames[0]).replace(/\.ts$/i, '');
}
const tsSrcRootDir = path.dirname(tsConfigPath);
if (await fs_extra_1.pathExists(path.resolve(tsSrcRootDir, 'index.ts'))) {
return 'index';
}
const packageName = packageNameWithoutScope.lastIndexOf('/') > -1
? packageNameWithoutScope.substr(packageNameWithoutScope.lastIndexOf('/') + 1)
: packageNameWithoutScope;
if (await fs_extra_1.pathExists(path.resolve(tsSrcRootDir, packageName + '.ts'))) {
return packageName;
}
if (await fs_extra_1.pathExists(path.resolve(tsSrcRootDir, 'main.ts'))) {
return 'main';
}
if (await fs_extra_1.pathExists(path.resolve(tsSrcRootDir, 'public_api.ts'))) {
return 'public_api';
}
if (await fs_extra_1.pathExists(path.resolve(tsSrcRootDir, 'public-api.ts'))) {
return 'public-api';
}
return null;
}
exports.detectTsEntryName = detectTsEntryName;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0LXRzLWVudHJ5LW5hbWUuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbImhlbHBlcnMvZGV0ZWN0LXRzLWVudHJ5LW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRTdCLHVDQUFzQztBQUkvQixLQUFLLFVBQVUsaUJBQWlCLENBQ25DLFlBQTBCLEVBQzFCLHVCQUErQjtJQUUvQixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO0lBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFFL0MsTUFBTSxpQkFBaUIsR0FDbkIsWUFBWSxDQUFDLHNCQUFzQixJQUFJLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUI7UUFDeEYsQ0FBQyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUI7UUFDdkQsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNmLElBQUksaUJBQWlCLEVBQUU7UUFDbkIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUM3RTtJQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFaEQsSUFBSSxNQUFNLHFCQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsRUFBRTtRQUMxRCxPQUFPLE9BQU8sQ0FBQztLQUNsQjtJQUVELE1BQU0sV0FBVyxHQUNiLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQztJQUNsQyxJQUFJLE1BQU0scUJBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNuRSxPQUFPLFdBQVcsQ0FBQztLQUN0QjtJQUVELElBQUksTUFBTSxxQkFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDekQsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFFRCxJQUFJLE1BQU0scUJBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQyxFQUFFO1FBQy9ELE9BQU8sWUFBWSxDQUFDO0tBQ3ZCO0lBRUQsSUFBSSxNQUFNLHFCQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLENBQUMsRUFBRTtRQUMvRCxPQUFPLFlBQVksQ0FBQztLQUN2QjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUEvQ0QsOENBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gJ2ZzLWV4dHJhJztcblxuaW1wb3J0IHsgVHNDb25maWdJbmZvIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRldGVjdFRzRW50cnlOYW1lKFxuICAgIHRzQ29uZmlnSW5mbzogVHNDb25maWdJbmZvLFxuICAgIHBhY2thZ2VOYW1lV2l0aG91dFNjb3BlOiBzdHJpbmdcbik6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIGNvbnN0IHRzQ29uZmlnSnNvbiA9IHRzQ29uZmlnSW5mby50c0NvbmZpZ0pzb247XG4gICAgY29uc3QgdHNDb21waWxlckNvbmZpZyA9IHRzQ29uZmlnSW5mby50c0NvbXBpbGVyQ29uZmlnO1xuICAgIGNvbnN0IHRzQ29uZmlnUGF0aCA9IHRzQ29uZmlnSW5mby50c0NvbmZpZ1BhdGg7XG5cbiAgICBjb25zdCBmbGF0TW9kdWxlT3V0RmlsZSA9XG4gICAgICAgIHRzQ29uZmlnSnNvbi5hbmd1bGFyQ29tcGlsZXJPcHRpb25zICYmIHRzQ29uZmlnSnNvbi5hbmd1bGFyQ29tcGlsZXJPcHRpb25zLmZsYXRNb2R1bGVPdXRGaWxlXG4gICAgICAgICAgICA/IHRzQ29uZmlnSnNvbi5hbmd1bGFyQ29tcGlsZXJPcHRpb25zLmZsYXRNb2R1bGVPdXRGaWxlXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgaWYgKGZsYXRNb2R1bGVPdXRGaWxlKSB7XG4gICAgICAgIHJldHVybiBmbGF0TW9kdWxlT3V0RmlsZS5yZXBsYWNlKC9cXC5qcyQvaSwgJycpO1xuICAgIH1cblxuICAgIGlmICh0c0NvbXBpbGVyQ29uZmlnLmZpbGVOYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBwYXRoLmJhc2VuYW1lKHRzQ29tcGlsZXJDb25maWcuZmlsZU5hbWVzWzBdKS5yZXBsYWNlKC9cXC50cyQvaSwgJycpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzU3JjUm9vdERpciA9IHBhdGguZGlybmFtZSh0c0NvbmZpZ1BhdGgpO1xuXG4gICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMocGF0aC5yZXNvbHZlKHRzU3JjUm9vdERpciwgJ2luZGV4LnRzJykpKSB7XG4gICAgICAgIHJldHVybiAnaW5kZXgnO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VOYW1lID1cbiAgICAgICAgcGFja2FnZU5hbWVXaXRob3V0U2NvcGUubGFzdEluZGV4T2YoJy8nKSA+IC0xXG4gICAgICAgICAgICA/IHBhY2thZ2VOYW1lV2l0aG91dFNjb3BlLnN1YnN0cihwYWNrYWdlTmFtZVdpdGhvdXRTY29wZS5sYXN0SW5kZXhPZignLycpICsgMSlcbiAgICAgICAgICAgIDogcGFja2FnZU5hbWVXaXRob3V0U2NvcGU7XG4gICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMocGF0aC5yZXNvbHZlKHRzU3JjUm9vdERpciwgcGFja2FnZU5hbWUgKyAnLnRzJykpKSB7XG4gICAgICAgIHJldHVybiBwYWNrYWdlTmFtZTtcbiAgICB9XG5cbiAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwYXRoLnJlc29sdmUodHNTcmNSb290RGlyLCAnbWFpbi50cycpKSkge1xuICAgICAgICByZXR1cm4gJ21haW4nO1xuICAgIH1cblxuICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHBhdGgucmVzb2x2ZSh0c1NyY1Jvb3REaXIsICdwdWJsaWNfYXBpLnRzJykpKSB7XG4gICAgICAgIHJldHVybiAncHVibGljX2FwaSc7XG4gICAgfVxuXG4gICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMocGF0aC5yZXNvbHZlKHRzU3JjUm9vdERpciwgJ3B1YmxpYy1hcGkudHMnKSkpIHtcbiAgICAgICAgcmV0dXJuICdwdWJsaWMtYXBpJztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cbiJdfQ==