halmhatt / topological-sort

Sort dependencies with topological-sort

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Topological sort

Build Status

Sort dependencies

import topological from '../index.js';

let items = [
	{name: 'jquery-plugin1', src: 'jquery-plugin-1.2.1.js', dep: ['jquery']},
	{name: 'jquery', src: 'jquery-1.6.2.js', dep: []},
	{name: 'underscore-plugin1', src: 'underscore-plugin.js', dep: ['underscore']},
	{name: 'underscore', src: 'underscore-1.2.2.js', dep: []}
];

let sorted = topological.sort(items);
// sorted:
// [
//		{name: 'underscore', src: 'underscore-1.2.2.js', dep: []},
//		{name: 'underscore-plugin1', src: 'underscore-plugin.js', dep: ['underscore']},
//		{name: 'jquery', src: 'jquery-1.6.2.js', dep: []},
//		{name: 'jquery-plugin1', src: 'jquery-plugin-1.2.1.js', dep: ['jquery']}	
// ]

Use your own structure

let items = [
	{id: 'jquery-plugin1', source: 'jquery-plugin1.js', needs: ['jquery']},
	{id: 'jquery', source: 'jquery.js', needs: []}
];

let sorted = topological.sort(
	items, 
	(item) => item.needs || [], 
	(item) => item.id);

About

Sort dependencies with topological-sort

License:MIT License


Languages

Language:JavaScript 100.0%