43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								const fs = require('fs');
							 | 
						||
| 
								 | 
							
								const path = require('path');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const angularRoot = path.resolve('./node_modules/@angular');
							 | 
						||
| 
								 | 
							
								const angularModules = fs.readdirSync(angularRoot).map(function (name) {
							 | 
						||
| 
								 | 
							
								  const content = fs.readFileSync(path.join(angularRoot, name, 'package.json'), 'utf-8').toString();
							 | 
						||
| 
								 | 
							
								  return JSON.parse(content);
							 | 
						||
| 
								 | 
							
								}).reduce(function (acc, packageJson) {
							 | 
						||
| 
								 | 
							
								  acc[packageJson.name] = packageJson;
							 | 
						||
| 
								 | 
							
								  return acc;
							 | 
						||
| 
								 | 
							
								}, Object.create(null));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var error = false;
							 | 
						||
| 
								 | 
							
								Object.keys(angularModules).forEach(function (name) {
							 | 
						||
| 
								 | 
							
								  packageJson = angularModules[name];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  const ngUpdate = packageJson['ng-update'];
							 | 
						||
| 
								 | 
							
								  if (!ngUpdate) {
							 | 
						||
| 
								 | 
							
								    console.error('Package ' + JSON.stringify(name) + ' does not have an "ng-update" key.');
							 | 
						||
| 
								 | 
							
								    error = true;
							 | 
						||
| 
								 | 
							
								    return;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  const packageGroup = ngUpdate['packageGroup'];
							 | 
						||
| 
								 | 
							
								  if (!packageGroup) {
							 | 
						||
| 
								 | 
							
								    console.error('Package ' + JSON.stringify(name) + ' does not have a "packageGroup" key.');
							 | 
						||
| 
								 | 
							
								    error = true;
							 | 
						||
| 
								 | 
							
								    return;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Verify that every packageGroup is represented in the list of modules.
							 | 
						||
| 
								 | 
							
								  Object.keys(angularModules).forEach(function (groupEntry) {
							 | 
						||
| 
								 | 
							
								    if (packageGroup.indexOf(groupEntry) == -1) {
							 | 
						||
| 
								 | 
							
								      console.error('Package ' + JSON.stringify(name) + ' is missing ' + JSON.stringify(groupEntry)
							 | 
						||
| 
								 | 
							
								        + ' as a packageGroup entry.');
							 | 
						||
| 
								 | 
							
								      error = true;
							 | 
						||
| 
								 | 
							
								      return;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								process.exit(error ? 1 : 0);
							 |