@angular-devkit/schematics
TypeScript icon, indicating that this package has built-in type declarations

20.1.0 • Public • Published

Schematics

A scaffolding library for the modern web.

Description

Schematics are generators that transform an existing filesystem. They can create files, refactor existing files, or move files around.

What distinguishes Schematics from other generators, such as Yeoman or Yarn Create, is that schematics are purely descriptive; no changes are applied to the actual filesystem until everything is ready to be committed. There is no side effect, by design, in Schematics.

Glossary

Term Description
Schematics A generator that executes descriptive code without side effects on an existing file system.
Collection A list of schematics metadata. Schematics can be referred by name inside a collection.
Tool The code using the Schematics library.
Tree A staging area for changes, containing the original file system, and a list of changes to apply to it.
Rule A function that applies actions to a Tree. It returns a new Tree that will contain all transformations to be applied.
Source A function that creates an entirely new Tree from an empty filesystem. For example, a file source could read files from disk and create a Create Action for each of those.
Action An atomic operation to be validated and committed to a filesystem or a Tree. Actions are created by schematics.
Sink The final destination of all Actions.
Task A Task is a way to execute an external command or script in a schematic. A Task can be used to perform actions such as installing dependencies, running tests, or building a project. A Task is created by using the SchematicContext object and can be scheduled to run before or after the schematic Tree is applied.

Tooling

Schematics is a library, and does not work by itself. A reference CLI is available on this repository, and is published on NPM at @angular-devkit/schematics-cli. This document explains the library usage and the tooling API, but does not go into the tool implementation itself.

The tooling is responsible for the following tasks:

  1. Create the Schematic Engine, and pass in a Collection and Schematic loader.
  2. Understand and respect the Schematics metadata and dependencies between collections. Schematics can refer to dependencies, and it's the responsibility of the tool to honor those dependencies. The reference CLI uses NPM packages for its collections.
  3. Create the Options object. Options can be anything, but the schematics can specify a JSON Schema that should be respected. The reference CLI, for example, parses the arguments as a JSON object and validates it with the Schema specified by the collection.
  4. Schematics provides some JSON Schema formats for validation that tooling should add. These validate paths, html selectors and app names. Please check the reference CLI for how these can be added.
  5. Call the schematics with the original Tree. The tree should represent the initial state of the filesystem. The reference CLI uses the current directory for this.
  6. Create a Sink and commit the result of the schematics to the Sink. Many sinks are provided by the library; FileSystemSink and DryRunSink are examples.
  7. Output any logs propagated by the library, including debugging information.

The tooling API is composed of the following pieces:

Engine

The SchematicEngine is responsible for loading and constructing Collections and Schematics. When creating an engine, the tooling provides an EngineHost interface that understands how to create a CollectionDescription from a name, and how to create a SchematicDescription.

Schematics (Generators)

Schematics are generators and part of a Collection.

Collection

A Collection is defined by a collection.json file (in the reference CLI). This JSON defines the following properties:

Prop Name Type Description
name string The name of the collection.
version string Unused field.

Schematic

Operators, Sources and Rules

A Source is a generator of a Tree; it creates an entirely new root tree from nothing. A Rule is a transformation from one Tree to another. A Schematic (at the root) is a Rule that is normally applied on the filesystem.

Operators

FileOperators apply changes to a single FileEntry and return a new FileEntry. The result follows these rules:

  1. If the FileEntry returned is null, a DeleteAction will be added to the action list.
  2. If the path changed, a RenameAction will be added to the action list.
  3. If the content changed, an OverwriteAction will be added to the action list.

It is impossible to create files using a FileOperator.

Provided Operators

The Schematics library provides multiple Operator factories by default that cover basic use cases:

FileOperator Description
contentTemplate<T>(options: T) Apply a content template (see the Templating section)
pathTemplate<T>(options: T) Apply a path template (see the Templating section)

Provided Sources

The Schematics library additionally provides multiple Source factories by default:

Source Description
empty() Creates a source that returns an empty Tree.
source(tree: Tree) Creates a Source that returns the Tree passed in as argument.
url(url: string) Loads a list of files from the given URL and returns a Tree with the files as CreateAction applied to an empty Tree.
apply(source: Source, rules: Rule[]) Apply a list of Rules to a source, and return the resulting Source.

Provided Rules

The schematics library also provides Rule factories by default:

Rule Description
noop() Returns the input Tree as is.
chain(rules: Rule[]) Returns a Rule that's the concatenation of other Rules.
forEach(op: FileOperator) Returns a Rule that applies an operator to every file of the input Tree.
move(root: string) Moves all the files from the input to a subdirectory.
merge(other: Tree) Merge the input Tree with the other Tree.
contentTemplate<T>(options: T) Apply a content template (see the Template section) to the entire Tree.
pathTemplate<T>(options: T) Apply a path template (see the Template section) to the entire Tree.
template<T>(options: T) Apply both path and content templates (see the Template section) to the entire Tree.
filter(predicate: FilePredicate<boolean>) Returns the input Tree with files that do not pass the FilePredicate.

Templating

As referenced above, some functions are based upon a file templating system, which consists of path and content templating.

The system operates on placeholders defined inside files or their paths as loaded in the Tree and fills these in as defined in the following, using values passed into the Rule which applies the templating (i.e. template<T>(options: T)).

Path Templating

Placeholder Description
__variable__ Replaced with the value of variable.
__variable@function__ Replaced with the result of the call function(variable). Can be chained to the left (__variable@function1@function2__ etc).

Content Templating

Placeholder Description
<%= expression %> Replaced with the result of the call of the given expression. This only supports direct expressions, no structural (for/if/...) JavaScript.
<%- expression %> Same as above, but the value of the result will be escaped for HTML when inserted (i.e. replacing '<' with '&lt;')
<% inline code %> Inserts the given code into the template structure, allowing to insert structural JavaScript.
<%# text %> A comment, which gets entirely dropped.

Examples

Simple

An example of a simple Schematics which creates a "hello world" file, using an option to determine its path:

import { Tree } from '@angular-devkit/schematics';

export default function MySchematic(options: any) {
  return (tree: Tree) => {
    tree.create(options.path + '/hi', 'Hello world!');
    return tree;
  };
}

A few things from this example:

  1. The function receives the list of options from the tooling.
  2. It returns a Rule, which is a transformation from a Tree to another Tree.

Templating

A simplified example of a Schematics which creates a file containing a new Class, using an option to determine its name:

// files/__name@dasherize__.ts

export class <%= classify(name) %> {
}
// index.ts

import { strings } from '@angular-devkit/core';
import {
  Rule,
  SchematicContext,
  SchematicsException,
  Tree,
  apply,
  branchAndMerge,
  mergeWith,
  template,
  url,
} from '@angular-devkit/schematics';
import { Schema as ClassOptions } from './schema';

export default function (options: ClassOptions): Rule {
  return (tree: Tree, context: SchematicContext) => {
    if (!options.name) {
      throw new SchematicsException('Option (name) is required.');
    }

    const templateSource = apply(url('./files'), [
      template({
        ...strings,
        ...options,
      }),
    ]);

    return branchAndMerge(mergeWith(templateSource));
  };
}

Additional things from this example:

  1. strings provides the used dasherize and classify functions, among others.
  2. The files are on-disk in the same root directory as the index.ts and loaded into a Tree.
  3. Then the template Rule fills in the specified templating placeholders. For this, it only knows about the variables and functions passed to it via the options-object.
  4. Finally, the resulting Tree, containing the new file, is merged with the existing files of the project which the Schematic is run on.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
19.2.15421,606v19-lts
18.2.20178,511v18-lts
17.3.17157,270v17-lts
13.3.11147,733v13-lts
16.2.16134,576v16-lts
20.1.0129,017latest
15.2.11122,379v15-lts
12.2.1898,287v12-lts
14.2.1396,678v14-lts
8.3.2958,039v8-lts
7.3.1035,087v7-lts
11.2.1927,956v11-lts
9.1.1518,464v9-lts
10.2.416,517v10-lts
0.8.98,629v6-lts
20.1.0-rc.08,480next

Version History

VersionDownloads (Last 7 Days)Published
20.1.0129,017
20.0.623,919
20.1.0-rc.08,480
20.0.5300,905
20.1.0-next.345
20.0.440,658
20.1.0-next.231
20.0.343,046
20.1.0-next.112
20.0.236,142
19.2.15421,606
18.2.20178,511
20.1.0-next.079
20.0.160,197
20.0.020,489
19.2.14125,019
20.0.0-rc.411
20.0.0-rc.3271
19.2.1349,098
20.0.0-rc.2380
20.0.0-rc.1207
19.2.1244,337
20.0.0-rc.0117
19.2.1138,864
20.0.0-next.94
19.2.1025,269
17.3.17157,270
20.0.0-next.8115
20.0.0-next.73
19.2.976,438
18.2.1989,952
20.0.0-next.64
19.2.8791,742
20.0.0-next.58
19.2.758,636
18.2.1820,972
17.3.1616,570
20.0.0-next.43
19.2.6949,691
18.2.1712,603
17.3.155,432
20.0.0-next.34
19.2.537,512
18.2.1611,517
17.3.146,399
20.0.0-next.246
19.2.429,647
17.3.139,096
19.2.335,776
18.2.1519,512
20.0.0-next.12
19.2.24,128
20.0.0-next.044
19.2.142,917
19.2.0106,140
19.1.923,437
19.2.0-rc.02
19.1.8106,389
19.2.0-next.24
19.1.780,075
17.3.1222,009
19.1.625,386
19.2.0-next.18
19.1.522,726
18.2.1471,839
18.2.137,458
19.2.0-next.03
19.1.417,558
19.1.339,757
19.1.212,636
19.1.17,753
19.1.01,874
19.1.0-rc.010
19.0.734,939
19.1.0-next.244
19.0.630,120
19.1.0-next.19
19.0.58,148
19.0.411,702
19.1.0-next.047
19.0.32,487
19.0.25,726
19.0.153,332
19.0.04,774
19.0.0-rc.311
19.0.0-rc.24
18.2.12113,443
19.0.0-rc.110
19.0.0-rc.07
18.2.1129,137
19.0.0-next.133
18.2.1011,799
17.3.111,196,436
19.0.0-next.124
19.0.0-next.116
18.2.944,380
19.0.0-next.102
18.2.8261,469
19.0.0-next.93
18.2.721,319
19.0.0-next.81
18.2.612,744
17.3.1042,097
19.0.0-next.72
18.2.516,573
16.2.16134,576
19.0.0-next.61
19.0.0-next.52
19.0.0-next.42
18.2.414,343
19.0.0-next.348
18.2.313,110
17.3.930,239
16.2.154,648
18.2.26,569
19.0.0-next.23
19.0.0-next.13
18.2.155,130
19.0.0-next.03
18.2.012,493
18.2.0-rc.02
18.1.439,779
18.2.0-next.32
18.1.39,313
18.2.0-next.21
18.1.210,402
18.2.0-next.12
18.1.15,893
18.2.0-next.02
18.1.08,886
18.1.0-rc.11
18.0.713,291
18.1.0-rc.05
18.0.65,120
18.1.0-next.31
18.0.55,495
18.1.0-next.21
18.0.44,326
18.1.0-next.17
18.0.34,033
18.1.0-next.03
18.0.25,433
18.0.150,145
18.0.01,643
17.3.8406,698
18.0.0-rc.391
18.0.0-rc.24
17.3.712,200
18.0.0-rc.13
18.0.0-rc.02
18.0.0-next.56
18.0.0-next.412
17.3.611,096
18.0.0-next.317
17.3.514,791
17.3.46,108
16.2.1450,464
18.0.0-next.22
17.3.38,632
18.0.0-next.11
17.3.29,072
16.2.134,096
15.2.11122,379
18.0.0-next.04
17.3.13,199
17.3.08,497
17.3.0-rc.016
17.2.314,843
17.2.24,275
17.2.14,756
17.2.07,970
17.1.49,315
17.2.0-rc.02
17.1.33,536
17.2.0-next.12
17.1.2239,175
17.2.0-next.02
17.1.15,819
16.2.1219,950
17.1.015,040
17.1.0-rc.11
17.0.1011,632
17.1.0-rc.02
17.0.964,015
17.1.0-next.31
17.0.83,544
16.2.116,160
17.1.0-next.22
17.0.739,891
17.1.0-next.17
17.0.62,385
17.0.56,075
17.1.0-next.01
17.0.4209
17.0.34,690
17.0.21,572
17.0.13,952
17.0.07,584
16.2.1015,717
17.0.0-rc.53
17.0.0-rc.493
17.0.0-rc.32
16.2.96,642
17.0.0-rc.214
17.0.0-rc.12
16.2.884,807
16.2.77,685
17.0.0-rc.03
17.0.0-next.95
17.0.0-next.80
16.2.69,545
15.2.1031,378
14.2.1396,678
17.0.0-next.70
16.2.52,366
17.0.0-next.62
16.2.43,581
17.0.0-next.51
16.2.337,414
17.0.0-next.41
16.2.23,740
17.0.0-next.30
17.0.0-next.02
16.2.18,569
16.2.043,410
16.1.8103,918
16.2.0-rc.10
16.2.0-rc.01
16.1.7526
16.2.0-next.41
16.1.62,637
16.2.0-next.36
16.1.51,657
16.2.0-next.21
16.2.0-next.11
16.1.432,757
16.1.312,087
15.2.929,873
16.2.0-next.01,055
16.1.2483
14.2.1237,273
16.1.13,351
16.1.0116,126
16.0.68,657
16.1.0-rc.01
16.0.51,320
16.1.0-next.21
16.0.43,263
16.1.0-next.11
16.0.31,716
16.1.0-next.01
16.0.23,001
16.0.1543,098
16.0.04,582
15.2.812,382
16.0.0-rc.45
16.0.0-rc.31
16.0.0-rc.21
15.2.72,936
16.0.0-rc.14
16.0.0-rc.08
15.2.625,885
16.0.0-next.717
15.2.52,538
16.0.0-next.615
16.0.0-next.52
15.2.462,976
14.2.119,746
13.3.11147,733
16.0.0-next.42
15.2.3328
16.0.0-next.34
15.2.21,945
16.0.0-next.21
15.2.11,805
16.0.0-next.14
16.0.0-next.096
15.2.04,445
15.2.0-rc.02
15.1.612,968
15.2.0-next.42
15.1.51,828
15.2.0-next.31
15.1.414,384
15.2.0-next.25
15.1.33,164
15.2.0-next.11
15.1.21,870
15.2.0-next.03
15.1.11,960
15.1.01,566
15.1.0-rc.00
15.0.59,900
15.1.0-next.32
15.0.462,278
15.1.0-next.210
15.0.32,243
15.1.0-next.10
15.0.21,578
15.1.0-next.01
15.0.11,667
13.3.1013,682
14.2.1019,997
15.0.02,342
15.0.0-rc.51
15.0.0-rc.40
15.0.0-rc.31
14.2.93,399
15.0.0-rc.21
14.2.83,249
15.0.0-rc.10
14.2.72,759
15.0.0-rc.014
15.0.0-next.62
14.2.65,158
15.0.0-next.50
15.0.0-next.47
14.2.51,771
15.0.0-next.34
14.2.44,130
15.0.0-next.21
15.0.0-next.11
14.2.34,038
15.0.0-next.00
14.2.223,570
14.2.131,366
14.2.05,126
14.2.0-rc.017
14.2.0-next.21
14.1.310,528
14.2.0-next.11
14.1.23,229
14.2.0-next.01
14.1.11,562
12.2.1898,287
14.1.03,553
14.0.79,446
13.3.917,341
14.1.0-rc.36
14.0.62,017
14.1.0-next.41
14.0.545,032
14.1.0-next.31
14.0.41,130
14.1.0-next.21
14.0.3988
14.1.0-next.13
14.0.21,841
13.3.85,622
14.1.0-next.01
14.0.11,118
14.0.01,709
14.0.0-rc.31
14.0.0-rc.29
13.3.76,920
14.0.0-rc.132
13.3.667,937
14.0.0-rc.01
14.0.0-next.132
13.3.593,120
14.0.0-next.124
13.3.42,409
14.0.0-next.114
14.0.0-next.101
14.0.0-next.91
13.3.34,120
14.0.0-next.81
13.3.219,892
12.2.179,757
11.2.1927,956
14.0.0-next.73
13.3.11,929
14.0.0-next.63
13.3.06,871
13.2.612,675
14.0.0-next.53
14.0.0-next.42
14.0.0-next.34
13.2.510,684
14.0.0-next.20
13.2.47,212
14.0.0-next.11
13.2.36,842
14.0.0-next.00
13.2.25,676
13.2.1669
12.2.169,679
13.2.01,192
13.2.0-rc.11
13.2.0-rc.01
13.1.410,676
11.2.181,410
12.2.151,123
13.1.33,571
13.2.0-next.21
11.2.17421
10.2.416,517
11.2.1640
13.2.0-next.16
13.1.28,968
13.1.15,765
13.2.0-next.01
13.1.0663
13.1.0-rc.01
12.2.142,417
13.1.0-next.32
13.0.48,505
13.1.0-next.24
13.0.37,114
13.1.0-next.11
13.0.217,266
13.0.1993
13.1.0-next.01
12.2.133,646
13.0.0280
13.0.0-rc.30
13.0.0-rc.23
12.2.12967
11.2.151,556
13.0.0-rc.11
12.2.111,714
13.0.0-rc.00
12.2.107,064
13.0.0-next.92
12.2.92,219
13.0.0-next.80
12.2.8871
13.0.0-next.710
12.2.78,773
13.0.0-next.63
13.0.0-next.51
12.2.61,054
13.0.0-next.40
12.2.51,033
13.0.0-next.31
12.2.41,410
13.0.0-next.20
12.2.3739
13.0.0-next.14
12.2.22,282
13.0.0-next.02
12.2.11,425
12.2.01,780
12.2.0-rc.00
12.1.414,167
12.2.0-next.30
12.1.32,559
12.2.0-next.21
12.1.2807
12.1.16,625
12.2.0-next.015
12.1.01,742
12.1.0-next.61
12.0.527,664
12.1.0-next.53
12.0.414,038
11.2.146,898
12.0.31,023
12.1.0-next.42
12.0.2974
12.1.0-next.33
12.0.11,637
12.1.0-next.21
11.2.131,703
12.0.04,146
12.0.0-rc.32
12.0.0-rc.26
11.2.122,551
11.2.111,236
12.0.0-rc.13
12.0.0-rc.010
11.2.106,877
12.0.0-next.94
11.2.9921
12.0.0-next.89
11.2.82,929
11.2.7729
12.0.0-next.75
11.2.631,510
12.0.0-next.686
12.0.0-next.51
11.2.51,921
12.0.0-next.46
11.2.442,559
12.0.0-next.30
11.2.313,913
9.1.1518,464
10.2.35,563
11.2.22,931
12.0.0-next.23
11.2.15,122
12.0.0-next.11
12.0.0-next.01
11.2.014,356
9.1.14267
10.2.2872
11.1.42,143
11.2.0-rc.19
11.1.382
11.2.0-rc.01
11.1.26,382
11.2.0-next.00
11.1.12,300
11.1.03,295
11.1.0-rc.03
11.0.715,171
11.0.6671
11.1.0-next.41
10.2.110,555
9.1.139,816
11.0.53,696
11.1.0-next.30
11.1.0-next.25
11.0.4935
11.1.0-next.10
11.0.35,616
11.1.0-next.03
11.0.22,832
11.0.14,141
11.0.01,545
11.0.0-rc.31
11.0.0-rc.22
11.0.0-rc.154
11.0.0-rc.01
10.2.08,189
10.1.717,645
11.0.0-next.72
10.1.61,042
11.0.0-next.62
11.0.0-next.50
10.1.5402
11.0.0-next.40
10.1.42,705
10.1.3978
11.0.0-next.31
10.1.21,021
11.0.0-next.23
10.1.1477
11.0.0-next.11
11.0.0-next.00
10.1.0714
10.0.810,938
10.1.0-rc.01
10.1.0-next.74
10.0.77,688
10.1.0-next.610
10.0.6952
10.1.0-next.512
10.1.0-next.44
10.1.0-next.31
10.0.51,848
8.3.2958,039
9.1.1212,119
10.1.0-next.21
10.0.42,134
10.0.3588
10.1.0-next.10
9.1.11851
10.0.2760
10.1.0-next.02
9.1.10243
10.0.1829
10.0.01,379
8.3.28617
9.1.95,127
10.0.0-rc.54
10.0.0-rc.42
8.3.27284
9.1.81,738
10.0.0-rc.317
10.0.0-rc.245
9.1.76,576
10.0.0-rc.09
10.0.0-next.64
10.0.0-next.54
9.1.61,061
9.1.51,081
10.0.0-next.43
9.1.43,707
10.0.0-next.36
10.0.0-next.21
9.1.31,232
10.0.0-next.11
9.1.2247
10.0.0-next.050
9.1.12,966
7.3.1035,087
8.3.263,179
9.1.04,342
9.1.0-rc.03
9.1.0-next.42
9.0.710,047
9.0.64,499
9.1.0-next.311
9.1.0-next.217
9.0.5784
9.0.4731
9.1.0-next.113
9.1.0-next.08
9.0.33,512
9.0.21,788
9.0.11,192
9.0.0238
8.3.253,532
9.0.0-rc.1451
9.0.0-rc.130
8.3.241,056
9.0.0-rc.1222
9.0.0-rc.116
9.0.0-rc.1024
8.3.238,253
9.0.0-rc.95
8.3.22991
9.0.0-rc.837
9.0.0-rc.795
8.3.211,105
9.0.0-rc.615
9.0.0-rc.593
8.3.2010,417
9.0.0-rc.46
9.0.0-rc.342
9.0.0-rc.23
8.3.191,439
8.3.18678
9.0.0-rc.13
9.0.0-rc.018
8.3.17785
9.0.0-next.191
8.3.1615
9.0.0-next.181
9.0.0-next.173
8.3.151,250
9.0.0-next.162
9.0.0-next.152
8.3.141,323
9.0.0-next.143
8.3.13149
9.0.0-next.132
8.3.12652
9.0.0-next.126
9.0.0-next.115
8.3.10170
9.0.0-next.103
8.3.9579
9.0.0-next.95
9.0.0-next.85
8.3.8881
9.0.0-next.72
8.3.7237
9.0.0-next.61
8.3.61,233
8.3.5976
9.0.0-next.58
8.3.42,810
9.0.0-next.41
9.0.0-next.33
8.3.31,237
9.0.0-next.22
8.3.2712
8.3.1601
9.0.0-next.12
9.0.0-next.03
8.3.0302
8.3.0-rc.01
8.2.22,373
8.3.0-next.21
8.3.0-next.16
8.2.1702
8.2.01,106
8.3.0-next.05
8.1.33,560
8.2.0-rc.06
8.2.0-next.11
8.1.21,749
8.2.0-next.02
8.1.1830
8.1.0270
8.0.62,450
8.0.52
8.1.0-rc.00
8.1.0-beta.32
8.0.4111
8.1.0-beta.28
8.1.0-beta.10
8.1.0-beta.00
8.0.3689
8.0.21,058
8.0.11,126
8.0.010,194
8.0.0-rc.441
8.0.0-rc.32
7.3.911,601
8.0.0-rc.27
8.0.0-rc.19
8.0.0-rc.032
8.0.0-beta.1839
8.0.0-beta.170
8.0.0-beta.161
8.0.0-beta.1510
8.0.0-beta.141
8.0.0-beta.134
8.0.0-beta.122
8.0.0-beta.113
7.3.810,874
8.0.0-beta.1015
7.3.7720
8.0.0-beta.91
8.0.0-beta.89
8.0.0-beta.71
7.3.61,489
8.0.0-beta.61
7.3.5657
8.0.0-beta.59
7.3.4696
8.0.0-beta.40
8.0.0-beta.210
7.3.3681
8.0.0-beta.10
7.3.2494
7.3.11,646
8.0.0-beta.04
7.3.0919
7.2.43,287
7.3.0-rc.01
7.2.3726
7.2.21,058
7.3.0-beta.00
7.2.11,518
7.2.0430
0.8.98,629
7.2.0-rc.013
7.1.43,286
7.2.0-beta.29
7.1.3563
7.2.0-beta.11
7.1.2675
7.1.1306
7.2.0-beta.00
0.8.8414
7.1.0884
7.0.72,376
7.1.0-rc.01
7.0.6781
7.0.5582
7.1.0-beta.13
0.8.7352
7.1.0-beta.01
7.0.42,429
7.0.3801
0.8.6453
7.0.2838
7.0.1229
0.8.5826
7.0.0-rc.35
7.0.0-rc.23
7.0.0-rc.115
0.8.4670
7.0.0-rc.02
7.0.0-beta.47
0.8.31,051
0.9.0-beta.3203
0.8.2227
0.9.0-beta.25
0.9.0-beta.11
0.9.0-beta.01
0.8.1470
0.8.098
0.8.0-rc.15
0.8.0-rc.01
0.7.53,512
0.7.4398
0.8.0-beta.30
0.8.0-beta.20
0.7.3407
0.8.0-beta.10
0.8.0-beta.01
0.7.2616
0.7.1927
0.7.0410
0.7.0-rc.313
0.7.0-rc.21
0.7.0-rc.13
0.7.0-rc.010
0.7.0-beta.26
0.6.89,073
0.7.0-beta.127
0.7.0-beta.07
0.6.7650
0.6.61
0.6.5176
0.6.45
0.6.3892
0.6.219
0.6.1346
0.6.01,101
0.5.133,805
0.5.121
0.5.114
0.5.102
0.5.91
0.5.80
0.5.714
0.5.610
0.5.51
0.5.4124
0.5.3641
0.5.22
0.5.12
0.5.07
0.4.9244
0.4.894
0.4.739
0.4.626
0.4.517
0.4.41
0.4.33
0.4.227
0.4.11
0.3.210,670
0.4.03
0.3.1320
0.3.01
0.2.06
0.0.524,721
0.0.51240
0.0.50147
0.0.4926
0.0.48153
0.0.469
0.0.4539
0.0.441
0.0.431
0.0.42797
0.0.41172
0.0.40190
0.0.3947
0.0.38107
0.0.37174
0.0.36125
0.0.35499
0.0.34803
0.0.3363
0.0.32161
0.0.311
0.0.30103
0.0.281
0.0.271
0.0.265
0.0.25110
0.0.2473
0.0.2347
0.0.2217
0.0.21136
0.0.191
0.0.182
0.0.172
0.0.160
0.0.150
0.0.141
0.0.131
0.0.121
0.0.111
0.0.100
0.0.91
0.0.80
0.0.71
0.0.60
0.0.51
0.0.41
0.0.31
0.0.21
0.0.10

Package Sidebar

Install

npm i @angular-devkit/schematics

Weekly Downloads

11,030,617

Version

20.1.0

License

MIT

Unpacked Size

256 kB

Total Files

123

Last publish

Collaborators

  • angular
  • google-wombot