@monkeyplus/flow 3.2.6 → 3.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorators.d.ts +5 -0
- package/dist/decorators.js +105 -0
- package/dist/decorators.js.map +1 -0
- package/dist/generate.d.ts +5 -3
- package/dist/generate.js +185 -184
- package/dist/generate.js.map +1 -1
- package/dist/generator/generator.d.ts +8 -0
- package/dist/generator/generator.js +237 -0
- package/dist/generator/generator.js.map +1 -0
- package/dist/generator/index.d.ts +8 -0
- package/dist/generator/index.js +232 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator.d.ts +8 -0
- package/dist/generator.js +237 -0
- package/dist/generator.js.map +1 -0
- package/dist/helper.js +10 -3
- package/dist/helper.js.map +1 -1
- package/dist/helpers/handler.d.ts +2 -0
- package/dist/helpers/handler.js +122 -0
- package/dist/helpers/handler.js.map +1 -0
- package/dist/helpers/helper.d.ts +2 -0
- package/dist/helpers/helper.js +122 -0
- package/dist/helpers/helper.js.map +1 -0
- package/dist/index.d.ts +17 -4
- package/dist/index.js +74 -276
- package/dist/index.js.map +1 -1
- package/dist/lifeCircle.d.ts +5 -0
- package/dist/lifeCircle.js +81 -0
- package/dist/lifeCircle.js.map +1 -0
- package/dist/pages.d.ts +2 -2
- package/dist/pages.js +4 -5
- package/dist/pages.js.map +1 -1
- package/dist/runMethods.d.ts +9 -0
- package/dist/runMethods.js +60 -0
- package/dist/runMethods.js.map +1 -0
- package/dist/serverInfo.d.ts +7 -0
- package/dist/serverInfo.js +36 -0
- package/dist/serverInfo.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +3 -3
- package/types/flow.d.ts +40 -15
- package/types/index.d.ts +4 -2
- package/types/interfaces.d.ts +5 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const pages_1 = require("./pages");
|
|
4
|
+
const config_1 = require("./config");
|
|
5
|
+
exports.default = {
|
|
6
|
+
register: (server) => {
|
|
7
|
+
const { flow: state } = server.app;
|
|
8
|
+
const { configs: config } = server.plugins.flow;
|
|
9
|
+
const registerRoute = (route) => {
|
|
10
|
+
const _routes = server.table();
|
|
11
|
+
const _route = _routes.find((v) => v.path === route.path);
|
|
12
|
+
if (_route) {
|
|
13
|
+
config_1.logger.warn(`Duplicate route, the route ${route.path} already exists`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
server.route(route);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const addPage = (_page, dynamic) => {
|
|
20
|
+
const registerPages = (_pages) => {
|
|
21
|
+
for (const _route of _pages) {
|
|
22
|
+
if (state.routes[_route.path]) {
|
|
23
|
+
config_1.logger.warn('The route %s alredy exist', _route.path);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
state.routes[_route.path] = _route;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
let _pages;
|
|
31
|
+
if (typeof _page === 'function') {
|
|
32
|
+
_pages = _page(config);
|
|
33
|
+
// console.log(_pages);
|
|
34
|
+
registerPages(_pages);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// console.log('Otra', _page);
|
|
38
|
+
_pages = pages_1.definePage(_page, dynamic)()(config);
|
|
39
|
+
// console.log(_pages);
|
|
40
|
+
registerPages(_pages);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const init = async () => {
|
|
44
|
+
const pages = server.app.flow.routes;
|
|
45
|
+
for (const key in pages) {
|
|
46
|
+
const page = pages[key];
|
|
47
|
+
registerRoute(page);
|
|
48
|
+
}
|
|
49
|
+
for (const key in state.extensions) {
|
|
50
|
+
const ext = state.extensions[key];
|
|
51
|
+
if (ext.initMethod) {
|
|
52
|
+
await ext.initMethod();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
config_1.logger.debug(`Register %s pages`, `${Object.values(pages).length}`);
|
|
56
|
+
};
|
|
57
|
+
return { init, addPage };
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=runMethods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runMethods.js","sourceRoot":"","sources":["../src/runMethods.ts"],"names":[],"mappings":";;AACA,mCAAqC;AAOrC,qCAAkC;AAElC,kBAAe;IACb,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;QACnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAEhD,MAAM,aAAa,GAAG,CAAC,KAAkB,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,MAAM,EAAE;gBACV,eAAM,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,IAAI,iBAAiB,CAAC,CAAC;aACxE;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,KAAsC,EACtC,OAA6B,EAC7B,EAAE;YACF,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE;gBAC9C,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;oBAC3B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAC7B,eAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;qBACvD;yBAAM;wBACL,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;qBACpC;iBACF;YACH,CAAC,CAAC;YACF,IAAI,MAAM,CAAC;YACX,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;gBAC/B,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvB,uBAAuB;gBAEvB,aAAa,CAAC,MAAM,CAAC,CAAC;aACvB;iBAAM;gBACL,8BAA8B;gBAE9B,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC9C,uBAAuB;gBAEvB,aAAa,CAAC,MAAM,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;gBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,aAAa,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE;gBAClC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,GAAG,CAAC,UAAU,EAAE;oBAClB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;iBACxB;aACF;YACD,eAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const os_1 = __importDefault(require("os"));
|
|
7
|
+
const config_1 = require("./config");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
exports.default = {
|
|
10
|
+
register: (server) => {
|
|
11
|
+
const serverInfo = () => {
|
|
12
|
+
const interfaces = os_1.default.networkInterfaces();
|
|
13
|
+
const hostname = 'localhost';
|
|
14
|
+
const protocol = 'http';
|
|
15
|
+
console.log('');
|
|
16
|
+
config_1.logger.success(chalk_1.default.green(`Flow v${config_1.pkg.version} dev server running at:`));
|
|
17
|
+
console.log('');
|
|
18
|
+
Object.keys(interfaces).forEach((key) => (interfaces[key] || [])
|
|
19
|
+
.filter((details) => details.family === 'IPv4')
|
|
20
|
+
.map((detail) => {
|
|
21
|
+
return {
|
|
22
|
+
type: detail.address.includes('127.0.0.1')
|
|
23
|
+
? 'Local: '
|
|
24
|
+
: 'Network: ',
|
|
25
|
+
host: detail.address.replace('127.0.0.1', hostname)
|
|
26
|
+
};
|
|
27
|
+
})
|
|
28
|
+
.forEach(({ type, host }) => {
|
|
29
|
+
const url = `${protocol}://${host}:${chalk_1.default.bold(server.info.port)}`;
|
|
30
|
+
console.log(` > ${type} ${chalk_1.default.cyan(url)}`);
|
|
31
|
+
}));
|
|
32
|
+
};
|
|
33
|
+
return { serverInfo };
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=serverInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverInfo.js","sourceRoot":"","sources":["../src/serverInfo.ts"],"names":[],"mappings":";;;;;AACA,4CAAoB;AACpB,qCAAqD;AACrD,kDAA0B;AAE1B,kBAAe;IACb,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE;QAC3B,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,UAAU,GAAG,YAAE,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,eAAM,CAAC,OAAO,CACZ,eAAK,CAAC,KAAK,CAAC,SAAS,YAAG,CAAC,OAAO,yBAAyB,CAAC,CAC3D,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC;iBAC9C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACd,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACxC,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,WAAW;oBACf,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC;iBACpD,CAAC;YACJ,CAAC,CAAC;iBACD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,GAAG,QAAQ,MAAM,IAAI,IAAI,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC,CACL,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;CACF,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ import { Server } from '@hapi/hapi';
|
|
|
2
2
|
import { Flow, FlowOptions } from "../../types";
|
|
3
3
|
export declare const logger: import("consola").Consola;
|
|
4
4
|
export declare function getConfigs(server: Server, options: FlowOptions): Flow.Configs;
|
|
5
|
+
export declare const isDinamyc: (url: string) => boolean;
|
package/dist/utils/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getConfigs = exports.logger = void 0;
|
|
6
|
+
exports.isDinamyc = exports.getConfigs = exports.logger = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const consola_1 = __importDefault(require("consola"));
|
|
9
9
|
exports.logger = consola_1.default.withScope('@monkeyplus/flow');
|
|
@@ -45,4 +45,6 @@ function getConfigs(server, options) {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
exports.getConfigs = getConfigs;
|
|
48
|
+
const isDinamyc = (url) => /\{url?(.+)\}/.test(url);
|
|
49
|
+
exports.isDinamyc = isDinamyc;
|
|
48
50
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;AAEA,gDAAwB;AACxB,sDAA8B;AACjB,QAAA,MAAM,GAAG,iBAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC5D,qCAA6C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;AAEA,gDAAwB;AACxB,sDAA8B;AACjB,QAAA,MAAM,GAAG,iBAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC5D,qCAA6C;AAE7C,MAAM,QAAQ,GAAiB;IAC7B,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE,GAAG;IACf,MAAM,EAAE,OAAO;IACf,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,OAAO;IAClB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAW,IAAI,OAAO,CAAC,GAAG,CAAC,GAAI;IAChD,OAAO,EAAE,CAAC,KAAK,CAAC;CACjB,CAAC;AAEF,SAAgB,UAAU,CAAC,MAAc,EAAE,OAAoB;IAC7D,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,CAAC,MAAW,EAAO,EAAE;QACrC,MAAM,MAAM,GAAG,sBAAe,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACpE,OAAO;YACL,GAAG,MAAM;YACT,UAAU;YACV,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE;SAC/D,CAAC;IACJ,CAAC,CAAC;IACF,IAAI;QACF,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAEhE,cAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,8DAA8D;QAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,gCAAgC;QAChC,cAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;KACtB;AACH,CAAC;AAvBD,gCAuBC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAtD,QAAA,SAAS,aAA6C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monkeyplus/flow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0-alpha.1",
|
|
4
4
|
"description": "Utils hapi",
|
|
5
5
|
"author": "Andres Navarrete",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"@types/ramda": "^0.27.44"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@monkeyplus/flow-core": "^3.
|
|
24
|
+
"@monkeyplus/flow-core": "^3.3.0-alpha.1",
|
|
25
25
|
"chalk": "^4.1.2",
|
|
26
26
|
"consola": "^2.15.3",
|
|
27
27
|
"fs-extra": "^10.0.0",
|
|
28
28
|
"ramda": "^0.27.1"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "86d011e4af5036812bfc4389550cc0672d57dd03"
|
|
31
31
|
}
|
package/types/flow.d.ts
CHANGED
|
@@ -50,10 +50,8 @@ export namespace Extension {
|
|
|
50
50
|
context: RouteContext,
|
|
51
51
|
options: T
|
|
52
52
|
) => void;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
export type InitMethod = (context: InitContext) => Promise<void>;
|
|
53
|
+
|
|
54
|
+
export type InitMethod = () => Promise<void>;
|
|
57
55
|
export interface Extension {
|
|
58
56
|
state: any;
|
|
59
57
|
initMethod?: InitMethod;
|
|
@@ -61,18 +59,26 @@ export namespace Extension {
|
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
export namespace Flow {
|
|
64
|
-
interface
|
|
62
|
+
interface Page {
|
|
65
63
|
url: string;
|
|
66
64
|
locale: string;
|
|
67
65
|
localeName: string;
|
|
68
66
|
name: string;
|
|
67
|
+
context?: any;
|
|
68
|
+
dynamicSlug?: string;
|
|
69
69
|
}
|
|
70
|
-
export type
|
|
71
|
-
export type
|
|
70
|
+
export type StaticPages = Record<string, Page>;
|
|
71
|
+
export type Routes = Record<string, ServerRoute>;
|
|
72
72
|
export type Redirects = Record<string, string>;
|
|
73
73
|
export type Truncates = Record<string, string>;
|
|
74
74
|
export type DynamicContent = Record<string, { path: string; page: PageInfo }>;
|
|
75
|
-
export type DynamicPages = Record<string,
|
|
75
|
+
export type DynamicPages = Record<string, () => Promise<StaticPages>>;
|
|
76
|
+
export type Pages = {
|
|
77
|
+
statics: StaticPages;
|
|
78
|
+
redirects: Redirects;
|
|
79
|
+
dynamics: DynamicPages;
|
|
80
|
+
all: StaticPages;
|
|
81
|
+
};
|
|
76
82
|
|
|
77
83
|
export interface PluginState {
|
|
78
84
|
local: FlowPluginLocal;
|
|
@@ -92,15 +98,17 @@ export namespace Flow {
|
|
|
92
98
|
addUrl: (key: string, url: Url) => undefined;
|
|
93
99
|
}
|
|
94
100
|
export interface AppState {
|
|
95
|
-
|
|
96
|
-
redirects: Redirects;
|
|
97
|
-
urls: Urls;
|
|
101
|
+
routes: Routes;
|
|
102
|
+
// redirects: Redirects;
|
|
103
|
+
// urls: Urls;
|
|
98
104
|
pages: Pages;
|
|
99
105
|
truncates: Truncates;
|
|
100
106
|
extensions: Record<string, Extension.Extension>;
|
|
101
|
-
dynamicPages: DynamicPages;
|
|
107
|
+
// dynamicPages: DynamicPages;
|
|
102
108
|
generate: {
|
|
103
109
|
folders: Record<string, GenerateFolder>;
|
|
110
|
+
beforePackage: Record<string, () => Promise<unknown>>;
|
|
111
|
+
postGenerate: Record<string, () => Promise<any>>;
|
|
104
112
|
};
|
|
105
113
|
engines: FlowEngines;
|
|
106
114
|
plugins: FlowStatePlugins;
|
|
@@ -119,14 +127,21 @@ export namespace Flow {
|
|
|
119
127
|
export interface GenerateOptions {
|
|
120
128
|
assets?: GenerateFolder[];
|
|
121
129
|
ommitAssets?: string[];
|
|
130
|
+
/**
|
|
131
|
+
* Solo aplicable para compilaciones
|
|
132
|
+
*/
|
|
133
|
+
virtualGenerate?: boolean;
|
|
122
134
|
}
|
|
123
135
|
|
|
124
136
|
export interface Decorate {
|
|
125
|
-
|
|
137
|
+
prepagePackage: () => Promise<unknown>;
|
|
126
138
|
serverInfo: () => void;
|
|
127
139
|
init: (proxy?: boolean) => Promise<void>;
|
|
128
|
-
addPage: (
|
|
129
|
-
|
|
140
|
+
addPage: (
|
|
141
|
+
page: RunDefinePage | OptionsHapiPage,
|
|
142
|
+
dynamic?: OptionsDynamicPages
|
|
143
|
+
) => Promise<void>;
|
|
144
|
+
// getPath: (...path: string[]) => string;
|
|
130
145
|
runGenerate: (options?: GenerateOptions) => Promise<void>;
|
|
131
146
|
}
|
|
132
147
|
export interface HandlerOptions {
|
|
@@ -161,6 +176,7 @@ export interface ContextHandler {
|
|
|
161
176
|
bundle: Bundle;
|
|
162
177
|
publicPath: string;
|
|
163
178
|
path: string;
|
|
179
|
+
dynamicSlug: string;
|
|
164
180
|
};
|
|
165
181
|
seo: Record<string, any>;
|
|
166
182
|
/**
|
|
@@ -176,11 +192,20 @@ export type RunContextHapi = (ctx: ContextHandler) => Promise<any>;
|
|
|
176
192
|
export interface OptionsHapiPage extends OptionsPage {
|
|
177
193
|
options?: RouteOptions;
|
|
178
194
|
context?: RunContextHapi;
|
|
195
|
+
|
|
179
196
|
locales: Record<string, OptionsHapiLocalPage>;
|
|
180
197
|
rules?: Record<string, unknown>;
|
|
181
198
|
vhost?: string | string[];
|
|
182
199
|
extensions?: FlowExtensions;
|
|
183
200
|
}
|
|
201
|
+
export interface OptionsDynamicPages {
|
|
202
|
+
prefix?: (route: RequestRoute) => string | Promise<string>;
|
|
203
|
+
assign?: string;
|
|
204
|
+
pages: (ctx: {
|
|
205
|
+
server: Server;
|
|
206
|
+
route: RequestRoute;
|
|
207
|
+
}) => Promise<Flow.StaticPages>;
|
|
208
|
+
}
|
|
184
209
|
// import {} from '..'
|
|
185
210
|
export type RunDefinePage = (configs: Flow.Configs) => ServerRoute[];
|
|
186
211
|
export type RunPreDefinePage = (level?: LevelOptions) => RunDefinePage;
|
package/types/index.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export {
|
|
|
9
9
|
OptionsHapiPage,
|
|
10
10
|
GenerateFolder,
|
|
11
11
|
Extension,
|
|
12
|
-
ContextHandler
|
|
12
|
+
ContextHandler,
|
|
13
|
+
OptionsDynamicPages
|
|
13
14
|
} from './flow';
|
|
14
15
|
export {
|
|
15
16
|
FlowExtensions,
|
|
@@ -22,7 +23,8 @@ export {
|
|
|
22
23
|
FlowContextSeo,
|
|
23
24
|
FlowContextPage,
|
|
24
25
|
FlowEngines,
|
|
25
|
-
FlowStatePlugins
|
|
26
|
+
FlowStatePlugins,
|
|
27
|
+
FlowServerMethods
|
|
26
28
|
} from './interfaces';
|
|
27
29
|
export type GenerateOptions =
|
|
28
30
|
| boolean
|
package/types/interfaces.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
2
2
|
import { Request, ResponseToolkit } from '@hapi/hapi';
|
|
3
|
+
import { Flow } from './flow';
|
|
3
4
|
export interface FlowExtensions {}
|
|
4
5
|
export interface FlowPluginExtension {}
|
|
5
6
|
export interface FlowPluginUtils {}
|
|
@@ -54,3 +55,7 @@ export namespace Contexts {
|
|
|
54
55
|
|
|
55
56
|
export interface FlowEngines {}
|
|
56
57
|
export interface FlowStatePlugins {}
|
|
58
|
+
export interface FlowServerMethods {
|
|
59
|
+
pages: () => Promise<Flow.StaticPages>;
|
|
60
|
+
getUrl: (locale: string, name: string) => string;
|
|
61
|
+
}
|