@monkeyplus/flow 1.0.0

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.
Files changed (49) hide show
  1. package/dist/_types/index.d.ts +120 -0
  2. package/dist/_types/index.d.ts.map +1 -0
  3. package/dist/_types/index.js +3 -0
  4. package/dist/_types/index.js.map +1 -0
  5. package/dist/config.d.ts +15 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +12 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/helpers/index.d.ts +15 -0
  10. package/dist/helpers/index.d.ts.map +1 -0
  11. package/dist/helpers/index.js +91 -0
  12. package/dist/helpers/index.js.map +1 -0
  13. package/dist/index.d.ts +27 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +248 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/lib/index.d.ts +4 -0
  18. package/dist/lib/index.d.ts.map +1 -0
  19. package/dist/lib/index.js +15 -0
  20. package/dist/lib/index.js.map +1 -0
  21. package/dist/lib/pages/index copy.d.ts +6 -0
  22. package/dist/lib/pages/index copy.d.ts.map +1 -0
  23. package/dist/lib/pages/index copy.js +108 -0
  24. package/dist/lib/pages/index copy.js.map +1 -0
  25. package/dist/lib/pages/index.d.ts +3 -0
  26. package/dist/lib/pages/index.d.ts.map +1 -0
  27. package/dist/lib/pages/index.js +107 -0
  28. package/dist/lib/pages/index.js.map +1 -0
  29. package/dist/lib/pages/pre.d.ts +9 -0
  30. package/dist/lib/pages/pre.d.ts.map +1 -0
  31. package/dist/lib/pages/pre.js +97 -0
  32. package/dist/lib/pages/pre.js.map +1 -0
  33. package/dist/lib/utils/index.d.ts +3 -0
  34. package/dist/lib/utils/index.d.ts.map +1 -0
  35. package/dist/lib/utils/index.js +48 -0
  36. package/dist/lib/utils/index.js.map +1 -0
  37. package/dist/routes/index.d.ts +4 -0
  38. package/dist/routes/index.d.ts.map +1 -0
  39. package/dist/routes/index.js +89 -0
  40. package/dist/routes/index.js.map +1 -0
  41. package/dist/routes/sitemap.d.ts +3 -0
  42. package/dist/routes/sitemap.d.ts.map +1 -0
  43. package/dist/routes/sitemap.js +137 -0
  44. package/dist/routes/sitemap.js.map +1 -0
  45. package/dist/utils/index.d.ts +4 -0
  46. package/dist/utils/index.d.ts.map +1 -0
  47. package/dist/utils/index.js +20 -0
  48. package/dist/utils/index.js.map +1 -0
  49. package/package.json +26 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.sitemapXml = void 0;
26
+ const R = __importStar(require("ramda"));
27
+ const path_1 = __importDefault(require("path"));
28
+ const buildAlternameLink = (locale, vDomain, vUrl) => `<xhtml:link
29
+ rel="alternate"
30
+ hreflang="${locale}"
31
+ href="${vDomain}${vUrl}"/>`;
32
+ const buildUrl = (options, alternate = '') => {
33
+ const _date = new Date().toISOString().split('T')[0];
34
+ const date = options.lastMod ? options.lastMod : _date;
35
+ return `
36
+ <url>
37
+ <loc>${options.domain + path_1.default.posix.join('/', options.url)}</loc>
38
+ <lastmod>${date}</lastmod>
39
+ ${alternate}
40
+ </url>
41
+ `;
42
+ };
43
+ const buildXml = (pages, alternate) => {
44
+ const alt = 'xmlns:xhtml="http://www.w3.org/1999/xhtml"';
45
+ return `<?xml version="1.0" encoding="UTF-8"?>
46
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" ${alternate ? alt : ''}>
47
+ ${pages.join('\n')}
48
+ </urlset>`;
49
+ };
50
+ exports.sitemapXml = {
51
+ path: '/sitemap.xml',
52
+ method: 'get',
53
+ handler: (req, h) => {
54
+ const isStatic = req.query.static;
55
+ const { domain, locale, locales, pages, defaultUbication } = req.server.app;
56
+ // const;
57
+ const listPages = Array.from(pages.values()).sort((a, b) => {
58
+ if (a.urlObject.path < b.urlObject.path) {
59
+ return -1;
60
+ }
61
+ if (a.urlObject.path > b.urlObject.path) {
62
+ return 1;
63
+ }
64
+ return 0;
65
+ });
66
+ const listGroups = R.groupBy((p) => {
67
+ return p.originName;
68
+ }, listPages);
69
+ const multiple = locales.length > 1;
70
+ const buildLocalesPage = (lastMod) => {
71
+ const pps = R.values(R.mapObjIndexed((items) => {
72
+ const list = items.map((p) => {
73
+ const url = isStatic ? p.urlObject.static : p.urlObject.path;
74
+ return {
75
+ locale: p.locale,
76
+ link: (l) => buildAlternameLink(l, domain, url),
77
+ };
78
+ });
79
+ const listLang = R.groupBy((l) => {
80
+ return l.locale.split('-')[0];
81
+ }, list);
82
+ const oo = R.mapObjIndexed((p, k) => {
83
+ if (p.length > 1) {
84
+ const f = p.find((v) => v.locale.split('-')[1] === defaultUbication);
85
+ const defLang = f ? f.link(k) : p[0].link(k);
86
+ return [defLang, ...p.map((v) => v.link(v.locale))];
87
+ }
88
+ else {
89
+ return p.map((v) => v.link(v.locale.split('-')[0]));
90
+ }
91
+ }, listLang);
92
+ // console.log();
93
+ const url = items.find((p) => p.locale === locale);
94
+ const defLoc = url ? url : items[0];
95
+ const defLocUrl = isStatic
96
+ ? defLoc.urlObject.static
97
+ : defLoc.urlObject.path;
98
+ const def = buildAlternameLink('x-default', domain, defLocUrl);
99
+ const endList = [def, ...R.flatten(R.values(oo))];
100
+ return { url: defLoc, list: endList };
101
+ }, listGroups));
102
+ const xx = pps.map(({ url, list }) => {
103
+ const vUrl = isStatic ? url.urlObject.static : url.urlObject.path;
104
+ const a = list.join('\n\t');
105
+ return buildUrl({
106
+ domain,
107
+ url: vUrl,
108
+ lastMod,
109
+ }, a);
110
+ });
111
+ return xx;
112
+ };
113
+ // req.server.info
114
+ const LASTMOD = new Date(req.server.info.started)
115
+ .toISOString()
116
+ .split('T')[0];
117
+ // buildLocalesPage();
118
+ const listUrls = multiple
119
+ ? buildLocalesPage(LASTMOD)
120
+ : listPages.map((p) => {
121
+ return buildUrl({
122
+ domain,
123
+ url: isStatic ? p.urlObject.static : p.urlObject.path,
124
+ lastMod: LASTMOD,
125
+ });
126
+ });
127
+ // if(locales.length>1){
128
+ // //
129
+ // }else{
130
+ // }
131
+ const sitemap = buildXml(listUrls, multiple);
132
+ return h
133
+ .response(R.replace(/\/index.html/g, '/', sitemap))
134
+ .type('text/xml');
135
+ },
136
+ };
137
+ //# sourceMappingURL=sitemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/routes/sitemap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Server } from '@hapi/hapi';
2
+ import { FlowConfigs } from '../_types';
3
+ export declare function getConfigs(server: Server, _relativeTo: string): FlowConfigs;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,CAU3E"}
@@ -0,0 +1,20 @@
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
+ exports.getConfigs = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ function getConfigs(server, _relativeTo) {
9
+ try {
10
+ const pathWeb = path_1.default.resolve(_relativeTo, 'flow.config');
11
+ const relativeTo = path_1.default.resolve(_relativeTo);
12
+ return Object.assign(Object.assign({}, require(pathWeb)), { relativeTo });
13
+ }
14
+ catch (error) {
15
+ server.log(['error'], error);
16
+ return {};
17
+ }
18
+ }
19
+ exports.getConfigs = getConfigs;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;AAEA,gDAAwB;AAExB,SAAgB,UAAU,CAAC,MAAc,EAAE,WAAmB;IAC5D,IAAI;QACF,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7C,uCAAY,OAAO,CAAC,OAAO,CAAC,KAAE,UAAU,IAAG;KAC5C;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,EAAS,CAAC;KAClB;AACH,CAAC;AAVD,gCAUC"}
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@monkeyplus/flow",
3
+ "version": "1.0.0",
4
+ "description": "Utils hapi",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "watch": "tsc -w",
10
+ "test": "jest",
11
+ "prepare": "yarn build"
12
+ },
13
+ "author": "Andres Navarrete",
14
+ "license": "MIT",
15
+ "files": [
16
+ "dist/**/*"
17
+ ],
18
+ "devDependencies": {
19
+ "@types/ramda": "^0.27.14"
20
+ },
21
+ "dependencies": {
22
+ "@monkeyplus/flow-core": "^2.0.4",
23
+ "ramda": "^0.27.1"
24
+ },
25
+ "gitHead": "4dd293dde8aa450174cc9e6d8f4c144b300110d7"
26
+ }