UNPKG

@sonarsource/gatsby-theme-marketing

Version:

Gatsby theme for Sonar projects

116 lines (113 loc) 20.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _path = _interopRequireDefault(require("path")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var createPage = /*#__PURE__*/function () { var _ref = _asyncToGenerator(function* (api, codename, pathPrefix, options) { var _data$kontentItemPage; var isPreview = options.previewMode && process.env.NETLIFY === 'true'; var { data } = yield api.graphql(/* GraphQL */"\n query PageCreation($codename: String!) {\n kontentItemPage(system: { codename: { eq: $codename } }) {\n system {\n codename\n }\n elements {\n url {\n value\n }\n subpages {\n value {\n __typename\n ... on kontent_item {\n system {\n codename\n }\n }\n }\n }\n }\n }\n }\n ", { codename }); if (!data) { api.reporter.panic("Page not found: ".concat(codename)); } var url = isPreview ? "/".concat(data.kontentItemPage.system.codename) : "".concat(pathPrefix).concat(data.kontentItemPage.elements.url.value); api.actions.createPage({ path: url, component: _path.default.resolve(process.cwd(), 'src/templates/page.tsx'), context: { codename } }); // We need to also create the KenticoLink node to be able to retrieve all the // Urls from the website, and map them to content items (pages / homepage / ...) api.actions.createNode({ id: api.createNodeId(url), codename, url, parent: null, internal: { type: 'KenticoLink', contentDigest: api.createContentDigest({ codename, url }) } }); if ((_data$kontentItemPage = data.kontentItemPage) !== null && _data$kontentItemPage !== void 0 && (_data$kontentItemPage = _data$kontentItemPage.elements.subpages) !== null && _data$kontentItemPage !== void 0 && _data$kontentItemPage.value) { var _data$kontentItemPage2; var subPagesPathPrefix = "".concat(url, "/"); yield processSubPages(api, (_data$kontentItemPage2 = data.kontentItemPage) === null || _data$kontentItemPage2 === void 0 ? void 0 : _data$kontentItemPage2.elements.subpages.value, subPagesPathPrefix, options); } }); return function createPage(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); }; }(); var createPageTreeItem = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(function* (api, codename, pathPrefix, options) { var { data } = yield api.graphql(/* GraphQL */"\n query PageTreeItemCreation($codename: String!) {\n kontentItemPageTreeItem(system: { codename: { eq: $codename } }) {\n elements {\n path_prefix {\n value\n }\n subpages {\n value {\n __typename\n ... on kontent_item {\n system {\n codename\n }\n }\n }\n }\n }\n }\n }\n ", { codename }); if (!data) { api.reporter.panic("PageTreeItem not found: ".concat(codename)); } var subPagesPathPrefix = "".concat(pathPrefix).concat(data.kontentItemPageTreeItem.elements.path_prefix.value, "/"); yield processSubPages(api, data.kontentItemPageTreeItem.elements.subpages.value, subPagesPathPrefix, options); }); return function createPageTreeItem(_x5, _x6, _x7, _x8) { return _ref2.apply(this, arguments); }; }(); var processSubPages = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(function* (api, subPages, pathPrefix, options) { return yield Promise.all(subPages.map(subPage => { switch (subPage.__typename) { case 'kontent_item_page': return createPage(api, subPage.system.codename, pathPrefix, options); case 'kontent_item_page_tree_item': return createPageTreeItem(api, subPage.system.codename, pathPrefix, options); default: throw new Error("Invalid typename: ".concat(JSON.stringify(subPage))); } })); }); return function processSubPages(_x9, _x10, _x11, _x12) { return _ref3.apply(this, arguments); }; }(); /** * Starting from the homepage, * We parse recursively all subpages and build the full navigation tree. */ var buildPages = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(function* (api, options) { var _data$kontentItemHome; if (options.disablePageGeneration) { return; } var { data } = yield api.graphql(/* GraphQL */"\n query HomepageSubpages($codename: String!) {\n kontentItemHomepage(system: { codename: { eq: $codename } }) {\n elements {\n subpages {\n value {\n __typename\n ... on kontent_item {\n system {\n codename\n }\n }\n }\n }\n }\n }\n }\n ", { codename: options.homepageCodename }); if (data !== null && data !== void 0 && (_data$kontentItemHome = data.kontentItemHomepage) !== null && _data$kontentItemHome !== void 0 && _data$kontentItemHome.elements.subpages) { yield processSubPages(api, data.kontentItemHomepage.elements.subpages.value, '/', options); } }); return function buildPages(_x13, _x14) { return _ref4.apply(this, arguments); }; }(); var _default = exports.default = buildPages; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwibiIsInQiLCJyIiwibyIsImEiLCJjIiwiaSIsInUiLCJ2YWx1ZSIsImRvbmUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJjcmVhdGVQYWdlIiwiX3JlZiIsImFwaSIsImNvZGVuYW1lIiwicGF0aFByZWZpeCIsIm9wdGlvbnMiLCJfZGF0YSRrb250ZW50SXRlbVBhZ2UiLCJpc1ByZXZpZXciLCJwcmV2aWV3TW9kZSIsInByb2Nlc3MiLCJlbnYiLCJORVRMSUZZIiwiZGF0YSIsImdyYXBocWwiLCJyZXBvcnRlciIsInBhbmljIiwiY29uY2F0IiwidXJsIiwia29udGVudEl0ZW1QYWdlIiwic3lzdGVtIiwiZWxlbWVudHMiLCJhY3Rpb25zIiwicGF0aCIsImNvbXBvbmVudCIsImN3ZCIsImNvbnRleHQiLCJjcmVhdGVOb2RlIiwiaWQiLCJjcmVhdGVOb2RlSWQiLCJwYXJlbnQiLCJpbnRlcm5hbCIsInR5cGUiLCJjb250ZW50RGlnZXN0IiwiY3JlYXRlQ29udGVudERpZ2VzdCIsInN1YnBhZ2VzIiwiX2RhdGEka29udGVudEl0ZW1QYWdlMiIsInN1YlBhZ2VzUGF0aFByZWZpeCIsInByb2Nlc3NTdWJQYWdlcyIsIl94IiwiX3gyIiwiX3gzIiwiX3g0IiwiY3JlYXRlUGFnZVRyZWVJdGVtIiwiX3JlZjIiLCJrb250ZW50SXRlbVBhZ2VUcmVlSXRlbSIsInBhdGhfcHJlZml4IiwiX3g1IiwiX3g2IiwiX3g3IiwiX3g4IiwiX3JlZjMiLCJzdWJQYWdlcyIsImFsbCIsIm1hcCIsInN1YlBhZ2UiLCJfX3R5cGVuYW1lIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiX3g5IiwiX3gxMCIsIl94MTEiLCJfeDEyIiwiYnVpbGRQYWdlcyIsIl9yZWY0IiwiX2RhdGEka29udGVudEl0ZW1Ib21lIiwiZGlzYWJsZVBhZ2VHZW5lcmF0aW9uIiwiaG9tZXBhZ2VDb2RlbmFtZSIsImtvbnRlbnRJdGVtSG9tZXBhZ2UiLCJfeDEzIiwiX3gxNCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbImNyZWF0ZVBhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZVBhZ2VzQXJncywgR2F0c2J5Tm9kZSB9IGZyb20gJ2dhdHNieSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFNvbmFyVGhlbWVPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBjcmVhdGVQYWdlID0gYXN5bmMgKFxuICBhcGk6IENyZWF0ZVBhZ2VzQXJncyxcbiAgY29kZW5hbWU6IHN0cmluZyxcbiAgcGF0aFByZWZpeDogc3RyaW5nLFxuICBvcHRpb25zOiBTb25hclRoZW1lT3B0aW9uc1xuKSA9PiB7XG4gIGNvbnN0IGlzUHJldmlldyA9IG9wdGlvbnMucHJldmlld01vZGUgJiYgcHJvY2Vzcy5lbnYuTkVUTElGWSA9PT0gJ3RydWUnO1xuICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGFwaS5ncmFwaHFsPFF1ZXJpZXMuUGFnZUNyZWF0aW9uUXVlcnksIFF1ZXJpZXMuUGFnZUNyZWF0aW9uUXVlcnlWYXJpYWJsZXM+KFxuICAgIC8qIEdyYXBoUUwgKi8gYFxuICAgICAgcXVlcnkgUGFnZUNyZWF0aW9uKCRjb2RlbmFtZTogU3RyaW5nISkge1xuICAgICAgICBrb250ZW50SXRlbVBhZ2Uoc3lzdGVtOiB7IGNvZGVuYW1lOiB7IGVxOiAkY29kZW5hbWUgfSB9KSB7XG4gICAgICAgICAgc3lzdGVtIHtcbiAgICAgICAgICAgIGNvZGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGVsZW1lbnRzIHtcbiAgICAgICAgICAgIHVybCB7XG4gICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdWJwYWdlcyB7XG4gICAgICAgICAgICAgIHZhbHVlIHtcbiAgICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICAgICAgLi4uIG9uIGtvbnRlbnRfaXRlbSB7XG4gICAgICAgICAgICAgICAgICBzeXN0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBjb2RlbmFtZVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gICAgeyBjb2RlbmFtZSB9XG4gICk7XG5cbiAgaWYgKCFkYXRhKSB7XG4gICAgYXBpLnJlcG9ydGVyLnBhbmljKGBQYWdlIG5vdCBmb3VuZDogJHtjb2RlbmFtZX1gKTtcbiAgfVxuXG4gIGNvbnN0IHVybCA9IGlzUHJldmlld1xuICAgID8gYC8ke2RhdGEua29udGVudEl0ZW1QYWdlIS5zeXN0ZW0uY29kZW5hbWV9YFxuICAgIDogYCR7cGF0aFByZWZpeH0ke2RhdGEua29udGVudEl0ZW1QYWdlIS5lbGVtZW50cy51cmwudmFsdWV9YDtcblxuICBhcGkuYWN0aW9ucy5jcmVhdGVQYWdlKHtcbiAgICBwYXRoOiB1cmwsXG4gICAgY29tcG9uZW50OiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ3NyYy90ZW1wbGF0ZXMvcGFnZS50c3gnKSxcbiAgICBjb250ZXh0OiB7XG4gICAgICBjb2RlbmFtZSxcbiAgICB9LFxuICB9KTtcblxuICAvLyBXZSBuZWVkIHRvIGFsc28gY3JlYXRlIHRoZSBLZW50aWNvTGluayBub2RlIHRvIGJlIGFibGUgdG8gcmV0cmlldmUgYWxsIHRoZVxuICAvLyBVcmxzIGZyb20gdGhlIHdlYnNpdGUsIGFuZCBtYXAgdGhlbSB0byBjb250ZW50IGl0ZW1zIChwYWdlcyAvIGhvbWVwYWdlIC8gLi4uKVxuICBhcGkuYWN0aW9ucy5jcmVhdGVOb2RlKHtcbiAgICBpZDogYXBpLmNyZWF0ZU5vZGVJZCh1cmwpLFxuICAgIGNvZGVuYW1lLFxuICAgIHVybCxcbiAgICBwYXJlbnQ6IG51bGwsXG4gICAgaW50ZXJuYWw6IHtcbiAgICAgIHR5cGU6ICdLZW50aWNvTGluaycsXG4gICAgICBjb250ZW50RGlnZXN0OiBhcGkuY3JlYXRlQ29udGVudERpZ2VzdCh7IGNvZGVuYW1lLCB1cmwgfSksXG4gICAgfSxcbiAgfSk7XG5cbiAgaWYgKGRhdGEua29udGVudEl0ZW1QYWdlPy5lbGVtZW50cy5zdWJwYWdlcz8udmFsdWUpIHtcbiAgICBjb25zdCBzdWJQYWdlc1BhdGhQcmVmaXggPSBgJHt1cmx9L2A7XG4gICAgYXdhaXQgcHJvY2Vzc1N1YlBhZ2VzKFxuICAgICAgYXBpLFxuICAgICAgZGF0YS5rb250ZW50SXRlbVBhZ2U/LmVsZW1lbnRzLnN1YnBhZ2VzLnZhbHVlLFxuICAgICAgc3ViUGFnZXNQYXRoUHJlZml4LFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbn07XG5cbmNvbnN0IGNyZWF0ZVBhZ2VUcmVlSXRlbSA9IGFzeW5jIChcbiAgYXBpOiBDcmVhdGVQYWdlc0FyZ3MsXG4gIGNvZGVuYW1lOiBzdHJpbmcsXG4gIHBhdGhQcmVmaXg6IHN0cmluZyxcbiAgb3B0aW9uczogU29uYXJUaGVtZU9wdGlvbnNcbikgPT4ge1xuICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGFwaS5ncmFwaHFsPFxuICAgIFF1ZXJpZXMuUGFnZVRyZWVJdGVtQ3JlYXRpb25RdWVyeSxcbiAgICBRdWVyaWVzLlBhZ2VUcmVlSXRlbUNyZWF0aW9uUXVlcnlWYXJpYWJsZXNcbiAgPihcbiAgICAvKiBHcmFwaFFMICovIGBcbiAgICAgIHF1ZXJ5IFBhZ2VUcmVlSXRlbUNyZWF0aW9uKCRjb2RlbmFtZTogU3RyaW5nISkge1xuICAgICAgICBrb250ZW50SXRlbVBhZ2VUcmVlSXRlbShzeXN0ZW06IHsgY29kZW5hbWU6IHsgZXE6ICRjb2RlbmFtZSB9IH0pIHtcbiAgICAgICAgICBlbGVtZW50cyB7XG4gICAgICAgICAgICBwYXRoX3ByZWZpeCB7XG4gICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdWJwYWdlcyB7XG4gICAgICAgICAgICAgIHZhbHVlIHtcbiAgICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICAgICAgLi4uIG9uIGtvbnRlbnRfaXRlbSB7XG4gICAgICAgICAgICAgICAgICBzeXN0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBjb2RlbmFtZVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gICAgeyBjb2RlbmFtZSB9XG4gICk7XG5cbiAgaWYgKCFkYXRhKSB7XG4gICAgYXBpLnJlcG9ydGVyLnBhbmljKGBQYWdlVHJlZUl0ZW0gbm90IGZvdW5kOiAke2NvZGVuYW1lfWApO1xuICB9XG5cbiAgY29uc3Qgc3ViUGFnZXNQYXRoUHJlZml4ID0gYCR7cGF0aFByZWZpeH0ke1xuICAgIGRhdGEhLmtvbnRlbnRJdGVtUGFnZVRyZWVJdGVtIS5lbGVtZW50cy5wYXRoX3ByZWZpeC52YWx1ZVxuICB9L2A7XG4gIGF3YWl0IHByb2Nlc3NTdWJQYWdlcyhcbiAgICBhcGksXG4gICAgZGF0YSEua29udGVudEl0ZW1QYWdlVHJlZUl0ZW0hLmVsZW1lbnRzLnN1YnBhZ2VzLnZhbHVlLFxuICAgIHN1YlBhZ2VzUGF0aFByZWZpeCxcbiAgICBvcHRpb25zXG4gICk7XG59O1xuXG5jb25zdCBwcm9jZXNzU3ViUGFnZXMgPSBhc3luYyAoXG4gIGFwaTogQ3JlYXRlUGFnZXNBcmdzLFxuICBzdWJQYWdlczogKFxuICAgIHwgeyBfX3R5cGVuYW1lOiAna29udGVudF9pdGVtX3BhZ2UnOyBzeXN0ZW06IHsgY29kZW5hbWU6IHN0cmluZyB9IH1cbiAgICB8IHsgX190eXBlbmFtZTogJ2tvbnRlbnRfaXRlbV9wYWdlX3RyZWVfaXRlbSc7IHN5c3RlbTogeyBjb2RlbmFtZTogc3RyaW5nIH0gfVxuICApW10sXG4gIHBhdGhQcmVmaXg6IHN0cmluZyxcbiAgb3B0aW9uczogU29uYXJUaGVtZU9wdGlvbnNcbikgPT4ge1xuICByZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgc3ViUGFnZXMubWFwKChzdWJQYWdlKSA9PiB7XG4gICAgICBzd2l0Y2ggKHN1YlBhZ2UuX190eXBlbmFtZSkge1xuICAgICAgICBjYXNlICdrb250ZW50X2l0ZW1fcGFnZSc6XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVBhZ2UoYXBpLCBzdWJQYWdlLnN5c3RlbS5jb2RlbmFtZSwgcGF0aFByZWZpeCwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgJ2tvbnRlbnRfaXRlbV9wYWdlX3RyZWVfaXRlbSc6XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVBhZ2VUcmVlSXRlbShhcGksIHN1YlBhZ2Uuc3lzdGVtLmNvZGVuYW1lLCBwYXRoUHJlZml4LCBvcHRpb25zKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHlwZW5hbWU6ICR7SlNPTi5zdHJpbmdpZnkoc3ViUGFnZSl9YCk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcbn07XG5cbi8qKlxuICogU3RhcnRpbmcgZnJvbSB0aGUgaG9tZXBhZ2UsXG4gKiBXZSBwYXJzZSByZWN1cnNpdmVseSBhbGwgc3VicGFnZXMgYW5kIGJ1aWxkIHRoZSBmdWxsIG5hdmlnYXRpb24gdHJlZS5cbiAqL1xuY29uc3QgYnVpbGRQYWdlczogR2F0c2J5Tm9kZVsnY3JlYXRlUGFnZXMnXSA9IGFzeW5jIChhcGksIG9wdGlvbnMpID0+IHtcbiAgaWYgKG9wdGlvbnMuZGlzYWJsZVBhZ2VHZW5lcmF0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXBpLmdyYXBocWw8XG4gICAgUXVlcmllcy5Ib21lcGFnZVN1YnBhZ2VzUXVlcnksXG4gICAgUXVlcmllcy5Ib21lcGFnZVN1YnBhZ2VzUXVlcnlWYXJpYWJsZXNcbiAgPihcbiAgICAvKiBHcmFwaFFMICovIGBcbiAgICAgIHF1ZXJ5IEhvbWVwYWdlU3VicGFnZXMoJGNvZGVuYW1lOiBTdHJpbmchKSB7XG4gICAgICAgIGtvbnRlbnRJdGVtSG9tZXBhZ2Uoc3lzdGVtOiB7IGNvZGVuYW1lOiB7IGVxOiAkY29kZW5hbWUgfSB9KSB7XG4gICAgICAgICAgZWxlbWVudHMge1xuICAgICAgICAgICAgc3VicGFnZXMge1xuICAgICAgICAgICAgICB2YWx1ZSB7XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICAgIC4uLiBvbiBrb250ZW50X2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgc3lzdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZW5hbWVcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICAgIHsgY29kZW5hbWU6IG9wdGlvbnMuaG9tZXBhZ2VDb2RlbmFtZSBhcyBzdHJpbmcgfVxuICApO1xuXG4gIGlmIChkYXRhPy5rb250ZW50SXRlbUhvbWVwYWdlPy5lbGVtZW50cy5zdWJwYWdlcykge1xuICAgIGF3YWl0IHByb2Nlc3NTdWJQYWdlcyhcbiAgICAgIGFwaSxcbiAgICAgIGRhdGEua29udGVudEl0ZW1Ib21lcGFnZS5lbGVtZW50cy5zdWJwYWdlcy52YWx1ZSxcbiAgICAgICcvJyxcbiAgICAgIG9wdGlvbnMgYXMgdW5rbm93biBhcyBTb25hclRoZW1lT3B0aW9uc1xuICAgICk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkUGFnZXM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLEtBQUEsR0FB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