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, _x0, _x1, _x10) { 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(_x11, _x12) { return _ref4.apply(this, arguments); }; }(); var _default = exports.default = buildPages; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwibiIsInQiLCJyIiwibyIsImEiLCJjIiwiaSIsInUiLCJ2YWx1ZSIsImRvbmUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJjcmVhdGVQYWdlIiwiX3JlZiIsImFwaSIsImNvZGVuYW1lIiwicGF0aFByZWZpeCIsIm9wdGlvbnMiLCJfZGF0YSRrb250ZW50SXRlbVBhZ2UiLCJpc1ByZXZpZXciLCJwcmV2aWV3TW9kZSIsInByb2Nlc3MiLCJlbnYiLCJORVRMSUZZIiwiZGF0YSIsImdyYXBocWwiLCJyZXBvcnRlciIsInBhbmljIiwiY29uY2F0IiwidXJsIiwia29udGVudEl0ZW1QYWdlIiwic3lzdGVtIiwiZWxlbWVudHMiLCJhY3Rpb25zIiwicGF0aCIsImNvbXBvbmVudCIsImN3ZCIsImNvbnRleHQiLCJjcmVhdGVOb2RlIiwiaWQiLCJjcmVhdGVOb2RlSWQiLCJwYXJlbnQiLCJpbnRlcm5hbCIsInR5cGUiLCJjb250ZW50RGlnZXN0IiwiY3JlYXRlQ29udGVudERpZ2VzdCIsInN1YnBhZ2VzIiwiX2RhdGEka29udGVudEl0ZW1QYWdlMiIsInN1YlBhZ2VzUGF0aFByZWZpeCIsInByb2Nlc3NTdWJQYWdlcyIsIl94IiwiX3gyIiwiX3gzIiwiX3g0IiwiY3JlYXRlUGFnZVRyZWVJdGVtIiwiX3JlZjIiLCJrb250ZW50SXRlbVBhZ2VUcmVlSXRlbSIsInBhdGhfcHJlZml4IiwiX3g1IiwiX3g2IiwiX3g3IiwiX3g4IiwiX3JlZjMiLCJzdWJQYWdlcyIsImFsbCIsIm1hcCIsInN1YlBhZ2UiLCJfX3R5cGVuYW1lIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiX3g5IiwiX3gwIiwiX3gxIiwiX3gxMCIsImJ1aWxkUGFnZXMiLCJfcmVmNCIsIl9kYXRhJGtvbnRlbnRJdGVtSG9tZSIsImRpc2FibGVQYWdlR2VuZXJhdGlvbiIsImhvbWVwYWdlQ29kZW5hbWUiLCJrb250ZW50SXRlbUhvbWVwYWdlIiwiX3gxMSIsIl94MTIiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyJjcmVhdGVQYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVQYWdlc0FyZ3MsIEdhdHNieU5vZGUgfSBmcm9tICdnYXRzYnknO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBTb25hclRoZW1lT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgY3JlYXRlUGFnZSA9IGFzeW5jIChcbiAgYXBpOiBDcmVhdGVQYWdlc0FyZ3MsXG4gIGNvZGVuYW1lOiBzdHJpbmcsXG4gIHBhdGhQcmVmaXg6IHN0cmluZyxcbiAgb3B0aW9uczogU29uYXJUaGVtZU9wdGlvbnNcbikgPT4ge1xuICBjb25zdCBpc1ByZXZpZXcgPSBvcHRpb25zLnByZXZpZXdNb2RlICYmIHByb2Nlc3MuZW52Lk5FVExJRlkgPT09ICd0cnVlJztcbiAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBhcGkuZ3JhcGhxbDxRdWVyaWVzLlBhZ2VDcmVhdGlvblF1ZXJ5LCBRdWVyaWVzLlBhZ2VDcmVhdGlvblF1ZXJ5VmFyaWFibGVzPihcbiAgICAvKiBHcmFwaFFMICovIGBcbiAgICAgIHF1ZXJ5IFBhZ2VDcmVhdGlvbigkY29kZW5hbWU6IFN0cmluZyEpIHtcbiAgICAgICAga29udGVudEl0ZW1QYWdlKHN5c3RlbTogeyBjb2RlbmFtZTogeyBlcTogJGNvZGVuYW1lIH0gfSkge1xuICAgICAgICAgIHN5c3RlbSB7XG4gICAgICAgICAgICBjb2RlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbGVtZW50cyB7XG4gICAgICAgICAgICB1cmwge1xuICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3VicGFnZXMge1xuICAgICAgICAgICAgICB2YWx1ZSB7XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICAgIC4uLiBvbiBrb250ZW50X2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgc3lzdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZW5hbWVcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICAgIHsgY29kZW5hbWUgfVxuICApO1xuXG4gIGlmICghZGF0YSkge1xuICAgIGFwaS5yZXBvcnRlci5wYW5pYyhgUGFnZSBub3QgZm91bmQ6ICR7Y29kZW5hbWV9YCk7XG4gIH1cblxuICBjb25zdCB1cmwgPSBpc1ByZXZpZXdcbiAgICA/IGAvJHtkYXRhLmtvbnRlbnRJdGVtUGFnZSEuc3lzdGVtLmNvZGVuYW1lfWBcbiAgICA6IGAke3BhdGhQcmVmaXh9JHtkYXRhLmtvbnRlbnRJdGVtUGFnZSEuZWxlbWVudHMudXJsLnZhbHVlfWA7XG5cbiAgYXBpLmFjdGlvbnMuY3JlYXRlUGFnZSh7XG4gICAgcGF0aDogdXJsLFxuICAgIGNvbXBvbmVudDogcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksICdzcmMvdGVtcGxhdGVzL3BhZ2UudHN4JyksXG4gICAgY29udGV4dDoge1xuICAgICAgY29kZW5hbWUsXG4gICAgfSxcbiAgfSk7XG5cbiAgLy8gV2UgbmVlZCB0byBhbHNvIGNyZWF0ZSB0aGUgS2VudGljb0xpbmsgbm9kZSB0byBiZSBhYmxlIHRvIHJldHJpZXZlIGFsbCB0aGVcbiAgLy8gVXJscyBmcm9tIHRoZSB3ZWJzaXRlLCBhbmQgbWFwIHRoZW0gdG8gY29udGVudCBpdGVtcyAocGFnZXMgLyBob21lcGFnZSAvIC4uLilcbiAgYXBpLmFjdGlvbnMuY3JlYXRlTm9kZSh7XG4gICAgaWQ6IGFwaS5jcmVhdGVOb2RlSWQodXJsKSxcbiAgICBjb2RlbmFtZSxcbiAgICB1cmwsXG4gICAgcGFyZW50OiBudWxsLFxuICAgIGludGVybmFsOiB7XG4gICAgICB0eXBlOiAnS2VudGljb0xpbmsnLFxuICAgICAgY29udGVudERpZ2VzdDogYXBpLmNyZWF0ZUNvbnRlbnREaWdlc3QoeyBjb2RlbmFtZSwgdXJsIH0pLFxuICAgIH0sXG4gIH0pO1xuXG4gIGlmIChkYXRhLmtvbnRlbnRJdGVtUGFnZT8uZWxlbWVudHMuc3VicGFnZXM/LnZhbHVlKSB7XG4gICAgY29uc3Qgc3ViUGFnZXNQYXRoUHJlZml4ID0gYCR7dXJsfS9gO1xuICAgIGF3YWl0IHByb2Nlc3NTdWJQYWdlcyhcbiAgICAgIGFwaSxcbiAgICAgIGRhdGEua29udGVudEl0ZW1QYWdlPy5lbGVtZW50cy5zdWJwYWdlcy52YWx1ZSxcbiAgICAgIHN1YlBhZ2VzUGF0aFByZWZpeCxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG59O1xuXG5jb25zdCBjcmVhdGVQYWdlVHJlZUl0ZW0gPSBhc3luYyAoXG4gIGFwaTogQ3JlYXRlUGFnZXNBcmdzLFxuICBjb2RlbmFtZTogc3RyaW5nLFxuICBwYXRoUHJlZml4OiBzdHJpbmcsXG4gIG9wdGlvbnM6IFNvbmFyVGhlbWVPcHRpb25zXG4pID0+IHtcbiAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBhcGkuZ3JhcGhxbDxcbiAgICBRdWVyaWVzLlBhZ2VUcmVlSXRlbUNyZWF0aW9uUXVlcnksXG4gICAgUXVlcmllcy5QYWdlVHJlZUl0ZW1DcmVhdGlvblF1ZXJ5VmFyaWFibGVzXG4gID4oXG4gICAgLyogR3JhcGhRTCAqLyBgXG4gICAgICBxdWVyeSBQYWdlVHJlZUl0ZW1DcmVhdGlvbigkY29kZW5hbWU6IFN0cmluZyEpIHtcbiAgICAgICAga29udGVudEl0ZW1QYWdlVHJlZUl0ZW0oc3lzdGVtOiB7IGNvZGVuYW1lOiB7IGVxOiAkY29kZW5hbWUgfSB9KSB7XG4gICAgICAgICAgZWxlbWVudHMge1xuICAgICAgICAgICAgcGF0aF9wcmVmaXgge1xuICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3VicGFnZXMge1xuICAgICAgICAgICAgICB2YWx1ZSB7XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICAgIC4uLiBvbiBrb250ZW50X2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgc3lzdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZW5hbWVcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICAgIHsgY29kZW5hbWUgfVxuICApO1xuXG4gIGlmICghZGF0YSkge1xuICAgIGFwaS5yZXBvcnRlci5wYW5pYyhgUGFnZVRyZWVJdGVtIG5vdCBmb3VuZDogJHtjb2RlbmFtZX1gKTtcbiAgfVxuXG4gIGNvbnN0IHN1YlBhZ2VzUGF0aFByZWZpeCA9IGAke3BhdGhQcmVmaXh9JHtcbiAgICBkYXRhIS5rb250ZW50SXRlbVBhZ2VUcmVlSXRlbSEuZWxlbWVudHMucGF0aF9wcmVmaXgudmFsdWVcbiAgfS9gO1xuICBhd2FpdCBwcm9jZXNzU3ViUGFnZXMoXG4gICAgYXBpLFxuICAgIGRhdGEhLmtvbnRlbnRJdGVtUGFnZVRyZWVJdGVtIS5lbGVtZW50cy5zdWJwYWdlcy52YWx1ZSxcbiAgICBzdWJQYWdlc1BhdGhQcmVmaXgsXG4gICAgb3B0aW9uc1xuICApO1xufTtcblxuY29uc3QgcHJvY2Vzc1N1YlBhZ2VzID0gYXN5bmMgKFxuICBhcGk6IENyZWF0ZVBhZ2VzQXJncyxcbiAgc3ViUGFnZXM6IChcbiAgICB8IHsgX190eXBlbmFtZTogJ2tvbnRlbnRfaXRlbV9wYWdlJzsgc3lzdGVtOiB7IGNvZGVuYW1lOiBzdHJpbmcgfSB9XG4gICAgfCB7IF9fdHlwZW5hbWU6ICdrb250ZW50X2l0ZW1fcGFnZV90cmVlX2l0ZW0nOyBzeXN0ZW06IHsgY29kZW5hbWU6IHN0cmluZyB9IH1cbiAgKVtdLFxuICBwYXRoUHJlZml4OiBzdHJpbmcsXG4gIG9wdGlvbnM6IFNvbmFyVGhlbWVPcHRpb25zXG4pID0+IHtcbiAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIHN1YlBhZ2VzLm1hcCgoc3ViUGFnZSkgPT4ge1xuICAgICAgc3dpdGNoIChzdWJQYWdlLl9fdHlwZW5hbWUpIHtcbiAgICAgICAgY2FzZSAna29udGVudF9pdGVtX3BhZ2UnOlxuICAgICAgICAgIHJldHVybiBjcmVhdGVQYWdlKGFwaSwgc3ViUGFnZS5zeXN0ZW0uY29kZW5hbWUsIHBhdGhQcmVmaXgsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlICdrb250ZW50X2l0ZW1fcGFnZV90cmVlX2l0ZW0nOlxuICAgICAgICAgIHJldHVybiBjcmVhdGVQYWdlVHJlZUl0ZW0oYXBpLCBzdWJQYWdlLnN5c3RlbS5jb2RlbmFtZSwgcGF0aFByZWZpeCwgb3B0aW9ucyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHR5cGVuYW1lOiAke0pTT04uc3RyaW5naWZ5KHN1YlBhZ2UpfWApO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG59O1xuXG4vKipcbiAqIFN0YXJ0aW5nIGZyb20gdGhlIGhvbWVwYWdlLFxuICogV2UgcGFyc2UgcmVjdXJzaXZlbHkgYWxsIHN1YnBhZ2VzIGFuZCBidWlsZCB0aGUgZnVsbCBuYXZpZ2F0aW9uIHRyZWUuXG4gKi9cbmNvbnN0IGJ1aWxkUGFnZXM6IEdhdHNieU5vZGVbJ2NyZWF0ZVBhZ2VzJ10gPSBhc3luYyAoYXBpLCBvcHRpb25zKSA9PiB7XG4gIGlmIChvcHRpb25zLmRpc2FibGVQYWdlR2VuZXJhdGlvbikge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGFwaS5ncmFwaHFsPFxuICAgIFF1ZXJpZXMuSG9tZXBhZ2VTdWJwYWdlc1F1ZXJ5LFxuICAgIFF1ZXJpZXMuSG9tZXBhZ2VTdWJwYWdlc1F1ZXJ5VmFyaWFibGVzXG4gID4oXG4gICAgLyogR3JhcGhRTCAqLyBgXG4gICAgICBxdWVyeSBIb21lcGFnZVN1YnBhZ2VzKCRjb2RlbmFtZTogU3RyaW5nISkge1xuICAgICAgICBrb250ZW50SXRlbUhvbWVwYWdlKHN5c3RlbTogeyBjb2RlbmFtZTogeyBlcTogJGNvZGVuYW1lIH0gfSkge1xuICAgICAgICAgIGVsZW1lbnRzIHtcbiAgICAgICAgICAgIHN1YnBhZ2VzIHtcbiAgICAgICAgICAgICAgdmFsdWUge1xuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgICAgICAuLi4gb24ga29udGVudF9pdGVtIHtcbiAgICAgICAgICAgICAgICAgIHN5c3RlbSB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGVuYW1lXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgICB7IGNvZGVuYW1lOiBvcHRpb25zLmhvbWVwYWdlQ29kZW5hbWUgYXMgc3RyaW5nIH1cbiAgKTtcblxuICBpZiAoZGF0YT8ua29udGVudEl0ZW1Ib21lcGFnZT8uZWxlbWVudHMuc3VicGFnZXMpIHtcbiAgICBhd2FpdCBwcm9jZXNzU3ViUGFnZXMoXG4gICAgICBhcGksXG4gICAgICBkYXRhLmtvbnRlbnRJdGVtSG9tZXBhZ2UuZWxlbWVudHMuc3VicGFnZXMudmFsdWUsXG4gICAgICAnLycsXG4gICAgICBvcHRpb25zIGFzIHVua25vd24gYXMgU29uYXJUaGVtZU9wdGlvbnNcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBidWlsZFBhZ2VzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFD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