143 lines
4.6 KiB
Plaintext

<!--
BEFORE UPDATING THIS FILE, READ THIS.
This file is automatically generated during release. It is important for you to not update
README directly.
- If you need to change the content, update `scripts/templates/readme.ejs`
- If you need to add/remove a package or a link, update the .monorepo.json file instead.
Any changes to README.md directly will result in a failure on CI.
-->
# Angular CLI
### Development tools and libraries specialized for Angular
This is the home of the DevKit and the Angular CLI code. You can find the Angular CLI specific README
[here](/packages/angular/cli/README.md).
<%# Badges are created here. %>
<% for (const section of monorepo.badges) {
for (const { label, image, title, url } of section) {
if (image) {
%>[![<%= label %>](<%= image %>)]<%
} else {
%>[<%= title %>]<%
}
%>(<%= url %>) <%
} %>
<% } %>
### Quick Links
<% for (const link of Object.keys(monorepo.links)) {
%>[<%= link %>](<%= monorepo.links[link] %>) | <%
} %>
<% for (const link of Object.keys(monorepo.links)) {
%>|---<%
} %>|
----
## The Goal of Angular CLI
The Angular CLI creates, manages, builds and test your Angular projects. It's built on top of the
Angular DevKit.
## The Goal of DevKit
DevKit's goal is to provide a large set of libraries that can be used to manage, develop, deploy and
analyze your code.
# Getting Started - Local Development
## Installation
To get started locally, follow these instructions:
1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork).
1. Clone to your local computer using `git`.
1. Make sure that you have Node 10.9 or later installed. See instructions [here](https://nodejs.org/en/download/). The Angular CLI requires Node 8, but development requires Node 10.
1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/).
1. Run `yarn` (no arguments) from the root of your clone of this project.
1. Run `yarn link` to add all custom scripts we use to your global install.
## Creating New Packages
Adding a package to this repository means running two separate commands:
1. `schematics devkit:package PACKAGE_NAME`. This will update the `.monorepo` file, and create the
base files for the new package (package.json, src/index, etc).
1. `devkit-admin templates`. This will update the README and all other template files that might
have changed when adding a new package.
For private packages, you will need to add a `"private": true` key to your package.json manually.
This will require re-running the template admin script.
# Packages
This is a monorepo which contains many tools and packages:
<%
const sections = [
...new Set(Object.keys(packages).map(pkgName => monorepo.packages[pkgName].section ))
].filter(x => x && x != 'Tooling');
sections.unshift(undefined);
%>
## Tools
| Project | Package | Version | Links |
|---|---|---|---|
<%
for (const pkgName of Object.keys(packages)) {
const pkg = packages[pkgName];
const mrPkg = monorepo.packages[pkgName];
if (pkg.private) {
continue;
}
if (mrPkg.section != 'Tooling') {
continue;
}
%>**<%= mrPkg.name%>**<%
%> | [`<%= pkgName %>`](https://npmjs.com/package/<%= pkgName %>)<%
%> | [![latest](https://img.shields.io/npm/v/<%= encode(pkgName) %>/latest.svg)](https://npmjs.com/package/<%= pkgName %>)<%
%> | <% for (const link of mrPkg.links || []) {
%>[![<%= link.label %>](https://img.shields.io/badge/<%= link.label %>--<%= link.color || 'green' %>.svg)](<%= link.url %>)<%
}
if (mrPkg.snapshotRepo) {
%> [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/<%= mrPkg.snapshotRepo %>)<%
} %>
<% } %>
## Packages
<% for (const section of sections) {
%><%= section ? '#### ' + section : '' %>
| Project | Package | Version | Links |
|---|---|---|---|
<%
for (const pkgName of Object.keys(packages)) {
const pkg = packages[pkgName];
const mrPkg = monorepo.packages[pkgName];
if (pkg.private) {
continue;
}
if (mrPkg.section != section) {
continue;
}
%>**<%= mrPkg.name%>**<%
%> | [`<%= pkgName %>`](https://npmjs.com/package/<%= pkgName %>)<%
%> | [![latest](https://img.shields.io/npm/v/<%= encode(pkgName) %>/latest.svg)](https://npmjs.com/package/<%= pkgName %>)<%
%> | <% for (const link of mrPkg.links || []) {
%>[![<%= link.label %>](https://img.shields.io/badge/<%= link.label %>--<%= link.color || 'green' %>.svg)](<%= link.url %>)<%
}
if (mrPkg.snapshotRepo) {
%> [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/<%= mrPkg.snapshotRepo %>)<%
} %>
<% } %>
<% } %>