0.0.72 • Published 7 months ago

example-schematics-dc v0.0.72

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Crear proyecto schematics para los templates

  1. Install schematics-cli
npm install -g @angular-devkit/schematics-cli
  1. Crear nueva carpeta e inicializar el proyecto de Schematics:
schematics blank --name=my-schematic
  1. El el archivo src/my-schematic/index.ts, agregar el código para la creación de la plantilla
import { Rule, SchematicContext, Tree, apply, url, template, move, chain, mergeWith } from '@angular-devkit/schematics';
import { strings } from '@angular-devkit/core';

export function mySchematic(_options: any): Rule {
  return (tree: Tree, _context: SchematicContext) => {
    const templateSource = apply(url('./files'), [
      template({
        ..._options,
        ...strings,
      }),
      move('./'),
    ]);

    return chain([mergeWith(templateSource)]);
  };
}
  1. Agregar los schematics en el archivo src/collection.json
{
  "schematics": {
    "my-schematic": {
      "description": "A blank schematic",
      "factory": "./my-schematic/index#mySchematic"
    }
  }
}

Tener en cuenta que index#mySchematic hace referencia al nombre de la función que está creado en el index.ts

  1. Crear una carpeta files dentro de src/my-schematic/ para almacenar los archivos que schematic usará como plantilla.

  2. Crear uno o varios archivos plantilla __name__.module.ts.template

import { Module } from '@nestjs/common';

@Module({})
export class <%= classify(name) %>Module {}

Este archivo usa interpolación (<%= %>) para insertar valores de las opciones del schematic (en este caso, el nombre del módulo).

  1. Actualizar package.json, agregar el script del schematic que se cró
"scripts": {
  
  "my-schematic": "schematics .:my-schematic"
}
  1. Compilar el proyecto
npm run build
  1. Publicar
npm publish
  1. Utilizar en otro proyecto, se llama schematics:name-in-package:schema --variable=value
schematics example-schematics-dc:crud --name=brand

#Opcional

Probar Schematic, el valor del atributo name será el nombre del modulo creado.

npm run crud -- --table=product --entity=Product --path=src/  --dry-run=false
0.0.72

7 months ago

0.0.71

8 months ago

0.0.70

9 months ago

0.0.62

9 months ago

0.0.63

9 months ago

0.0.64

9 months ago

0.0.65

9 months ago

0.0.66

9 months ago

0.0.67

9 months ago

0.0.68

9 months ago

0.0.69

9 months ago

0.0.61

9 months ago

0.0.60

9 months ago

0.0.59

9 months ago

0.0.40

9 months ago

0.0.41

9 months ago

0.0.42

9 months ago

0.0.43

9 months ago

0.0.44

9 months ago

0.0.45

9 months ago

0.0.46

9 months ago

0.0.47

9 months ago

0.0.37

9 months ago

0.0.38

9 months ago

0.0.31

9 months ago

0.0.32

9 months ago

0.0.33

9 months ago

0.0.34

9 months ago

0.0.35

9 months ago

0.0.36

9 months ago

0.0.51

9 months ago

0.0.52

9 months ago

0.0.53

9 months ago

0.0.54

9 months ago

0.0.55

9 months ago

0.0.56

9 months ago

0.0.57

9 months ago

0.0.58

9 months ago

0.0.50

9 months ago

0.0.48

9 months ago

0.0.49

9 months ago

0.0.20

9 months ago

0.0.21

9 months ago

0.0.22

9 months ago

0.0.23

9 months ago

0.0.24

9 months ago

0.0.25

9 months ago

0.0.15

9 months ago

0.0.17

9 months ago

0.0.18

9 months ago

0.0.19

9 months ago

0.0.30

9 months ago

0.0.10

9 months ago

0.0.11

9 months ago

0.0.12

9 months ago

0.0.13

9 months ago

0.0.14

9 months ago

0.0.26

9 months ago

0.0.9

9 months ago

0.0.27

9 months ago

0.0.8

9 months ago

0.0.28

9 months ago

0.0.29

9 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago

0.0.0

10 months ago