本文整理汇总了TypeScript中@angular-devkit/schematics/tools.NodeModulesEngineHost.registerOptionsTransform方法的典型用法代码示例。如果您正苦于以下问题:TypeScript NodeModulesEngineHost.registerOptionsTransform方法的具体用法?TypeScript NodeModulesEngineHost.registerOptionsTransform怎么用?TypeScript NodeModulesEngineHost.registerOptionsTransform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@angular-devkit/schematics/tools.NodeModulesEngineHost
的用法示例。
在下文中一共展示了NodeModulesEngineHost.registerOptionsTransform方法的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: 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;
}
示例3: require
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;
}
export function getCollection(collectionName: string): Collection<any, any> {
const engine = getEngine();
const collection = engine.createCollection(collectionName);
if (collection === null) {
throw new SilentError(`Invalid collection (${collectionName}).`);