From c134be5ea0515cede7be6fde1e7aba1694cec37d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 Jan 2024 14:55:24 +0000 Subject: [PATCH] [ci] release --- .changeset/neat-lobsters-lick.md | 7 - packages/adapters/astro/CHANGELOG.md | 10 ++ packages/adapters/astro/package.json | 2 +- packages/adapters/astro/tsconfig.json | 4 +- packages/config/CHANGELOG.md | 6 + packages/config/package.json | 2 +- packages/config/tsconfig.json | 4 +- packages/contentlayer/tsconfig.json | 4 +- packages/explorer/CHANGELOG.md | 9 ++ packages/explorer/package.json | 2 +- .../src/core/content/hydrate/common.mts | 2 +- .../src/core/content/hydrate/index.mts | 5 +- .../core/content/hydrate/listing-pages.mts | 120 ++++++++++-------- .../core/content/hydrate/missing-fields.mts | 17 ++- .../src/core/content/hydrate/render.mts | 5 +- .../core/content/hydrate/same-language.mts | 67 ++++++---- .../src/core/content/hydrate/types.mts | 13 +- .../src/core/content/metadata/alternates.mts | 6 +- .../src/core/content/metadata/breadcrumb.mts | 5 +- .../src/core/content/repositories/index.mts | 9 +- packages/explorer/tsconfig.json | 4 +- 21 files changed, 188 insertions(+), 115 deletions(-) delete mode 100644 .changeset/neat-lobsters-lick.md diff --git a/.changeset/neat-lobsters-lick.md b/.changeset/neat-lobsters-lick.md deleted file mode 100644 index 56287e45..00000000 --- a/.changeset/neat-lobsters-lick.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@galactiks/astro-integration": patch -"@galactiks/config": patch -"@galactiks/explorer": patch ---- - -upgrade packages and fix duplicated page bug diff --git a/packages/adapters/astro/CHANGELOG.md b/packages/adapters/astro/CHANGELOG.md index e6753433..d567c137 100644 --- a/packages/adapters/astro/CHANGELOG.md +++ b/packages/adapters/astro/CHANGELOG.md @@ -1,5 +1,15 @@ # @galactiks/astro-integration +## 0.2.13 + +### Patch Changes + +- [`f8efe83`](https://github.com/thegalactiks/explorer/commit/f8efe83b0d724eeb239f3581c56ad1133282c3b0) Thanks [@emmanuelgautier](https://github.com/emmanuelgautier)! - upgrade packages and fix duplicated page bug + +- Updated dependencies [[`f8efe83`](https://github.com/thegalactiks/explorer/commit/f8efe83b0d724eeb239f3581c56ad1133282c3b0)]: + - @galactiks/config@0.2.9 + - @galactiks/explorer@0.2.12 + ## 0.2.12 ### Patch Changes diff --git a/packages/adapters/astro/package.json b/packages/adapters/astro/package.json index d7b83501..55a64644 100644 --- a/packages/adapters/astro/package.json +++ b/packages/adapters/astro/package.json @@ -1,6 +1,6 @@ { "name": "@galactiks/astro-integration", - "version": "0.2.12", + "version": "0.2.13", "description": "Galactiks Astro integration", "author": "thegalactiks", "types": "./dist/index.d.ts", diff --git a/packages/adapters/astro/tsconfig.json b/packages/adapters/astro/tsconfig.json index 151bc8a8..c4175083 100644 --- a/packages/adapters/astro/tsconfig.json +++ b/packages/adapters/astro/tsconfig.json @@ -7,6 +7,6 @@ "target": "ES2021", "module": "ES2022", "declarationDir": "./dist", - "outDir": "./dist" - } + "outDir": "./dist", + }, } diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 71dfd25e..5106495b 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,11 @@ # @galactiks/config +## 0.2.9 + +### Patch Changes + +- [`f8efe83`](https://github.com/thegalactiks/explorer/commit/f8efe83b0d724eeb239f3581c56ad1133282c3b0) Thanks [@emmanuelgautier](https://github.com/emmanuelgautier)! - upgrade packages and fix duplicated page bug + ## 0.2.8 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index 6064cb9e..5efc1031 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@galactiks/config", - "version": "0.2.8", + "version": "0.2.9", "description": "Reading Galactiks configurations files and get config during website generation", "author": "thegalactiks", "types": "./dist/index.d.mts", diff --git a/packages/config/tsconfig.json b/packages/config/tsconfig.json index 569016e9..64b30966 100644 --- a/packages/config/tsconfig.json +++ b/packages/config/tsconfig.json @@ -5,6 +5,6 @@ "allowJs": true, "target": "ES2021", "module": "ES2022", - "outDir": "./dist" - } + "outDir": "./dist", + }, } diff --git a/packages/contentlayer/tsconfig.json b/packages/contentlayer/tsconfig.json index 569016e9..64b30966 100644 --- a/packages/contentlayer/tsconfig.json +++ b/packages/contentlayer/tsconfig.json @@ -5,6 +5,6 @@ "allowJs": true, "target": "ES2021", "module": "ES2022", - "outDir": "./dist" - } + "outDir": "./dist", + }, } diff --git a/packages/explorer/CHANGELOG.md b/packages/explorer/CHANGELOG.md index b9642ed9..69b747f9 100644 --- a/packages/explorer/CHANGELOG.md +++ b/packages/explorer/CHANGELOG.md @@ -1,5 +1,14 @@ # @galactiks/explorer +## 0.2.12 + +### Patch Changes + +- [`f8efe83`](https://github.com/thegalactiks/explorer/commit/f8efe83b0d724eeb239f3581c56ad1133282c3b0) Thanks [@emmanuelgautier](https://github.com/emmanuelgautier)! - upgrade packages and fix duplicated page bug + +- Updated dependencies [[`f8efe83`](https://github.com/thegalactiks/explorer/commit/f8efe83b0d724eeb239f3581c56ad1133282c3b0)]: + - @galactiks/config@0.2.9 + ## 0.2.11 ### Patch Changes diff --git a/packages/explorer/package.json b/packages/explorer/package.json index 710f0534..94e14979 100644 --- a/packages/explorer/package.json +++ b/packages/explorer/package.json @@ -1,6 +1,6 @@ { "name": "@galactiks/explorer", - "version": "0.2.11", + "version": "0.2.12", "description": "Ensure Galactiks content model consistence, explore content built with ContentLayer and create dynamically missing pages and fields for SEO purposes", "author": "thegalactiks", "type": "module", diff --git a/packages/explorer/src/core/content/hydrate/common.mts b/packages/explorer/src/core/content/hydrate/common.mts index b24e15b0..d2c11b18 100644 --- a/packages/explorer/src/core/content/hydrate/common.mts +++ b/packages/explorer/src/core/content/hydrate/common.mts @@ -1,4 +1,4 @@ -import type { ContentlayerWebPageDocument } from '../../types/index.mjs' +import type { ContentlayerWebPageDocument } from '../../types/index.mjs'; import { addBodyRender, emptyRender } from './render.mjs'; export function createPage( diff --git a/packages/explorer/src/core/content/hydrate/index.mts b/packages/explorer/src/core/content/hydrate/index.mts index 39d1448e..cab036ac 100644 --- a/packages/explorer/src/core/content/hydrate/index.mts +++ b/packages/explorer/src/core/content/hydrate/index.mts @@ -1,4 +1,7 @@ -import type { Content, ContentlayerWebPageDocument } from '../../types/index.mjs'; +import type { + Content, + ContentlayerWebPageDocument, +} from '../../types/index.mjs'; import type { ComputeDTO } from './types.mjs'; import { computeRemainingListingPages } from './listing-pages.mjs'; import { computeDocumentsUrl } from './urls.mjs'; diff --git a/packages/explorer/src/core/content/hydrate/listing-pages.mts b/packages/explorer/src/core/content/hydrate/listing-pages.mts index 8de0981d..ce36c678 100644 --- a/packages/explorer/src/core/content/hydrate/listing-pages.mts +++ b/packages/explorer/src/core/content/hydrate/listing-pages.mts @@ -1,7 +1,11 @@ import type { Id } from '@galactiks/contentlayer'; import { documentByIdentifierSelector, isInLanguage } from '../selectors.mjs'; import { createIdentifierFromString } from '../utils.mjs'; -import type { ContentlayerWebPageDocument, ContentlayerDocumentWithRender, ContentlayerWebPageDocumentWithRender } from '../../types/index.mjs'; +import type { + ContentlayerWebPageDocument, + ContentlayerDocumentWithRender, + ContentlayerWebPageDocumentWithRender, +} from '../../types/index.mjs'; import { createPage } from './common.mjs'; @@ -17,67 +21,73 @@ const createListingPage = ( } ); -export const computeRemainingListingPages = () => async ( - documents: ContentlayerWebPageDocumentWithRender[] -) => { - const getDocumentByIdentifier = documentByIdentifierSelector(documents); +export const computeRemainingListingPages = + () => async (documents: ContentlayerWebPageDocumentWithRender[]) => { + const getDocumentByIdentifier = documentByIdentifierSelector(documents); - return documents.reduce((acc, _d) => { - const templateDocument: Partial = { - dateCreated: _d.dateCreated, - datePublished: _d.datePublished, - dateModified: _d.dateModified, - inLanguage: _d.inLanguage, - }; + return documents.reduce((acc, _d) => { + const templateDocument: Partial = { + dateCreated: _d.dateCreated, + datePublished: _d.datePublished, + dateModified: _d.dateModified, + inLanguage: _d.inLanguage, + }; - if (_d.isPartOf) { - const _isPartOfIdentifier = createIdentifierFromString(_d.isPartOf); + if (_d.isPartOf) { + const _isPartOfIdentifier = createIdentifierFromString(_d.isPartOf); - // If parent page does not exist, create it - if (acc.some((_a) => _a.identifier === _isPartOfIdentifier && isInLanguage(_a, _d.inLanguage)) === false) { - let translationOfWork: Id | undefined = undefined; - if (_d.translationOfWork && _d.translationOfWork['@id']) { - const translationOfWorkDocument = getDocumentByIdentifier( - _d.translationOfWork['@id'] - ); - if (translationOfWorkDocument?.isPartOf) { - translationOfWork = { - type: 'Id', - '@id': translationOfWorkDocument.isPartOf, - }; + // If parent page does not exist, create it + if ( + acc.some( + (_a) => + _a.identifier === _isPartOfIdentifier && + isInLanguage(_a, _d.inLanguage) + ) === false + ) { + let translationOfWork: Id | undefined = undefined; + if (_d.translationOfWork && _d.translationOfWork['@id']) { + const translationOfWorkDocument = getDocumentByIdentifier( + _d.translationOfWork['@id'] + ); + if (translationOfWorkDocument?.isPartOf) { + translationOfWork = { + type: 'Id', + '@id': translationOfWorkDocument.isPartOf, + }; + } } + + acc = acc.concat( + createListingPage(_isPartOfIdentifier, { + ...templateDocument, + translationOfWork, + }) + ); } + } + // Create all keywords pages not existing yet + if (Array.isArray(_d.keywords)) { acc = acc.concat( - createListingPage(_isPartOfIdentifier, { - ...templateDocument, - translationOfWork, - }) + _d.keywords + .map(createIdentifierFromString) + .filter( + (_k) => + _k && + acc.some( + (_a) => + _a.identifier === _k && isInLanguage(_a, _d.inLanguage) + ) === false + ) + .map((_k) => + createListingPage(_k, { + ...templateDocument, + type: 'Tag', + }) + ) ); } - } - - // Create all keywords pages not existing yet - if (Array.isArray(_d.keywords)) { - acc = acc.concat( - _d.keywords - .map(createIdentifierFromString) - .filter( - (_k) => - _k && - acc.some( - (_a) => _a.identifier === _k && isInLanguage(_a, _d.inLanguage) - ) === false - ) - .map((_k) => - createListingPage(_k, { - ...templateDocument, - type: 'Tag', - }) - ) - ); - } - return acc; - }, documents); -}; + return acc; + }, documents); + }; diff --git a/packages/explorer/src/core/content/hydrate/missing-fields.mts b/packages/explorer/src/core/content/hydrate/missing-fields.mts index d5b89e08..f46b1458 100644 --- a/packages/explorer/src/core/content/hydrate/missing-fields.mts +++ b/packages/explorer/src/core/content/hydrate/missing-fields.mts @@ -1,7 +1,20 @@ import type { GalactiksConfig } from '@galactiks/config'; -import type { Content, ContentlayerPerson, ContentlayerDocumentWithURL, ContentlayerWebPageDocumentWithRender, Person } from '../../types/index.mjs'; +import type { + Content, + ContentlayerPerson, + ContentlayerDocumentWithURL, + ContentlayerWebPageDocumentWithRender, + Person, +} from '../../types/index.mjs'; import { documentByTypeAndIdentifierAndLanguageSelector } from '../selectors.mjs'; -import { alternatesHeaderBuilder, breadcrumbBuilder, getBasicHeaders, getOpenGraphObjects, getStructuredDataSchemas, getTwitterCard } from '../metadata/index.mjs'; +import { + alternatesHeaderBuilder, + breadcrumbBuilder, + getBasicHeaders, + getOpenGraphObjects, + getStructuredDataSchemas, + getTwitterCard, +} from '../metadata/index.mjs'; export const computeMissingFields = (_: GalactiksConfig, people: ContentlayerPerson[]) => diff --git a/packages/explorer/src/core/content/hydrate/render.mts b/packages/explorer/src/core/content/hydrate/render.mts index f4d05b7b..6fbe7ec9 100644 --- a/packages/explorer/src/core/content/hydrate/render.mts +++ b/packages/explorer/src/core/content/hydrate/render.mts @@ -1,9 +1,6 @@ import { getMDXComponent } from 'mdx-bundler/client/index.js'; import * as React from 'react'; -import type { - ContentlayerDocumentTypes, - Render, -} from '../../types/index.mjs'; +import type { ContentlayerDocumentTypes, Render } from '../../types/index.mjs'; export const emptyRender: Render = () => ({ Content: () => null }); diff --git a/packages/explorer/src/core/content/hydrate/same-language.mts b/packages/explorer/src/core/content/hydrate/same-language.mts index b7941585..ae38377f 100644 --- a/packages/explorer/src/core/content/hydrate/same-language.mts +++ b/packages/explorer/src/core/content/hydrate/same-language.mts @@ -1,49 +1,66 @@ import type { GalactiksConfig } from '@galactiks/config'; import groupBy from 'lodash.groupby'; -import type { ContentlayerDocumentWithRender, ContentlayerWebPageDocument, ContentlayerWebPageDocumentWithRender } from '../../types/index.mjs'; +import type { + ContentlayerDocumentWithRender, + ContentlayerWebPageDocument, + ContentlayerWebPageDocumentWithRender, +} from '../../types/index.mjs'; import { documentByIdentifierAndLanguageSelector } from '../selectors.mjs'; import { createPage } from './common.mjs'; const groupLocalesByLanguage = (config: GalactiksConfig) => - groupBy(config.locales?.available ?? [], locale => new Intl.Locale(locale).language) + groupBy( + config.locales?.available ?? [], + (locale) => new Intl.Locale(locale).language + ); -const getLanguagesWithMultipleLocales = (config: GalactiksConfig) => Object.fromEntries( - Object.entries(groupLocalesByLanguage(config)).filter(([, locales]) => locales.length > 1) -) +const getLanguagesWithMultipleLocales = (config: GalactiksConfig) => + Object.fromEntries( + Object.entries(groupLocalesByLanguage(config)).filter( + ([, locales]) => locales.length > 1 + ) + ); export const createSameLanguagePages = (config: GalactiksConfig) => { - const localesGroupedByLanguage = getLanguagesWithMultipleLocales(config) - const languagesWithMultipleLocales = Object.keys(localesGroupedByLanguage) + const localesGroupedByLanguage = getLanguagesWithMultipleLocales(config); + const languagesWithMultipleLocales = Object.keys(localesGroupedByLanguage); - return async ( - documents: ContentlayerWebPageDocumentWithRender[] - ) => { + return async (documents: ContentlayerWebPageDocumentWithRender[]) => { if (languagesWithMultipleLocales.length === 0) { - return documents + return documents; } - const selectPageByIdentifierAndInLanguage = documentByIdentifierAndLanguageSelector(documents) + const selectPageByIdentifierAndInLanguage = + documentByIdentifierAndLanguageSelector(documents); return documents.reduce((acc, _d) => { if (!_d.inLanguage) { - return acc + return acc; } - const language = new Intl.Locale(_d.inLanguage).language + const language = new Intl.Locale(_d.inLanguage).language; if (!languagesWithMultipleLocales.includes(language)) { - return acc + return acc; } acc = acc.concat( localesGroupedByLanguage[language] - .filter(locale => locale !== _d.inLanguage) // Exclude current language - .filter(locale => selectPageByIdentifierAndInLanguage(_d.identifier, locale) === undefined) // Exclude already existing locale - .map(locale => createPage>(_d.identifier, { - ..._d, - inLanguage: locale - })) - ) - - return acc - }, documents) + .filter((locale) => locale !== _d.inLanguage) // Exclude current language + .filter( + (locale) => + selectPageByIdentifierAndInLanguage(_d.identifier, locale) === + undefined + ) // Exclude already existing locale + .map((locale) => + createPage< + ContentlayerDocumentWithRender + >(_d.identifier, { + ..._d, + inLanguage: locale, + }) + ) + ); + + return acc; + }, documents); }; }; diff --git a/packages/explorer/src/core/content/hydrate/types.mts b/packages/explorer/src/core/content/hydrate/types.mts index c2bb9154..823f603b 100644 --- a/packages/explorer/src/core/content/hydrate/types.mts +++ b/packages/explorer/src/core/content/hydrate/types.mts @@ -1,5 +1,10 @@ import type { GalactiksConfig } from '@galactiks/config'; -import type { Content, ContentlayerPerson, ContentlayerWebPageDocument, ContentlayerWebsite } from '../../types/index.mjs'; +import type { + Content, + ContentlayerPerson, + ContentlayerWebPageDocument, + ContentlayerWebsite, +} from '../../types/index.mjs'; export type ComputeDTO = { config: GalactiksConfig; @@ -8,4 +13,8 @@ export type ComputeDTO = { people: ContentlayerPerson[]; }; -export type ComputeHandler = (config: GalactiksConfig, websites: ContentlayerWebsite[], people: ContentlayerPerson[]) => (documents: ContentlayerWebPageDocument) => Promise +export type ComputeHandler = ( + config: GalactiksConfig, + websites: ContentlayerWebsite[], + people: ContentlayerPerson[] +) => (documents: ContentlayerWebPageDocument) => Promise; diff --git a/packages/explorer/src/core/content/metadata/alternates.mts b/packages/explorer/src/core/content/metadata/alternates.mts index 63fff8cd..db6fc0b8 100644 --- a/packages/explorer/src/core/content/metadata/alternates.mts +++ b/packages/explorer/src/core/content/metadata/alternates.mts @@ -1,5 +1,9 @@ import { getDefaultLanguage } from '@galactiks/config'; -import type { Content, ContentlayerDocumentWithURL, MetadataHeaders } from '../../types/index.mjs'; +import type { + Content, + ContentlayerDocumentWithURL, + MetadataHeaders, +} from '../../types/index.mjs'; export const alternatesHeaderBuilder = ( documents: ContentlayerDocumentWithURL[] diff --git a/packages/explorer/src/core/content/metadata/breadcrumb.mts b/packages/explorer/src/core/content/metadata/breadcrumb.mts index 8164815a..05537d97 100644 --- a/packages/explorer/src/core/content/metadata/breadcrumb.mts +++ b/packages/explorer/src/core/content/metadata/breadcrumb.mts @@ -1,4 +1,7 @@ -import type { ContentlayerDocumentWithURL, ItemList } from '../../types/index.mjs'; +import type { + ContentlayerDocumentWithURL, + ItemList, +} from '../../types/index.mjs'; import { homeIdentifier, pageDepthLimit } from '../consts.mjs'; import { documentByIdentifierAndLanguageSelector } from '../selectors.mjs'; import { MaxDepthLimitReachedError } from '../../exceptions/index.mjs'; diff --git a/packages/explorer/src/core/content/repositories/index.mts b/packages/explorer/src/core/content/repositories/index.mts index 3f180610..e116d6e5 100644 --- a/packages/explorer/src/core/content/repositories/index.mts +++ b/packages/explorer/src/core/content/repositories/index.mts @@ -23,11 +23,10 @@ export const getPagesWithKeywordIdentifier = async ( keywordIdentifier: string, filters?: RepositoryFilters ): Promise => - (await getPages(filters)).filter( - (doc) => - doc.keywords?.some( - (keyword) => createIdentifierFromString(keyword) === keywordIdentifier - ) + (await getPages(filters)).filter((doc) => + doc.keywords?.some( + (keyword) => createIdentifierFromString(keyword) === keywordIdentifier + ) ); export const getPageByIdentifier = async ( identifier: string, diff --git a/packages/explorer/tsconfig.json b/packages/explorer/tsconfig.json index 793c5299..913565e3 100644 --- a/packages/explorer/tsconfig.json +++ b/packages/explorer/tsconfig.json @@ -12,6 +12,6 @@ "@/*": ["./*"], "@content/*": ["./content/*"], "@exceptions/*": ["./exceptions/*"], - } - } + }, + }, }