From 80a93bfada5756252cfd22c6a7d053fdcce9e596 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 3 Sep 2020 15:07:58 +0300 Subject: [PATCH] feat: add separate proxy-index command to schematics --- .../packages/schematics/src/collection.json | 5 +++++ .../src/commands/proxy-index/index.ts | 20 +++++++++++++++++++ .../src/commands/proxy-index/schema.json | 18 +++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts create mode 100644 npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json diff --git a/npm/ng-packs/packages/schematics/src/collection.json b/npm/ng-packs/packages/schematics/src/collection.json index 5c2df8ea36..0b1b738e08 100644 --- a/npm/ng-packs/packages/schematics/src/collection.json +++ b/npm/ng-packs/packages/schematics/src/collection.json @@ -5,6 +5,11 @@ "factory": "./commands/proxy-add", "schema": "./commands/proxy-add/schema.json" }, + "proxy-index": { + "description": "ABP Proxy Generator Index Schematics", + "factory": "./commands/proxy-index", + "schema": "./commands/proxy-index/schema.json" + }, "proxy-refresh": { "description": "ABP Proxy Generator Refresh Schematics", "factory": "./commands/proxy-refresh", diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts b/npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts new file mode 100644 index 0000000000..85c4707daa --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts @@ -0,0 +1,20 @@ +import { SchematicContext, Tree } from '@angular-devkit/schematics'; +import { + buildDefaultPath, + createProxyIndexGenerator, + removeDefaultPlaceholders, + resolveProject, +} from '../../utils'; + +export default function(schema: { target?: string }) { + const params = removeDefaultPlaceholders(schema); + + return async (host: Tree, _context: SchematicContext) => { + const target = await resolveProject(host, params.target!); + const targetPath = buildDefaultPath(target.definition); + + const generateIndex = createProxyIndexGenerator(targetPath); + + return generateIndex(host); + }; +} diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json b/npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json new file mode 100644 index 0000000000..632c6d7e51 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json-schema.org/schema", + "id": "SchematicsAbpIndexProxy", + "title": "ABP Index Proxy Schema", + "type": "object", + "properties": { + "target": { + "description": "Target Angular project to place the generated code", + "type": "string", + "$default": { + "$source": "argv", + "index": 0 + }, + "x-prompt": "Plese enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" + } + }, + "required": [] +}