diff --git a/packages/hapi-router/.gitignore b/packages/hapi-router/.gitignore deleted file mode 100755 index 08b2553..0000000 --- a/packages/hapi-router/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/packages/hapi-router/README.MD b/packages/hapi-router/README.MD deleted file mode 100755 index ad891d6..0000000 --- a/packages/hapi-router/README.MD +++ /dev/null @@ -1,4 +0,0 @@ -# @noderun/hapi-router - -> 发布:npm publish --access public -> 删除:npm unpublish --force \ No newline at end of file diff --git a/packages/hapi-router/dist/hapi-router.cjs.js b/packages/hapi-router/dist/hapi-router.cjs.js deleted file mode 100644 index cf7a78c..0000000 --- a/packages/hapi-router/dist/hapi-router.cjs.js +++ /dev/null @@ -1,477 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var Joi = require('joi'); - -function _interopNamespace(e) { - if (e && e.__esModule) return e; - var n = Object.create(null); - if (e) { - Object.keys(e).forEach(function (k) { - if (k !== 'default') { - var d = Object.getOwnPropertyDescriptor(e, k); - Object.defineProperty(n, k, d.get ? d : { - enumerable: true, - get: function () { - return e[k]; - } - }); - } - }); - } - n['default'] = e; - return Object.freeze(n); -} - -var Joi__namespace = /*#__PURE__*/_interopNamespace(Joi); - -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -var path$1 = require("path"); -var fs$1 = require("fs"); -function removeIndex(ss) { - var remove = function (str) { - if (str.endsWith("/index")) { - return str.slice(0, -6); - } - if (str.endsWith("index")) { - return str.slice(0, -5); - } - return str ? str : "/"; - }; - var r = true; - var rr = ss; - while (r) { - if (rr.endsWith("/index")) { - rr = remove(rr); - } - else { - r = false; - } - } - return rr ? rr : "/"; -} -function isIndexEnd(str) { - return str.length == 1 && str.endsWith("/"); -} -function walkDir(filePath, exclude) { - if (exclude === void 0) { exclude = ["node_modules", "^_", ".git", ".idea", ".gitignore", "client", "\.txt$", "\.test\.js$", "\.test\.ts$"]; } - var files = []; - function Data(opts) { - this.relativeDir = opts.relativeDir; - this.relativeFile = opts.relativeFile; - this.filename = opts.filename; - this.file = opts.file; - this.absoluteFile = opts.absoluteFile; - this.relativeFileNoExt = opts.relativeFileNoExt; - this.absoluteDir = opts.absoluteDir; - } - function readDir(filePath, dirname) { - if (dirname === void 0) { dirname = "."; } - var res = fs$1.readdirSync(filePath); - res.forEach(function (filename) { - var filepath = path$1.resolve(filePath, filename); - var stat = fs$1.statSync(filepath); - var name = filepath.split(path$1.sep).slice(-1)[0]; - if (typeof exclude === "string" && new RegExp(exclude).test(name)) { - return; - } - if (Array.isArray(exclude)) { - for (var i = 0; i < exclude.length; i++) { - var excludeItem = exclude[i]; - if (new RegExp(excludeItem).test(name)) { - return; - } - } - } - if (!stat.isFile()) { - readDir(filepath, dirname + path$1.sep + name); - } - else { - var data = new Data({ - relativeDir: dirname, - relativeFile: dirname + path$1.sep + path$1.parse(filepath).base, - relativeFileNoExt: dirname + path$1.sep + path$1.parse(filepath).name, - file: path$1.parse(filepath).base, - filename: path$1.parse(filepath).name, - absoluteFile: filepath, - absoluteDir: path$1.parse(filepath).dir, - }); - files.push(data); - } - }); - } - readDir(filePath); - return files; -} - -function method(opts) { - return function (target, propertyKey, descriptor) { - target[propertyKey].$method = opts; - }; -} -function route(route) { - return function (target, propertyKey, descriptor) { - target[propertyKey].$route = route; - }; -} -function config(options) { - return function (target, propertyKey, descriptor) { - target[propertyKey].$options = options; - }; -} -function auth(isAuth) { - if (isAuth === void 0) { isAuth = true; } - return function (target, propertyKey, descriptor) { - target[propertyKey].$auth = isAuth; - }; -} -function validate(validate) { - return function (target, propertyKey, descriptor) { - target[propertyKey].$validate = validate; - }; -} -function swagger(desc, notes, tags) { - return function (target, propertyKey, descriptor) { - target[propertyKey].$swagger = [desc, notes, tags]; - }; -} - -var path = require("path"); -var fs = require("fs"); -var routePlugin = (function () { - function routePlugin() { - this.name = "routePlugin"; - this.version = "0.0.1"; - } - routePlugin.prototype.register = function (server, opts) { - var sourceDir = opts.sourceDir; - var type = opts.type || "jwt"; - var auth = opts.auth || []; - var array = []; - for (var i = 0; i < sourceDir.length; i++) { - var dir = sourceDir[i]; - console.log(dir); - array.push(dir.dir + "对应路径:"); - array = array.concat(this.registerRoute(server, dir.dir, dir.prefix || "", auth, type)); - } - fs.writeFileSync(path.resolve(process.cwd(), "route.txt"), array.join("\n"), { - encoding: "utf-8", - }); - }; - routePlugin.prototype.registerRoute = function (server, sourceDir, prefix, auth, type) { - var files = walkDir(sourceDir); - var routes = []; - files.forEach(function (file) { - var e_1, _a; - var filename = file.relativeFileNoExt; - var array = filename.split(path.sep).slice(1); - var fileNoExt = removeIndex("/" + array.join("/")); - var moduleName = path.resolve(sourceDir, filename); - var obj = require(moduleName); - if (obj.default) { - var func = new (obj.default || obj)(); - var prototype = Object.getPrototypeOf(func); - var keys = Reflect.ownKeys(prototype); - var _loop_1 = function (key) { - if (key !== "constructor") { - var ff_1 = func[key]; - var handler = undefined; - var method = ff_1.$method || "GET"; - var route_1 = ""; - if (ff_1.$route) { - if (isIndexEnd(fileNoExt)) { - route_1 = ff_1.$route; - } - else { - route_1 = fileNoExt + ff_1.$route; - } - } - else { - if (isIndexEnd(fileNoExt)) { - route_1 = fileNoExt + key.toString(); - } - else { - route_1 = fileNoExt + "/" + key.toString(); - } - } - route_1 = removeIndex(route_1); - route_1 = prefix ? route_1[0] + prefix + "/" + route_1.slice(1) : route_1; - var options = ff_1.$options ? ff_1.$options : {}; - if (!options.auth) { - if (ff_1.$auth == undefined) { - if (auth && - auth.length && - auth.filter(function (v) { return route_1.startsWith(v); }).length) { - options.auth = type; - } - else { - options.auth = false; - } - } - else if (ff_1.$auth) { - options.auth = - typeof ff_1.$auth === "boolean" - ? type - : { - strategy: type, - mode: ff_1.$auth, - }; - } - else { - options.auth = false; - } - } - if (!options.validate) { - var validateObj = ff_1.$validate || {}; - if (options.auth && type === "jwt") { - if (validateObj.headers) { - validateObj.headers = validateObj.headers.keys({ - Authorization: Joi__namespace.string(), - }); - } - else { - validateObj.headers = Joi__namespace.object({ - headers: Joi__namespace.object({ - Authorization: Joi__namespace.string(), - }).unknown(), - }); - } - } - if (validateObj && !!Object.keys(validateObj).length) { - var failReason_1 = validateObj.failReason; - delete validateObj.failReason; - if (validateObj.failAction === "log") { - if (!options.log) - options.log = {}; - options.log.collect = true; - var errto_1 = validateObj.$errto; - handler = function () { - var argus = []; - for (var _i = 0; _i < arguments.length; _i++) { - argus[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var request, h; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - request = argus[0]; - h = argus[1]; - if (request.logs && !!request.logs.length && errto_1) { - request.yar.flash('error', failReason_1); - return [2, h.redirect(errto_1)]; - } - return [4, ff_1.call.apply(ff_1, __spread([this], argus))]; - case 1: return [2, _a.sent()]; - } - }); - }); - }; - } - if (validateObj.failAction === "function") { - var errto_2 = validateObj.$errto; - validateObj.failAction = function (request, h, err) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - if (err.details) { - request.$joi_error = err.details.map(function (v) { return v.message; }); - } - return [2, h.continue]; - }); - }); - }; - handler = function () { - var argus = []; - for (var _i = 0; _i < arguments.length; _i++) { - argus[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var request, h; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - request = argus[0]; - h = argus[1]; - if (request.$joi_error) { - loggerSite.debug('传输参数错误: ', request.$joi_error); - request.yar.flash('error', failReason_1); - delete request.$joi_error; - return [2, h.redirect(errto_2)]; - } - return [4, ff_1.call.apply(ff_1, __spread([this], argus))]; - case 1: return [2, _a.sent()]; - } - }); - }); - }; - } - options.validate = validateObj; - } - } - if (ff_1.$swagger) { - options.description = ff_1.$swagger[0]; - options.notes = ff_1.$swagger[1]; - options.tags = ff_1.$swagger[2]; - } - var str = route_1; - if ((typeof options.auth === "string" && options.auth) || - (typeof options.auth === "object" && - options.auth.mode === "required")) { - str = - " 需要权限 : " + " " + full(method) + " " + str; - } - else if (typeof options.auth === "object" && - options.auth.mode === "optional") { - str = - " 不需权限(提供即需验证): " + " " + full(method) + " " + str; - } - else if (typeof options.auth === "object" && - options.auth.mode === "try") { - str = - " 不需权限(提供无需验证): " + " " + full(method) + " " + str; - } - else { - str = - " 不需权限 : " + " " + full(method) + " " + str; - } - routes.push(str); - if (options.validate && options.validate.$errto) { - delete options.validate.$errto; - } - if (!handler) { - handler = ff_1; - } - server.route({ - method: method, - path: route_1, - handler: handler, - options: options, - }); - } - }; - try { - for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) { - var key = keys_1_1.value; - _loop_1(key); - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1); - } - finally { if (e_1) throw e_1.error; } - } - } - }); - return routes; - }; - return routePlugin; -}()); -function full(str, length) { - if (length === void 0) { length = 10; } - var len = str.length; - var need = length - len; - if (need <= 0) - return str; - return str + __spread(Array(need)).map(function (v, i) { return " "; }).join(""); -} -var plugin = new routePlugin(); - -exports.auth = auth; -exports.config = config; -exports.method = method; -exports.plugin = plugin; -exports.route = route; -exports.swagger = swagger; -exports.validate = validate; -//# sourceMappingURL=hapi-router.cjs.js.map diff --git a/packages/hapi-router/dist/hapi-router.cjs.js.map b/packages/hapi-router/dist/hapi-router.cjs.js.map deleted file mode 100644 index 1f93bdf..0000000 --- a/packages/hapi-router/dist/hapi-router.cjs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"hapi-router.cjs.js","sources":["../src/util/index.ts","../src/util/decorators.ts","../src/index.ts"],"sourcesContent":["// @ts-nocheck\r\n\r\nconst path = require(\"path\")\r\nconst fs = require(\"fs\")\r\n\r\nexport function removeIndex(ss:any) {\r\n const remove = (str:any) => {\r\n if (str.endsWith(\"/index\")) {\r\n return str.slice(0, -6);\r\n }\r\n if (str.endsWith(\"index\")) {\r\n return str.slice(0, -5);\r\n }\r\n return str ? str : \"/\";\r\n };\r\n let r = true;\r\n let rr = ss;\r\n while (r) {\r\n if (rr.endsWith(\"/index\")) {\r\n rr = remove(rr);\r\n } else {\r\n r = false;\r\n }\r\n }\r\n return rr ? rr : \"/\";\r\n}\r\n\r\nexport function isIndexEnd(str:any) {\r\n return str.length == 1 && str.endsWith(\"/\");\r\n}\r\n\r\n\r\nexport function walkDir(\r\n filePath:any,\r\n exclude = [\"node_modules\", \"^_\", \".git\", \".idea\", \".gitignore\", \"client\",\"\\.txt$\",\"\\.test\\.js$\",\"\\.test\\.ts$\"]\r\n) {\r\n let files:any[] = [];\r\n function Data(opts:any) {\r\n this.relativeDir = opts.relativeDir;\r\n this.relativeFile = opts.relativeFile;\r\n this.filename = opts.filename;\r\n this.file = opts.file;\r\n this.absoluteFile = opts.absoluteFile;\r\n this.relativeFileNoExt = opts.relativeFileNoExt;\r\n this.absoluteDir = opts.absoluteDir;\r\n }\r\n function readDir(filePath, dirname = \".\") {\r\n let res = fs.readdirSync(filePath);\r\n res.forEach((filename) => {\r\n const filepath = path.resolve(filePath, filename);\r\n const stat = fs.statSync(filepath);\r\n const name = filepath.split(path.sep).slice(-1)[0];\r\n if (typeof exclude === \"string\" && new RegExp(exclude).test(name)) {\r\n return;\r\n }\r\n if (Array.isArray(exclude)) {\r\n for (let i = 0; i < exclude.length; i++) {\r\n const excludeItem = exclude[i];\r\n if (new RegExp(excludeItem).test(name)) {\r\n return;\r\n }\r\n }\r\n }\r\n if (!stat.isFile()) {\r\n readDir(filepath, dirname + path.sep + name);\r\n } else {\r\n const data = new Data({\r\n relativeDir: dirname,\r\n relativeFile: dirname + path.sep + path.parse(filepath).base,\r\n relativeFileNoExt: dirname + path.sep + path.parse(filepath).name,\r\n file: path.parse(filepath).base,\r\n filename: path.parse(filepath).name,\r\n absoluteFile: filepath,\r\n absoluteDir: path.parse(filepath).dir,\r\n });\r\n files.push(data);\r\n }\r\n });\r\n }\r\n readDir(filePath);\r\n return files;\r\n}\r\n","// @ts-nocheck\r\n/**\r\n * 方法\r\n * @param opts 参数\r\n*/\r\ntype TMethod = \"GET\" | \"POST\" | \"PUT\" | \"DELETE\"\r\nexport function method(opts?:TMethod|Array) {\r\n return function (target, propertyKey: string, descriptor: PropertyDescriptor) {\r\n target[propertyKey].$method = opts\r\n }\r\n}\r\nexport function route(route?:string) {\r\n return function (target, propertyKey: string, descriptor: PropertyDescriptor) {\r\n target[propertyKey].$route = route\r\n }\r\n}\r\n\r\nexport function config(options:Object) {\r\n return function (target, propertyKey: string, descriptor: PropertyDescriptor) {\r\n target[propertyKey].$options = options\r\n }\r\n}\r\n\r\nexport function auth(isAuth:boolean | \"try\" | \"required\" | \"optional\" = true) {\r\n return function (target, propertyKey: string, descriptor: PropertyDescriptor) {\r\n target[propertyKey].$auth = isAuth\r\n }\r\n}\r\n\r\nexport function validate(validate:Object) {\r\n return function (target, propertyKey: string, descriptor: PropertyDescriptor) {\r\n target[propertyKey].$validate = validate\r\n }\r\n}\r\n\r\nexport function swagger(desc,notes,tags) {\r\n return function (target, propertyKey: string, descriptor: PropertyDescriptor) {\r\n target[propertyKey].$swagger = [desc,notes,tags]\r\n }\r\n}\r\n","// @ts-nocheck\r\n\r\nimport { walkDir, removeIndex, isIndexEnd } from \"./util\";\r\nimport * as Joi from \"joi\";\r\nconst path = require(\"path\");\r\nconst fs = require(\"fs\");\r\n\r\nclass routePlugin {\r\n public name: string = \"routePlugin\";\r\n public version: string = \"0.0.1\";\r\n public register(server: any, opts: any) {\r\n const sourceDir = opts.sourceDir;\r\n const type = opts.type || \"jwt\";\r\n const auth = opts.auth || [];\r\n let array = [];\r\n for (let i = 0; i < sourceDir.length; i++) {\r\n const dir = sourceDir[i];\r\n console.log(dir);\r\n array.push(dir.dir + \"对应路径:\");\r\n array = array.concat(\r\n this.registerRoute(server, dir.dir, dir.prefix || \"\", auth, type)\r\n );\r\n }\r\n fs.writeFileSync(\r\n path.resolve(process.cwd(), \"route.txt\"),\r\n array.join(\"\\n\"),\r\n {\r\n encoding: \"utf-8\",\r\n }\r\n );\r\n }\r\n registerRoute(server, sourceDir, prefix, auth, type) {\r\n const files = walkDir(sourceDir);\r\n const routes = [];\r\n files.forEach((file) => {\r\n let filename = file.relativeFileNoExt;\r\n let array = filename.split(path.sep).slice(1);\r\n let fileNoExt = removeIndex(\"/\" + array.join(\"/\"));\r\n const moduleName = path.resolve(sourceDir, filename);\r\n const obj = require(moduleName);\r\n if (obj.default) {\r\n const func = new (obj.default || obj)();\r\n const prototype = Object.getPrototypeOf(func);\r\n const keys = Reflect.ownKeys(prototype);\r\n for (const key of keys) {\r\n if (key !== \"constructor\") {\r\n let ff = func[key];\r\n let handler:()=>void = undefined\r\n // 默认方法\r\n const method = ff.$method || \"GET\";\r\n // 路由收集规则\r\n let route = \"\";\r\n if (ff.$route) {\r\n if (isIndexEnd(fileNoExt)) {\r\n route = ff.$route;\r\n } else {\r\n route = fileNoExt + ff.$route;\r\n }\r\n } else {\r\n if (isIndexEnd(fileNoExt)) {\r\n route = fileNoExt + key.toString();\r\n } else {\r\n route = fileNoExt + \"/\" + key.toString();\r\n }\r\n }\r\n route = removeIndex(route);\r\n route = prefix ? route[0] + prefix + \"/\" + route.slice(1) : route;\r\n // 配置规则\r\n const options = ff.$options ? ff.$options : {};\r\n if (!options.auth) {\r\n if (ff.$auth == undefined) {\r\n if (\r\n auth &&\r\n auth.length &&\r\n auth.filter((v) => route.startsWith(v)).length\r\n ) {\r\n options.auth = type;\r\n } else {\r\n options.auth = false;\r\n }\r\n } else if (ff.$auth) {\r\n options.auth =\r\n typeof ff.$auth === \"boolean\"\r\n ? type\r\n : {\r\n strategy: type,\r\n mode: ff.$auth,\r\n };\r\n } else {\r\n options.auth = false;\r\n }\r\n }\r\n if (!options.validate) {\r\n let validateObj = ff.$validate || {};\r\n if (options.auth && type === \"jwt\") {\r\n if (validateObj.headers) {\r\n validateObj.headers = validateObj.headers.keys({\r\n Authorization: Joi.string(),\r\n });\r\n } else {\r\n validateObj.headers = Joi.object({\r\n headers: Joi.object({\r\n Authorization: Joi.string(),\r\n }).unknown(), // 注意加上这个\r\n });\r\n }\r\n }\r\n if (validateObj&&!!Object.keys(validateObj).length) {\r\n const failReason = validateObj.failReason\r\n delete validateObj.failReason\r\n if(validateObj.failAction === \"log\"){\r\n if(!options.log) options.log = {}\r\n options.log.collect = true\r\n let errto = validateObj.$errto\r\n handler = async function (...argus){\r\n const request = argus[0]\r\n const h = argus[1]\r\n if(request.logs&&!!request.logs.length && errto){\r\n // request.yar.flash('error', request.logs.map((v: any)=>v.error.message));\r\n request.yar.flash('error', failReason);\r\n return h.redirect(errto);\r\n }\r\n return await ff.call(this, ...argus)\r\n }\r\n }\r\n if(validateObj.failAction === \"function\"){\r\n let errto = validateObj.$errto\r\n validateObj.failAction = async function(request, h, err){\r\n if(err.details){\r\n request.$joi_error = err.details.map(v=>v.message)\r\n }\r\n return h.continue;\r\n }\r\n handler = async function (...argus){\r\n const request = argus[0]\r\n const h = argus[1]\r\n if(request.$joi_error){\r\n loggerSite.debug('传输参数错误: ', request.$joi_error)\r\n request.yar.flash('error', failReason);\r\n delete request.$joi_error\r\n return h.redirect(errto);\r\n }\r\n return await ff.call(this, ...argus)\r\n }\r\n }\r\n options.validate = validateObj;\r\n }\r\n }\r\n // && route.startsWith(\"/api\")\r\n if (ff.$swagger) {\r\n options.description = ff.$swagger[0];\r\n options.notes = ff.$swagger[1];\r\n options.tags = ff.$swagger[2];\r\n }\r\n let str = route;\r\n if (\r\n (typeof options.auth === \"string\" && options.auth) ||\r\n (typeof options.auth === \"object\" &&\r\n options.auth.mode === \"required\")\r\n ) {\r\n str =\r\n \" 需要权限 : \" + \" \" + full(method) + \" \" + str;\r\n } else if (\r\n typeof options.auth === \"object\" &&\r\n options.auth.mode === \"optional\"\r\n ) {\r\n str =\r\n \" 不需权限(提供即需验证): \" + \" \" + full(method) + \" \" + str;\r\n } else if (\r\n typeof options.auth === \"object\" &&\r\n options.auth.mode === \"try\"\r\n ) {\r\n str =\r\n \" 不需权限(提供无需验证): \" + \" \" + full(method) + \" \" + str;\r\n } else {\r\n str =\r\n \" 不需权限 : \" + \" \" + full(method) + \" \" + str;\r\n }\r\n routes.push(str);\r\n\r\n if(options.validate && options.validate.$errto){\r\n delete options.validate.$errto\r\n }\r\n if(!handler){\r\n handler = ff\r\n }\r\n server.route({\r\n method: method,\r\n path: route,\r\n handler: handler,\r\n options: options,\r\n });\r\n }\r\n }\r\n }\r\n });\r\n return routes;\r\n }\r\n}\r\n\r\nfunction full(str: string, length = 10) {\r\n let len = str.length;\r\n let need = length - len;\r\n if (need <= 0) return str;\r\n return str + [...Array(need)].map((v, i) => \" \").join(\"\");\r\n}\r\n\r\nconst plugin = new routePlugin();\r\n\r\nexport { plugin };\r\nexport * from \"./util/decorators\";\r\n"],"names":["path","fs","Joi"],"mappings":"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"} \ No newline at end of file diff --git a/packages/hapi-router/dist/index.d.ts b/packages/hapi-router/dist/index.d.ts deleted file mode 100644 index 2074ecb..0000000 --- a/packages/hapi-router/dist/index.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Generated by dts-bundle v0.7.3 - -declare module '@noderun/hapi-router' { - class routePlugin { - name: string; - version: string; - register(server: any, opts: any): void; - registerRoute(server: any, sourceDir: any, prefix: any, auth: any, type: any): any[]; - } - const plugin: routePlugin; - export { plugin }; - export * from "@noderun/hapi-router/util/decorators"; -} - -declare module '@noderun/hapi-router/util/decorators' { - type TMethod = "GET" | "POST" | "PUT" | "DELETE"; - export function method(opts?: TMethod | Array): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; - export function route(route?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; - export function config(options: Object): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; - export function auth(isAuth?: boolean | "try" | "required" | "optional"): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; - export function validate(validate: Object): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; - export function swagger(desc: any, notes: any, tags: any): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; - export {}; -} - diff --git a/packages/hapi-router/global.d.ts b/packages/hapi-router/global.d.ts deleted file mode 100755 index 0f73453..0000000 --- a/packages/hapi-router/global.d.ts +++ /dev/null @@ -1,4 +0,0 @@ - - -// 全局替换 -declare var __DEV__: boolean; diff --git a/packages/hapi-router/package-lock.json b/packages/hapi-router/package-lock.json deleted file mode 100755 index 4c1eea9..0000000 --- a/packages/hapi-router/package-lock.json +++ /dev/null @@ -1,1961 +0,0 @@ -{ - "name": "@noderun/hapi-router", - "version": "0.0.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@noderun/hapi-router", - "version": "0.0.1", - "license": "ISC", - "dependencies": { - "@types/node": "^15.12.2" - }, - "devDependencies": { - "@rollup/plugin-alias": "^3.1.1", - "@rollup/plugin-commonjs": "^15.0.0", - "@rollup/plugin-replace": "^2.3.3", - "chalk": "^4.1.0", - "dts-bundle": "^0.7.3", - "execa": "^4.0.3", - "fs-extra": "^9.0.1", - "ftp-deploy": "^2.3.6", - "lodash": "^4.17.20", - "rollup": "^2.26.3", - "rollup-plugin-sourcemaps": "^0.6.2", - "rollup-plugin-typescript2": "^0.27.2", - "tslib": "^2.0.1", - "typescript": "^3.9.7" - } - }, - "node_modules/@icetee/ftp": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@icetee/ftp/-/ftp-0.3.15.tgz", - "integrity": "sha512-RxSa9VjcDWgWCYsaLdZItdCnJj7p4LxggaEk+Y3MP0dHKoxez8ioG07DVekVbZZqccsrL+oPB/N9AzVPxj4blg==", - "dev": true, - "dependencies": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@rollup/plugin-alias": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz", - "integrity": "sha512-hNcQY4bpBUIvxekd26DBPgF7BT4mKVNDF5tBG4Zi+3IgwLxGYRY0itHs9D0oLVwXM5pvJDWJlBQro+au8WaUWw==", - "dev": true, - "dependencies": { - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@rollup/plugin-commonjs": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.0.0.tgz", - "integrity": "sha512-8uAdikHqVyrT32w1zB9VhW6uGwGjhKgnDNP4pQJsjdnyF4FgCj6/bmv24c7v2CuKhq32CcyCwRzMPEElaKkn0w==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", - "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==", - "dev": true - }, - "node_modules/@rollup/plugin-replace": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.3.tgz", - "integrity": "sha512-XPmVXZ7IlaoWaJLkSCDaa0Y6uVo5XQYHhiMFzOd5qSv5rE+t/UJToPIOE56flKIxBFQI27ONsxb7dqHnwSsjKQ==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.0.8", - "magic-string": "^0.25.5" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "node_modules/@types/detect-indent": { - "version": "0.1.30", - "resolved": "https://registry.npmjs.org/@types/detect-indent/-/detect-indent-0.1.30.tgz", - "integrity": "sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0=", - "dev": true - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "5.0.30", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.30.tgz", - "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/mkdirp": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.3.29.tgz", - "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=", - "dev": true - }, - "node_modules/@types/node": { - "version": "15.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", - "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==" - }, - "node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/detect-indent": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-0.2.0.tgz", - "integrity": "sha1-BCkUSYl5rC2fPHPk/z5od9O8krY=", - "dev": true, - "dependencies": { - "get-stdin": "^0.1.0", - "minimist": "^0.1.0" - }, - "bin": { - "detect-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dts-bundle": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/dts-bundle/-/dts-bundle-0.7.3.tgz", - "integrity": "sha1-Nyt7tpyCB4LmOC9ABzmmnc7T1Zo=", - "dev": true, - "dependencies": { - "@types/detect-indent": "0.1.30", - "@types/glob": "5.0.30", - "@types/mkdirp": "0.3.29", - "@types/node": "8.0.0", - "commander": "^2.9.0", - "detect-indent": "^0.2.0", - "glob": "^6.0.4", - "mkdirp": "^0.5.0" - }, - "bin": { - "dts-bundle": "lib/dts-bundle.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/dts-bundle/node_modules/@types/node": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.0.tgz", - "integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==", - "dev": true - }, - "node_modules/dts-bundle/node_modules/glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/execa": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", - "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/ftp-deploy": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/ftp-deploy/-/ftp-deploy-2.3.6.tgz", - "integrity": "sha512-X4/LaHhyQuGNcu3U9mogEgNiktuYubVsFhZiP90mDfvb8UxUrveZ/ESzauX5dI1YonDZvRqJp25iJ1mYUMeyyQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.7.0", - "minimatch": "3.0.4", - "promise-ftp": "^1.3.5", - "read": "^1.0.7", - "upath": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/get-stdin": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz", - "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp/node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/promise-ftp": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/promise-ftp/-/promise-ftp-1.3.5.tgz", - "integrity": "sha512-v368jPSqzmjjKDIyggulC+dRFcpAOEX7aFdEWkFYQp8Ao3P2N4Y6XnFFdKgK7PtkylwvGQkZR/65HZuzmq0V7A==", - "dev": true, - "dependencies": { - "@icetee/ftp": "^0.3.15", - "bluebird": "2.x", - "promise-ftp-common": "^1.1.5" - }, - "engines": { - "iojs": "*", - "node": ">=0.11.13" - } - }, - "node_modules/promise-ftp-common": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/promise-ftp-common/-/promise-ftp-common-1.1.5.tgz", - "integrity": "sha1-tPgIKnQDVkdwNQZ2PtsUIw2YZdo=", - "dev": true - }, - "node_modules/promise-ftp/node_modules/bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "dependencies": { - "mute-stream": "~0.0.4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "dependencies": { - "path-parse": "^1.0.6" - } - }, - "node_modules/rollup": { - "version": "2.26.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.26.3.tgz", - "integrity": "sha512-Mlt39/kL2rA9egcbQbaZV1SNVplGqYYhDDMcGgHPPE0tvM3R4GrB+IEdYy2QtTrdzMQx57ZcqDFf/KWWm8F+uw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.2" - } - }, - "node_modules/rollup-plugin-sourcemaps": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.2.tgz", - "integrity": "sha512-9AwTKg3yRykwzemfLt71ySe0LvrAci+bpsOL1LaTYFk5BX4HF6X7DQfpHa74ANfSja3hyjiQkXCR8goSOnW//Q==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.0.9", - "source-map-resolve": "^0.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/rollup-plugin-typescript2": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.2.tgz", - "integrity": "sha512-zarMH2F8oT/NO6p20gl/jkts+WxyzOlhOIUwUU/EDx5e6ewdDPS/flwLj5XFuijUCr64bZwqKuRVwCPdXXYefQ==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "8.1.0", - "resolve": "1.17.0", - "tslib": "2.0.1" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/rollup-plugin-typescript2/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/rollup/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", - "dev": true - }, - "node_modules/typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "dev": true - } - }, - "dependencies": { - "@icetee/ftp": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@icetee/ftp/-/ftp-0.3.15.tgz", - "integrity": "sha512-RxSa9VjcDWgWCYsaLdZItdCnJj7p4LxggaEk+Y3MP0dHKoxez8ioG07DVekVbZZqccsrL+oPB/N9AzVPxj4blg==", - "dev": true, - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - } - }, - "@rollup/plugin-alias": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz", - "integrity": "sha512-hNcQY4bpBUIvxekd26DBPgF7BT4mKVNDF5tBG4Zi+3IgwLxGYRY0itHs9D0oLVwXM5pvJDWJlBQro+au8WaUWw==", - "dev": true, - "requires": { - "slash": "^3.0.0" - } - }, - "@rollup/plugin-commonjs": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.0.0.tgz", - "integrity": "sha512-8uAdikHqVyrT32w1zB9VhW6uGwGjhKgnDNP4pQJsjdnyF4FgCj6/bmv24c7v2CuKhq32CcyCwRzMPEElaKkn0w==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "dependencies": { - "estree-walker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", - "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==", - "dev": true - } - } - }, - "@rollup/plugin-replace": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.3.tgz", - "integrity": "sha512-XPmVXZ7IlaoWaJLkSCDaa0Y6uVo5XQYHhiMFzOd5qSv5rE+t/UJToPIOE56flKIxBFQI27ONsxb7dqHnwSsjKQ==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8", - "magic-string": "^0.25.5" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/detect-indent": { - "version": "0.1.30", - "resolved": "https://registry.npmjs.org/@types/detect-indent/-/detect-indent-0.1.30.tgz", - "integrity": "sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0=", - "dev": true - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/glob": { - "version": "5.0.30", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.30.tgz", - "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/mkdirp": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.3.29.tgz", - "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=", - "dev": true - }, - "@types/node": { - "version": "15.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", - "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "detect-indent": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-0.2.0.tgz", - "integrity": "sha1-BCkUSYl5rC2fPHPk/z5od9O8krY=", - "dev": true, - "requires": { - "get-stdin": "^0.1.0", - "minimist": "^0.1.0" - } - }, - "dts-bundle": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/dts-bundle/-/dts-bundle-0.7.3.tgz", - "integrity": "sha1-Nyt7tpyCB4LmOC9ABzmmnc7T1Zo=", - "dev": true, - "requires": { - "@types/detect-indent": "0.1.30", - "@types/glob": "5.0.30", - "@types/mkdirp": "0.3.29", - "@types/node": "8.0.0", - "commander": "^2.9.0", - "detect-indent": "^0.2.0", - "glob": "^6.0.4", - "mkdirp": "^0.5.0" - }, - "dependencies": { - "@types/node": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.0.tgz", - "integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==", - "dev": true - }, - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "execa": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", - "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "ftp-deploy": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/ftp-deploy/-/ftp-deploy-2.3.6.tgz", - "integrity": "sha512-X4/LaHhyQuGNcu3U9mogEgNiktuYubVsFhZiP90mDfvb8UxUrveZ/ESzauX5dI1YonDZvRqJp25iJ1mYUMeyyQ==", - "dev": true, - "requires": { - "bluebird": "^3.7.0", - "minimatch": "3.0.4", - "promise-ftp": "^1.3.5", - "read": "^1.0.7", - "upath": "^1.2.0" - } - }, - "get-stdin": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz", - "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=", - "dev": true - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } - } - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "promise-ftp": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/promise-ftp/-/promise-ftp-1.3.5.tgz", - "integrity": "sha512-v368jPSqzmjjKDIyggulC+dRFcpAOEX7aFdEWkFYQp8Ao3P2N4Y6XnFFdKgK7PtkylwvGQkZR/65HZuzmq0V7A==", - "dev": true, - "requires": { - "@icetee/ftp": "^0.3.15", - "bluebird": "2.x", - "promise-ftp-common": "^1.1.5" - }, - "dependencies": { - "bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", - "dev": true - } - } - }, - "promise-ftp-common": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/promise-ftp-common/-/promise-ftp-common-1.1.5.tgz", - "integrity": "sha1-tPgIKnQDVkdwNQZ2PtsUIw2YZdo=", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "rollup": { - "version": "2.26.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.26.3.tgz", - "integrity": "sha512-Mlt39/kL2rA9egcbQbaZV1SNVplGqYYhDDMcGgHPPE0tvM3R4GrB+IEdYy2QtTrdzMQx57ZcqDFf/KWWm8F+uw==", - "dev": true, - "requires": { - "fsevents": "~2.1.2" - }, - "dependencies": { - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - } - } - }, - "rollup-plugin-sourcemaps": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.2.tgz", - "integrity": "sha512-9AwTKg3yRykwzemfLt71ySe0LvrAci+bpsOL1LaTYFk5BX4HF6X7DQfpHa74ANfSja3hyjiQkXCR8goSOnW//Q==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.9", - "source-map-resolve": "^0.6.0" - } - }, - "rollup-plugin-typescript2": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.2.tgz", - "integrity": "sha512-zarMH2F8oT/NO6p20gl/jkts+WxyzOlhOIUwUU/EDx5e6ewdDPS/flwLj5XFuijUCr64bZwqKuRVwCPdXXYefQ==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "8.1.0", - "resolve": "1.17.0", - "tslib": "2.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", - "dev": true - }, - "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", - "dev": true - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "dev": true - } - } -} diff --git a/packages/hapi-router/package.json b/packages/hapi-router/package.json deleted file mode 100755 index df10b32..0000000 --- a/packages/hapi-router/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "@noderun/hapi-router", - "version": "0.0.1", - "description": "", - "main": "dist/hapi-router.cjs.js", - "typings": "dist/index.d.ts", - "buildOptions": { - "filename": "hapi-router", - "var": "hapiRouter", - "formats": [ - "cjs" - ] - }, - "scripts": { - "build": "node scripts/build.js", - "dev": "node scripts/dev.js" - }, - "keywords": [], - "author": "", - "license": "ISC", - "devDependencies": { - "@rollup/plugin-alias": "^3.1.1", - "@rollup/plugin-commonjs": "^15.0.0", - "@rollup/plugin-replace": "^2.3.3", - "@types/node": "^15.12.2", - "chalk": "^4.1.0", - "dts-bundle": "^0.7.3", - "execa": "^4.0.3", - "fs-extra": "^9.0.1", - "ftp-deploy": "^2.3.6", - "lodash": "^4.17.20", - "rollup": "^2.26.3", - "rollup-plugin-sourcemaps": "^0.6.2", - "rollup-plugin-typescript2": "^0.27.2", - "tslib": "^2.0.1", - "typescript": "^3.9.7" - }, - "dependencies": { - "joi": "^17.4.0", - "json-merge-patch": "^1.0.1" - } -} diff --git a/packages/hapi-router/pnpm-lock.yaml b/packages/hapi-router/pnpm-lock.yaml deleted file mode 100644 index 0a47f4b..0000000 --- a/packages/hapi-router/pnpm-lock.yaml +++ /dev/null @@ -1,1179 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - '@rollup/plugin-alias': ^3.1.1 - '@rollup/plugin-commonjs': ^15.0.0 - '@rollup/plugin-replace': ^2.3.3 - '@types/node': ^15.12.2 - chalk: ^4.1.0 - dts-bundle: ^0.7.3 - execa: ^4.0.3 - fs-extra: ^9.0.1 - ftp-deploy: ^2.3.6 - joi: ^17.4.0 - json-merge-patch: ^1.0.1 - lodash: ^4.17.20 - rollup: ^2.26.3 - rollup-plugin-sourcemaps: ^0.6.2 - rollup-plugin-typescript2: ^0.27.2 - tslib: ^2.0.1 - typescript: ^3.9.7 - -dependencies: - joi: 17.4.0 - json-merge-patch: 1.0.1 - -devDependencies: - '@rollup/plugin-alias': 3.1.2_rollup@2.51.2 - '@rollup/plugin-commonjs': 15.1.0_rollup@2.51.2 - '@rollup/plugin-replace': 2.4.2_rollup@2.51.2 - '@types/node': 15.12.2 - chalk: 4.1.1 - dts-bundle: 0.7.3 - execa: 4.1.0 - fs-extra: 9.1.0 - ftp-deploy: 2.4.1 - lodash: 4.17.21 - rollup: 2.51.2 - rollup-plugin-sourcemaps: 0.6.3_acjl5ohpxjj6cmu464deuhndpa - rollup-plugin-typescript2: 0.27.3_uiok2ebg7dovbc73ivn6j7a2ry - tslib: 2.3.0 - typescript: 3.9.9 - -packages: - - /@hapi/hoek/9.2.0: - resolution: {integrity: sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==} - dev: false - - /@hapi/topo/5.0.0: - resolution: {integrity: sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==} - dependencies: - '@hapi/hoek': 9.2.0 - dev: false - - /@icetee/ftp/0.3.15: - resolution: {integrity: sha512-RxSa9VjcDWgWCYsaLdZItdCnJj7p4LxggaEk+Y3MP0dHKoxez8ioG07DVekVbZZqccsrL+oPB/N9AzVPxj4blg==} - engines: {node: '>=0.8.0'} - dependencies: - readable-stream: 1.1.14 - xregexp: 2.0.0 - dev: true - - /@rollup/plugin-alias/3.1.2_rollup@2.51.2: - resolution: {integrity: sha512-wzDnQ6v7CcoRzS0qVwFPrFdYA4Qlr+ookA217Y2Z3DPZE1R8jrFNM3jvGgOf6o6DMjbnQIn5lCIJgHPe1Bt3uw==} - engines: {node: '>=8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - rollup: 2.51.2 - slash: 3.0.0 - dev: true - - /@rollup/plugin-commonjs/15.1.0_rollup@2.51.2: - resolution: {integrity: sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.22.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.51.2 - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 7.1.7 - is-reference: 1.2.1 - magic-string: 0.25.7 - resolve: 1.20.0 - rollup: 2.51.2 - dev: true - - /@rollup/plugin-replace/2.4.2_rollup@2.51.2: - resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.51.2 - magic-string: 0.25.7 - rollup: 2.51.2 - dev: true - - /@rollup/pluginutils/3.1.0_rollup@2.51.2: - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.0 - rollup: 2.51.2 - dev: true - - /@sideway/address/4.1.2: - resolution: {integrity: sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==} - dependencies: - '@hapi/hoek': 9.2.0 - dev: false - - /@sideway/formula/3.0.0: - resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==} - dev: false - - /@sideway/pinpoint/2.0.0: - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - dev: false - - /@types/detect-indent/0.1.30: - resolution: {integrity: sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0=} - dev: true - - /@types/estree/0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true - - /@types/estree/0.0.48: - resolution: {integrity: sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==} - dev: true - - /@types/glob/5.0.30: - resolution: {integrity: sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=} - dependencies: - '@types/minimatch': 3.0.4 - '@types/node': 8.0.0 - dev: true - - /@types/minimatch/3.0.4: - resolution: {integrity: sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==} - dev: true - - /@types/mkdirp/0.3.29: - resolution: {integrity: sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=} - dev: true - - /@types/node/15.12.2: - resolution: {integrity: sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==} - dev: true - - /@types/node/8.0.0: - resolution: {integrity: sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==} - dev: true - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /asn1/0.2.4: - resolution: {integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /at-least-node/1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: true - - /atob/2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - - /available-typed-arrays/1.0.4: - resolution: {integrity: sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==} - engines: {node: '>= 0.4'} - dev: false - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /bcrypt-pbkdf/1.0.2: - resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} - dependencies: - tweetnacl: 0.14.5 - dev: true - - /bluebird/2.11.0: - resolution: {integrity: sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=} - dev: true - - /bluebird/3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: true - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /buffer-from/1.1.1: - resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} - dev: true - - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.1 - dev: false - - /chalk/4.1.1: - resolution: {integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true - - /commondir/1.0.1: - resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} - dev: true - - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true - - /concat-stream/2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - dependencies: - buffer-from: 1.1.1 - inherits: 2.0.4 - readable-stream: 3.6.0 - typedarray: 0.0.6 - dev: true - - /core-util-is/1.0.2: - resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} - dev: true - - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /decode-uri-component/0.2.0: - resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} - engines: {node: '>=0.10'} - dev: true - - /deep-equal/2.0.5: - resolution: {integrity: sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==} - dependencies: - call-bind: 1.0.2 - es-get-iterator: 1.1.2 - get-intrinsic: 1.1.1 - is-arguments: 1.1.0 - is-date-object: 1.0.4 - is-regex: 1.1.3 - isarray: 2.0.5 - object-is: 1.1.5 - object-keys: 1.1.1 - object.assign: 4.1.2 - regexp.prototype.flags: 1.3.1 - side-channel: 1.0.4 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.4 - dev: false - - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} - engines: {node: '>= 0.4'} - dependencies: - object-keys: 1.1.1 - dev: false - - /detect-indent/0.2.0: - resolution: {integrity: sha1-BCkUSYl5rC2fPHPk/z5od9O8krY=} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - get-stdin: 0.1.0 - minimist: 0.1.0 - dev: true - - /dts-bundle/0.7.3: - resolution: {integrity: sha1-Nyt7tpyCB4LmOC9ABzmmnc7T1Zo=} - engines: {node: '>= 0.10.0'} - hasBin: true - dependencies: - '@types/detect-indent': 0.1.30 - '@types/glob': 5.0.30 - '@types/mkdirp': 0.3.29 - '@types/node': 8.0.0 - commander: 2.20.3 - detect-indent: 0.2.0 - glob: 6.0.4 - mkdirp: 0.5.5 - dev: true - - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: true - - /es-abstract/1.18.3: - resolution: {integrity: sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.2 - is-callable: 1.2.3 - is-negative-zero: 2.0.1 - is-regex: 1.1.3 - is-string: 1.0.6 - object-inspect: 1.10.3 - object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.4 - string.prototype.trimstart: 1.0.4 - unbox-primitive: 1.0.1 - dev: false - - /es-get-iterator/1.1.2: - resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - has-symbols: 1.0.2 - is-arguments: 1.1.0 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.6 - isarray: 2.0.5 - dev: false - - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.3 - is-date-object: 1.0.4 - is-symbol: 1.0.4 - dev: false - - /estree-walker/1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true - - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - - /execa/4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.0 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.3 - strip-final-newline: 2.0.0 - dev: true - - /find-cache-dir/3.3.1: - resolution: {integrity: sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==} - engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: true - - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /foreach/2.0.5: - resolution: {integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k=} - dev: false - - /fs-extra/8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.6 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs-extra/9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.6 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /ftp-deploy/2.4.1: - resolution: {integrity: sha512-UglFOxlv7j2jPqX83kKFfXjoazysymEGWb8buqt+X12KAnFdapXdNjOm0Vwwg6BxgjS4jnKcU8+iq2ndivreOw==} - engines: {node: '>=8'} - dependencies: - bluebird: 3.7.2 - minimatch: 3.0.4 - promise-ftp: 1.3.5 - read: 1.0.7 - ssh2-sftp-client: 5.3.2 - upath: 2.0.1 - dev: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - - /get-intrinsic/1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.2 - dev: false - - /get-stdin/0.1.0: - resolution: {integrity: sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=} - engines: {node: '>=0.10.0'} - dev: true - - /get-stream/5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - - /glob/6.0.4: - resolution: {integrity: sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=} - dependencies: - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /graceful-fs/4.2.6: - resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==} - dev: true - - /has-bigints/1.0.1: - resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} - dev: false - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has-symbols/1.0.2: - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} - engines: {node: '>= 0.4'} - dev: false - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - - /human-signals/1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true - - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /is-arguments/1.1.0: - resolution: {integrity: sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - dev: false - - /is-bigint/1.0.2: - resolution: {integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==} - dev: false - - /is-boolean-object/1.1.1: - resolution: {integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - dev: false - - /is-callable/1.2.3: - resolution: {integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==} - engines: {node: '>= 0.4'} - dev: false - - /is-core-module/2.4.0: - resolution: {integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==} - dependencies: - has: 1.0.3 - dev: true - - /is-date-object/1.0.4: - resolution: {integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==} - engines: {node: '>= 0.4'} - dev: false - - /is-map/2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - dev: false - - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} - engines: {node: '>= 0.4'} - dev: false - - /is-number-object/1.0.5: - resolution: {integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==} - engines: {node: '>= 0.4'} - dev: false - - /is-reference/1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 0.0.48 - dev: true - - /is-regex/1.1.3: - resolution: {integrity: sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-symbols: 1.0.2 - dev: false - - /is-set/2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - dev: false - - /is-stream/2.0.0: - resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==} - engines: {node: '>=8'} - dev: true - - /is-string/1.0.6: - resolution: {integrity: sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==} - engines: {node: '>= 0.4'} - dev: false - - /is-symbol/1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.2 - dev: false - - /is-typed-array/1.1.5: - resolution: {integrity: sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.4 - call-bind: 1.0.2 - es-abstract: 1.18.3 - foreach: 2.0.5 - has-symbols: 1.0.2 - dev: false - - /is-weakmap/2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - dev: false - - /is-weakset/2.0.1: - resolution: {integrity: sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==} - dev: false - - /isarray/0.0.1: - resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} - dev: true - - /isarray/2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: false - - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} - dev: true - - /joi/17.4.0: - resolution: {integrity: sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg==} - dependencies: - '@hapi/hoek': 9.2.0 - '@hapi/topo': 5.0.0 - '@sideway/address': 4.1.2 - '@sideway/formula': 3.0.0 - '@sideway/pinpoint': 2.0.0 - dev: false - - /json-merge-patch/1.0.1: - resolution: {integrity: sha512-yvT2j/jJZ2S53t+WLt1/y2pvyR1UKPl1d/tJUjwnbtwdQQcloPhGS0bkEq/L6I32l1nhleU57GTkbv64t8eHQA==} - dependencies: - deep-equal: 2.0.5 - dev: false - - /jsonfile/4.0.0: - resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} - optionalDependencies: - graceful-fs: 4.2.6 - dev: true - - /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.6 - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /lodash/4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - - /magic-string/0.25.7: - resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mimic-fn/2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist/0.1.0: - resolution: {integrity: sha1-md9lelJXTCHJBXSX33QnkLK0wN4=} - dev: true - - /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} - dev: true - - /mkdirp/0.5.5: - resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - - /mute-stream/0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /object-inspect/1.10.3: - resolution: {integrity: sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==} - dev: false - - /object-is/1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: false - - /object-keys/1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: false - - /object.assign/4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.2 - object-keys: 1.1.1 - dev: false - - /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} - dependencies: - wrappy: 1.0.2 - dev: true - - /onetime/5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} - dev: true - - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} - engines: {node: '>=8.6'} - dev: true - - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /promise-ftp-common/1.1.5: - resolution: {integrity: sha1-tPgIKnQDVkdwNQZ2PtsUIw2YZdo=} - dev: true - - /promise-ftp/1.3.5: - resolution: {integrity: sha512-v368jPSqzmjjKDIyggulC+dRFcpAOEX7aFdEWkFYQp8Ao3P2N4Y6XnFFdKgK7PtkylwvGQkZR/65HZuzmq0V7A==} - engines: {node: '>=0.11.13'} - dependencies: - '@icetee/ftp': 0.3.15 - bluebird: 2.11.0 - promise-ftp-common: 1.1.5 - dev: true - - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - - /read/1.0.7: - resolution: {integrity: sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=} - engines: {node: '>=0.8'} - dependencies: - mute-stream: 0.0.8 - dev: true - - /readable-stream/1.1.14: - resolution: {integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk=} - dependencies: - core-util-is: 1.0.2 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: true - - /readable-stream/3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - - /regexp.prototype.flags/1.3.1: - resolution: {integrity: sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: false - - /resolve/1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - dependencies: - path-parse: 1.0.7 - dev: true - - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} - dependencies: - is-core-module: 2.4.0 - path-parse: 1.0.7 - dev: true - - /retry/0.12.0: - resolution: {integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=} - engines: {node: '>= 4'} - dev: true - - /rollup-plugin-sourcemaps/0.6.3_acjl5ohpxjj6cmu464deuhndpa: - resolution: {integrity: sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==} - engines: {node: '>=10.0.0'} - peerDependencies: - '@types/node': '>=10.0.0' - rollup: '>=0.31.2' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.51.2 - '@types/node': 15.12.2 - rollup: 2.51.2 - source-map-resolve: 0.6.0 - dev: true - - /rollup-plugin-typescript2/0.27.3_uiok2ebg7dovbc73ivn6j7a2ry: - resolution: {integrity: sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==} - peerDependencies: - rollup: '>=1.26.3' - typescript: '>=2.4.0' - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.51.2 - find-cache-dir: 3.3.1 - fs-extra: 8.1.0 - resolve: 1.17.0 - rollup: 2.51.2 - tslib: 2.0.1 - typescript: 3.9.9 - dev: true - - /rollup/2.51.2: - resolution: {integrity: sha512-ReV2eGEadA7hmXSzjxdDKs10neqH2QURf2RxJ6ayAlq93ugy6qIvXMmbc5cWMGCDh1h5T4thuWO1e2VNbMq8FA==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - - /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true - - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - object-inspect: 1.10.3 - dev: false - - /signal-exit/3.0.3: - resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} - dev: true - - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /source-map-resolve/0.6.0: - resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - dev: true - - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - dev: true - - /ssh2-sftp-client/5.3.2: - resolution: {integrity: sha512-YD38WQKleuapAZyvqRJq7PN8pC6GnzWdWcnZN4vsPXMHtZpjcg/ipBcFGtDsC5rkHp5qXgRu56WPcDUkM87FiA==} - dependencies: - concat-stream: 2.0.0 - retry: 0.12.0 - ssh2: 0.8.9 - dev: true - - /ssh2-streams/0.4.10: - resolution: {integrity: sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==} - engines: {node: '>=5.2.0'} - dependencies: - asn1: 0.2.4 - bcrypt-pbkdf: 1.0.2 - streamsearch: 0.1.2 - dev: true - - /ssh2/0.8.9: - resolution: {integrity: sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==} - engines: {node: '>=5.2.0'} - dependencies: - ssh2-streams: 0.4.10 - dev: true - - /streamsearch/0.1.2: - resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} - engines: {node: '>=0.8.0'} - dev: true - - /string.prototype.trimend/1.0.4: - resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: false - - /string.prototype.trimstart/1.0.4: - resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: false - - /string_decoder/0.10.31: - resolution: {integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=} - dev: true - - /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /tslib/2.0.1: - resolution: {integrity: sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==} - dev: true - - /tslib/2.3.0: - resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} - dev: true - - /tweetnacl/0.14.5: - resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} - dev: true - - /typedarray/0.0.6: - resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=} - dev: true - - /typescript/3.9.9: - resolution: {integrity: sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /unbox-primitive/1.0.1: - resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} - dependencies: - function-bind: 1.1.1 - has-bigints: 1.0.1 - has-symbols: 1.0.2 - which-boxed-primitive: 1.0.2 - dev: false - - /universalify/0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true - - /upath/2.0.1: - resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} - engines: {node: '>=4'} - dev: true - - /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} - dev: true - - /which-boxed-primitive/1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.2 - is-boolean-object: 1.1.1 - is-number-object: 1.0.5 - is-string: 1.0.6 - is-symbol: 1.0.4 - dev: false - - /which-collection/1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} - dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.1 - dev: false - - /which-typed-array/1.1.4: - resolution: {integrity: sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.4 - call-bind: 1.0.2 - es-abstract: 1.18.3 - foreach: 2.0.5 - function-bind: 1.1.1 - has-symbols: 1.0.2 - is-typed-array: 1.1.5 - dev: false - - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} - dev: true - - /xregexp/2.0.0: - resolution: {integrity: sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=} - dev: true diff --git a/packages/hapi-router/rollup.config.js b/packages/hapi-router/rollup.config.js deleted file mode 100755 index ebd4d2b..0000000 --- a/packages/hapi-router/rollup.config.js +++ /dev/null @@ -1,113 +0,0 @@ -import commonjs from "@rollup/plugin-commonjs"; -import typescript from "rollup-plugin-typescript2"; -import alias from "@rollup/plugin-alias"; -import replace from "@rollup/plugin-replace"; -import sourcemaps from "rollup-plugin-sourcemaps"; -const pkg = require("./package.json"); -const path = require("path"); - -let isProd = process.env.NODE_ENV === "production"; - -const input = "src/index.ts"; -const openSourceMap = true; -const buildOptions = pkg.buildOptions; -buildOptions.formats = process.env.TARGET - ? [process.env.TARGET] - : buildOptions.formats; - -export default createConfig(); - -function createConfig() { - return { - input, - external: ['joi'], - output: createOutput(buildOptions), - plugins: createPlugin(), - }; -} - -function createPlugin() { - let plugin = []; - const aliasPlugin = alias({ - resolve: [".ts"], - "@": path.resolve(__dirname, "src"), - }); - const tsPlugin = typescript({ - check: isProd, - tsconfig: path.resolve(__dirname, "tsconfig.json"), - cacheRoot: path.resolve(__dirname, "node_modules/.rts2_cache"), - tsconfigOverride: { - compilerOptions: { - declaration: isProd, - }, - }, - }); - const replacePlugin = replace({ - __DEV__: isProd, - preventAssignment: true - }); - plugin = [sourcemaps(), commonjs(), tsPlugin, aliasPlugin, replacePlugin]; - return plugin; -} - -function createOutput(options) { - const output = []; - const filterType = { - //可用script标签导入,会输出一个全局变量 - iife: { - sourcemap: openSourceMap, - file: `dist/${options.filename}.iife.js`, - format: "iife", - name: options.var, - }, - // amd规范,可用require.js加载 - amd: { - sourcemap: openSourceMap, - file: `dist/${options.filename}.amd.js`, - format: "amd", - }, - // 兼容 IIFE, AMD, CJS 三种模块规范 - umd: { - sourcemap: openSourceMap, - file: `dist/${options.filename}.umd.js`, - format: "umd", - name: options.var, - }, - // CommonJS规范 - cjs: { - sourcemap: openSourceMap, - file: `dist/${options.filename}.cjs.js`, - format: "cjs", - exports: "auto", - banner: "#!/usr/bin/env node", // 提供命令行的可执行权限 - }, - // ES2015 Module 规范, 可用 `Webpack`, `Rollup` 加载 - esm: { - sourcemap: openSourceMap, - file: `dist/${options.filename}.esm.js`, - format: "es", - }, - "esm-browser": { - sourcemap: openSourceMap, - file: `dist/${options.filename}.esm-browser.js`, - format: "es", - }, - }; - if (options.formats) { - options.formats.forEach((format) => { - if (filterType[format]) { - output.push(filterType[format]); - } else { - console.error("无效类型:" + format); - } - }); - } else { - for (const key in filterType) { - if (filterType.hasOwnProperty(key)) { - const element = filterType[key]; - output.push(element); - } - } - } - return output; -} diff --git a/packages/hapi-router/scripts/build.js b/packages/hapi-router/scripts/build.js deleted file mode 100755 index 53a2520..0000000 --- a/packages/hapi-router/scripts/build.js +++ /dev/null @@ -1,24 +0,0 @@ -const execa = require("execa"); -const fs = require("fs-extra"); -const chalk = require('chalk'); -const dts = require("dts-bundle"); -const pkg = require("../package.json"); - -(async function () { - console.log(chalk.red("正在清理dist文件夹")); - await fs.remove(`dist`); - console.log(chalk.red("清理完成,开始构建")); - await execa("rollup", ["-c", "--environment", `NODE_ENV:production`], { - stdio: "inherit", - }); - console.log(chalk.red("构建完成,开始生成d.ts")); - const dtsOptions = { - name: pkg.name, - main: `dist/src/index.d.ts`, - out: `../index.d.ts`, - }; - dts.bundle(dtsOptions); - console.log(chalk.red("生成完毕,开始清理残余")); - await fs.remove(`dist/src`); - console.log('所有文件清理完成'); -})(); diff --git a/packages/hapi-router/scripts/dev.js b/packages/hapi-router/scripts/dev.js deleted file mode 100755 index 5fa3b38..0000000 --- a/packages/hapi-router/scripts/dev.js +++ /dev/null @@ -1,7 +0,0 @@ -const execa = require("execa"); -const chalk = require('chalk'); - -console.log(chalk.red("开始监听,格式:umd")); -execa("rollup", ["-wc", "--environment", `NODE_ENV:development,TARGET:cjs`], { - stdio: "inherit", -}); diff --git a/packages/hapi-router/scripts/publish.js b/packages/hapi-router/scripts/publish.js deleted file mode 100755 index e69de29..0000000 diff --git a/packages/hapi-router/src/index.ts b/packages/hapi-router/src/index.ts deleted file mode 100755 index a55d655..0000000 --- a/packages/hapi-router/src/index.ts +++ /dev/null @@ -1,190 +0,0 @@ -// @ts-nocheck - -import { walkDir, removeIndex, isIndexEnd } from "./util" -import * as Joi from "joi" -const path = require("path") -const fs = require("fs") - -class routePlugin { - public name: string = "routePlugin" - public version: string = "0.0.1" - public register(server: any, opts: any) { - const sourceDir = opts.sourceDir - const type = opts.type || "jwt" - const auth = opts.auth || [] - let array = [] - for (let i = 0; i < sourceDir.length; i++) { - const dir = sourceDir[i] - console.log(dir) - array.push(dir.dir + "对应路径:") - array = array.concat(this.registerRoute(server, dir.dir, dir.prefix || "", auth, type)) - } - fs.writeFileSync(path.resolve(process.cwd(), "route.txt"), array.join("\n"), { - encoding: "utf-8", - }) - } - registerRoute(server, sourceDir, prefix, auth, type) { - const files = walkDir(sourceDir) - const routes = [] - files.forEach(file => { - let filename = file.relativeFileNoExt - let array = filename.split(path.sep).slice(1) - let fileNoExt = removeIndex("/" + array.join("/")) - const moduleName = path.resolve(sourceDir, filename) - const obj = require(moduleName) - if (obj.default) { - const func = new (obj.default || obj)() - const prototype = Object.getPrototypeOf(func) - const keys = Reflect.ownKeys(prototype) - for (const key of keys) { - if (key !== "constructor") { - let ff = func[key] - let handler: () => void = undefined - // 默认方法 - const method = ff.$method || "GET" - // 路由收集规则 - let route = "" - if (ff.$route) { - if (isIndexEnd(fileNoExt)) { - route = ff.$route - } else { - route = fileNoExt + ff.$route - } - } else { - if (isIndexEnd(fileNoExt)) { - route = fileNoExt + key.toString() - } else { - route = fileNoExt + "/" + key.toString() - } - } - route = removeIndex(route) - route = prefix ? route[0] + prefix + "/" + route.slice(1) : route - // 配置规则 - const options = ff.$options ? ff.$options : {} - if (!options.auth) { - if (ff.$auth == undefined) { - if (auth && auth.length && auth.filter(v => route.startsWith(v)).length) { - options.auth = type - } else { - options.auth = false - } - } else if (ff.$auth) { - options.auth = - typeof ff.$auth === "boolean" - ? type - : { - strategy: type, - mode: ff.$auth, - } - } else { - options.auth = false - } - } - if (!options.validate) { - let validateObj = ff.$validate || {} - if (options.auth && type === "jwt") { - if (validateObj.headers) { - validateObj.headers = validateObj.headers.keys({ - Authorization: Joi.string(), - }) - } else { - validateObj.headers = Joi.object({ - headers: Joi.object({ - Authorization: Joi.string(), - }).unknown(), // 注意加上这个 - }) - } - } - if (validateObj && !!Object.keys(validateObj).length) { - const failReason = validateObj.failReason - delete validateObj.failReason - if (validateObj.failAction === "log") { - if (!options.log) options.log = {} - options.log.collect = true - let errto = validateObj.$errto - handler = async function (...argus) { - const request = argus[0] - const h = argus[1] - if (request.logs && !!request.logs.length && errto) { - // request.yar.flash('error', request.logs.map((v: any)=>v.error.message)); - request.yar.flash("error", failReason || request.logs.map((v: any)=>v.error.message)) - return h.redirect(errto) - } - return await ff.call(this, ...argus) - } - } - if (validateObj.failAction === "function") { - let errto = validateObj.$errto - validateObj.failAction = async function (request, h, err) { - if (err.details) { - request.$joi_error = err.details.map(v => v.message) - } - return h.continue - } - handler = async function (...argus) { - const request = argus[0] - const h = argus[1] - if (request.$joi_error) { - loggerSite.debug("传输参数错误: ", request.$joi_error) - request.yar.flash("error", failReason || request.$joi_error) - delete request.$joi_error - return h.redirect(errto) - } - return await ff.call(this, ...argus) - } - } - options.validate = validateObj - } - } - // && route.startsWith("/api") - if (ff.$swagger) { - options.description = ff.$swagger[0] - options.notes = ff.$swagger[1] - options.tags = ff.$swagger[2] - } - let str = route - if ( - (typeof options.auth === "string" && options.auth) || - (typeof options.auth === "object" && options.auth.mode === "required") - ) { - str = " 需要权限 : " + " " + full(method) + " " + str - } else if (typeof options.auth === "object" && options.auth.mode === "optional") { - str = " 不需权限(提供即需验证): " + " " + full(method) + " " + str - } else if (typeof options.auth === "object" && options.auth.mode === "try") { - str = " 不需权限(提供无需验证): " + " " + full(method) + " " + str - } else { - str = " 不需权限 : " + " " + full(method) + " " + str - } - routes.push(str) - - if (options.validate && options.validate.$errto) { - delete options.validate.$errto - } - if (!handler) { - handler = ff - } - server.route({ - method: method, - path: route, - handler: handler, - options: options, - }) - } - } - } - }) - return routes - } -} - -function full(str: string, length = 10) { - let len = str.length - let need = length - len - if (need <= 0) return str - return str + [...Array(need)].map((v, i) => " ").join("") -} - -const plugin = new routePlugin() - -export { plugin } -export * from "./util/decorators" diff --git a/packages/hapi-router/src/util/decorators.ts b/packages/hapi-router/src/util/decorators.ts deleted file mode 100644 index 2f5635f..0000000 --- a/packages/hapi-router/src/util/decorators.ts +++ /dev/null @@ -1,40 +0,0 @@ -// @ts-nocheck -/** - * 方法 - * @param opts 参数 - */ -type TMethod = "GET" | "POST" | "PUT" | "DELETE" -export function method(opts?: TMethod | Array) { - return function (target, propertyKey: string, descriptor: PropertyDescriptor) { - target[propertyKey].$method = opts - } -} -export function route(route?: string) { - return function (target, propertyKey: string, descriptor: PropertyDescriptor) { - target[propertyKey].$route = route - } -} - -export function config(options: Object) { - return function (target, propertyKey: string, descriptor: PropertyDescriptor) { - target[propertyKey].$options = options - } -} - -export function auth(isAuth: boolean | "try" | "required" | "optional" = true) { - return function (target, propertyKey: string, descriptor: PropertyDescriptor) { - target[propertyKey].$auth = isAuth - } -} - -export function validate(validate: Object) { - return function (target, propertyKey: string, descriptor: PropertyDescriptor) { - target[propertyKey].$validate = validate - } -} - -export function swagger(desc, notes, tags) { - return function (target, propertyKey: string, descriptor: PropertyDescriptor) { - target[propertyKey].$swagger = [desc, notes, tags] - } -} diff --git a/packages/hapi-router/src/util/index.ts b/packages/hapi-router/src/util/index.ts deleted file mode 100644 index a02d731..0000000 --- a/packages/hapi-router/src/util/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -// @ts-nocheck - -const path = require("path") -const fs = require("fs") - -export function removeIndex(ss: any) { - const remove = (str: any) => { - if (str.endsWith("/index")) { - return str.slice(0, -6) - } - if (str.endsWith("index")) { - return str.slice(0, -5) - } - return str ? str : "/" - } - let r = true - let rr = ss - while (r) { - if (rr.endsWith("/index")) { - rr = remove(rr) - } else { - r = false - } - } - return rr ? rr : "/" -} - -export function isIndexEnd(str: any) { - return str.length == 1 && str.endsWith("/") -} - -export function walkDir( - filePath: any, - exclude = ["node_modules", "^_", ".git", ".idea", ".gitignore", "client", ".txt$", ".test.js$", ".test.ts$"], -) { - let files: any[] = [] - function Data(opts: any) { - this.relativeDir = opts.relativeDir - this.relativeFile = opts.relativeFile - this.filename = opts.filename - this.file = opts.file - this.absoluteFile = opts.absoluteFile - this.relativeFileNoExt = opts.relativeFileNoExt - this.absoluteDir = opts.absoluteDir - } - function readDir(filePath, dirname = ".") { - let res = fs.readdirSync(filePath) - res.forEach(filename => { - const filepath = path.resolve(filePath, filename) - const stat = fs.statSync(filepath) - const name = filepath.split(path.sep).slice(-1)[0] - if (typeof exclude === "string" && new RegExp(exclude).test(name)) { - return - } - if (Array.isArray(exclude)) { - for (let i = 0; i < exclude.length; i++) { - const excludeItem = exclude[i] - if (new RegExp(excludeItem).test(name)) { - return - } - } - } - if (!stat.isFile()) { - readDir(filepath, dirname + path.sep + name) - } else { - const data = new Data({ - relativeDir: dirname, - relativeFile: dirname + path.sep + path.parse(filepath).base, - relativeFileNoExt: dirname + path.sep + path.parse(filepath).name, - file: path.parse(filepath).base, - filename: path.parse(filepath).name, - absoluteFile: filepath, - absoluteDir: path.parse(filepath).dir, - }) - files.push(data) - } - }) - } - readDir(filePath) - return files -} diff --git a/packages/hapi-router/tsconfig.json b/packages/hapi-router/tsconfig.json deleted file mode 100755 index 225c1d9..0000000 --- a/packages/hapi-router/tsconfig.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "compilerOptions": { - "allowUnreachableCode": true, - "strictNullChecks": true, - // 严格模式, 强烈建议开启 - "strict": true, - "allowJs": true, - // 目标js的版本 - "target": "ES5", - // 目标代码的模块结构版本 - "module": "ES2015", - // 在表达式和声明上有隐含的 any类型时报错。 - "noImplicitAny": true, - // "__extends"等函数 - // 将以"import {__extends} from 'tslib'的形式导入 - "importHelpers": true, - // 删除注释 - "removeComments": true, - // 保留 const和 enum声明 - "preserveConstEnums": false, - // 编译过程中需要引入的库文件的列表 - "lib": ["dom", "esnext"], - "sourceMap": true, - // 额外支持解构/forof等功能 - "downlevelIteration": true, - // 此处设置为node,才能解析import xx from 'xx' - "moduleResolution": "node", - "esModuleInterop": true, // esModuleInterop选项的作用是支持使用import d from 'cjs'的方式引入commonjs包。 - "baseUrl": ".", - "rootDir": ".", // 这个项目这个里的root必须要加上 - "paths": { - "@/*": ["./src/*"] - } - }, - "include": ["./src/**/*", "./global.d.ts"], - "exclude": ["node_modules"] -} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index 4340350..0000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - - 'packages/*' \ No newline at end of file diff --git a/route.txt b/route.txt index 46d5fe5..31b9f77 100644 --- a/route.txt +++ b/route.txt @@ -1,17 +1,16 @@ -/home/topuser/Code/@project/hapi-demo/dist/route/htmx对应路径: +D:\1XYX\pro\hapi-demo\source\route\htmx对应路径: 不需权限 : GET /htmx/path/{path*} -/home/topuser/Code/@project/hapi-demo/dist/route/views对应路径: +D:\1XYX\pro\hapi-demo\source\route\views对应路径: 不需权限(提供无需验证): GET /404 - 不需权限 : GET /css 不需权限(提供无需验证): GET / 不需权限(提供无需验证): GET /about 需要权限 : GET /docs/{path*} 不需权限 : GET /{path*} 不需权限(提供无需验证): GET /login 不需权限 : POST /login - 需要权限 : GET /logout - 需要权限 : POST /del + 不需权限 : GET /nav 不需权限(提供无需验证): GET /register 不需权限 : POST /register - 不需权限 : GET /nav - 需要权限 : GET /user \ No newline at end of file + 需要权限 : GET /user + 需要权限 : GET /user/logout + 需要权限 : POST /user/del \ No newline at end of file diff --git a/source/db/data.db b/source/db/data.db index 602d811..e31094b 100644 Binary files a/source/db/data.db and b/source/db/data.db differ diff --git a/source/plugins/router-plugin/index.ts b/source/plugins/router-plugin/index.ts index a55d655..0623103 100755 --- a/source/plugins/router-plugin/index.ts +++ b/source/plugins/router-plugin/index.ts @@ -44,21 +44,26 @@ class routePlugin { const method = ff.$method || "GET" // 路由收集规则 let route = "" - if (ff.$route) { - if (isIndexEnd(fileNoExt)) { - route = ff.$route - } else { - route = fileNoExt + ff.$route - } - } else { - if (isIndexEnd(fileNoExt)) { - route = fileNoExt + key.toString() + if(ff.$route_path){ + route = ff.$route_path + route = prefix ? route[0] + prefix + "/" + route.slice(1) : route + }else{ + if (ff.$route) { + if (isIndexEnd(fileNoExt)) { + route = ff.$route + } else { + route = fileNoExt + ff.$route + } } else { - route = fileNoExt + "/" + key.toString() + if (isIndexEnd(fileNoExt)) { + route = fileNoExt + key.toString() + } else { + route = fileNoExt + "/" + key.toString() + } } + route = removeIndex(route) + route = prefix ? route[0] + prefix + "/" + route.slice(1) : route } - route = removeIndex(route) - route = prefix ? route[0] + prefix + "/" + route.slice(1) : route // 配置规则 const options = ff.$options ? ff.$options : {} if (!options.auth) { diff --git a/source/plugins/router-plugin/util/decorators.ts b/source/plugins/router-plugin/util/decorators.ts index 2f5635f..023b550 100644 --- a/source/plugins/router-plugin/util/decorators.ts +++ b/source/plugins/router-plugin/util/decorators.ts @@ -14,7 +14,11 @@ export function route(route?: string) { target[propertyKey].$route = route } } - +export function route_path(route_path?: string) { + return function (target, propertyKey: string, descriptor: PropertyDescriptor) { + target[propertyKey].$route_path = route_path + } +} export function config(options: Object) { return function (target, propertyKey: string, descriptor: PropertyDescriptor) { target[propertyKey].$options = options diff --git a/source/route/views/index.ts b/source/route/views/index.ts deleted file mode 100644 index 3b92602..0000000 --- a/source/route/views/index.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { Req, Res, ReturnValue } from "#/global" -import { LoginUserSchema, RegisterUserSchema, UserSchema } from "@/schema" -import { gFail, gSuccess } from "@/util" -import { auth, config, method, route, validate } from "@noderun/hapi-router" -import * as bcrypt from "bcrypt" -/** - * 登录界面 - */ -export default class { - @route("/login") - @auth("try") - @method("GET") - async login_GET(request: Req, h: Res): ReturnValue { - if (request.auth.isAuthenticated) { - request.yar.flash("warning", "您已经登陆") - return h.redirect("/") - } else { - logger.debug("未登录") - } - return h.view("views/login.pug") - } - - @validate({ - payload: LoginUserSchema, - $errto: "/login", - // failAction: 'log' - failAction: "function", - // failReason: "用户名或密码错误,请重试", - }) - @method("POST") - @route("/login") - async login_POST(request: Req, h: Res): ReturnValue { - const { username, password, referrer } = request.payload as any - - const User = request.getModel("User") - const account = await User.findOne({ where: { username: username } }) - - if (!account || !(await bcrypt.compare(password, account.password))) { - request.yar.flash("error", "Invalid username or password") - return h.redirect("/login") - } - request.cookieAuth.set({ id: account.id, nickname: account.nickname }) - request.yar.flash("success", "用户已登录") - return h.redirect(referrer ? referrer : "/") - } - - @method("GET") - @auth() - async logout(request: Req, h: Res): ReturnValue { - request.yar.flash("success", "用户已退出") - request.cookieAuth.clear() - return h.redirect("/") - } - - @method("POST") - @auth() - async del(request: Req, h: Res): ReturnValue { - const { id } = request.auth.credentials - try { - const User = request.getModel("User") - await User.destroy({ where: { id: id }}) - request.yar.flash("success", "用户已删除") - request.cookieAuth.clear() - } catch (error) { - loggerSite.error(`用户删除错误`, error.message) - request.yar.flash("error", "用户删除错误") - } - return h.redirect("/") - } - - @route("/register") - @auth("try") - @method("GET") - async registerView(request: Req, h: Res): ReturnValue { - if (request.auth.isAuthenticated) { - request.yar.flash("warning", "您已经登陆") - return h.redirect("/") - } else { - logger.debug("未登录") - } - return h.view("views/register.pug") - } - - @validate({ - payload: RegisterUserSchema, - $errto: "/register", - failAction: "function", - failReason: "注册账户不符合规范", - }) - @method("POST") - async register(request: Req, h: Res): ReturnValue { - console.log(request); - let { username, password } = request.payload as any - const User = request.getModel("User") - logger.trace("当前注册用户:" + username) - try { - const result = await User.findOne({ where: { username: username } }) - if (result != null) { - request.yar.flash("error", "已存在该用户") - return h.redirect("/register") - } - let salt = bcrypt.genSaltSync(10) - let pwdLock = bcrypt.hashSync(password, salt) - await User.create({ username, password: pwdLock, nickname: username }) - request.yar.flash("success", "用户注册成功") - return h.redirect("/login") - } catch (e) { - loggerSite.error(`注册用户失败`, e.message) - request.yar.flash("error", "注册用户失败") - return h.redirect("/register") - } - } -} diff --git a/source/route/views/index/index.ts b/source/route/views/index/index.ts index b2a7a60..b10ab4d 100644 --- a/source/route/views/index/index.ts +++ b/source/route/views/index/index.ts @@ -6,10 +6,6 @@ import { baseDir, gFail } from "@/util" import MarkdownIt from "markdown-it" export default class Index { - async css(request: Req, h: Res): ReturnValue { - return h.view("views/css.pug") - } - @auth("try") async index(request: Req, h: Res): ReturnValue { if (request.auth.isAuthenticated) { @@ -22,26 +18,23 @@ export default class Index { @route("/about") @auth("try") - async about(request: Req, h) { - // console.log(request.auth); - // console.log(1); - - // try { - // const User = request.getModel("User"); - - // console.log(await User.findOne({ where: { username: "xieyaxin" } })); - // } catch (error) { - // console.log(error); - // } - // console.log(2); - const { id } = request.auth.credentials + async about(request: Req, h: Res) { const isRenderHtmx = Reflect.has(request.query, "htmx") - console.log(Reflect.has(request.query, "htmx")) + if (!request.auth.isAuthenticated) { + if (isRenderHtmx) { + // https://github.com/hapijs/hapi/issues/4443 + // https://github.com/hapijs/hapi/issues/4212 + return h.response().header("HX-Redirect", `/login?next=${encodeURIComponent(request.path)}`) + } + return h.redirect(`/login?next=${encodeURIComponent(request.path)}`).takeover() + } + const { id } = request.auth.credentials const User = request.getModel("User") let res = await User.findOne({ where: { id: id } }) if (res == null) { - return gFail(null, "不存在该用户") + request.yar.flash("warning", "不存在此用户") + return h.redirect(`/`).takeover() } const userinfo = res.toJSON() delete userinfo.password diff --git a/source/route/views/login.ts b/source/route/views/login.ts new file mode 100644 index 0000000..8b99473 --- /dev/null +++ b/source/route/views/login.ts @@ -0,0 +1,46 @@ +import { Req, Res, ReturnValue } from "#/global" +import { LoginUserSchema, RegisterUserSchema, UserSchema } from "@/schema" +import { gFail, gSuccess } from "@/util" +import { auth, config, method, route, route_path, validate } from "@noderun/hapi-router" +import * as bcrypt from "bcrypt" +/** + * 登录界面 + */ +export default class { + @route_path("/login") + @auth("try") + @method("GET") + async login_GET(request: Req, h: Res): ReturnValue { + if (request.auth.isAuthenticated) { + request.yar.flash("warning", "您已经登陆") + return h.redirect("/") + } else { + logger.debug("未登录") + } + return h.view("views/login.pug") + } + + @validate({ + payload: LoginUserSchema, + $errto: "/login", + // failAction: 'log' + failAction: "function", + // failReason: "用户名或密码错误,请重试", + }) + @method("POST") + @route_path("/login") + async login_POST(request: Req, h: Res): ReturnValue { + const { username, password, referrer } = request.payload as any + + const User = request.getModel("User") + const account = await User.findOne({ where: { username: username } }) + + if (!account || !(await bcrypt.compare(password, account.password))) { + request.yar.flash("error", "Invalid username or password") + return h.redirect("/login") + } + request.cookieAuth.set({ id: account.id, nickname: account.nickname }) + request.yar.flash("success", "用户已登录") + return h.redirect(referrer ? referrer : "/") + } +} diff --git a/source/route/views/register.ts b/source/route/views/register.ts new file mode 100644 index 0000000..efdfd7c --- /dev/null +++ b/source/route/views/register.ts @@ -0,0 +1,53 @@ +import { Req, Res, ReturnValue } from "#/global" +import { LoginUserSchema, RegisterUserSchema, UserSchema } from "@/schema" +import { gFail, gSuccess } from "@/util" +import { auth, config, method, route, route_path, validate } from "@noderun/hapi-router" +import * as bcrypt from "bcrypt" +/** + * 登录界面 + */ +export default class { + @route_path("/register") + @auth("try") + @method("GET") + async register_GET(request: Req, h: Res): ReturnValue { + if (request.auth.isAuthenticated) { + request.yar.flash("warning", "您已经登陆") + return h.redirect("/") + } else { + logger.debug("未登录") + } + return h.view("views/register.pug") + } + + @validate({ + payload: RegisterUserSchema, + $errto: "/register", + failAction: "function", + failReason: "注册账户不符合规范", + }) + @method("POST") + @route_path("/register") + async register_POST(request: Req, h: Res): ReturnValue { + console.log(request) + let { username, password } = request.payload as any + const User = request.getModel("User") + logger.trace("当前注册用户:" + username) + try { + const result = await User.findOne({ where: { username: username } }) + if (result != null) { + request.yar.flash("error", "已存在该用户") + return h.redirect("/register") + } + let salt = bcrypt.genSaltSync(10) + let pwdLock = bcrypt.hashSync(password, salt) + await User.create({ username, password: pwdLock, nickname: username }) + request.yar.flash("success", "用户注册成功") + return h.redirect("/login") + } catch (e) { + loggerSite.error(`注册用户失败`, e.message) + request.yar.flash("error", "注册用户失败") + return h.redirect("/register") + } + } +} diff --git a/source/route/views/user.ts b/source/route/views/user.ts index 142ffee..866feae 100644 --- a/source/route/views/user.ts +++ b/source/route/views/user.ts @@ -20,4 +20,28 @@ export default class { delete userinfo.password return h.view("views/user.pug", { userinfo }) } + + @method("GET") + @auth() + async logout(request: Req, h: Res): ReturnValue { + request.yar.flash("success", "用户已退出") + request.cookieAuth.clear() + return h.redirect("/") + } + + @method("POST") + @auth() + async del(request: Req, h: Res): ReturnValue { + const { id } = request.auth.credentials + try { + const User = request.getModel("User") + await User.destroy({ where: { id: id } }) + request.yar.flash("success", "用户已删除") + request.cookieAuth.clear() + } catch (error) { + loggerSite.error(`用户删除错误`, error.message) + request.yar.flash("error", "用户删除错误") + } + return h.redirect("/") + } } diff --git a/template/htmx/path/about.pug b/template/htmx/path/about.pug index fe559f1..7d67d69 100644 --- a/template/htmx/path/about.pug +++ b/template/htmx/path/about.pug @@ -1,3 +1,4 @@ +include @/helper/flush.pug include @/helper/helper.pug block var diff --git a/template/htmx/path/index.pug b/template/htmx/path/index.pug index 4e3e04c..e823e68 100644 --- a/template/htmx/path/index.pug +++ b/template/htmx/path/index.pug @@ -1,3 +1,4 @@ +include @/helper/flush.pug block var -title="首页" // 网页标题 title 首页 diff --git a/template/ui/header.pug b/template/ui/header.pug index 475d1c0..9667eb3 100644 --- a/template/ui/header.pug +++ b/template/ui/header.pug @@ -39,9 +39,9 @@ nav.is-fixed-top.navbar(role='navigation', aria-label='main navigation', style=" a.navbar-item | 用户资料 hr.navbar-divider - a.navbar-item(href="/logout") + a.navbar-item(href="/user/logout") | 退出 - form(action="/del" method="post") + form(action="/user/del" method="post") +security a.navbar-item button(type="submit") 删除