當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。