project.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const config_1 = require("../utility/config");
  4. const workspace_models_1 = require("../utility/workspace-models");
  5. /**
  6. * Build a default project path for generating.
  7. * @param project The project to build the path for.
  8. */
  9. function buildDefaultPath(project) {
  10. const root = project.sourceRoot
  11. ? `/${project.sourceRoot}/`
  12. : `/${project.root}/src/`;
  13. const projectDirName = project.projectType === workspace_models_1.ProjectType.Application ? 'app' : 'lib';
  14. return `${root}${projectDirName}`;
  15. }
  16. exports.buildDefaultPath = buildDefaultPath;
  17. function getProject(workspaceOrHost, projectName) {
  18. const workspace = isWorkspaceSchema(workspaceOrHost)
  19. ? workspaceOrHost
  20. : config_1.getWorkspace(workspaceOrHost);
  21. return workspace.projects[projectName];
  22. }
  23. exports.getProject = getProject;
  24. // TODO(hans): change this any to unknown when google3 supports TypeScript 3.0.
  25. // tslint:disable-next-line:no-any
  26. function isWorkspaceSchema(workspace) {
  27. return !!(workspace && workspace.projects);
  28. }
  29. exports.isWorkspaceSchema = isWorkspaceSchema;
  30. // TODO(hans): change this any to unknown when google3 supports TypeScript 3.0.
  31. // tslint:disable-next-line:no-any
  32. function isWorkspaceProject(project) {
  33. return !!(project && project.projectType);
  34. }
  35. exports.isWorkspaceProject = isWorkspaceProject;