本文整理汇总了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;
}