@enonic/nextjs-adapter 3.2.0-B1 → 3.2.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/guillotine/fetchContentData.d.ts +2 -2
- package/guillotine/fetchContentData.js.map +1 -1
- package/guillotine/fetchFromApi.js +3 -3
- package/guillotine/fetchFromApi.js.map +1 -1
- package/guillotine/fetchMetaData.d.ts +2 -2
- package/guillotine/fetchMetaData.js.map +1 -1
- package/guillotine/getParentRegion.js +2 -2
- package/guillotine/getParentRegion.js.map +1 -1
- package/package.json +19 -19
- package/src/guillotine/fetchContentData.ts +9 -4
- package/src/guillotine/fetchFromApi.ts +3 -3
- package/src/guillotine/fetchMetaData.ts +2 -2
- package/src/guillotine/getParentRegion.ts +2 -2
- package/src/guillotine/processComponentConfig.ts +2 -2
- package/src/types/guillotine.ts +3 -2
- package/src/types/index.ts +7 -5
- package/types/guillotine.d.ts +3 -2
- package/types/index.d.ts +5 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { ContentResult, LocaleMapping } from '../types';
|
|
2
|
-
export declare const fetchContentData: <Content = Record<string, unknown>>(contentApiUrl: string, xpContentPath: string, mapping: LocaleMapping, query: string, variables?:
|
|
1
|
+
import type { ContentApiBaseBodyVariables, ContentResult, LocaleMapping, GuillotineRequestHeaders } from '../types';
|
|
2
|
+
export declare const fetchContentData: <Content = Record<string, unknown>>(contentApiUrl: string, xpContentPath: string, mapping: LocaleMapping, query: string, variables?: ContentApiBaseBodyVariables, headers?: GuillotineRequestHeaders) => Promise<ContentResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchContentData.js","sourceRoot":"","sources":["../src/guillotine/fetchContentData.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fetchContentData.js","sourceRoot":"","sources":["../src/guillotine/fetchContentData.ts"],"names":[],"mappings":";;;;;;;;;AAQA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,aAAqB,EACrB,aAAqB,EACrB,OAAsB,EACtB,KAAa,EACb,SAAuC,EACvC,OAAkC,EACZ,EAAE;IACxB,MAAM,IAAI,GAAuB,EAAC,KAAK,EAAC,CAAC;IACzC,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAyB,aAAa,EAAE,OAAO,EAAE;QACzF,IAAI;QACJ,OAAO;KACV,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC;IAC1B,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,qCAAqC;YACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;SAC1C,CAAC;IACN,CAAC;AACL,CAAC,CAAA,CAAC"}
|
|
@@ -65,11 +65,11 @@ function mergeHeaders(mapping, headers) {
|
|
|
65
65
|
'Content-Type': 'application/json',
|
|
66
66
|
});
|
|
67
67
|
if (headers) {
|
|
68
|
-
|
|
68
|
+
Object.keys(headers).forEach((headersKey) => {
|
|
69
69
|
newHeaders.set(headersKey, headers[headersKey]);
|
|
70
|
-
}
|
|
71
|
-
// append last to make sure it is not overwritten
|
|
70
|
+
});
|
|
72
71
|
}
|
|
72
|
+
// append last to make sure it is not overwritten
|
|
73
73
|
newHeaders.set('X-Guillotine-SiteKey', mapping.site);
|
|
74
74
|
return newHeaders;
|
|
75
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchFromApi.js","sourceRoot":"","sources":["../src/guillotine/fetchFromApi.ts"],"names":[],"mappings":";;;;;;;;;AAEA,oBAAoB;AACpB,MAAM,UAAgB,YAAY,CAC9B,MAAc,EACd,OAAsB,EACtB,OAAsB;;QAGtB,MAAM,IAAI,GAAG;YACT,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,MAAM;YACjC,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1D,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;YAChD,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;YACnB,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;SACxB,CAAC;QAEF,IAAI,GAA6B,CAAC;QAClC,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,IAAmB,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,CAAC,CAAC,OAAO;aACrB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG,CAAC,MAAM;gBAChB,OAAO,EAAE,mCAAmC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI;aACnE,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,IAAkC,CAAC;QACvC,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,8CAA8C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;aAC5F,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,wDAAwD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;aACtG,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,sDAAsD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;aACxF,CAAC,CAAC,CAAC;QACR,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA;AAED,SAAS,YAAY,CAAC,OAAsB,EAAE,OAAqB;IAC/D,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC;QAC3B,QAAQ,EAAE,kBAAkB;QAC5B,cAAc,EAAE,kBAAkB;KACrC,CAAC,CAAC;IACH,IAAI,OAAO,EAAE,CAAC;QACV,
|
|
1
|
+
{"version":3,"file":"fetchFromApi.js","sourceRoot":"","sources":["../src/guillotine/fetchFromApi.ts"],"names":[],"mappings":";;;;;;;;;AAEA,oBAAoB;AACpB,MAAM,UAAgB,YAAY,CAC9B,MAAc,EACd,OAAsB,EACtB,OAAsB;;QAGtB,MAAM,IAAI,GAAG;YACT,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,MAAM;YACjC,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1D,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;YAChD,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;YACnB,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;SACxB,CAAC;QAEF,IAAI,GAA6B,CAAC;QAClC,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,IAAmB,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,CAAC,CAAC,OAAO;aACrB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG,CAAC,MAAM;gBAChB,OAAO,EAAE,mCAAmC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI;aACnE,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,IAAkC,CAAC;QACvC,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,8CAA8C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;aAC5F,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,wDAAwD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;aACtG,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,sDAAsD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;aACxF,CAAC,CAAC,CAAC;QACR,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA;AAED,SAAS,YAAY,CAAC,OAAsB,EAAE,OAAqB;IAC/D,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC;QAC3B,QAAQ,EAAE,kBAAkB;QAC5B,cAAc,EAAE,kBAAkB;KACrC,CAAC,CAAC;IACH,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACxC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IACD,iDAAiD;IACjD,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { MetaResult, LocaleMapping } from '../types';
|
|
2
|
-
export declare const fetchMetaData: (contentApiUrl: string, xpContentPath: string, mapping: LocaleMapping, headers?:
|
|
1
|
+
import type { MetaResult, LocaleMapping, GuillotineRequestHeaders } from '../types';
|
|
2
|
+
export declare const fetchMetaData: (contentApiUrl: string, xpContentPath: string, mapping: LocaleMapping, headers?: GuillotineRequestHeaders) => Promise<MetaResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchMetaData.js","sourceRoot":"","sources":["../src/guillotine/fetchMetaData.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,aAAqB,EACrB,aAAqB,EACrB,OAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"fetchMetaData.js","sourceRoot":"","sources":["../src/guillotine/fetchMetaData.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,aAAqB,EACrB,aAAqB,EACrB,OAAsB,EACtB,OAAkC,EACf,EAAE;;IACrB,MAAM,IAAI,GAAuB;QAC7B,KAAK,EAAE,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACxC,SAAS,EAAE;YACP,IAAI,EAAE,aAAa;SACtB;KACJ,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAa,aAAa,EAAE,OAAO,EAAE;QACzE,IAAI;QACJ,OAAO;KACV,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC;IACtB,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,IAAI,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,0CAAE,GAAG;SACpC,CAAC;IACN,CAAC;AACL,CAAC,CAAA,CAAC"}
|
|
@@ -18,7 +18,7 @@ export function getParentRegion(source, contentType, cmpPath, components = [], c
|
|
|
18
18
|
currentTree[regionName] = currentRegion;
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
throw `Region [${regionName}] was not found
|
|
21
|
+
throw new Error(`Region [${regionName}] was not found`);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
if (i < cmpPath.length - 1) {
|
|
@@ -27,7 +27,7 @@ export function getParentRegion(source, contentType, cmpPath, components = [], c
|
|
|
27
27
|
return cmp.type === XP_COMPONENT_TYPE.LAYOUT && prefixFragmentCmpPath(contentType, cmp.path) === parentPath;
|
|
28
28
|
});
|
|
29
29
|
if (!layout) {
|
|
30
|
-
throw `Layout [${parentPath}] not found among components, but needed for component [${JSON.stringify(cmpPath, null, 2)}]
|
|
30
|
+
throw new Error(`Layout [${parentPath}] not found among components, but needed for component [${JSON.stringify(cmpPath, null, 2)}]`);
|
|
31
31
|
}
|
|
32
32
|
if (!layout.regions) {
|
|
33
33
|
layout.regions = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getParentRegion.js","sourceRoot":"","sources":["../src/guillotine/getParentRegion.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAG9D,MAAM,UAAU,eAAe,CAC3B,MAAkB,EAClB,WAAmB,EACnB,OAAuB,EACvB,aAA8B,EAAE,EAChC,aAAyB;IAEzB,IAAI,WAAW,GAAe,MAAM,CAAC;IACrC,IAAI,aAAqC,CAAC;IAC1C,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;QACvC,UAAU,IAAI,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9D,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,GAAG;oBACZ,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,EAAE;iBACjB,CAAC;gBACF,WAAW,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,MAAM,WAAW,UAAU,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"getParentRegion.js","sourceRoot":"","sources":["../src/guillotine/getParentRegion.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAG9D,MAAM,UAAU,eAAe,CAC3B,MAAkB,EAClB,WAAmB,EACnB,OAAuB,EACvB,aAA8B,EAAE,EAChC,aAAyB;IAEzB,IAAI,WAAW,GAAe,MAAM,CAAC;IACrC,IAAI,aAAqC,CAAC;IAC1C,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;QACvC,UAAU,IAAI,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9D,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,GAAG;oBACZ,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,EAAE;iBACjB,CAAC;gBACF,WAAW,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,iBAAiB,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,gEAAgE;YAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAkB,EAAE,EAAE;gBAClD,OAAO,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,qBAAqB,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;YAChH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,2DAA2D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YACzI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;YACxB,CAAC;YACD,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;QACjC,CAAC;IACL,CAAC,CAAC,MAAM;IAER,OAAO,aAAa,CAAC;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enonic/nextjs-adapter",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Pavel Milkevich <pmi@enonic.com>",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"build": "tsc",
|
|
41
41
|
"check:types": "tsc --noEmit",
|
|
42
42
|
"madge": "madge -i docs/madge.png -x '(constants|env)\\.ts' src/index.ts",
|
|
43
|
-
"lint": "eslint --quiet src",
|
|
43
|
+
"lint": "eslint --quiet --cache src",
|
|
44
44
|
"lint:fix": "eslint --fix src",
|
|
45
45
|
"prebuild": "npm run clean",
|
|
46
46
|
"prepack": "concurrently -c auto -g --timings npm:test npm:lint npm:build",
|
|
@@ -51,42 +51,42 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@enonic/react-components": "^5.0.1",
|
|
54
|
-
"@formatjs/intl-localematcher": "^0.
|
|
54
|
+
"@formatjs/intl-localematcher": "^0.6.1",
|
|
55
55
|
"gqlmin": "^0.2.2",
|
|
56
|
-
"html-react-parser": "^5.
|
|
56
|
+
"html-react-parser": "^5.2.2",
|
|
57
57
|
"negotiator": "^1.0.0",
|
|
58
|
-
"next": "^15.
|
|
58
|
+
"next": "^15.2.4",
|
|
59
59
|
"react": "18.3.1",
|
|
60
60
|
"react-dom": "18.3.1",
|
|
61
61
|
"unescape": "^1.0.1"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@babel/core": "^7.26.
|
|
65
|
-
"@babel/preset-env": "^7.26.
|
|
66
|
-
"@edge-runtime/jest-environment": "^
|
|
67
|
-
"@enonic-types/core": "^7.
|
|
68
|
-
"@enonic/eslint-config": "^
|
|
64
|
+
"@babel/core": "^7.26.10",
|
|
65
|
+
"@babel/preset-env": "^7.26.9",
|
|
66
|
+
"@edge-runtime/jest-environment": "^4.0.0",
|
|
67
|
+
"@enonic-types/core": "^7.15.1",
|
|
68
|
+
"@enonic/eslint-config": "^2.0.1",
|
|
69
69
|
"@testing-library/jest-dom": "^6.6.3",
|
|
70
|
-
"@testing-library/react": "^16.0
|
|
70
|
+
"@testing-library/react": "^16.2.0",
|
|
71
71
|
"@types/negotiator": "^0.6.3",
|
|
72
|
-
"@types/node": "^22.
|
|
72
|
+
"@types/node": "^22.13.14",
|
|
73
73
|
"@types/react": "^18.3.12",
|
|
74
74
|
"@types/react-dom": "^18.3.1",
|
|
75
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
76
|
-
"@typescript-eslint/parser": "^
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "^8.29.0",
|
|
76
|
+
"@typescript-eslint/parser": "^8.29.0",
|
|
77
77
|
"babel-jest": "^29.7.0",
|
|
78
|
-
"concurrently": "^9.
|
|
78
|
+
"concurrently": "^9.1.2",
|
|
79
79
|
"cpy-cli": "^5.0.0",
|
|
80
80
|
"del-cli": "^6.0.0",
|
|
81
|
-
"eslint": "^
|
|
82
|
-
"eslint-plugin-react": "^7.37.
|
|
81
|
+
"eslint": "^9.16.0",
|
|
82
|
+
"eslint-plugin-react": "^7.37.4",
|
|
83
83
|
"jest": "^29.7.0",
|
|
84
84
|
"jest-environment-jsdom": "^29.7.0",
|
|
85
85
|
"madge": "^8.0.0",
|
|
86
86
|
"mkdirp": "^3.0.1",
|
|
87
|
-
"ts-jest": "^29.
|
|
87
|
+
"ts-jest": "^29.3.0",
|
|
88
88
|
"ts-node": "^10.9.2",
|
|
89
|
-
"typescript": "^5.
|
|
89
|
+
"typescript": "^5.8.2"
|
|
90
90
|
},
|
|
91
91
|
"types": "index.d.ts"
|
|
92
92
|
}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
ContentApiBaseBody,
|
|
3
|
+
ContentApiBaseBodyVariables,
|
|
4
|
+
ContentResult,
|
|
5
|
+
LocaleMapping,
|
|
6
|
+
GuillotineRequestHeaders,
|
|
7
|
+
} from '../types';
|
|
3
8
|
|
|
4
9
|
import {fetchGuillotine} from './fetchGuillotine';
|
|
5
10
|
|
|
@@ -9,8 +14,8 @@ export const fetchContentData = async <Content = Record<string, unknown>>(
|
|
|
9
14
|
xpContentPath: string,
|
|
10
15
|
mapping: LocaleMapping,
|
|
11
16
|
query: string,
|
|
12
|
-
variables?:
|
|
13
|
-
headers?:
|
|
17
|
+
variables?: ContentApiBaseBodyVariables,
|
|
18
|
+
headers?: GuillotineRequestHeaders,
|
|
14
19
|
): Promise<ContentResult> => {
|
|
15
20
|
const body: ContentApiBaseBody = {query};
|
|
16
21
|
if (variables && Object.keys(variables).length > 0) {
|
|
@@ -66,11 +66,11 @@ function mergeHeaders(mapping: LocaleMapping, headers?: HeadersInit): Headers {
|
|
|
66
66
|
'Content-Type': 'application/json',
|
|
67
67
|
});
|
|
68
68
|
if (headers) {
|
|
69
|
-
|
|
69
|
+
Object.keys(headers).forEach((headersKey) => {
|
|
70
70
|
newHeaders.set(headersKey, headers[headersKey]);
|
|
71
|
-
}
|
|
72
|
-
// append last to make sure it is not overwritten
|
|
71
|
+
});
|
|
73
72
|
}
|
|
73
|
+
// append last to make sure it is not overwritten
|
|
74
74
|
newHeaders.set('X-Guillotine-SiteKey', mapping.site);
|
|
75
75
|
return newHeaders;
|
|
76
76
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {ContentApiBaseBody, MetaResult, LocaleMapping} from '../types';
|
|
1
|
+
import type {ContentApiBaseBody, MetaResult, LocaleMapping, GuillotineRequestHeaders} from '../types';
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import {getMetaQuery, pageFragmentQuery} from './getMetaData';
|
|
@@ -9,7 +9,7 @@ export const fetchMetaData = async (
|
|
|
9
9
|
contentApiUrl: string,
|
|
10
10
|
xpContentPath: string,
|
|
11
11
|
mapping: LocaleMapping,
|
|
12
|
-
headers?:
|
|
12
|
+
headers?: GuillotineRequestHeaders,
|
|
13
13
|
): Promise<MetaResult> => {
|
|
14
14
|
const body: ContentApiBaseBody = {
|
|
15
15
|
query: getMetaQuery(pageFragmentQuery()),
|
|
@@ -30,7 +30,7 @@ export function getParentRegion(
|
|
|
30
30
|
};
|
|
31
31
|
currentTree[regionName] = currentRegion;
|
|
32
32
|
} else {
|
|
33
|
-
throw `Region [${regionName}] was not found
|
|
33
|
+
throw new Error(`Region [${regionName}] was not found`);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -41,7 +41,7 @@ export function getParentRegion(
|
|
|
41
41
|
return cmp.type === XP_COMPONENT_TYPE.LAYOUT && prefixFragmentCmpPath(contentType, cmp.path) === parentPath;
|
|
42
42
|
});
|
|
43
43
|
if (!layout) {
|
|
44
|
-
throw `Layout [${parentPath}] not found among components, but needed for component [${JSON.stringify(cmpPath, null, 2)}]
|
|
44
|
+
throw new Error(`Layout [${parentPath}] not found among components, but needed for component [${JSON.stringify(cmpPath, null, 2)}]`);
|
|
45
45
|
}
|
|
46
46
|
if (!layout.regions) {
|
|
47
47
|
layout.regions = {};
|
|
@@ -16,7 +16,7 @@ export function processComponentConfig(
|
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
18
|
let config;
|
|
19
|
-
const configArray:
|
|
19
|
+
const configArray: object[] = [];
|
|
20
20
|
if ('configAsJson' in cmpData && cmpData.configAsJson && cmpData.configAsJson[myAppNameDashed]) {
|
|
21
21
|
config = cmpData.configAsJson[myAppNameDashed][cmpName];
|
|
22
22
|
if (config) {
|
|
@@ -35,4 +35,4 @@ export function processComponentConfig(
|
|
|
35
35
|
cmpData.config = Object.assign({}, ...configArray);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
}
|
|
38
|
+
}
|
package/src/types/guillotine.ts
CHANGED
|
@@ -65,6 +65,7 @@ export interface FetchContentResult extends Result {
|
|
|
65
65
|
// Seems like NodeJS.fetch lowercases all headers, so we need to lowercase the
|
|
66
66
|
// header names here.
|
|
67
67
|
export interface GuillotineRequestHeaders {
|
|
68
|
+
[key: string]: string;
|
|
68
69
|
Cookie?: string
|
|
69
70
|
locale: string
|
|
70
71
|
locales: string
|
|
@@ -384,8 +385,8 @@ interface XData_base_ApplicationConfig {
|
|
|
384
385
|
|
|
385
386
|
interface XData_base_gpsInfo_DataConfig {
|
|
386
387
|
geoPoint: GeoPoint
|
|
387
|
-
altitude:
|
|
388
|
-
direction:
|
|
388
|
+
altitude: string
|
|
389
|
+
direction: string
|
|
389
390
|
}
|
|
390
391
|
|
|
391
392
|
interface XData_media_ApplicationConfig {
|
package/src/types/index.ts
CHANGED
|
@@ -10,11 +10,13 @@ export type * from './util';
|
|
|
10
10
|
|
|
11
11
|
// Shape of content base-data API body
|
|
12
12
|
export interface ContentApiBaseBody {
|
|
13
|
-
query?: string,
|
|
14
|
-
variables?:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
query?: string, // Override the default base-data query
|
|
14
|
+
variables?: ContentApiBaseBodyVariables // GraphQL variables inserted into the query
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface ContentApiBaseBodyVariables {
|
|
18
|
+
path?: string, // Full content item _path
|
|
19
|
+
[key: string]: string | number | undefined,
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
export interface ContentPathItem {
|
package/types/guillotine.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export interface FetchContentResult extends Result {
|
|
|
38
38
|
page: PageComponent | null;
|
|
39
39
|
}
|
|
40
40
|
export interface GuillotineRequestHeaders {
|
|
41
|
+
[key: string]: string;
|
|
41
42
|
Cookie?: string;
|
|
42
43
|
locale: string;
|
|
43
44
|
locales: string;
|
|
@@ -302,8 +303,8 @@ interface XData_base_ApplicationConfig {
|
|
|
302
303
|
}
|
|
303
304
|
interface XData_base_gpsInfo_DataConfig {
|
|
304
305
|
geoPoint: GeoPoint;
|
|
305
|
-
altitude:
|
|
306
|
-
direction:
|
|
306
|
+
altitude: string;
|
|
307
|
+
direction: string;
|
|
307
308
|
}
|
|
308
309
|
interface XData_media_ApplicationConfig {
|
|
309
310
|
imageInfo: XData_media_imageInfo_DataConfig;
|
package/types/index.d.ts
CHANGED
|
@@ -6,10 +6,11 @@ export type * from './next';
|
|
|
6
6
|
export type * from './util';
|
|
7
7
|
export interface ContentApiBaseBody {
|
|
8
8
|
query?: string;
|
|
9
|
-
variables?:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
variables?: ContentApiBaseBodyVariables;
|
|
10
|
+
}
|
|
11
|
+
export interface ContentApiBaseBodyVariables {
|
|
12
|
+
path?: string;
|
|
13
|
+
[key: string]: string | number | undefined;
|
|
13
14
|
}
|
|
14
15
|
export interface ContentPathItem {
|
|
15
16
|
contentPath: string[];
|