@ngxs/store
Version:
67 lines • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getProject = getProject;
exports.getProjectData = getProjectData;
exports.isLib = isLib;
exports.getProjectMainFile = getProjectMainFile;
const config_1 = require("./config");
const schematics_1 = require("@angular-devkit/schematics");
const path_1 = require("path");
function getProject(host, project) {
const workspace = (0, config_1.getWorkspace)(host);
if (!project) {
const defaultProject = workspace.defaultProject;
if (!defaultProject) {
const projectNames = Object.keys(workspace.projects);
if (projectNames.length === 1) {
project = projectNames[0];
}
}
}
const resolvedProject = project && workspace.projects[project];
if (resolvedProject) {
resolvedProject.name = project;
return resolvedProject;
}
return null;
}
function getProjectData(host, options) {
var _a, _b;
const project = getProject(host, options.project);
if (!project) {
return null;
}
if (project.root.slice(-1) === '/') {
project.root = project.root.substring(0, project.root.length - 1);
}
const projectDirName = project.projectType === 'application' ? 'app' : 'lib';
return {
project: project.name,
path: (0, path_1.join)((_a = project.root) !== null && _a !== void 0 ? _a : '', 'src', projectDirName, (_b = options.path) !== null && _b !== void 0 ? _b : '')
};
}
function isLib(host, project) {
const resolvedProject = getProject(host, project);
return (resolvedProject === null || resolvedProject === void 0 ? void 0 : resolvedProject.projectType) === 'library';
}
function getProjectMainFile(host, project) {
const resolvedProject = getProject(host, project);
if (!resolvedProject) {
if (!project) {
throw new schematics_1.SchematicsException(`Could not determine the project name. Make sure to provide the "project" option manually.`);
}
throw new schematics_1.SchematicsException(`Project "${project}" does not exist.`);
}
if (isLib(host, project)) {
return null;
}
const projectOptions = resolvedProject.architect['build'].options;
if (projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.main) {
return projectOptions.main;
}
else if (projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.browser) {
return projectOptions.browser;
}
throw new schematics_1.SchematicsException('No `main` or `browser` files have been found.');
}
//# sourceMappingURL=project.js.map