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

8.0.6 • 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.

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 Template section)
pathTemplate<T>(options: T) Apply a path template (see the Template 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 '<')
<% 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.

Future Work

Schematics is not done yet. Here's a list of things we are considering:

  • Smart defaults for Options. Having a JavaScript function for default values based on other default values.
  • Prompt for input options. This should only be prompted for the original schematics, dependencies to other schematics should not trigger another prompting.
  • Tasks for running tooling-specific jobs before and after a schematics has been scaffolded. Such tasks can involve initialize git, or npm install. A specific list of tasks should be provided by the tool, with unsupported tasks generating an error.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
19.2.15336,360v19-lts
20.0.3189,524latest
13.3.11146,727v13-lts
18.2.20144,363v18-lts
17.3.17144,176v17-lts
16.2.16139,167v16-lts
15.2.11115,198v15-lts
14.2.1397,554v14-lts
12.2.1896,896v12-lts
8.3.2961,904v8-lts
7.3.1031,483v7-lts
11.2.1927,414v11-lts
9.1.1515,621v9-lts
10.2.415,519v10-lts
0.8.95,726v6-lts
20.1.0-next.22,749next

Version History

VersionDownloads (Last 7 Days)Published
20.1.0-next.22,749
20.0.3189,524
20.1.0-next.14,180
20.0.2172,231
19.2.15336,360
18.2.20144,363
20.1.0-next.069
20.0.134,765
20.0.023,165
19.2.14139,035
20.0.0-rc.415
20.0.0-rc.3421
19.2.1366,858
20.0.0-rc.2158
20.0.0-rc.1320
19.2.1257,423
20.0.0-rc.0119
19.2.1148,035
20.0.0-next.95
19.2.1033,485
17.3.17144,176
20.0.0-next.8265
20.0.0-next.71
19.2.971,204
18.2.19108,877
20.0.0-next.62
19.2.8745,993
20.0.0-next.5216
19.2.758,066
18.2.1830,718
17.3.1620,515
20.0.0-next.45
19.2.6822,351
18.2.1712,997
17.3.155,149
20.0.0-next.39
19.2.551,070
18.2.1611,421
17.3.145,909
20.0.0-next.243
19.2.432,577
17.3.138,310
19.2.344,932
18.2.1521,614
20.0.0-next.14
19.2.26,464
20.0.0-next.051
19.2.147,806
19.2.0109,963
19.1.921,118
19.2.0-rc.06
19.1.8112,763
19.2.0-next.28
19.1.784,067
17.3.1225,810
19.1.627,364
19.2.0-next.19
19.1.523,372
18.2.1482,537
18.2.138,170
19.2.0-next.01
19.1.418,987
19.1.341,842
19.1.214,275
19.1.17,337
19.1.01,824
19.1.0-rc.035
19.0.741,187
19.1.0-next.29
19.0.634,114
19.1.0-next.142
19.0.59,241
19.0.413,407
19.1.0-next.027
19.0.32,516
19.0.26,597
19.0.155,074
19.0.03,860
19.0.0-rc.31
19.0.0-rc.21
18.2.12146,761
19.0.0-rc.17
19.0.0-rc.02
18.2.1130,538
19.0.0-next.132
18.2.1011,726
17.3.111,142,595
19.0.0-next.121
19.0.0-next.112
18.2.946,136
19.0.0-next.101
18.2.8265,012
19.0.0-next.91
18.2.718,066
19.0.0-next.81
18.2.615,116
17.3.1040,520
19.0.0-next.71
18.2.516,495
16.2.16139,167
19.0.0-next.61
19.0.0-next.51
19.0.0-next.41
18.2.414,866
19.0.0-next.350
18.2.311,677
17.3.932,976
16.2.155,103
18.2.26,637
19.0.0-next.21
19.0.0-next.11
18.2.144,435
19.0.0-next.03
18.2.012,973
18.2.0-rc.01
18.1.439,558
18.2.0-next.31
18.1.319,154
18.2.0-next.24
18.1.212,588
18.2.0-next.11
18.1.15,374
18.2.0-next.01
18.1.09,258
18.1.0-rc.11
18.0.713,764
18.1.0-rc.05
18.0.66,579
18.1.0-next.31
18.0.55,886
18.1.0-next.25
18.0.48,488
18.1.0-next.15
18.0.33,679
18.1.0-next.05
18.0.26,245
18.0.164,320
18.0.01,533
17.3.8484,209
18.0.0-rc.320
18.0.0-rc.23
17.3.715,793
18.0.0-rc.15
18.0.0-rc.02
18.0.0-next.57
18.0.0-next.45
17.3.611,458
18.0.0-next.367
17.3.518,988
17.3.47,146
16.2.1457,640
18.0.0-next.21
17.3.38,536
18.0.0-next.11
17.3.29,209
16.2.134,941
15.2.11115,198
18.0.0-next.01
17.3.13,364
17.3.07,940
17.3.0-rc.029
17.2.316,287
17.2.25,531
17.2.15,240
17.2.08,132
17.1.410,570
17.2.0-rc.01
17.1.33,198
17.2.0-next.11
17.1.2278,752
17.2.0-next.03
17.1.13,852
16.2.1222,713
17.1.025,742
17.1.0-rc.11
17.0.1011,213
17.1.0-rc.01
17.0.958,523
17.1.0-next.31
17.0.83,270
16.2.116,437
17.1.0-next.21
17.0.727,849
17.1.0-next.11
17.0.62,826
17.0.54,188
17.1.0-next.01
17.0.4130
17.0.34,795
17.0.21,379
17.0.13,306
17.0.08,397
16.2.1016,580
17.0.0-rc.51
17.0.0-rc.426
17.0.0-rc.31
16.2.97,134
17.0.0-rc.29
17.0.0-rc.11
16.2.8104,978
16.2.77,335
17.0.0-rc.01
17.0.0-next.92
17.0.0-next.81
16.2.611,991
15.2.1029,549
14.2.1397,554
17.0.0-next.71
16.2.51,613
17.0.0-next.62
16.2.43,670
17.0.0-next.54
16.2.345,748
17.0.0-next.45
16.2.22,834
17.0.0-next.31
17.0.0-next.02
16.2.117,258
16.2.059,188
16.1.8128,558
16.2.0-rc.11
16.2.0-rc.01
16.1.7506
16.2.0-next.41
16.1.62,605
16.2.0-next.32
16.1.51,841
16.2.0-next.21
16.2.0-next.11
16.1.432,395
16.1.315,921
15.2.928,212
16.2.0-next.01,086
16.1.2564
14.2.1243,482
16.1.12,259
16.1.0140,036
16.0.68,524
16.1.0-rc.01
16.0.5807
16.1.0-next.22
16.0.42,169
16.1.0-next.11
16.0.31,671
16.1.0-next.01
16.0.25,060
16.0.1621,318
16.0.05,436
15.2.811,517
16.0.0-rc.43
16.0.0-rc.31
16.0.0-rc.22
15.2.76,849
16.0.0-rc.11
16.0.0-rc.011
15.2.647,728
16.0.0-next.710
15.2.52,500
16.0.0-next.66
16.0.0-next.51
15.2.480,480
14.2.1110,580
13.3.11146,727
16.0.0-next.41
15.2.3296
16.0.0-next.33
15.2.24,165
16.0.0-next.22
15.2.12,852
16.0.0-next.14
16.0.0-next.052
15.2.07,055
15.2.0-rc.03
15.1.611,515
15.2.0-next.47
15.1.53,469
15.2.0-next.31
15.1.429,065
15.2.0-next.21
15.1.33,384
15.2.0-next.11
15.1.221,166
15.2.0-next.01
15.1.11,794
15.1.01,434
15.1.0-rc.02
15.0.58,106
15.1.0-next.31
15.0.467,323
15.1.0-next.24
15.0.32,448
15.1.0-next.11
15.0.21,479
15.1.0-next.01
15.0.13,401
13.3.1014,679
14.2.1021,434
15.0.03,859
15.0.0-rc.51
15.0.0-rc.41
15.0.0-rc.31
14.2.92,927
15.0.0-rc.21
14.2.87,183
15.0.0-rc.18
14.2.71,891
15.0.0-rc.01
15.0.0-next.62
14.2.64,060
15.0.0-next.51
15.0.0-next.41
14.2.52,635
15.0.0-next.31
14.2.44,874
15.0.0-next.21
15.0.0-next.11
14.2.33,399
15.0.0-next.03
14.2.226,290
14.2.135,010
14.2.06,854
14.2.0-rc.01
14.2.0-next.21
14.1.38,487
14.2.0-next.14
14.1.26,091
14.2.0-next.01
14.1.11,188
12.2.1896,896
14.1.02,921
14.0.712,880
13.3.915,925
14.1.0-rc.35
14.0.62,168
14.1.0-next.41
14.0.577,902
14.1.0-next.31
14.0.43,223
14.1.0-next.21
14.0.3544
14.1.0-next.12
14.0.21,264
13.3.85,444
14.1.0-next.01
14.0.1602
14.0.01,868
14.0.0-rc.31
14.0.0-rc.211
13.3.76,716
14.0.0-rc.11
13.3.674,996
14.0.0-rc.03
14.0.0-next.131
13.3.5119,158
14.0.0-next.121
13.3.41,361
14.0.0-next.111
14.0.0-next.101
14.0.0-next.91
13.3.33,187
14.0.0-next.81
13.3.230,033
12.2.1711,268
11.2.1927,414
14.0.0-next.71
13.3.11,936
14.0.0-next.61
13.3.011,592
13.2.612,004
14.0.0-next.51
14.0.0-next.40
14.0.0-next.30
13.2.513,699
14.0.0-next.20
13.2.45,238
14.0.0-next.10
13.2.35,556
14.0.0-next.00
13.2.210,304
13.2.1931
12.2.1611,522
13.2.01,179
13.2.0-rc.11
13.2.0-rc.00
13.1.415,734
11.2.181,031
12.2.153,434
13.1.36,487
13.2.0-next.20
11.2.17395
10.2.415,519
11.2.1614
13.2.0-next.11
13.1.220,714
13.1.16,315
13.2.0-next.00
13.1.0475
13.1.0-rc.00
12.2.141,557
13.1.0-next.31
13.0.415,643
13.1.0-next.20
13.0.38,133
13.1.0-next.10
13.0.223,143
13.0.1296
13.1.0-next.00
12.2.132,604
13.0.0457
13.0.0-rc.30
13.0.0-rc.20
12.2.12519
11.2.154,545
13.0.0-rc.10
12.2.119,070
13.0.0-rc.01
12.2.109,344
13.0.0-next.90
12.2.91,162
13.0.0-next.81
12.2.8727
13.0.0-next.70
12.2.711,701
13.0.0-next.61
13.0.0-next.50
12.2.61,928
13.0.0-next.42
12.2.5507
13.0.0-next.30
12.2.41,200
13.0.0-next.20
12.2.33,121
13.0.0-next.13
12.2.21,740
13.0.0-next.02
12.2.11,255
12.2.01,420
12.2.0-rc.00
12.1.416,237
12.2.0-next.30
12.1.32,099
12.2.0-next.20
12.1.2479
12.1.111,819
12.2.0-next.010
12.1.04,626
12.1.0-next.62
12.0.535,994
12.1.0-next.52
12.0.48,891
11.2.1415,437
12.0.31,545
12.1.0-next.40
12.0.21,338
12.1.0-next.30
12.0.12,606
12.1.0-next.20
11.2.131,412
12.0.013,329
12.0.0-rc.38
12.0.0-rc.28
11.2.121,270
11.2.113,858
12.0.0-rc.10
12.0.0-rc.02
11.2.107,408
12.0.0-next.99
11.2.91,752
12.0.0-next.88
11.2.82,511
11.2.7538
12.0.0-next.70
11.2.641,422
12.0.0-next.671
12.0.0-next.50
11.2.52,558
12.0.0-next.40
11.2.454,463
12.0.0-next.30
11.2.323,608
9.1.1515,621
10.2.314,847
11.2.24,115
12.0.0-next.20
11.2.119,682
12.0.0-next.10
12.0.0-next.00
11.2.017,560
9.1.14113
10.2.2598
11.1.44,159
11.2.0-rc.11
11.1.339
11.2.0-rc.03
11.1.25,965
11.2.0-next.00
11.1.11,568
11.1.03,801
11.1.0-rc.00
11.0.717,120
11.0.6988
11.1.0-next.40
10.2.119,245
9.1.139,560
11.0.53,628
11.1.0-next.30
11.1.0-next.20
11.0.4443
11.1.0-next.10
11.0.34,544
11.1.0-next.00
11.0.21,397
11.0.16,590
11.0.02,119
11.0.0-rc.30
11.0.0-rc.20
11.0.0-rc.122
11.0.0-rc.04
10.2.010,457
10.1.712,923
11.0.0-next.70
10.1.6662
11.0.0-next.60
11.0.0-next.50
10.1.5431
11.0.0-next.40
10.1.41,278
10.1.3448
11.0.0-next.30
10.1.2353
11.0.0-next.20
10.1.1127
11.0.0-next.10
11.0.0-next.00
10.1.01,279
10.0.812,438
10.1.0-rc.01
10.1.0-next.712
10.0.76,076
10.1.0-next.62
10.0.6757
10.1.0-next.50
10.1.0-next.42
10.1.0-next.30
10.0.52,724
8.3.2961,904
9.1.129,792
10.1.0-next.22
10.0.42,642
10.0.3183
10.1.0-next.14
9.1.11830
10.0.21,103
10.1.0-next.02
9.1.10566
10.0.1424
10.0.01,068
8.3.28461
9.1.95,055
10.0.0-rc.50
10.0.0-rc.40
8.3.27155
9.1.81,626
10.0.0-rc.30
10.0.0-rc.211
9.1.73,715
10.0.0-rc.02
10.0.0-next.60
10.0.0-next.50
9.1.61,708
9.1.51,148
10.0.0-next.40
9.1.42,219
10.0.0-next.34
10.0.0-next.21
9.1.3859
10.0.0-next.10
9.1.296
10.0.0-next.071
9.1.12,230
7.3.1031,483
8.3.261,574
9.1.03,717
9.1.0-rc.01
9.1.0-next.41
9.0.79,070
9.0.62,924
9.1.0-next.31
9.1.0-next.212
9.0.51,602
9.0.4506
9.1.0-next.18
9.1.0-next.01
9.0.34,107
9.0.21,752
9.0.1637
9.0.0148
8.3.252,123
9.0.0-rc.1447
9.0.0-rc.130
8.3.24391
9.0.0-rc.122
9.0.0-rc.112
9.0.0-rc.103
8.3.235,466
9.0.0-rc.90
8.3.22682
9.0.0-rc.854
9.0.0-rc.719
8.3.21423
9.0.0-rc.61
9.0.0-rc.518
8.3.2010,064
9.0.0-rc.41
9.0.0-rc.312
9.0.0-rc.21
8.3.19713
8.3.18635
9.0.0-rc.10
9.0.0-rc.01
8.3.17302
9.0.0-next.190
8.3.168
9.0.0-next.180
9.0.0-next.170
8.3.151,020
9.0.0-next.160
9.0.0-next.151
8.3.14511
9.0.0-next.140
8.3.1322
9.0.0-next.130
8.3.12201
9.0.0-next.121
9.0.0-next.111
8.3.1070
9.0.0-next.100
8.3.9204
9.0.0-next.90
9.0.0-next.81
8.3.81,404
9.0.0-next.70
8.3.760
9.0.0-next.60
8.3.6970
8.3.5457
9.0.0-next.50
8.3.42,715
9.0.0-next.40
9.0.0-next.30
8.3.3676
9.0.0-next.20
8.3.2283
8.3.1301
9.0.0-next.10
9.0.0-next.00
8.3.0226
8.3.0-rc.00
8.2.21,673
8.3.0-next.20
8.3.0-next.10
8.2.1684
8.2.0640
8.3.0-next.00
8.1.31,775
8.2.0-rc.00
8.2.0-next.11
8.1.2658
8.2.0-next.01
8.1.1214
8.1.0131
8.0.62,177
8.0.50
8.1.0-rc.00
8.1.0-beta.30
8.0.4207
8.1.0-beta.27
8.1.0-beta.10
8.1.0-beta.00
8.0.3730
8.0.2322
8.0.1333
8.0.07,572
8.0.0-rc.47
8.0.0-rc.31
7.3.915,233
8.0.0-rc.20
8.0.0-rc.11
8.0.0-rc.01
8.0.0-beta.180
8.0.0-beta.171
8.0.0-beta.160
8.0.0-beta.1511
8.0.0-beta.140
8.0.0-beta.131
8.0.0-beta.120
8.0.0-beta.111
7.3.810,025
8.0.0-beta.100
7.3.7255
8.0.0-beta.90
8.0.0-beta.80
8.0.0-beta.70
7.3.6574
8.0.0-beta.61
7.3.5170
8.0.0-beta.50
7.3.4355
8.0.0-beta.40
8.0.0-beta.20
7.3.3186
8.0.0-beta.10
7.3.2258
7.3.11,039
8.0.0-beta.01
7.3.0412
7.2.42,054
7.3.0-rc.04
7.2.3316
7.2.2645
7.3.0-beta.00
7.2.1613
7.2.0459
0.8.95,726
7.2.0-rc.01
7.1.42,754
7.2.0-beta.28
7.1.3217
7.2.0-beta.10
7.1.2194
7.1.1170
7.2.0-beta.00
0.8.8213
7.1.0457
7.0.71,518
7.1.0-rc.00
7.0.6357
7.0.5253
7.1.0-beta.10
0.8.7104
7.1.0-beta.00
7.0.42,321
7.0.3261
0.8.696
7.0.2281
7.0.170
0.8.5431
7.0.0-rc.30
7.0.0-rc.20
7.0.0-rc.10
0.8.4197
7.0.0-rc.01
7.0.0-beta.40
0.8.3513
0.9.0-beta.366
0.8.2236
0.9.0-beta.20
0.9.0-beta.12
0.9.0-beta.00
0.8.160
0.8.069
0.8.0-rc.12
0.8.0-rc.00
0.7.52,099
0.7.4136
0.8.0-beta.30
0.8.0-beta.20
0.7.3257
0.8.0-beta.10
0.8.0-beta.00
0.7.2111
0.7.1230
0.7.0188
0.7.0-rc.30
0.7.0-rc.21
0.7.0-rc.16
0.7.0-rc.02
0.7.0-beta.20
0.6.85,063
0.7.0-beta.10
0.7.0-beta.025
0.6.7255
0.6.60
0.6.5152
0.6.40
0.6.3311
0.6.234
0.6.1101
0.6.01,801
0.5.133,400
0.5.120
0.5.110
0.5.100
0.5.90
0.5.80
0.5.71
0.5.62
0.5.51
0.5.48
0.5.3490
0.5.20
0.5.11
0.5.03
0.4.9159
0.4.834
0.4.727
0.4.618
0.4.50
0.4.40
0.4.30
0.4.20
0.4.10
0.3.28,437
0.4.00
0.3.1252
0.3.00
0.2.06
0.0.523,240
0.0.5121
0.0.5056
0.0.4910
0.0.4862
0.0.463
0.0.456
0.0.440
0.0.432
0.0.42273
0.0.4127
0.0.4056
0.0.3919
0.0.389
0.0.3738
0.0.367
0.0.35169
0.0.34468
0.0.3352
0.0.3298
0.0.311
0.0.3021
0.0.280
0.0.270
0.0.260
0.0.2513
0.0.2414
0.0.231
0.0.221
0.0.2122
0.0.190
0.0.180
0.0.170
0.0.161
0.0.152
0.0.142
0.0.132
0.0.123
0.0.112
0.0.102
0.0.92
0.0.82
0.0.72
0.0.63
0.0.52
0.0.42
0.0.32
0.0.22
0.0.12

Package Sidebar

Install

npm i @angular-devkit/schematics@8.0.6

Version

8.0.6

License

MIT

Unpacked Size

259 kB

Total Files

148

Last publish

Collaborators

  • angular
  • google-wombot