Commit Graph

3937 Commits

Author SHA1 Message Date
Peter Bacon Darwin c8b4a33a7f ci(aio): lower prerender browser instances
Hopefully this will reduce aio test flakes
2017-03-21 15:20:28 -05:00
Ward Bell a13ddf2e8a feat(aio): expand nav menu branch of select item on page load 2017-03-21 15:20:28 -05:00
Georgios Kalpakas d0bc83ca27 build(aio): implement prerendering
The current implementation is based on @igorminar's [angular-io-v42][1]. It is
using Protractor to request all docs URLs, let them fallback to `/index.html`
and save the rendered page.

[1]: https://github.com/IgorMinar/angular-io-v42/tree/05508ab3/tools/prerenderer

Fixes #15104
2017-03-17 15:31:22 -05:00
Georgios Kalpakas b5b2fed54d refactor(aio): re-arrange npm scripts 2017-03-17 15:31:22 -05:00
Georgios Kalpakas 4cef5dddc6 build(aio): use own `.gitignore` file 2017-03-17 15:31:22 -05:00
Peter Bacon Darwin 6772c913c7 fix(aio): scroll to hash fragment element on URL change 2017-03-15 16:11:30 -07:00
Stefanie Fluin b11d0119ac feat(aio): top bar typography, sidenav size 2017-03-15 16:11:30 -07:00
Stefanie Fluin 637a489996 refactor(aio): indent and org cleanup 2017-03-15 16:11:30 -07:00
Stefanie Fluin c2bd357825 feat(aio): initial design commit
Implemented style guide elements to top header bar, side hamburger nav menu, content and search. Consolidated SCSS files to styles folder. Fixed PWA test.
2017-03-15 16:11:30 -07:00
Peter Bacon Darwin 4870f910d6 feat(aio): hide search results when click outside search elements
Clicking anywhere except on the search results and the search box will
now hide the search results

Closes #15095
2017-03-15 16:11:30 -07:00
Peter Bacon Darwin c95a3048ce fix(aio): `SearchBoxComponent` should send query on click
The input may still have focus when the user hits ESC,
causing the search to be hidden.

If the user then clicks on the input again, they would expect
it to reopen the results.
2017-03-15 16:11:30 -07:00
Ward Bell 0e6eb6d719 test(aio): fill in missing API page unit tests 2017-03-15 16:11:30 -07:00
Ward Bell 09574fc285 build(aio): `yarn test --sourcemap=false` for faster dev/test cycles 2017-03-15 16:11:29 -07:00
Georgios Kalpakas 4347cb2119 ci(aio): whitelist 'aio-contributors' for deploying PR previews 2017-03-15 16:11:29 -07:00
Peter Bacon Darwin f600d4e9e4 refactor(aio): move window:resize handler into component 2017-03-15 16:11:29 -07:00
Peter Bacon Darwin eaa04354d5 fix(aio): intercept all clicks on anchors
Previously we had the `LinkDirective` which intercepted clicks on anchors
outside the doc viewer. Now we intercept "all" link clicks within the app.
2017-03-15 16:11:29 -07:00
Peter Bacon Darwin 3f7cfde476 fix(aio): ignore private exports
Closes #14992
2017-03-15 16:11:29 -07:00
Ward Bell 1c1085b140 feat(aio): add google analytics (#15081) 2017-03-13 18:08:23 -07:00
Peter Bacon Darwin ab40fcb068 docs(aio): fix relative links
The migrator was updated to automatically fix these links.
See fca5fb0280
and 3927b7a038

The result of this is that, going forward, we should ask
authors to include the path from the base href to the thing
being linked. E.g. guide/architecture#intro
2017-03-13 16:56:23 -07:00
Peter Bacon Darwin 1847550ad1 docs(aio): move cookbooks into guide
Also update all docs with migrated versions from latest angular.io

Fixes #14941
2017-03-13 16:56:23 -07:00
Peter Bacon Darwin 6497633529 feat(aio): improve search results functionality
* Ensure that all indexed documents are displayed in the search results.
(Previously the guide documents were not appearing because we only showed
results that had a `name` property, rather than a `name` or `title`.)
* Group the results by their containing folder (e.g. api, guide, tutorial, etc).
* Hide the results when the user hits the ESC key.
* Hide the results when the user clicks on a search result

Closes #14852
2017-03-13 16:55:52 -07:00
Pete Bacon Darwin 8850098ea4 build(aio): ensure API docs are generated in the correct place (#15103)
The move of the source code from modules/@angular to packages, caused a
problem with the path to the API docs.
2017-03-13 16:53:47 -07:00
Peter Bacon Darwin eedca09d73 build(aio): generate the api-list.json file from the API docs 2017-03-13 16:52:58 -07:00
Peter Bacon Darwin 7b6dbf0952 fix(aio): `LocationService` search should handle corner cases
Adds tests and fixes corners cases for both `search()` and `setSearc()`
for things like empty queries and param keys that need encoding.

This commit refactors the `LocationService` to rely upon the `PlatformLocation`
rather than using `window.history` directly. This makes testing easier but also
makes the code simpler since `PlatformLocation` deals with platforms that
do not support history for us.
2017-03-13 16:52:58 -07:00
Pete Bacon Darwin 75147ff008 fix(aio): remove invalid brace from CSS (#15122) 2017-03-13 13:36:22 -07:00
Peter Bacon Darwin e7dab7e6c1 feat(aio): hard code a "Home" image link into the toolbar
Closes #15017
2017-03-13 12:55:11 -07:00
Peter Bacon Darwin 26efa3a25c style(aio): tidy up SCSS files 2017-03-13 12:55:11 -07:00
Pete Bacon Darwin 893652a813 fix(aio): upgrade to zone.js 0.7.8 (#15099)
This new version supports empty jasmine it clauses.
2017-03-13 12:53:45 -07:00
Georgios Kalpakas 4e1cf5b41a build(aio): replace all occurrences of env vars on a line in `aio-builds-setup` 2017-03-13 10:30:49 -07:00
Georgios Kalpakas 0c5f893f6e test(aio): improve test description and expectations 2017-03-13 10:30:49 -07:00
Georgios Kalpakas 17f5f3b32c ci(aio): fix clean-up script on `ngbuilds.io` 2017-03-13 10:30:49 -07:00
Georgios Kalpakas 3bb59902f7 docs(aio): add more docs about `aio-builds-setup` 2017-03-13 10:30:49 -07:00
Georgios Kalpakas b804a488c5 feat(aio): make it easy to keep relevant logs outside the docker container 2017-03-13 10:30:49 -07:00
Georgios Kalpakas cbde75e77b feat(aio): redirect HTTP to HTTPS 2017-03-13 10:30:49 -07:00
Georgios Kalpakas 413e11fac2 build(aio): remove redundant arg 2017-03-13 10:30:49 -07:00
George Kalpakas fa1920a02b feat(aio): enable deep-linking on deployed apps (until prerendering is done) (#15049) 2017-03-13 09:35:16 -07:00
Alex Rickabaugh 920b3d259d feat(aio): support @angular/service-worker using the CLI generated service worker manifest (#15042) 2017-03-10 14:05:29 -08:00
Ward Bell fce55d87d2 feat(aio): add Kapunahele animations v2 (#15023) 2017-03-10 14:05:00 -08:00
Jason Aden 2b44854885 build: fix paths for examples tests 2017-03-08 16:29:28 -08:00
Jason Aden b74ab83d2c refactor: update paths from modules/@angular to packages 2017-03-08 16:29:28 -08:00
Ward Bell 5ad5301a3e feat(aio): add API list page (#14899) 2017-03-08 13:08:19 -08:00
Georgios Kalpakas 174d4c8ef7 ci(aio): do not deploy PR if preconditions not met
This avoids incorrectly failing the build if the PR author is not a member of one of the whitelisted GitHub teams.
2017-03-07 18:24:45 -08:00
Georgios Kalpakas 4ca772eea3 refactor(aio): move scripts into `scripts/` directory 2017-03-07 18:24:45 -08:00
Georgios Kalpakas b4ec80b21d docs(aio): document arg for auto-restarting the docker container on boot 2017-03-07 18:24:45 -08:00
Georgios Kalpakas a4476654aa refactor(aio): use more intuitive log filepath 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 4210d2b4b1 test(aio): fix e2e tests 2017-03-07 18:24:45 -08:00
Georgios Kalpakas aa30c50144 feat(aio): make it easier to create a docker image (less variables to overwrite) 2017-03-07 18:24:45 -08:00
Georgios Kalpakas fd34a58e13 fix(aio): ensure `NGBUILDS_IO_KEY` is not printed
Gaining access to another PR's JWT, would allow faking that PR's author wrt to
GitHub team membership verification for as long as the JWT is valid (currently
90 mins).
2017-03-07 18:24:45 -08:00
Georgios Kalpakas e40f81b564 ci(aio): fail the build if preview deployment fails 2017-03-07 18:24:45 -08:00
Georgios Kalpakas a3a7cf2090 build(aio): allow overwriting env vars at build time 2017-03-07 18:24:45 -08:00
Georgios Kalpakas d9d9d9de6f build(aio): allow passing parameters to `docker build` 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 7e67f37fc4 ci(aio): test aio-builds-setup as part of the `aio` job 2017-03-07 18:24:45 -08:00
Georgios Kalpakas d275667da0 build(aio): upgrade to latest and pin major pm2 version 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 03a5fd01c9 fix(aio): do not hardcode the domain in preview link comments 2017-03-07 18:24:45 -08:00
Georgios Kalpakas d28ea80db8 build(aio): always compile before running tests 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 0e9277b4c3 style(aio): change mock value for consistency 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 2796790c7d feat(aio): verify uploaded builds based on JWT from Travis 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 028b274750 feat(aio): support passing secrets as files to the docker container 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 3ed1f64d43 feat(aio): implement `BuildVerifier` 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 96f11dad18 feat(aio): implement `GithubTeams` 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 060d02eb82 fix(aio): remove unnecessary `repoSlug` parameter from `GithubApi` 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 951e653b0c feat(aio): implement `GithubApi.getPaginated()` 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 37348989f0 feat(aio): make `githubToken` mandatory for `GithubApi` 2017-03-07 18:24:45 -08:00
Georgios Kalpakas c5644e5a0d refactor(aio): add `assertNotMissingOrEmpty()` helper 2017-03-07 18:24:45 -08:00
Georgios Kalpakas c8d87a936b feat(aio): add support for HTTPS (certificates provided by host - fallback to self-signed) 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 6b8413f7b3 build(aio): update TypeScript (and other dependencies) 2017-03-07 18:24:45 -08:00
Georgios Kalpakas bc831ff4a4 feat(aio): check resolution of external URLs in HEALTHCHECK 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 8a8d4fe24f test(aio): fix typos (repoSlag --> repoSlug) 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 9df9bdc0f5 style(aio): correctly type tuple 2017-03-07 18:24:45 -08:00
Georgios Kalpakas c8ead9bcd0 refactor(aio): use types intead of interfaces for functions 2017-03-07 18:24:45 -08:00
Georgios Kalpakas 115164033b ci(aio): add initial implementation for aio-builds setup 2017-03-07 18:24:45 -08:00
Peter Bacon Darwin ebd446397a fix(aio): reimplement the top menu dropping into the side bar
I couldn't find the CSS for the `.small` class to make it look nice.
2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 55189b1b85 refactor(aio): simplify and document the NavigationService 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin b017fbe48e style(aio): rename local variable 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 0d6aa0caed style(aio): rename const to camelCase 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin b70c881c00 docs(aio): fix paths to images 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 0d63e2a586 docs(aio): copy devguide images from angular.io 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin d83b7ba4c0 refactor(aio): rename `activeNodes` to `selectedNodes`
This keeps the naming consistent with the nav-menu
and nav-item component properties
2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 46d6e8d191 fix(aio): reimplement side-nav 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 61ef756ef2 fix(aio): ensure that only one request for navigation.json is made 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 3529813ca0 fix(aio): move interfaces into their own files to workaround compile weirdness
For some reason the tree-shaker is not picking up these interfaces
(perhaps TS is not passing it through) when they are in the same file
as their related services. This results in a distracting warning message.
2017-03-06 22:27:32 -08:00
Peter Bacon Darwin b81693b30c fix(aio): no need for path and url properties in nav 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 5815983178 fix(aio): correctly intercept links with LinkDirective 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin fe962f6de7 fix(aio): LocationService urls should never start with a slash
There is a weirdness in the Angular Location service.
If the `baseHref` is only a single slash (`'/'`) then it
changes it to be an empty string (`''`). The effect of this
is that `Location.normaliseUrl(url)` does not strip off the
leading slash from url paths.

The problem is that the leading slash only appears on the
initial Location path, and not on urls that arrive from subscribing
to the Location service.

This commit is a workaround this problem.
2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 04e14589c4 docs(aio): make home doc the default home page
Now the `/` url will display the home page.

Closes #14849
2017-03-06 22:27:32 -08:00
Peter Bacon Darwin d6c1ccaf14 fix(aio): emit a hard-coded doc if file-not-found fails
Closes #14848
2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 4abd6f333c fix(aio): map the empty url to the correct doc path 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin dd50922747 refactor(aio): move document path computation
Do the path computation before doing the cache look up.
2017-03-06 22:27:32 -08:00
Peter Bacon Darwin 66cc88c8a8 fix(aio): ensure that only one request per document is made 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin b44bc9c022 test(aio): add mock services 2017-03-06 22:27:32 -08:00
Peter Bacon Darwin ab0db66bf7 build(aio): move gulp tasks to package.json
Generate the docs with `yarn docs`.
Test the doc generation code with `yarn docs-test`

The docs are automatically built as part of the `yarn build` task,
so there is no need to rebuild them in the test_aio.sh file
2017-03-05 08:41:26 -08:00
Peter Bacon Darwin 8757656508 build(aio): upgrade to angular 4.0.0-rc.2 2017-03-05 08:41:26 -08:00
Peter Bacon Darwin 01ff427685 test(aio): reimplemented all the commented-out unit tests 2017-03-05 08:41:26 -08:00
Peter Bacon Darwin 2ebfa2ff31 test(aio): add placeholder test descriptions 2017-03-05 08:41:26 -08:00
Peter Bacon Darwin b09ee424bf refactor(aio): reorganize search service for easier testing 2017-03-05 08:41:26 -08:00
Peter Bacon Darwin 207298cd3a build(aio): generate marketing docs JSON files 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 62eafa4eec test(aio): fix up links in app e2e test 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 4626ca2bff build(aio): add file-not-found doc 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 38bb744008 fix(aio): remove external HTML and SCSS from app component 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin dca83ec738 feat(aio): add search service and search UI 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 71e22b8d11 feat(aio): implement doc and navigation UI 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 371dc4744c feat(aio): add navigation service 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 4767f107fb feat(aio): add logger service 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 5ae4b77d8b feat(aio): add document service 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 887d32a9bf feat(aio): add location service 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 3883b736c0 build(aio): content documents should have a `contents` field 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin c2e672cd1c docs(aio): add NOTES 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 93c0ab7131 fix(aio): remove previous files 2017-03-02 00:21:06 -08:00
Peter Bacon Darwin 1f3198cb50 feat(aio): copy example code from angular.io 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 3e34ba01bd docs(aio): migrate content docs from angular.io
This content was generated by a tool: https://github.com/petebacondarwin/aio-migrator
2017-02-23 23:23:58 -08:00
Peter Bacon Darwin c3247c64a4 docs(aio): remove unused partial file 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 1282da1b14 feat(aio): support unannotated JSON example files 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 1c08f1a6b2 fix(aio): remove unused extractTitleFromGuides processor 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin dfed388139 fix(aio): convert API and content docs to JSON 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 5e9474d24c feat(aio): include guide and tutorial in the doc generation 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin b92f52649b fix(aio): remove unused `getExampleFilename` service 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 3f8d5ac478 feat(aio): support annotating JSON files with doc-regions
This change allows the example writer to add doc-region annotations to
files that do not allow comments. This is done by creating a clone of the
file and adding `.annotated` to the file name. This new file can contain
inline `// ...` comments that can be used to annotate the doc regions.

Example:

**package.json**

```
{
  "name": "angular.io",
  "version": "0.0.0",
  "main": "index.js",
  "repository": "git@github.com:angular/angular.git",
  "author": "Angular",
  "license": "MIT",
  "private": true,
}
````

**package.json.annotated**

```
{
  "name": "angular.io",
// #docregion version
  "version": "0.0.0",
// #enddocregion
  "main": "index.js",
  "repository": "git@github.com:angular/angular.git",
  "author": "Angular",
  "license": "MIT",
  "private": true,
}
````

This region can then be referenced in examples just like any other doc region:

```
{@example 'package.json' region="version"}
```
2017-02-23 23:23:58 -08:00
Peter Bacon Darwin bee567afad fix(aio): add `@suppress` tag that is used in the API docs 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 649bab8ff8 fix(aio): handle html docregions that do not end on the same line 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 6a9251874b fix(aio): region parser error line numbers were off by one 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin c208f97461 fix(aio): correctly handle "empty" region names 2017-02-23 23:23:58 -08:00
Victor Berchet bf8eb41248 feat(compiler): introduce `<ng-template>`, deprecate `<template>` and `template` attribute
The rationale of this change is to improve the inter-operability with web
components that might make use of the `<template>` tag.

DEPRECATION

The template tags and template attribute are deprecated:

    <template ngFor [ngFor]=items let-item><li>...</li></template>
    <li template="ngFor: let item of items">...</li>

should be rewritten as:

    <ng-template ngFor [ngFor]=items let-item><li>...</li></ng-template>

Note that they still be supported in 4.x with a deprecartion warning in
development mode.

MIGRATION

- `template` tags (or elements with a `template` attribute) should be rewritten
as a `ng-template` tag,
- `ng-content` selectors should be updated to referto a `ng-template` where they
use to refer to a template: `<ng-content selector="template[attr]">` should be
rewritten as `<ng-content selector="ng-template[attr]">`
- if you consume a component relying on your templates being actual `template`
elements (that is they include a `<ng-content selector="template[attr]">`). You
should  still migrate to `ng-template` and make use of `ngProjectAs` to override
the way `ng-content` sees the template:
`<ng-template projectAs="template[attr]">`
- while `template` elements are deprecated in 4.x they continue to work.
2017-02-23 20:03:16 -08:00
George Kalpakas 175dbce354 build: check yarn version in `check-environment` (#14499)
As discussed in
https://github.com/angular/angular/pull/14382#discussion_r100620839.
2017-02-22 20:55:25 -08:00
Ward Bell 9a2ea55bff build(aio): upgrade to CLI beta.32 and MD beta.2 2017-02-22 17:53:56 -08:00
Ward Bell a26eb4c04e test(aio): redefine pipe test as a pending test to confirm code example 2017-02-22 17:53:56 -08:00
Pete Bacon Darwin 88755b0dae build(aio): update dgeni-packages to 0.16.8 (#14597) 2017-02-22 11:27:09 -08:00
Ward Bell c4a6263a01 feat(aio): replace `take(1)` with more semantic `first()` (#14571) 2017-02-17 22:52:57 -08:00
Ward Bell 45eac233eb feat(aio): fill in NavMap from current doc inventory (#14516)
A port of existing navigation. NOT the final information architecture.
2017-02-17 22:50:16 -08:00
Ward Bell 74ce121dba feat(aio): temporarily include ‘content’ folder among production assets (#14548) 2017-02-16 17:10:51 -08:00
Igor Minar 8c20aaa328 fix(aio): use cleanUrls option rather than bruteforce rewriting rule (#14547)
the cleanUrls option is smarter and looks at headers and mime type to route requests correctly.
2017-02-16 15:26:59 -08:00
Rob Wormald 88eb3b2ce8 fix(aio): fix prod build (#14541)
Fixes push to staging.
2017-02-16 14:46:30 -08:00
Ward Bell 9a6f3d637f feat(aio): add sidenav driven by navigation data (#14429) 2017-02-15 11:22:37 -08:00
Pete Bacon Darwin 1dc9be4b7d fix(aio): support `ValueModule` symbols in the TypeScript source (#14464)
In #14388 the following syntax is used in the source:

```
import * as view_utils from './linker/view_utils';
import * as viewEngine from './view/index';
…
export {view_utils as ɵview_utils};
export {viewEngine as ɵviewEngine};
```

The usage of `export {... as ...}` was not being recognised by dgeni.

It is now being recognised and a temporary dummy output file is being
rendered. Later we will either ignore this doctype altogether or find
a better way of rendering it.
2017-02-13 14:46:44 -08:00
Igor Minar 294c1cd7a7 build(aio): update to @angular/core@2.4.7
upgrade command used:

```
yarn upgrade @angular/{core,common,compiler,forms,http,platform-browser,platform-browser-dynamic,router,compiler-cli}
```
2017-02-10 13:02:24 -08:00
Igor Minar fafee5a493 build(aio): update to @angular/cli@1.0.0-beta.31 2017-02-10 13:02:24 -08:00
George Kalpakas b988733553 test(aio): remove unnecessary hack from e2e tests (#14356)
May address #14347.
2017-02-09 17:22:08 -08:00
Pete Bacon Darwin 600402d440 build(aio): big move of docs related files (#14361)
All the docs related files (docs-app, doc-gen, content, etc)
are now to be found inside the `/aio` folder.

The related gulp tasks have been moved from the top level
gulp file to a new one inside the `/aio` folder.

The structure of the `/aio` folder now looks like:

```
/aio/
  build/         # gulp tasks
  content/       #MARKDOWN FILES for devguides, cheatsheet, etc
    devguides/
    cheatsheets/
  transforms/    #dgeni packages, templates, etc
  src/
    app/
    assets/
    content/    #HTML + JSON build artifacts produced by dgeni from /aio/content.
                #This dir is .gitignored-ed
  e2e/           #protractor tests for the doc viewer app
  node_modules/ #dependencies for both the doc viewer builds and the dgeni stuff
                #This dir is .gitignored-ed
  gulpfile.js   #Tasks for generating docs and building & deploying the doc viewer
```

Closes #14361
2017-02-09 11:58:36 -08:00