From 1d35da50cd105c3b80d8aa859e2dbb15d501740b Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Tue, 10 Sep 2019 17:58:14 +0200 Subject: [PATCH] update --- .gitlab-ci.yml | 2 +- dist/index.d.ts | 9 + dist/index.js | 21 + dist/smarthbs.compile.d.ts | 4 + dist/smarthbs.compile.js | 27 ++ dist/smarthbs.helpers.d.ts | 1 + dist/smarthbs.helpers.js | 39 ++ dist/smarthbs.partials.d.ts | 4 + dist/smarthbs.partials.js | 33 ++ dist/smarthbs.plugins.d.ts | 6 + dist/smarthbs.plugins.js | 23 + dist/smarthbs.postprocess.d.ts | 5 + dist/smarthbs.postprocess.js | 15 + dist/smarthbs.template.d.ts | 9 + dist/smarthbs.template.js | 24 + dist/smarthbs.variables.d.ts | 12 + dist/smarthbs.variables.js | 74 +++ package-lock.json | 798 ++++++++++++++++++++------------- package.json | 20 +- ts/smarthbs.plugins.ts | 4 +- ts/smarthbs.variables.ts | 6 +- 21 files changed, 804 insertions(+), 332 deletions(-) create mode 100644 dist/index.d.ts create mode 100644 dist/index.js create mode 100644 dist/smarthbs.compile.d.ts create mode 100644 dist/smarthbs.compile.js create mode 100644 dist/smarthbs.helpers.d.ts create mode 100644 dist/smarthbs.helpers.js create mode 100644 dist/smarthbs.partials.d.ts create mode 100644 dist/smarthbs.partials.js create mode 100644 dist/smarthbs.plugins.d.ts create mode 100644 dist/smarthbs.plugins.js create mode 100644 dist/smarthbs.postprocess.d.ts create mode 100644 dist/smarthbs.postprocess.js create mode 100644 dist/smarthbs.template.d.ts create mode 100644 dist/smarthbs.template.js create mode 100644 dist/smarthbs.variables.d.ts create mode 100644 dist/smarthbs.variables.js diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0dfb491..d82c33c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -# gitzone standard +# gitzone ci_default image: hosttoday/ht-docker-node:npmci cache: diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..d56294e --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,9 @@ +import * as plugins from './smarthbs.plugins'; +export declare type TTemplateStringType = 'filePath' | 'code'; +export declare let handlebars: typeof plugins.handlebars; +export * from './smarthbs.compile'; +import './smarthbs.helpers'; +export * from './smarthbs.partials'; +export * from './smarthbs.template'; +export * from './smarthbs.variables'; +export * from './smarthbs.postprocess'; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..5c589b6 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,21 @@ +"use strict"; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = __importStar(require("./smarthbs.plugins")); +exports.handlebars = plugins.handlebars; +__export(require("./smarthbs.compile")); +require("./smarthbs.helpers"); +__export(require("./smarthbs.partials")); +__export(require("./smarthbs.template")); +__export(require("./smarthbs.variables")); +__export(require("./smarthbs.postprocess")); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw0REFBOEM7QUFHbkMsUUFBQSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUMzQyx3Q0FBbUM7QUFDbkMsOEJBQTRCO0FBQzVCLHlDQUFvQztBQUNwQyx5Q0FBb0M7QUFDcEMsMENBQXFDO0FBQ3JDLDRDQUF1QyJ9 \ No newline at end of file diff --git a/dist/smarthbs.compile.d.ts b/dist/smarthbs.compile.d.ts new file mode 100644 index 0000000..71c15a8 --- /dev/null +++ b/dist/smarthbs.compile.d.ts @@ -0,0 +1,4 @@ +/** + * compiles a directory and outputs it + */ +export declare let compileDirectory: (originDirPathArg: string, destinationDirPathArg: string, dataFileNameArg: string) => Promise; diff --git a/dist/smarthbs.compile.js b/dist/smarthbs.compile.js new file mode 100644 index 0000000..ba614b8 --- /dev/null +++ b/dist/smarthbs.compile.js @@ -0,0 +1,27 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = __importStar(require("./smarthbs.plugins")); +/** + * compiles a directory and outputs it + */ +exports.compileDirectory = async (originDirPathArg, destinationDirPathArg, dataFileNameArg) => { + let hbsFilePathArray = plugins.smartfile.fs.listFilesSync(originDirPathArg, /.hbs/); + let data = plugins.smartfile.fs.toObjectSync(plugins.path.join(originDirPathArg, dataFileNameArg)); + for (let hbsFilePath of hbsFilePathArray) { + let parsedPath = plugins.path.parse(hbsFilePath); + let hbsFileString = plugins.smartfile.fs.toStringSync(plugins.path.join(originDirPathArg, hbsFilePath)); + let template = plugins.handlebars.compile(hbsFileString); + let output = template(data); + console.log('hi ' + output + ' hi'); + await plugins.smartfile.fs.ensureDir(destinationDirPathArg); + plugins.smartfile.memory.toFsSync(output, plugins.path.join(destinationDirPathArg, parsedPath.name + '.html')); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRoYnMuY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0aGJzLmNvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsNERBQThDO0FBRTlDOztHQUVHO0FBQ1EsUUFBQSxnQkFBZ0IsR0FBRyxLQUFLLEVBQ2pDLGdCQUF3QixFQUN4QixxQkFBNkIsRUFDN0IsZUFBdUIsRUFDdkIsRUFBRTtJQUNGLElBQUksZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQ3JELENBQUM7SUFDRixLQUFLLElBQUksV0FBVyxJQUFJLGdCQUFnQixFQUFFO1FBQ3hDLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLENBQ2pELENBQUM7UUFDRixJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDNUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUMvQixNQUFNLEVBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FDcEUsQ0FBQztLQUNIO0FBQ0gsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/dist/smarthbs.helpers.d.ts b/dist/smarthbs.helpers.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/dist/smarthbs.helpers.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/dist/smarthbs.helpers.js b/dist/smarthbs.helpers.js new file mode 100644 index 0000000..69a2421 --- /dev/null +++ b/dist/smarthbs.helpers.js @@ -0,0 +1,39 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = __importStar(require("./smarthbs.plugins")); +/** + * Helper: + * Allows you to analyze a context + */ +plugins.handlebars.registerHelper('__analyze', analyzeContext => { + if (typeof analyzeContext === 'string') { + if (plugins.handlebars.partials[analyzeContext]) { + console.log(`The analyzed partial ${analyzeContext} looks like this`); + console.log(plugins.handlebars.partials[analyzeContext]); + } + else { + console.error(`The Partial ${analyzeContext} cannot be found`); + } + return 'analyzed'; + } +}); +/** + * Helper: + * logs all registered partials to console + */ +plugins.handlebars.registerHelper('__allPartialsLog', analyzeContext => { + console.log(plugins.handlebars.partials); + return 'analyzed'; +}); +plugins.handlebars.registerHelper('__compile', (evaluationString, evaluationContext) => { + let template = plugins.handlebars.compile(evaluationString); + return template(evaluationContext); +}); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRoYnMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0aGJzLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsNERBQThDO0FBRTlDOzs7R0FHRztBQUNILE9BQU8sQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsRUFBRTtJQUM5RCxJQUFJLE9BQU8sY0FBYyxLQUFLLFFBQVEsRUFBRTtRQUN0QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLGNBQWMsa0JBQWtCLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxjQUFjLGtCQUFrQixDQUFDLENBQUM7U0FDaEU7UUFDRCxPQUFPLFVBQVUsQ0FBQztLQUNuQjtBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLEVBQUU7SUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBRUgsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsRUFBRTtJQUNyRixJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMifQ== \ No newline at end of file diff --git a/dist/smarthbs.partials.d.ts b/dist/smarthbs.partials.d.ts new file mode 100644 index 0000000..05cd4ef --- /dev/null +++ b/dist/smarthbs.partials.d.ts @@ -0,0 +1,4 @@ +/** + * registers a directory of partials to make them available within handlebars compilation + */ +export declare let registerPartialDir: (dirPathArg: string) => Promise; diff --git a/dist/smarthbs.partials.js b/dist/smarthbs.partials.js new file mode 100644 index 0000000..981fa46 --- /dev/null +++ b/dist/smarthbs.partials.js @@ -0,0 +1,33 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = __importStar(require("./smarthbs.plugins")); +/** + * registers a directory of partials to make them available within handlebars compilation + */ +exports.registerPartialDir = (dirPathArg) => { + let done = plugins.smartpromise.defer(); + plugins.smartfile.fs.listFileTree(dirPathArg, '**/*.hbs').then(hbsFileArrayArg => { + for (let hbsFilePath of hbsFileArrayArg) { + let parsedPath = plugins.path.parse(hbsFilePath); + let hbsFileString = plugins.smartfile.fs.toStringSync(plugins.path.join(dirPathArg, hbsFilePath)); + if (parsedPath.dir === '/') { + parsedPath.dir = ''; + } + if (parsedPath.dir !== '') { + parsedPath.dir = parsedPath.dir + '/'; + } + let partialName = `partials/${parsedPath.dir}${parsedPath.name}`; + plugins.handlebars.registerPartial(partialName, hbsFileString); + done.resolve(); + } + }); + return done.promise; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRoYnMucGFydGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGhicy5wYXJ0aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSw0REFBOEM7QUFFOUM7O0dBRUc7QUFDUSxRQUFBLGtCQUFrQixHQUFHLENBQUMsVUFBa0IsRUFBZ0IsRUFBRTtJQUNuRSxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQy9FLEtBQUssSUFBSSxXQUFXLElBQUksZUFBZSxFQUFFO1lBQ3ZDLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pELElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUMzQyxDQUFDO1lBQ0YsSUFBSSxVQUFVLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtnQkFDMUIsVUFBVSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7YUFDckI7WUFDRCxJQUFJLFVBQVUsQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFO2dCQUN6QixVQUFVLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSSxXQUFXLEdBQUcsWUFBWSxVQUFVLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqRSxPQUFPLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDdEIsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/dist/smarthbs.plugins.d.ts b/dist/smarthbs.plugins.d.ts new file mode 100644 index 0000000..1ecdcbd --- /dev/null +++ b/dist/smarthbs.plugins.d.ts @@ -0,0 +1,6 @@ +import * as handlebars from 'handlebars'; +import lodashUniq from 'lodash.uniq'; +import * as path from 'path'; +import * as smartfile from '@pushrocks/smartfile'; +import * as smartpromise from '@pushrocks/smartpromise'; +export { handlebars, lodashUniq, path, smartfile, smartpromise }; diff --git a/dist/smarthbs.plugins.js b/dist/smarthbs.plugins.js new file mode 100644 index 0000000..1a6b2a8 --- /dev/null +++ b/dist/smarthbs.plugins.js @@ -0,0 +1,23 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const handlebars = __importStar(require("handlebars")); +exports.handlebars = handlebars; +const lodash_uniq_1 = __importDefault(require("lodash.uniq")); +exports.lodashUniq = lodash_uniq_1.default; +const path = __importStar(require("path")); +exports.path = path; +const smartfile = __importStar(require("@pushrocks/smartfile")); +exports.smartfile = smartfile; +const smartpromise = __importStar(require("@pushrocks/smartpromise")); +exports.smartpromise = smartpromise; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRoYnMucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0aGJzLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBTWhDLGdDQUFVO0FBTG5CLDhEQUFxQztBQUtoQixxQkFMZCxxQkFBVSxDQUtjO0FBSi9CLDJDQUE2QjtBQUlJLG9CQUFJO0FBSHJDLGdFQUFrRDtBQUdYLDhCQUFTO0FBRmhELHNFQUF3RDtBQUVOLG9DQUFZIn0= \ No newline at end of file diff --git a/dist/smarthbs.postprocess.d.ts b/dist/smarthbs.postprocess.d.ts new file mode 100644 index 0000000..ec7b3e0 --- /dev/null +++ b/dist/smarthbs.postprocess.d.ts @@ -0,0 +1,5 @@ +/** + * allows you to keep handlebars in place across multiple iterations + * helpful when handlebars syntax is used by more than one tool in a build chain + */ +export declare let postprocess: (stringArg: string) => Promise; diff --git a/dist/smarthbs.postprocess.js b/dist/smarthbs.postprocess.js new file mode 100644 index 0000000..a3def6e --- /dev/null +++ b/dist/smarthbs.postprocess.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +let safeSyntaxBeginRegex = /{-{/g; +let safeSyntaxEndRegex = /}-}/g; +/** + * allows you to keep handlebars in place across multiple iterations + * helpful when handlebars syntax is used by more than one tool in a build chain + */ +exports.postprocess = async (stringArg) => { + let processedString = stringArg; + processedString = processedString.replace(safeSyntaxBeginRegex, '{{'); + processedString = processedString.replace(safeSyntaxEndRegex, '}}'); + return processedString; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRoYnMucG9zdHByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGhicy5wb3N0cHJvY2Vzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLElBQUksb0JBQW9CLEdBQUcsTUFBTSxDQUFDO0FBQ2xDLElBQUksa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBRWhDOzs7R0FHRztBQUNRLFFBQUEsV0FBVyxHQUFHLEtBQUssRUFBRSxTQUFpQixFQUFtQixFQUFFO0lBQ3BFLElBQUksZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxlQUFlLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RSxlQUFlLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRSxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDLENBQUMifQ== \ No newline at end of file diff --git a/dist/smarthbs.template.d.ts b/dist/smarthbs.template.d.ts new file mode 100644 index 0000000..93c2742 --- /dev/null +++ b/dist/smarthbs.template.d.ts @@ -0,0 +1,9 @@ +import * as plugins from './smarthbs.plugins'; +/** + * get a template for a file on disk + */ +export declare let getTemplateForFile: (filePathArg: string) => Promise>; +/** + * get a template for string + */ +export declare let getTemplateForString: (fileStringArg: string) => Promise>; diff --git a/dist/smarthbs.template.js b/dist/smarthbs.template.js new file mode 100644 index 0000000..093d157 --- /dev/null +++ b/dist/smarthbs.template.js @@ -0,0 +1,24 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = __importStar(require("./smarthbs.plugins")); +/** + * get a template for a file on disk + */ +exports.getTemplateForFile = async (filePathArg) => { + let filePathAbsolute = plugins.path.resolve(filePathArg); + return plugins.handlebars.compile(plugins.smartfile.fs.toStringSync(filePathAbsolute)); +}; +/** + * get a template for string + */ +exports.getTemplateForString = async (fileStringArg) => { + return plugins.handlebars.compile(fileStringArg); +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRoYnMudGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGhicy50ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSw0REFBOEM7QUFFOUM7O0dBRUc7QUFDUSxRQUFBLGtCQUFrQixHQUFHLEtBQUssRUFBRSxXQUFtQixFQUFFLEVBQUU7SUFDNUQsSUFBSSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7QUFDekYsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDUSxRQUFBLG9CQUFvQixHQUFHLEtBQUssRUFBRSxhQUFxQixFQUFFLEVBQUU7SUFDaEUsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUMifQ== \ No newline at end of file diff --git a/dist/smarthbs.variables.d.ts b/dist/smarthbs.variables.d.ts new file mode 100644 index 0000000..1429354 --- /dev/null +++ b/dist/smarthbs.variables.d.ts @@ -0,0 +1,12 @@ +/** + * finds all variables in a handlebars template + * @param hbsStringArg + */ +export declare let findVarsInHbsString: (hbsStringArg: string) => Promise; +/** + * checks if supplied variables satisfy an handlebars template + * @param hbsStringArg + * @param varObjectArg + * @return string array with missing variable names + */ +export declare let checkVarsSatisfaction: (hbsStringArg: string, varObjectArg: any) => Promise; diff --git a/dist/smarthbs.variables.js b/dist/smarthbs.variables.js new file mode 100644 index 0000000..22074ce --- /dev/null +++ b/dist/smarthbs.variables.js @@ -0,0 +1,74 @@ +"use strict"; +// This file contains code that makes it easy to search handlebar templates for variables. +// Why? To get a clue if you are missing some. +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = __importStar(require("./smarthbs.plugins")); +// the curly regex objects +let tripleCurlyRegex = /{{{\s*[\w\.]+\s*}}}/g; +let doubleCurlyRegex = /{{\s*[\w\.]+\s*}}/g; +let nameInCurlsRegex = /[\w\.]+/; +/** + * finds all variables in a handlebars template + * @param hbsStringArg + */ +exports.findVarsInHbsString = async (hbsStringArg) => { + let hbsString = hbsStringArg; // make sure we have a new string object that we may destroy + let varNameArray = []; + let tripleCurlyMatches = hbsString.match(tripleCurlyRegex); + if (tripleCurlyMatches) { + hbsString = hbsString.replace(tripleCurlyRegex, '[[[replaced]]]'); + varNameArray = varNameArray.concat(tripleCurlyMatches); + } + let doubleCurlyMatches = hbsString.match(doubleCurlyRegex); + if (doubleCurlyMatches) { + varNameArray = varNameArray.concat(doubleCurlyMatches); + } + // make sure we are clean from curly brackets + varNameArray = varNameArray.map(x => { + return x.match(nameInCurlsRegex)[0]; + }); + // make sure are uniq + varNameArray = plugins.lodashUniq(varNameArray); + return varNameArray; +}; +/** + * checks if supplied variables satisfy an handlebars template + * @param hbsStringArg + * @param varObjectArg + * @return string array with missing variable names + */ +exports.checkVarsSatisfaction = async (hbsStringArg, varObjectArg) => { + // required vars as combined deep string with . notation + let requiredVarStrings = await exports.findVarsInHbsString(hbsStringArg); + // comparison objects + let suppliedVarsObject = varObjectArg; + let missingVarsObject = []; + // building the + for (let stringVar of requiredVarStrings) { + let splittedVars = stringVar.split('.'); + let requiredPointer = suppliedVarsObject; + for (let i = 0; i < splittedVars.length; i++) { + let splitVar = splittedVars[i]; + let varAvailable = requiredPointer[splitVar] !== undefined; + if (varAvailable && splittedVars.length === i + 1) { + // ok + } + else if (varAvailable) { + requiredPointer = requiredPointer[splitVar]; + } + else { + missingVarsObject.push(stringVar); + i = splittedVars.length; + } + } + } + return missingVarsObject; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRoYnMudmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRoYnMudmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsOENBQThDOzs7Ozs7Ozs7QUFFOUMsNERBQThDO0FBRTlDLDBCQUEwQjtBQUMxQixJQUFJLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzlDLElBQUksZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUM7QUFDNUMsSUFBSSxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7QUFFakM7OztHQUdHO0FBQ1EsUUFBQSxtQkFBbUIsR0FBRyxLQUFLLEVBQUUsWUFBb0IsRUFBRSxFQUFFO0lBQzlELElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLDREQUE0RDtJQUMxRixJQUFJLFlBQVksR0FBYSxFQUFFLENBQUM7SUFDaEMsSUFBSSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDM0QsSUFBSSxrQkFBa0IsRUFBRTtRQUN0QixTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDeEQ7SUFDRCxJQUFJLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRCxJQUFJLGtCQUFrQixFQUFFO1FBQ3RCLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDeEQ7SUFFRCw2Q0FBNkM7SUFDN0MsWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDbEMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxxQkFBcUI7SUFDckIsWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDUSxRQUFBLHFCQUFxQixHQUFHLEtBQUssRUFBRSxZQUFvQixFQUFFLFlBQWlCLEVBQUUsRUFBRTtJQUNuRix3REFBd0Q7SUFDeEQsSUFBSSxrQkFBa0IsR0FBRyxNQUFNLDJCQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWpFLHFCQUFxQjtJQUNyQixJQUFJLGtCQUFrQixHQUFHLFlBQVksQ0FBQztJQUN0QyxJQUFJLGlCQUFpQixHQUFhLEVBQUUsQ0FBQztJQUVyQyxlQUFlO0lBQ2YsS0FBSyxJQUFJLFNBQVMsSUFBSSxrQkFBa0IsRUFBRTtRQUN4QyxJQUFJLFlBQVksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksZUFBZSxHQUFHLGtCQUFrQixDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVDLElBQUksUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssU0FBUyxDQUFDO1lBQzNELElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakQsS0FBSzthQUNOO2lCQUFNLElBQUksWUFBWSxFQUFFO2dCQUN2QixlQUFlLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzdDO2lCQUFNO2dCQUNMLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDbEMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7YUFDekI7U0FDRjtLQUNGO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQztBQUMzQixDQUFDLENBQUMifQ== \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b82f517..03c38dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,56 +4,45 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@airbnb/node-memwatch": { - "version": "1.0.2", - "resolved": "https://verdaccio.lossless.one/@airbnb%2fnode-memwatch/-/node-memwatch-1.0.2.tgz", - "integrity": "sha512-2R+MEEMSTUdKwQ6NFWkyA/UNoSjL1tMldZqJbZpgXSwNMBzlNlkUWEXKu9RqTTMkDqJRfGJ2VDs8gPlPK2APDQ==", - "dev": true, - "requires": { - "bindings": "^1.3.0", - "nan": "^2.9.2" - } - }, "@gitzone/tsbuild": { - "version": "2.1.8", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.8.tgz", - "integrity": "sha512-xdFCi5OZe03ShjB5tIcKZ5vGis6wzqiCkvNtQ/pMkp90KFA+fAjARVfeSUpuRRlAXoaewv+snK/GkvlvhviqNw==", + "version": "2.1.17", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsbuild/-/tsbuild-2.1.17.tgz", + "integrity": "sha512-Mg2cu7cW3cC6L2tzatB8t6OMVgTGatobb8UkN+y3n7KAWRld4gXcVWmaehch/wSFrbmk6Oe8rPjdWPjhTSIF1Q==", "dev": true, "requires": { "@pushrocks/smartcli": "^3.0.7", - "@pushrocks/smartfile": "^6.0.11", - "@pushrocks/smartlog": "^2.0.9", + "@pushrocks/smartfile": "^7.0.2", + "@pushrocks/smartlog": "^2.0.19", "@pushrocks/smartpath": "^4.0.1", - "@pushrocks/smartpromise": "^2.0.5", - "typescript": "^3.2.2" + "@pushrocks/smartpromise": "^3.0.2", + "typescript": "^3.5.2" } }, "@gitzone/tsrun": { - "version": "1.1.17", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.1.17.tgz", - "integrity": "sha512-FuzbVPJ9/67QeKSAD0BxgZ80Q0zEAN68x5oZS6G21t9ffM8tnNhIlghzeYnoorJqUnQtMIldFlW0t/dc8B4l9g==", + "version": "1.2.8", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.8.tgz", + "integrity": "sha512-G65DNcjegxF6w/O9MYD2mlHh+QVUiLuZvgLD5eamOOuWLhzuiE1tDzv5praJ/woJQzzZinDs+IyRyZ5rWKp/fQ==", "dev": true, "requires": { - "@gitzone/tsbuild": "^2.0.22", - "@pushrocks/smartfile": "^6.0.6", - "ts-node": "^7.0.0", - "typescript": "^3.0.1" + "@pushrocks/smartfile": "^7.0.4", + "ts-node": "^8.3.0", + "typescript": "^3.5.3" } }, "@gitzone/tstest": { - "version": "1.0.18", - "resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.18.tgz", - "integrity": "sha512-/owFKFsiFWh6miL+G/DYxBr+B6mgy9WzthLTqNyC7xriYoymvBgnmm5Wo3bo1NQN+1GY83zKeSpY7JB4r2LuEQ==", + "version": "1.0.24", + "resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.24.tgz", + "integrity": "sha512-HFHLxhXFhhY7nn7H7dxfjy/6WiUGCw35L5Do/ZajCAn/xAWiqnppW1aIp0LOOaWeZ7J5fH7xP88TjsGpwR+MRA==", "dev": true, "requires": { - "@gitzone/tsrun": "^1.1.17", + "@gitzone/tsrun": "^1.2.6", "@pushrocks/consolecolor": "^2.0.1", - "@pushrocks/smartfile": "^6.0.11", - "@pushrocks/smartlog": "^2.0.9", - "@pushrocks/smartpromise": "^2.0.5", - "@pushrocks/smartshell": "^2.0.11", - "@types/figures": "^2.0.0", - "figures": "^2.0.0" + "@pushrocks/smartfile": "^7.0.2", + "@pushrocks/smartlog": "^2.0.19", + "@pushrocks/smartpromise": "^3.0.2", + "@pushrocks/smartshell": "^2.0.22", + "@types/figures": "^3.0.1", + "figures": "^3.0.0" } }, "@pushrocks/consolecolor": { @@ -73,21 +62,29 @@ "requires": { "@pushrocks/consolecolor": "^2.0.1", "@pushrocks/smartpromise": "^2.0.5" + }, + "dependencies": { + "@pushrocks/smartpromise": { + "version": "2.0.5", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz", + "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", + "dev": true + } } }, "@pushrocks/lik": { - "version": "3.0.4", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-3.0.4.tgz", - "integrity": "sha512-abyDxBqZgUCvXxl7DNVnZ6gDv3jjH9XxqMW6VE4FvDnXJw7iShKpi/ImFEqR2ZEtACdad5/XORdP8Yw0EyrEog==", + "version": "3.0.11", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-3.0.11.tgz", + "integrity": "sha512-SDKRPj9+xBTqozlDPcA7O6BcccM1Tw/sXPVP+OnhNxCubDZ/L2kGNpPpqm43NJUoNxSSo5wdBw4N7MAFYCGdVg==", "dev": true, "requires": { - "@pushrocks/smartdelay": "^2.0.2", - "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartpromise": "^3.0.2", "@pushrocks/smartrx": "^2.0.3", - "@pushrocks/smarttime": "^3.0.5", + "@pushrocks/smarttime": "^3.0.12", "@types/minimatch": "^3.0.3", "minimatch": "^3.0.4", - "symbol-tree": "^3.2.2" + "symbol-tree": "^3.2.4" } }, "@pushrocks/smartcli": { @@ -103,15 +100,23 @@ "@types/yargs": "^12.0.1", "rxjs": "^6.3.3", "yargs": "^12.0.5" + }, + "dependencies": { + "@pushrocks/smartpromise": { + "version": "2.0.5", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz", + "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", + "dev": true + } } }, "@pushrocks/smartdelay": { - "version": "2.0.2", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.2.tgz", - "integrity": "sha512-4xf6tMKwZcxBynKgXrM4SQKgeASfRvx43LUmR5DkStp26ZHAsarCXUdKJS6y8QIPygEOTOCP8we97JAcCzBuMg==", + "version": "2.0.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.3.tgz", + "integrity": "sha512-TXKDDqsc7sBTLl+oiYNaF6IdNk1n70i8ur8QfwcUU6tegTnrEkvMWy9h5Zdty/fq1ioCNpKLvuXoA+fgYVwKGQ==", "dev": true, "requires": { - "@pushrocks/smartpromise": "^2.0.5" + "@pushrocks/smartpromise": "^3.0.2" } }, "@pushrocks/smartevent": { @@ -121,28 +126,47 @@ "dev": true, "requires": { "@pushrocks/smartpromise": "^2.0.5" + }, + "dependencies": { + "@pushrocks/smartpromise": { + "version": "2.0.5", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz", + "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", + "dev": true + } + } + }, + "@pushrocks/smartexit": { + "version": "1.0.15", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.15.tgz", + "integrity": "sha512-pvJBmF13spcDN+O8rSpYlKBOObyfW+omZKQr3hhSMT1VHMEYV8e/njsA19Cg4C2DfLPv+cRFFgPn27zJpleRsQ==", + "dev": true, + "requires": { + "@pushrocks/lik": "^3.0.5", + "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartlog-source-ora": "^1.0.7" } }, "@pushrocks/smartfile": { - "version": "6.0.12", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-6.0.12.tgz", - "integrity": "sha512-89abBQgZ/90YWTjVD2ZMkgO4Em4XM0xLf1wPBG4s1yVCdwBSrVX/Eg1EvHyNEk7lbule0NoBmCAvHcIb95FRXQ==", + "version": "7.0.4", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.4.tgz", + "integrity": "sha512-ym8eigWJAQhwgmuVLew3GLrk4WhV03ajapwuMWytxKSzfIW9ZqceJBX2QzOkmhFGA2bp+gc4Q2wOBy3Ffnlj+A==", "requires": { "@pushrocks/smartpath": "^4.0.1", - "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartpromise": "^3.0.2", "@pushrocks/smartrequest": "^1.1.14", - "@types/fs-extra": "^5.0.4", + "@types/fs-extra": "^5.0.5", "@types/vinyl": "^2.0.2", "fs-extra": "^7.0.1", "glob": "^7.1.3", - "js-yaml": "^3.12.1", + "js-yaml": "^3.13.1", "vinyl-file": "^3.0.0" } }, "@pushrocks/smartlog": { - "version": "2.0.14", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog/-/smartlog-2.0.14.tgz", - "integrity": "sha512-W2TGMRdftvgcV2gjWlnssl0/84fwhQAjI2eCOn1NcF1IIPyUgb/5PLH4tI7Fct739C2dDdBKbCL129EvMyma2g==", + "version": "2.0.19", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog/-/smartlog-2.0.19.tgz", + "integrity": "sha512-I2mDx7WcUlADYWxu5nNP3NSJv95YrCZoG/rarbEqovK7pJQ9a0aINmIcCHkQeL1VSWvxgvhXwHyV/yNEJ4zh3Q==", "dev": true, "requires": { "@pushrocks/smartlog-interfaces": "^2.0.5" @@ -154,6 +178,16 @@ "integrity": "sha512-eLNlRpDwy3E+6v/B6fo/NiAo+UxBO3SxKgIIsgUGbWfVpsyUi0PG2xfVCdhJlhL1AsRRvKglfHSOB8qKE+XCLw==", "dev": true }, + "@pushrocks/smartlog-source-ora": { + "version": "1.0.8", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartlog-source-ora/-/smartlog-source-ora-1.0.8.tgz", + "integrity": "sha512-yPFACo/1gHx2o43qYLJ6LB5AUvSFB42abYynySpaIZfQKzdz09eJB/LMbVdOKPObwk7bcma5owyK5lPHicG9Ig==", + "dev": true, + "requires": { + "@pushrocks/smartlog-interfaces": "^2.0.5", + "ora": "^3.4.0" + } + }, "@pushrocks/smartparam": { "version": "1.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartparam/-/smartparam-1.0.4.tgz", @@ -163,6 +197,14 @@ "@pushrocks/smartpromise": "^2.0.5", "is-promise": "^2.1.0", "minimatch": "^3.0.4" + }, + "dependencies": { + "@pushrocks/smartpromise": { + "version": "2.0.5", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz", + "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", + "dev": true + } } }, "@pushrocks/smartpath": { @@ -171,122 +213,150 @@ "integrity": "sha512-MaI0+uLQPCr2V3WGnbdgb0pWa9xkWyrP4qYcbsHIjeismGLbn9s3jmP/HIXU8LkgzRgaVb+BJxmZJHOwl32DyA==" }, "@pushrocks/smartpromise": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@pushrocks/smartpromise/-/smartpromise-2.0.5.tgz", - "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==" + "version": "3.0.2", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.2.tgz", + "integrity": "sha512-jmrJMUEmBCWChWK8CIcx4Vw3wv/8OgVNmkaxJrbs+WMaoRUfJtpWWJfrAwwHWt9ZXJbarJ+CwfwfYiiZXymndQ==" }, "@pushrocks/smartrequest": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/@pushrocks/smartrequest/-/smartrequest-1.1.14.tgz", - "integrity": "sha512-+sDQB4Mxvpn8BIMPUQ7TPSCKUVMln3tHC4rp4pmfEHmBQK+g1XwtNr59aMA9kEoBDMt7li1hu+1cs+SNsWt6Gw==", + "version": "1.1.27", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrequest/-/smartrequest-1.1.27.tgz", + "integrity": "sha512-GJO6duKBro2oILtXduVQwxA50AzjHZbKP0P32OoiM+B1ftoQFf4D8zSs/SCljNKXUqS8SZ9IMQVlKLfRC4nu+A==", "requires": { - "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartpromise": "^3.0.2", "@types/form-data": "^2.2.1", - "form-data": "^2.3.2" + "form-data": "^2.3.3" } }, "@pushrocks/smartrx": { - "version": "2.0.3", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.3.tgz", - "integrity": "sha512-OWxagu+CBdPaq76AIg91hJyrNhDTlEpesj01ooWCeVIaLY3G7yvFkqHsEKNOwPUG1LzCWmjq1l1dHQx9p2vJ9A==", + "version": "2.0.5", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.5.tgz", + "integrity": "sha512-BOlIJmnCO8pxqu9f18D9UV5rIsyrmKeK/mWNMiAe/NH2OTeRPNLpgmhZBkXSKNVD8tSsD8aazs4BcACgYOg1FQ==", "dev": true, "requires": { - "@pushrocks/lik": "^3.0.2", + "@pushrocks/lik": "^3.0.11", "@pushrocks/smartevent": "^2.0.3", - "@pushrocks/smartpromise": "^2.0.5", - "rxjs": "^6.3.3" + "@pushrocks/smartpromise": "^3.0.2", + "rxjs": "^6.5.3" } }, "@pushrocks/smartshell": { - "version": "2.0.13", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.13.tgz", - "integrity": "sha512-jLfAhLxMVKAScKdln1QrQqBI7A7INhMNHIq28fJEBi0BNDUS0eerw4yMAnR4CRmcrh4xFp1z+ju1kaPO3I/4MA==", + "version": "2.0.25", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.25.tgz", + "integrity": "sha512-sYVHOhBRdr+CkjS+o1SDtB5058ZYxTPAYuexx2ydl2g+57KNdEcSRWN/2mOv5+NFH+tvvgtnUjC3AclC9CwJ4A==", "dev": true, "requires": { - "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartexit": "^1.0.15", + "@pushrocks/smartpromise": "^3.0.2", "@types/which": "^1.3.1", "which": "^1.3.1" } }, "@pushrocks/smarttime": { - "version": "3.0.5", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.5.tgz", - "integrity": "sha512-nHjJ8xRZ87OE8tBBIAOgjHJmJrc3MaPZtEZ5JDY2U9gjaED6JdRcdQ+vhSaLJT+U2u8YzXOuA6LfNN+X4jZm6A==", + "version": "3.0.12", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.12.tgz", + "integrity": "sha512-NoMt1NUhNqcF5y7fCTHoC3d/+MobzgNUg6yHbSGxFRaentQzCrMPNahQIVLbrAStf03LUUBePUjSRdPYucP1gw==", "dev": true, "requires": { - "@pushrocks/smartpromise": "^2.0.5", - "@types/luxon": "^1.4.1", - "luxon": "^1.8.0" + "@pushrocks/smartpromise": "^3.0.2", + "@types/cron": "^1.7.1", + "@types/luxon": "^1.15.1", + "cron": "^1.7.1", + "luxon": "^1.16.0" } }, "@pushrocks/tapbundle": { - "version": "3.0.7", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.0.7.tgz", - "integrity": "sha512-ZI4fhXPy8XMfiy/QofP0ZDuFdv3cErm+FP/+AXaNKdgCCx01MXNTYSUdER1GPUXW3ZbiXdurkLJlxlhIzD1ZJw==", + "version": "3.0.13", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2ftapbundle/-/tapbundle-3.0.13.tgz", + "integrity": "sha512-23O4UMBafCuD+RnUlXNvtT9DGbL1HMD+xZE1Zcr7Ll7WvgxUgRQQfk9kq6qbLLbjaRe1J2Ijsgh1HuZbBaucLQ==", "dev": true, "requires": { "@pushrocks/early": "^3.0.3", - "@pushrocks/smartdelay": "^2.0.2", - "@pushrocks/smartpromise": "^2.0.5", - "leakage": "^0.4.0", + "@pushrocks/smartdelay": "^2.0.3", + "@pushrocks/smartpromise": "^3.0.2", "smartchai": "^2.0.1" + }, + "dependencies": { + "@pushrocks/smartdelay": { + "version": "2.0.3", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.3.tgz", + "integrity": "sha512-TXKDDqsc7sBTLl+oiYNaF6IdNk1n70i8ur8QfwcUU6tegTnrEkvMWy9h5Zdty/fq1ioCNpKLvuXoA+fgYVwKGQ==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^3.0.2" + } + }, + "@pushrocks/smartpromise": { + "version": "3.0.2", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.2.tgz", + "integrity": "sha512-jmrJMUEmBCWChWK8CIcx4Vw3wv/8OgVNmkaxJrbs+WMaoRUfJtpWWJfrAwwHWt9ZXJbarJ+CwfwfYiiZXymndQ==", + "dev": true + } } }, "@types/chai": { - "version": "4.1.7", - "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.1.7.tgz", - "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "version": "4.2.2", + "resolved": "https://verdaccio.lossless.one/@types%2fchai/-/chai-4.2.2.tgz", + "integrity": "sha512-8V2aCcPM3WLuJvJpF6N60uUvdZb7NHjpjQlLk1QmZbTP4XZET/FX0c3TJ3K7qt4L98FS1Pifa8BVofTVuJFWVA==", "dev": true }, "@types/chai-as-promised": { - "version": "7.1.0", - "resolved": "https://verdaccio.lossless.one/@types%2fchai-as-promised/-/chai-as-promised-7.1.0.tgz", - "integrity": "sha512-MFiW54UOSt+f2bRw8J7LgQeIvE/9b4oGvwU7XW30S9QGAiHGnU/fmiOprsyMkdmH2rl8xSPc0/yrQw8juXU6bQ==", + "version": "7.1.2", + "resolved": "https://verdaccio.lossless.one/@types%2fchai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-PO2gcfR3Oxa+u0QvECLe1xKXOqYTzCmWf0FhLhjREoW3fPAVamjihL7v1MOVLJLsnAMdLcjkfrs01yvDMwVK4Q==", "dev": true, "requires": { "@types/chai": "*" } }, "@types/chai-string": { - "version": "1.4.1", - "resolved": "https://verdaccio.lossless.one/@types%2fchai-string/-/chai-string-1.4.1.tgz", - "integrity": "sha512-aRNMs6TKgjgPlCHwDfq/YNy5VtRR2hJ4AUWByddrT0TRVVD8eX4MiHW6/iHvmQHRlVuuPZcwnTUE7b4yFt7bEA==", + "version": "1.4.2", + "resolved": "https://verdaccio.lossless.one/@types%2fchai-string/-/chai-string-1.4.2.tgz", + "integrity": "sha512-ld/1hV5qcPRGuwlPdvRfvM3Ka/iofOk2pH4VkasK4b1JJP1LjNmWWn0LsISf6RRzyhVOvs93rb9tM09e+UuF8Q==", "dev": true, "requires": { "@types/chai": "*" } }, + "@types/cron": { + "version": "1.7.1", + "resolved": "https://verdaccio.lossless.one/@types%2fcron/-/cron-1.7.1.tgz", + "integrity": "sha512-48brwgU18DqA0mQX1As5OcJEo1yNjaXMM6Mk4r8K1dOzLJRQ37FE/kCivKx7ClKEHfhX2FdcxKzJ1B744a+V3A==", + "dev": true, + "requires": { + "@types/node": "*", + "moment": ">=2.14.0" + } + }, "@types/figures": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/@types%2ffigures/-/figures-2.0.0.tgz", - "integrity": "sha512-mcRgJ+ncKuNI+Dwac7omO18B8C8u+YBS+AU/oyLhEyjAnT3cUUThhHgZpbiIvu5ZqSvdD30BXtrqg9nxc3OKMg==", - "dev": true + "version": "3.0.1", + "resolved": "https://verdaccio.lossless.one/@types%2ffigures/-/figures-3.0.1.tgz", + "integrity": "sha512-2OXodKWdNhYl+S+wCvlafqJbfMIVDfQZYX2wRyUOcRiEQpeJ9zU6cT7d+RbMpjS+/vmQ2cAUUL8gyGy1YxtLPw==", + "dev": true, + "requires": { + "figures": "*" + } }, "@types/form-data": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", - "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "version": "2.5.0", + "resolved": "https://verdaccio.lossless.one/@types%2fform-data/-/form-data-2.5.0.tgz", + "integrity": "sha512-23/wYiuckYYtFpL+4RPWiWmRQH2BjFuqCUi2+N3amB1a1Drv+i/byTrGvlLwRVLFNAZbwpbQ7JvTK+VCAPMbcg==", "requires": { - "@types/node": "*" + "form-data": "*" } }, "@types/fs-extra": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", - "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "version": "5.1.0", + "resolved": "https://verdaccio.lossless.one/@types%2ffs-extra/-/fs-extra-5.1.0.tgz", + "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", "requires": { "@types/node": "*" } }, - "@types/lodash": { - "version": "4.14.121", - "resolved": "https://verdaccio.lossless.one/@types%2flodash/-/lodash-4.14.121.tgz", - "integrity": "sha512-ORj7IBWj13iYufXt/VXrCNMbUuCTJfhzme5kx9U/UtcIPdJYuvPDUAlHlbNhz/8lKCLy9XGIZnGrqXOtQbPGoQ==" - }, "@types/luxon": { - "version": "1.10.2", - "resolved": "https://verdaccio.lossless.one/@types%2fluxon/-/luxon-1.10.2.tgz", - "integrity": "sha512-LEqrz+1tzeWwyzmC9hJ6negMjGGc1ABaAwVPwkeN1a2/Oqql/SowlcENFd5e2EkWYJd7FhMojFBTuyWOPUx8sg==", + "version": "1.15.2", + "resolved": "https://verdaccio.lossless.one/@types%2fluxon/-/luxon-1.15.2.tgz", + "integrity": "sha512-zHPoyVrLvNaiMRYdhmh88Rn489ZgAgbc6iLxR5Yi0VCNfeNYHcszbhJV2vDHLNrVGy35BPtWBRn4OP2F9BBvFw==", "dev": true }, "@types/minimatch": { @@ -296,14 +366,14 @@ "dev": true }, "@types/node": { - "version": "11.9.4", - "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-11.9.4.tgz", - "integrity": "sha512-Zl8dGvAcEmadgs1tmSPcvwzO1YRsz38bVJQvH1RvRqSR9/5n61Q1ktcDL0ht3FXWR+ZpVmXVwN1LuH4Ax23NsA==" + "version": "12.7.4", + "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.7.4.tgz", + "integrity": "sha512-W0+n1Y+gK/8G2P/piTkBBN38Qc5Q1ZSO6B5H3QmPCUewaiXOo2GCAWZ4ElZCcNhjJuBSUSLGFUJnmlCn5+nxOQ==" }, "@types/vinyl": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.2.tgz", - "integrity": "sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==", + "version": "2.0.3", + "resolved": "https://verdaccio.lossless.one/@types%2fvinyl/-/vinyl-2.0.3.tgz", + "integrity": "sha512-hrT6xg16CWSmndZqOTJ6BGIn2abKyTw0B58bI+7ioUoj3Sma6u8ftZ1DTI2yCaJamOVGLOnQWiPH3a74+EaqTA==", "requires": { "@types/node": "*" } @@ -315,9 +385,9 @@ "dev": true }, "@types/yargs": { - "version": "12.0.8", - "resolved": "https://verdaccio.lossless.one/@types%2fyargs/-/yargs-12.0.8.tgz", - "integrity": "sha512-OMSKUmZ09gbzITzx4nxnJqhprWC7JqsmlrEsVtb+cv3GXHNpv0kktqxhboKX52FnMggkQvT5ezt8pxTWyKpJHA==", + "version": "12.0.12", + "resolved": "https://verdaccio.lossless.one/@types%2fyargs/-/yargs-12.0.12.tgz", + "integrity": "sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw==", "dev": true }, "ansi-256-colors": { @@ -332,6 +402,21 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://verdaccio.lossless.one/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "arg": { + "version": "4.1.1", + "resolved": "https://verdaccio.lossless.one/arg/-/arg-4.1.1.tgz", + "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -340,26 +425,12 @@ "sprintf-js": "~1.0.2" } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://verdaccio.lossless.one/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "assertion-error": { "version": "1.1.0", "resolved": "https://verdaccio.lossless.one/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "async": { - "version": "2.6.2", - "resolved": "https://verdaccio.lossless.one/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "requires": { - "lodash": "^4.17.11" - } - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -370,15 +441,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "bindings": { - "version": "1.4.0", - "resolved": "https://verdaccio.lossless.one/bindings/-/bindings-1.4.0.tgz", - "integrity": "sha512-7znEVX22Djn+nYjxCWKDne0RRloa9XfYa84yk3s+HkE3LpDYZmhArYr9O9huBoHY3/oXispx5LorIX7Sl2CgSQ==", - "dev": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -395,9 +457,9 @@ "dev": true }, "camelcase": { - "version": "5.0.0", - "resolved": "https://verdaccio.lossless.one/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "version": "5.3.1", + "resolved": "https://verdaccio.lossless.one/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "chai": { @@ -429,12 +491,38 @@ "integrity": "sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw==", "dev": true }, + "chalk": { + "version": "2.4.2", + "resolved": "https://verdaccio.lossless.one/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, "check-error": { "version": "1.0.2", "resolved": "https://verdaccio.lossless.one/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.2.0", + "resolved": "https://verdaccio.lossless.one/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "dev": true + }, "cliui": { "version": "4.1.0", "resolved": "https://verdaccio.lossless.one/cliui/-/cliui-4.1.0.tgz", @@ -462,9 +550,9 @@ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" }, "cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "version": "1.1.3", + "resolved": "https://verdaccio.lossless.one/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "requires": { "inherits": "^2.0.1", "process-nextick-args": "^2.0.0", @@ -477,18 +565,33 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://verdaccio.lossless.one/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://verdaccio.lossless.one/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://verdaccio.lossless.one/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "version": "1.0.8", + "resolved": "https://verdaccio.lossless.one/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.17.1", - "resolved": "https://verdaccio.lossless.one/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "version": "2.20.0", + "resolved": "https://verdaccio.lossless.one/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", "optional": true }, "concat-map": { @@ -501,6 +604,15 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "cron": { + "version": "1.7.2", + "resolved": "https://verdaccio.lossless.one/cron/-/cron-1.7.2.tgz", + "integrity": "sha512-+SaJ2OfeRvfQqwXQ2kgr0Y5pzBR/lijf5OpnnaruwWnmI799JfWr2jN2ItOV9s3A/+TFOt6mxvKzQq5F0Jp6VQ==", + "dev": true, + "requires": { + "moment-timezone": "^0.5.x" + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://verdaccio.lossless.one/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -529,15 +641,32 @@ "type-detect": "^4.0.0" } }, + "defaults": { + "version": "1.0.3", + "resolved": "https://verdaccio.lossless.one/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://verdaccio.lossless.one/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "diff": { - "version": "3.5.0", - "resolved": "https://verdaccio.lossless.one/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.1", + "resolved": "https://verdaccio.lossless.one/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", "dev": true }, "end-of-stream": { @@ -549,12 +678,6 @@ "once": "^1.4.0" } }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://verdaccio.lossless.one/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -582,20 +705,14 @@ } }, "figures": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "version": "3.0.0", + "resolved": "https://verdaccio.lossless.one/figures/-/figures-3.0.0.tgz", + "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://verdaccio.lossless.one/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true - }, "find-up": { "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/find-up/-/find-up-3.0.0.tgz", @@ -614,9 +731,9 @@ } }, "form-data": { - "version": "2.3.3", - "resolved": "https://verdaccio.lossless.one/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "version": "2.5.1", + "resolved": "https://verdaccio.lossless.one/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -660,9 +777,9 @@ } }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://verdaccio.lossless.one/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -673,21 +790,27 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://verdaccio.lossless.one/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "version": "4.2.2", + "resolved": "https://verdaccio.lossless.one/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" }, "handlebars": { - "version": "4.1.0", - "resolved": "https://verdaccio.lossless.one/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", + "version": "4.2.0", + "resolved": "https://verdaccio.lossless.one/handlebars/-/handlebars-4.2.0.tgz", + "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==", "requires": { - "async": "^2.5.0", + "neo-async": "^2.6.0", "optimist": "^0.6.1", "source-map": "^0.6.1", "uglify-js": "^3.1.4" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://verdaccio.lossless.one/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -698,9 +821,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://verdaccio.lossless.one/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "invert-kv": { "version": "2.0.0", @@ -743,9 +866,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.1", - "resolved": "https://verdaccio.lossless.one/js-yaml/-/js-yaml-3.12.1.tgz", - "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", + "version": "3.13.1", + "resolved": "https://verdaccio.lossless.one/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -768,33 +891,6 @@ "invert-kv": "^2.0.0" } }, - "leakage": { - "version": "0.4.0", - "resolved": "https://verdaccio.lossless.one/leakage/-/leakage-0.4.0.tgz", - "integrity": "sha512-x7gYK5n5dPkHDZWJ2Kh8Ag1hZNzUh+HtXn8Bv1aDdN6o6ONPCJ8sOfFq+kxcULJFp3lXaCjXb3iXOLmQRbBLwA==", - "dev": true, - "requires": { - "@airbnb/node-memwatch": "^1.0.2", - "es6-error": "^4.0.2", - "left-pad": "^1.1.3", - "minimist": "^1.2.0", - "pretty-bytes": "^4.0.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://verdaccio.lossless.one/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://verdaccio.lossless.one/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, "locate-path": { "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/locate-path/-/locate-path-3.0.0.tgz", @@ -810,10 +906,24 @@ "resolved": "https://verdaccio.lossless.one/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://verdaccio.lossless.one/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://verdaccio.lossless.one/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, "luxon": { - "version": "1.10.0", - "resolved": "https://verdaccio.lossless.one/luxon/-/luxon-1.10.0.tgz", - "integrity": "sha512-ry3GKh//v3isD6oJN5pFWmdh+3GiScwv9q8VgG6fZ2j1guGOol2vVVdo4GBAWCrcq5RHOqSeipqHBnOu/u024Q==", + "version": "1.17.2", + "resolved": "https://verdaccio.lossless.one/luxon/-/luxon-1.17.2.tgz", + "integrity": "sha512-qELKtIj3HD41N+MvgoxArk8DZGUb4Gpiijs91oi+ZmKJzRlxY6CoyTwNoUwnogCVs4p8HuxVJDik9JbnYgrCng==", "dev": true }, "make-error": { @@ -832,33 +942,33 @@ } }, "mem": { - "version": "4.0.0", - "resolved": "https://verdaccio.lossless.one/mem/-/mem-4.0.0.tgz", - "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "version": "4.3.0", + "resolved": "https://verdaccio.lossless.one/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "requires": { "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^1.1.0" + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" } }, "mime-db": { - "version": "1.37.0", - "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + "version": "1.40.0", + "resolved": "https://verdaccio.lossless.one/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" }, "mime-types": { - "version": "2.1.21", - "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "version": "2.1.24", + "resolved": "https://verdaccio.lossless.one/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.40.0" } }, "mimic-fn": { - "version": "1.2.0", - "resolved": "https://verdaccio.lossless.one/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { @@ -874,28 +984,25 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://verdaccio.lossless.one/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "moment": { + "version": "2.24.0", + "resolved": "https://verdaccio.lossless.one/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, + "moment-timezone": { + "version": "0.5.26", + "resolved": "https://verdaccio.lossless.one/moment-timezone/-/moment-timezone-0.5.26.tgz", + "integrity": "sha512-sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==", "dev": true, "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "moment": ">= 2.9.0" } }, - "nan": { - "version": "2.12.1", - "resolved": "https://verdaccio.lossless.one/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true + "neo-async": { + "version": "2.6.1", + "resolved": "https://verdaccio.lossless.one/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" }, "nice-try": { "version": "1.0.5", @@ -926,6 +1033,23 @@ "wrappy": "1" } }, + "onetime": { + "version": "2.0.1", + "resolved": "https://verdaccio.lossless.one/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://verdaccio.lossless.one/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + } + } + }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", @@ -935,6 +1059,37 @@ "wordwrap": "~0.0.2" } }, + "ora": { + "version": "3.4.0", + "resolved": "https://verdaccio.lossless.one/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://verdaccio.lossless.one/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://verdaccio.lossless.one/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "os-locale": { "version": "3.1.0", "resolved": "https://verdaccio.lossless.one/os-locale/-/os-locale-3.1.0.tgz", @@ -959,15 +1114,15 @@ "dev": true }, "p-is-promise": { - "version": "1.1.0", - "resolved": "https://verdaccio.lossless.one/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "version": "2.1.0", + "resolved": "https://verdaccio.lossless.one/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", "dev": true }, "p-limit": { - "version": "2.1.0", - "resolved": "https://verdaccio.lossless.one/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "version": "2.2.1", + "resolved": "https://verdaccio.lossless.one/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -983,9 +1138,9 @@ } }, "p-try": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "version": "2.2.0", + "resolved": "https://verdaccio.lossless.one/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { @@ -1016,16 +1171,10 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, - "pretty-bytes": { - "version": "4.0.2", - "resolved": "https://verdaccio.lossless.one/pretty-bytes/-/pretty-bytes-4.0.2.tgz", - "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", - "dev": true - }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "resolved": "https://verdaccio.lossless.one/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "pump": { "version": "3.0.0", @@ -1073,10 +1222,20 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://verdaccio.lossless.one/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, "rxjs": { - "version": "6.3.3", - "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "version": "6.5.3", + "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -1088,9 +1247,9 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "semver": { - "version": "5.6.0", - "resolved": "https://verdaccio.lossless.one/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "5.7.1", + "resolved": "https://verdaccio.lossless.one/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "set-blocking": { @@ -1140,9 +1299,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.5.10", - "resolved": "https://verdaccio.lossless.one/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "version": "0.5.13", + "resolved": "https://verdaccio.lossless.one/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -1212,40 +1371,38 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://verdaccio.lossless.one/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "symbol-tree": { - "version": "3.2.2", - "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "version": "3.2.4", + "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "ts-node": { - "version": "7.0.1", - "resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-7.0.1.tgz", - "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "version": "8.3.0", + "resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.3.0.tgz", + "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", "dev": true, "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", + "arg": "^4.1.0", + "diff": "^4.0.1", "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", "source-map-support": "^0.5.6", - "yn": "^2.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://verdaccio.lossless.one/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "yn": "^3.0.0" } }, "tslib": { - "version": "1.9.3", - "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.10.0", + "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "type-detect": { @@ -1255,18 +1412,18 @@ "dev": true }, "typescript": { - "version": "3.2.4", - "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-3.2.4.tgz", - "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "version": "3.6.2", + "resolved": "https://verdaccio.lossless.one/typescript/-/typescript-3.6.2.tgz", + "integrity": "sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==", "dev": true }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://verdaccio.lossless.one/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.6.0", + "resolved": "https://verdaccio.lossless.one/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", "optional": true, "requires": { - "commander": "~2.17.1", + "commander": "~2.20.0", "source-map": "~0.6.1" } }, @@ -1305,6 +1462,15 @@ "vinyl": "^2.0.1" } }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://verdaccio.lossless.one/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, "which": { "version": "1.3.1", "resolved": "https://verdaccio.lossless.one/which/-/which-1.3.1.tgz", @@ -1414,9 +1580,9 @@ } }, "yn": { - "version": "2.0.0", - "resolved": "https://verdaccio.lossless.one/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "version": "3.1.1", + "resolved": "https://verdaccio.lossless.one/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true } } diff --git a/package.json b/package.json index 86eb84e..c5a4044 100644 --- a/package.json +++ b/package.json @@ -23,17 +23,17 @@ }, "homepage": "https://gitlab.com/pkunz/smarthbs#README", "dependencies": { - "@pushrocks/smartfile": "^6.0.12", - "@pushrocks/smartpromise": "^2.0.5", - "@types/lodash": "^4.14.121", - "handlebars": "^4.1.0", - "lodash": "^4.17.11" + "@pushrocks/smartfile": "^7.0.4", + "@pushrocks/smartpromise": "^3.0.2", + "handlebars": "^4.2.0", + "lodash": "^4.17.11", + "lodash.uniq": "^4.5.0" }, "devDependencies": { - "@gitzone/tsbuild": "^2.1.8", - "@gitzone/tsrun": "^1.1.17", - "@gitzone/tstest": "^1.0.18", - "@pushrocks/tapbundle": "^3.0.7", - "@types/node": "^11.9.4" + "@gitzone/tsbuild": "^2.1.17", + "@gitzone/tsrun": "^1.2.8", + "@gitzone/tstest": "^1.0.24", + "@pushrocks/tapbundle": "^3.0.13", + "@types/node": "^12.7.4" } } diff --git a/ts/smarthbs.plugins.ts b/ts/smarthbs.plugins.ts index 45c8237..3e2b4f5 100644 --- a/ts/smarthbs.plugins.ts +++ b/ts/smarthbs.plugins.ts @@ -1,7 +1,7 @@ import * as handlebars from 'handlebars'; -import * as lodash from 'lodash'; +import lodashUniq from 'lodash.uniq'; import * as path from 'path'; import * as smartfile from '@pushrocks/smartfile'; import * as smartpromise from '@pushrocks/smartpromise'; -export { handlebars, lodash, path, smartfile, smartpromise }; +export { handlebars, lodashUniq, path, smartfile, smartpromise }; diff --git a/ts/smarthbs.variables.ts b/ts/smarthbs.variables.ts index 9f73543..7cd8c72 100644 --- a/ts/smarthbs.variables.ts +++ b/ts/smarthbs.variables.ts @@ -18,11 +18,11 @@ export let findVarsInHbsString = async (hbsStringArg: string) => { let tripleCurlyMatches = hbsString.match(tripleCurlyRegex); if (tripleCurlyMatches) { hbsString = hbsString.replace(tripleCurlyRegex, '[[[replaced]]]'); - varNameArray = plugins.lodash.concat(varNameArray, tripleCurlyMatches); + varNameArray = varNameArray.concat(tripleCurlyMatches); } let doubleCurlyMatches = hbsString.match(doubleCurlyRegex); if (doubleCurlyMatches) { - varNameArray = plugins.lodash.concat(varNameArray, doubleCurlyMatches); + varNameArray = varNameArray.concat(doubleCurlyMatches); } // make sure we are clean from curly brackets @@ -31,7 +31,7 @@ export let findVarsInHbsString = async (hbsStringArg: string) => { }); // make sure are uniq - varNameArray = plugins.lodash.uniq(varNameArray); + varNameArray = plugins.lodashUniq(varNameArray); return varNameArray; };