当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript tools.NodeModulesEngineHost类代码示例

本文整理汇总了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',
          },
        );
      }
    }
  }
}
开发者ID:headinclouds,项目名称:angular-cli,代码行数:48,代码来源:generate-docs.ts

示例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;
}
开发者ID:nickroberts,项目名称:angular-cli,代码行数:30,代码来源:schematics.ts

示例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;
}
开发者ID:3L4CKD4RK,项目名称:angular-cli,代码行数:21,代码来源:schematics.ts


注:本文中的@angular-devkit/schematics/tools.NodeModulesEngineHost类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。