47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @license
							 | 
						||
| 
								 | 
							
								 * Copyright Google Inc. All Rights Reserved.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Use of this source code is governed by an MIT-style license that can be
							 | 
						||
| 
								 | 
							
								 * found in the LICENSE file at https://angular.io/license
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const Package = require('dgeni').Package;
							 | 
						||
| 
								 | 
							
								const contentPackage = require('../angular-content-package');
							 | 
						||
| 
								 | 
							
								const { readFileSync } = require('fs');
							 | 
						||
| 
								 | 
							
								const { resolve } = require('canonical-path');
							 | 
						||
| 
								 | 
							
								const { CONTENTS_PATH } = require('../config');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* eslint no-console: "off" */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function createPackage(tutorialName) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  const tutorialFilePath = `${CONTENTS_PATH}/getting-started/${tutorialName}.md`;
							 | 
						||
| 
								 | 
							
								  const tutorialFile = readFileSync(tutorialFilePath, 'utf8');
							 | 
						||
| 
								 | 
							
								  const examples = [];
							 | 
						||
| 
								 | 
							
								  tutorialFile.replace(/<code-(?:pane|example) [^>]*path="([^"]+)"/g, (_, path) => examples.push('examples/' + path));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (examples.length) {
							 | 
						||
| 
								 | 
							
								    console.log('The following example files are referenced in this getting-started:');
							 | 
						||
| 
								 | 
							
								    console.log(examples.map(example => ' - ' + example).join('\n'));
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return new Package('author-getting-started', [contentPackage])
							 | 
						||
| 
								 | 
							
								    .config(function(readFilesProcessor) {
							 | 
						||
| 
								 | 
							
								      readFilesProcessor.sourceFiles = [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          basePath: CONTENTS_PATH,
							 | 
						||
| 
								 | 
							
								          include: tutorialFilePath,
							 | 
						||
| 
								 | 
							
								          fileReader: 'contentFileReader'
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          basePath: CONTENTS_PATH,
							 | 
						||
| 
								 | 
							
								          include: examples.map(example => resolve(CONTENTS_PATH, example)),
							 | 
						||
| 
								 | 
							
								          fileReader: 'exampleFileReader'
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ];
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = { createPackage };
							 |