From aa87ed94274b5f9d68f2bfd2890ee7ec34125db6 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Tue, 28 Aug 2018 00:20:02 +0200 Subject: [PATCH] fix(dependencies): resolve dependencies --- package.json | 1 + ts/smartscaf.classes.smartscaf.ts | 18 ++++++++++++++++++ ts/smartscaf.plugins.ts | 3 ++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 01d7433..5583a53 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@types/node": "^10.9.2" }, "dependencies": { + "@pushrocks/lik": "^3.0.1", "@pushrocks/smartfile": "^6.0.8", "@pushrocks/smartfm": "^2.0.1", "@pushrocks/smarthbs": "^2.0.0", diff --git a/ts/smartscaf.classes.smartscaf.ts b/ts/smartscaf.classes.smartscaf.ts index 88749a1..61a7b43 100644 --- a/ts/smartscaf.classes.smartscaf.ts +++ b/ts/smartscaf.classes.smartscaf.ts @@ -19,6 +19,8 @@ export class ScafTemplate { suppliedVariables: any = {}; missingVariables: string[] = []; + dependencies: ScafTemplate[]; + /** * read a template from a directory */ @@ -28,6 +30,7 @@ export class ScafTemplate { await this._findVariablesInTemplate(); await this._checkSuppliedVariables(); await this._checkDefaultVariables(); + await this._resolveTemplateDependencies(); } /** @@ -153,4 +156,19 @@ export class ScafTemplate { this.defaultVariables = {}; } } + + /** + * resolve template dependencies + */ + private async _resolveTemplateDependencies() { + const dependencies = this.templateSmartfileArray.find(smartfileArg => { + return smartfileArg.parsedPath.base === "dependencies.yml" + }); + if(!dependencies) { + console.log('No further template dependencies defined!'); + return; + } + console.log('Found template dependencies! Resolving them now!') + + } } diff --git a/ts/smartscaf.plugins.ts b/ts/smartscaf.plugins.ts index 3938560..ccd581b 100644 --- a/ts/smartscaf.plugins.ts +++ b/ts/smartscaf.plugins.ts @@ -1,4 +1,5 @@ import * as path from 'path'; +import * as lik from '@pushrocks/lik'; import * as smartfile from '@pushrocks/smartfile'; import * as smartfm from '@pushrocks/smartfm'; import * as smarthbs from '@pushrocks/smarthbs'; @@ -6,4 +7,4 @@ import * as smartinteract from '@pushrocks/smartinteract'; import * as smartq from '@pushrocks/smartpromise'; import * as smartyaml from '@pushrocks/smartyaml'; -export { path, smartfile, smartfm, smarthbs, smartinteract, smartq, smartyaml }; +export { path, lik, smartfile, smartfm, smarthbs, smartinteract, smartq, smartyaml };