當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript architect.Architect類代碼示例

本文整理匯總了TypeScript中@angular-devkit/architect.Architect的典型用法代碼示例。如果您正苦於以下問題:TypeScript Architect類的具體用法?TypeScript Architect怎麽用?TypeScript Architect使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Architect類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: describe

describe('Browser Builder deploy url', () => {
  const targetSpec = { project: 'app', target: 'build' };
  let architect: Architect;

  beforeEach(async () => {
    await host.initialize().toPromise();
    architect = (await createArchitect(host.root())).architect;
  });
  afterEach(async () => host.restore().toPromise());

  it('uses deploy url for bundles urls and runtime', async () => {
    const overrides = { deployUrl: 'deployUrl/' };
    const overrides2 = { deployUrl: 'http://example.com/some/path/' };

    const run = await architect.scheduleTarget(targetSpec, overrides);
    const output = await run.result as BrowserBuilderOutput;
    expect(output.success).toBe(true);
    expect(output.outputPath).not.toBeUndefined();
    const outputPath = normalize(output.outputPath);

    const fileName = join(outputPath, 'index.html');
    const runtimeFileName = join(outputPath, 'runtime.js');
    const content = virtualFs.fileBufferToString(await host.read(normalize(fileName)).toPromise());
    expect(content).toContain('deployUrl/main.js');
    const runtimeContent = virtualFs.fileBufferToString(
      await host.read(normalize(runtimeFileName)).toPromise(),
    );
    expect(runtimeContent).toContain('deployUrl/');

    const run2 = await architect.scheduleTarget(targetSpec, overrides2);
    const output2 = await run2.result as BrowserBuilderOutput;
    expect(output2.outputPath).toEqual(outputPath);  // These should be the same.

    const content2 = virtualFs.fileBufferToString(await host.read(normalize(fileName)).toPromise());
    expect(content2).toContain('http://example.com/some/path/main.js');

    await run.stop();
    await run2.stop();
  });
});
開發者ID:angular,項目名稱:angular-cli,代碼行數:40,代碼來源:deploy-url_spec_large.ts

示例2: describe

describe('Browser Builder output path', () => {
  const target = { project: 'app', target: 'build' };
  let architect: Architect;

  beforeEach(async () => {
    await host.initialize().toPromise();
    architect = (await createArchitect(host.root())).architect;
  });
  afterEach(async () => host.restore().toPromise());

  it('deletes output path', async () => {
    // Write a file to the output path to later verify it was deleted.
    await host.write(
      join(host.root(), 'dist/file.txt'),
      virtualFs.stringToFileBuffer('file'),
    ).toPromise();

    // Delete an app file to force a failed compilation.
    // Failed compilations still delete files, but don't output any.
    await host.delete(join(host.root(), 'src', 'app', 'app.component.ts')).toPromise();

    const run = await architect.scheduleTarget(target);
    const output = await run.result;
    expect(output.success).toBe(false);
    expect(await host.exists(join(host.root(), 'dist')).toPromise()).toBe(false);
    await run.stop();
  });

  it('does not allow output path to be project root', async () => {
    const overrides = { outputPath: './' };
    const run = await architect.scheduleTarget(target, overrides);
    try {
      await run.result;
      expect('THE ABOVE LINE SHOULD THROW').toBe('');
    } catch {}
    await run.stop();
  });
});
開發者ID:angular,項目名稱:angular-cli,代碼行數:38,代碼來源:output-path_spec_large.ts

示例3: it

  it('fails with non-source root input path', async () => {
    const assets: { [path: string]: string } = {
      './node_modules/some-package/node_modules-asset.txt': 'node_modules-asset.txt',
    };
    host.writeMultipleFiles(assets);
    const overrides = {
      assets: ['not-source-root/file.txt'],
    };

    const run = await architect.scheduleTarget(targetSpec, overrides);
    try {
      await run.result;
      expect('THE ABOVE LINE SHOULD THROW').toBe('');
    } catch {}

    // The node_modules folder must be deleted, otherwise code that tries to find the
    // node_modules folder will hit this one and can fail.
    host.scopedSync().delete(normalize('./node_modules'));

    await run.stop();
  });
開發者ID:angular,項目名稱:angular-cli,代碼行數:21,代碼來源:assets_spec_large.ts

示例4: it

  it('keeps escaped charaters', async () => {
    host.writeMultipleFiles({
      'src/index.html': tags.oneLine`
        <html><head><title>&iacute;</title><base href="/"></head>
        <body><app-root></app-root></body></html>
      `,
    });

    const run = await architect.scheduleTarget(targetSpec);
    const output = await run.result as BrowserBuilderOutput;
    expect(output.success).toBe(true);
    const fileName = join(normalize(output.outputPath), 'index.html');
    const content = virtualFs.fileBufferToString(await host.read(normalize(fileName)).toPromise());
    expect(content).toBe(
      `<html><head><title>&iacute;</title><base href="/"></head> `
      + `<body><app-root></app-root><script src="runtime.js"></script>`
      + `<script src="polyfills.js"></script><script src="styles.js"></script>`
      + `<script src="vendor.js"></script><script src="main.js"></script></body></html>`,
    );
    await run.stop();
  });
開發者ID:angular,項目名稱:angular-cli,代碼行數:21,代碼來源:index_spec_large.ts

示例5: expectAsync

  it('overrides protractor suites', async () => {
    host.scopedSync().rename(
      normalize('./e2e/app.e2e-spec.ts'),
      normalize('./e2e/renamed-app.e2e-spec.ts'),
    );

    // Suites block needs to be added in the protractor.conf.js file to test suites
    host.replaceInFile('protractor.conf.js', `allScriptsTimeout: 11000,`, `
      allScriptsTimeout: 11000,
      suites: {
        app: './e2e/app.e2e-spec.ts'
      },
    `);

    const overrides = { suite: 'app' };
    const run = await architect.scheduleTarget(protractorTargetSpec, overrides);

    await expectAsync(run.result).toBeResolvedTo(jasmine.objectContaining({ success: true }));

    await run.stop();
  }, 60000);
開發者ID:angular,項目名稱:angular-cli,代碼行數:21,代碼來源:works_spec_large.ts

示例6: it

  it('works with watch', async () => {
    host.writeMultipleFiles({
      'src/my-json-file.json': `{"foo": "1"}`,
      'src/main.ts': `import * as a from './my-json-file.json'; console.log(a);`,
    });

    host.replaceInFile(
      'tsconfig.json',
      '"target": "es2015"',
      '"target": "es5", "resolveJsonModule": true',
    );

    const overrides = { watch: true };

    let buildCount = 1;
    const run = await architect.scheduleTarget(target, overrides);
    await run.output.pipe(
      tap(() => {
        const content = virtualFs.fileBufferToString(
          host.scopedSync().read(join(outputPath, 'main.js')),
        );

        switch (buildCount) {
          case 1:
            expect(content).toContain('foo":"1"');
            host.writeMultipleFiles({
              'src/my-json-file.json': `{"foo": "2"}`,
            });
            break;
          case 2:
            expect(content).toContain('foo":"2"');
            break;
        }

        buildCount++;
      }),
      tap((buildEvent) => expect(buildEvent.success).toBe(true)),
      take(2),
    ).toPromise();
  });
開發者ID:angular,項目名稱:angular-cli,代碼行數:40,代碼來源:resolve-json-module_spec_large.ts

示例7: it

  it('ignores missing translations', async () => {
    const overrides = {
      aot: true,
      i18nFile: 'src/locale/messages.fr.xlf',
      i18nFormat: 'true',
      i18nLocale: 'fr',
      i18nMissingTranslation: 'ignore',
    };

    host.writeMultipleFiles({ 'src/locale/messages.fr.xlf': emptyTranslationFile });
    host.appendToFile('src/app/app.component.html', '<p i18n>Other content</p>');

    const run = await architect.scheduleTarget(targetSpec, overrides);
    const output = await run.result as BrowserBuilderOutput;
    expect(output.success).toBe(true);
    const outputPath = output.outputPath;
    const fileName = join(normalize(outputPath), 'main.js');
    const content = virtualFs.fileBufferToString(await host.read(normalize(fileName)).toPromise());
    expect(content).toMatch(/Other content/);

    await run.stop();
  });
開發者ID:angular,項目名稱:angular-cli,代碼行數:22,代碼來源:i18n_spec_large.ts

示例8: it

  it(`should show project name as status and in the logs`, async () => {
    // Check logs.
    const logger = new logging.Logger('lint-info');
    const allLogs: string[] = [];
    logger.subscribe(entry => allLogs.push(entry.message));

    const run = await architect.scheduleTarget(lintTarget, {}, { logger });

    // Check status updates.
    const allStatus: string[] = [];
    run.progress.subscribe(progress => {
      if (progress.status !== undefined) {
        allStatus.push(progress.status);
      }
    });

    const output = await run.result;
    expect(output.success).toBe(true);
    expect(allStatus).toContain(jasmine.stringMatching(/linting.*"app".*/i));
    expect(allLogs).toContain(jasmine.stringMatching(/linting.*"app".*/i));
    await run.stop();
  });
開發者ID:angular,項目名稱:angular-cli,代碼行數:22,代碼來源:works_spec_large.ts

示例9: it

  it('rebuilds on changes in barrel file dependency', async () => {
    host.writeMultipleFiles({
      'src/index.ts': `export * from './interface'`,
      'src/interface.ts': `export interface Foo { bar: boolean };`,
    });
    host.appendToFile('src/main.ts', `
      import { Foo } from './index';
      const x: Foo = { bar: true };
    `);

    const overrides = { watch: true, aot: false };
    let buildNumber = 0;
    const run = await architect.scheduleTarget(target, overrides);
    await run.output.pipe(
      debounceTime(1000),
      tap((buildEvent) => {
        buildNumber += 1;
        switch (buildNumber) {
          case 1:
            expect(buildEvent.success).toBe(true);
            host.writeMultipleFiles({
              'src/interface.ts': `export interface Foo {
                bar: boolean;
                baz?: string;
               };`,
            });
            break;

          case 2:
            expect(buildEvent.success).toBe(true);
            break;
        }
      }),
      take(2),
    ).toPromise();
    await run.stop();
  });
開發者ID:angular,項目名稱:angular-cli,代碼行數:37,代碼來源:rebuild_spec_large.ts


注:本文中的@angular-devkit/architect.Architect類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。