example-schematics-dc v0.0.72
Crear proyecto schematics para los templates
- Install schematics-cli
npm install -g @angular-devkit/schematics-cli
- Crear nueva carpeta e inicializar el proyecto de Schematics:
schematics blank --name=my-schematic
- 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)]);
};
}
- 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
Crear una carpeta
files
dentro desrc/my-schematic/
para almacenar los archivos que schematic usará como plantilla.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).
- Actualizar
package.json
, agregar el script del schematic que se cró
"scripts": {
"my-schematic": "schematics .:my-schematic"
}
- Compilar el proyecto
npm run build
- Publicar
npm publish
- 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
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago