本文整理匯總了TypeScript中@angular-devkit/schematics/tools.NodeModulesEngineHost類的典型用法代碼示例。如果您正苦於以下問題:TypeScript NodeModulesEngineHost類的具體用法?TypeScript NodeModulesEngineHost怎麽用?TypeScript NodeModulesEngineHost使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了NodeModulesEngineHost類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: function
export default async function () {
const commandsPath = __dirname + '/../../../packages/@angular/cli/commands';
const commandFiles = fs.readdirSync(commandsPath);
const engineHost = new NodeModulesEngineHost();
const registry = new schema.CoreSchemaRegistry(formats.standardFormats);
engineHost.registerOptionsTransform(validateOptionsWithSchema(registry));
for (const commandFile of commandFiles) {
const commandConstructor = require(path.join(commandsPath, commandFile)).default;
const command = new commandConstructor(
{ project: { root: path.join(__dirname, '../fake_root/') } },
new logging.NullLogger(),
);
if (command.hidden) {
continue;
}
generateDoc(command, commandFile);
if (command.name === 'generate') {
const collection = engineHost.createCollectionDescription('@schematics/angular');
for (const schematicName in collection.schematics) {
const schematic = collection.schematics[schematicName];
if (schematic.hidden || schematic.private) {
continue;
}
const generateCommand = new commandConstructor(
{ project: { root: path.join(__dirname, '../fake_root/') } },
new logging.NullLogger(),
);
generateDoc(
generateCommand,
commandFile,
{ _: [`${collection.name}:${schematicName}`] },
{
name: strings.dasherize(schematicName),
namePrefix: 'generate ',
description: schematic.description,
path: 'generate',
},
);
}
}
}
}
示例2: require
Collection,
Engine,
Schematic,
SchematicEngine,
formats,
} from '@angular-devkit/schematics';
import {
FileSystemCollectionDesc,
FileSystemSchematicDesc,
NodeModulesEngineHost,
validateOptionsWithSchema
} from '@angular-devkit/schematics/tools';
const SilentError = require('silent-error');
const engineHost = new NodeModulesEngineHost();
const engine: Engine<FileSystemCollectionDesc, FileSystemSchematicDesc>
= new SchematicEngine(engineHost);
// Add support for schemaJson.
const registry = new schema.CoreSchemaRegistry(formats.standardFormats);
engineHost.registerOptionsTransform(validateOptionsWithSchema(registry));
export function getEngineHost() {
return engineHost;
}
export function getEngine(): Engine<FileSystemCollectionDesc, FileSystemSchematicDesc> {
return engine;
}
示例3: getCollection
export function getCollection(collectionName: string): Collection<any, any> {
const engineHost = getEngineHost();
const engine = getEngine();
// Add support for schemaJson.
engineHost.registerOptionsTransform((schematic: FileSystemSchematicDesc, options: any) => {
if (schematic.schema) {
const SchemaMetaClass = SchemaClassFactory<any>(schematic.schemaJson!);
const schemaClass = new SchemaMetaClass(options);
return schemaClass.$$root();
}
return options;
});
const collection = engine.createCollection(collectionName);
if (collection === null) {
throw new SilentError(`Invalid collection (${collectionName}).`);
}
return collection;
}