UNPKG

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
"use strict"; 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==