1- const projectGraphBuilder = require ( "./projectGraphBuilder" ) ;
2- const ui5Framework = require ( "./providers /ui5Framework" ) ;
3- const log = require ( "@ui5/logger" ) . getLogger ( "graph:projectGraphFromDirectory " ) ;
1+ const projectGraphBuilder = require ( "./graph/providers/ projectGraphBuilder" ) ;
2+ const ui5Framework = require ( "./graph/helpers /ui5Framework" ) ;
3+ const log = require ( "@ui5/logger" ) . getLogger ( "generateProjectGraph " ) ;
44
55/**
66 * Helper module to create a [@ui5/project.graph.ProjectGraph]{@link module:@ui5/project.graph.ProjectGraph}
77 * from a directory
88 *
99 * @public
10- * @alias module:@ui 5/project.graph.projectGraphFromTree
10+ * @alias module:@ui 5/project.generateProjectGraph
1111 * @param {TreeNode } tree Dependency tree as returned by a translator
1212 * @returns {module:@ui5/project.graph.ProjectGraph } A new project graph instance
1313 */
14- const projectGraphFromDirectory = {
14+ const generateProjectGraph = {
1515 /**
1616 * Generates a [@ui5/project.graph.ProjectGraph]{@link module:@ui5/project.graph.ProjectGraph} by resolving
1717 * dependencies from package.json files and configuring projects from ui5.yaml files
@@ -26,9 +26,9 @@ const projectGraphFromDirectory = {
2626 * @param {string } [options.versionOverride] Framework version to use instead of the one defined in the root project
2727 * @returns {Promise<module:@ui5/project.graph.ProjectGraph> } Promise resolving to a Project Graph instance
2828 */
29- usingNpm : async function ( { cwd = "." , rootConfiguration, rootConfigPath, versionOverride} ) {
29+ usingNodePackageDependencies : async function ( { cwd = "." , rootConfiguration, rootConfigPath, versionOverride} ) {
3030 log . verbose ( `Creating project graph using npm provider...` ) ;
31- const NpmProvider = require ( "./providers/npm " ) ;
31+ const NpmProvider = require ( "./graph/ providers/NodePackageDependencies " ) ;
3232
3333 const provider = new NpmProvider ( {
3434 cwd : cwd ,
@@ -44,7 +44,7 @@ const projectGraphFromDirectory = {
4444 } ,
4545
4646 /**
47- * Generates a [@ui5/project.graph.ProjectGraph]{@link module:@ui5/project.graph.ProjectGraph} from on a
47+ * Generates a [@ui5/project.graph.ProjectGraph]{@link module:@ui5/project.graph.ProjectGraph} from a
4848 * YAML file following the structure of the
4949 * [@ui5/project.graph.projectGraphFromTree]{@link module:@ui5/project.graph.projectGraphFromTree} API
5050 *
@@ -57,23 +57,49 @@ const projectGraphFromDirectory = {
5757 */
5858 usingStaticFile : async function ( { cwd = "." , filePath, versionOverride} ) {
5959 log . verbose ( `Creating project graph using static file...` ) ;
60- const staticTranslator = require ( "../translators/static" ) ;
61- const DependencyTreeProvider = require ( "./providers/DependencyTree" ) ;
60+ const staticTranslator = require ( "./translators/static" ) ;
6261
63- const tree = await staticTranslator . generateDependencyTree ( null , {
62+ const dependencyTree = await staticTranslator . generateDependencyTree ( null , {
6463 parameters : [ filePath ] // *sigh*
6564 } ) ;
6665
66+ const DependencyTreeProvider = require ( "./graph/providers/DependencyTree" ) ;
6767 const provider = new DependencyTreeProvider ( {
68- tree
68+ dependencyTree
6969 } ) ;
7070
7171 const projectGraph = await projectGraphBuilder ( provider ) ;
7272
7373 await ui5Framework . enrichProjectGraph ( projectGraph , { versionOverride} ) ;
7474
75+ return projectGraph ;
76+ } ,
77+
78+ /**
79+ * Generates a [@ui5/project.graph.ProjectGraph]{@link module:@ui5/project.graph.ProjectGraph} from a
80+ * YAML file following the structure of the
81+ * [@ui5/project.graph.projectGraphFromTree]{@link module:@ui5/project.graph.projectGraphFromTree} API
82+ *
83+ * @public
84+ * @param {object } options
85+ * @param {module:@ui5/project.graph.providers.DependencyTree.TreeNode } options.dependencyTree
86+ * @param {string } [options.versionOverride] Framework version to use instead of the one defined in the root project
87+ * @returns {Promise<module:@ui5/project.graph.ProjectGraph> } Promise resolving to a Project Graph instance
88+ */
89+ usingObject : async function ( { dependencyTree, versionOverride} ) {
90+ log . verbose ( `Creating project graph using object...` ) ;
91+
92+ const DependencyTreeProvider = require ( "./graph/providers/DependencyTree" ) ;
93+ const dependencyTreeProvider = new DependencyTreeProvider ( {
94+ dependencyTree
95+ } ) ;
96+
97+ const projectGraph = await projectGraphBuilder ( dependencyTreeProvider ) ;
98+
99+ await ui5Framework . enrichProjectGraph ( projectGraph , { versionOverride} ) ;
100+
75101 return projectGraph ;
76102 }
77103} ;
78104
79- module . exports = projectGraphFromDirectory ;
105+ module . exports = generateProjectGraph ;
0 commit comments