diff --git a/apps/admin-x-settings/package.json b/apps/admin-x-settings/package.json
index 449d99ee67..4db5eb155f 100644
--- a/apps/admin-x-settings/package.json
+++ b/apps/admin-x-settings/package.json
@@ -39,7 +39,7 @@
"dependencies": {
"@codemirror/lang-html": "6.4.9",
"@tryghost/color-utils": "0.2.2",
- "@tryghost/kg-unsplash-selector": "0.2.1",
+ "@tryghost/kg-unsplash-selector": "0.2.2",
"@tryghost/limit-service": "1.2.14",
"@tryghost/nql": "0.12.3",
"@tryghost/timezone-data": "0.4.3",
diff --git a/ghost/admin/app/components/koenig-lexical-editor.js b/ghost/admin/app/components/koenig-lexical-editor.js
index 8f91477f74..b63e16157f 100644
--- a/ghost/admin/app/components/koenig-lexical-editor.js
+++ b/ghost/admin/app/components/koenig-lexical-editor.js
@@ -452,8 +452,6 @@ export default class KoenigLexicalEditor extends Component {
feature: {
collectionsCard: this.feature.collectionsCard,
collections: this.feature.collections,
- internalLinking: this.feature.internalLinking,
- internalLinkingAtLinks: this.feature.internalLinking,
contentVisibility: this.feature.contentVisibility
},
deprecated: { // todo fix typo
@@ -705,7 +703,7 @@ export default class KoenigLexicalEditor extends Component {
Loading editor...
}>
-
+
diff --git a/ghost/admin/app/services/feature.js b/ghost/admin/app/services/feature.js
index 2af398c3b0..09f4042a45 100644
--- a/ghost/admin/app/services/feature.js
+++ b/ghost/admin/app/services/feature.js
@@ -76,7 +76,6 @@ export default class FeatureService extends Service {
@feature('lexicalIndicators') lexicalIndicators;
@feature('adminXDemo') adminXDemo;
@feature('ActivityPub') ActivityPub;
- @feature('internalLinking') internalLinking;
@feature('editorExcerpt') editorExcerpt;
@feature('contentVisibility') contentVisibility;
diff --git a/ghost/admin/app/services/search-provider.js b/ghost/admin/app/services/search-provider-basic.js
similarity index 98%
rename from ghost/admin/app/services/search-provider.js
rename to ghost/admin/app/services/search-provider-basic.js
index 2bef46af0c..cb73ee2820 100644
--- a/ghost/admin/app/services/search-provider.js
+++ b/ghost/admin/app/services/search-provider-basic.js
@@ -36,7 +36,7 @@ export const SEARCHABLES = [
}
];
-export default class SearchProviderService extends Service {
+export default class SearchProviderBasicService extends Service {
@service ajax;
@service notifications;
@service store;
diff --git a/ghost/admin/app/services/search-provider-beta.js b/ghost/admin/app/services/search-provider-flex.js
similarity index 98%
rename from ghost/admin/app/services/search-provider-beta.js
rename to ghost/admin/app/services/search-provider-flex.js
index ce40a1800c..92a1b5e6d1 100644
--- a/ghost/admin/app/services/search-provider-beta.js
+++ b/ghost/admin/app/services/search-provider-flex.js
@@ -45,7 +45,7 @@ export const SEARCHABLES = [
}
];
-export default class SearchProviderService extends Service {
+export default class SearchProviderFlexService extends Service {
@service ajax;
@service notifications;
@service store;
diff --git a/ghost/admin/app/services/search.js b/ghost/admin/app/services/search.js
index 2ba14e6367..f8e3f9e500 100644
--- a/ghost/admin/app/services/search.js
+++ b/ghost/admin/app/services/search.js
@@ -8,16 +8,16 @@ export default class SearchService extends Service {
@service ajax;
@service feature;
@service notifications;
- @service searchProvider;
- @service searchProviderBeta;
+ @service searchProviderBasic;
+ @service searchProviderFlex;
+ @service settings;
@service store;
isContentStale = true;
get provider() {
- return this.feature.internalLinking
- ? this.searchProviderBeta
- : this.searchProvider;
+ const isEnglish = this.settings.locale?.toLowerCase().startsWith('en') ?? true;
+ return isEnglish ? this.searchProviderFlex : this.searchProviderBasic;
}
@action
diff --git a/ghost/admin/package.json b/ghost/admin/package.json
index bad40e20c7..893fdf1420 100644
--- a/ghost/admin/package.json
+++ b/ghost/admin/package.json
@@ -47,9 +47,9 @@
"@tryghost/color-utils": "0.2.2",
"@tryghost/ember-promise-modals": "2.0.1",
"@tryghost/helpers": "1.1.90",
- "@tryghost/kg-clean-basic-html": "4.1.1",
+ "@tryghost/kg-clean-basic-html": "4.1.2",
"@tryghost/kg-converters": "1.0.5",
- "@tryghost/koenig-lexical": "1.3.13",
+ "@tryghost/koenig-lexical": "1.3.14",
"@tryghost/limit-service": "1.2.14",
"@tryghost/members-csv": "0.0.0",
"@tryghost/nql": "0.12.3",
diff --git a/ghost/admin/tests/acceptance/search-test.js b/ghost/admin/tests/acceptance/search-test.js
index 3e025285be..ca6871402b 100644
--- a/ghost/admin/tests/acceptance/search-test.js
+++ b/ghost/admin/tests/acceptance/search-test.js
@@ -2,22 +2,34 @@ import ctrlOrCmd from 'ghost-admin/utils/ctrl-or-cmd';
import {authenticateSession} from 'ember-simple-auth/test-support';
import {click, currentURL, find, findAll, triggerKeyEvent, visit} from '@ember/test-helpers';
import {describe, it} from 'mocha';
-import {enableLabsFlag} from '../helpers/labs-flag';
import {expect} from 'chai';
import {getPosts} from '../../mirage/config/posts';
import {setupApplicationTest} from 'ember-mocha';
import {setupMirage} from 'ember-cli-mirage/test-support';
import {typeInSearch} from 'ember-power-select/test-support/helpers';
+// we have two search providers
+// - "flex" which uses the flexsearch engine but is limited to english only
+// - "basic" which uses exact string matches in a less performant way but is language agnostic
const suites = [{
- name: 'Acceptance: Search',
+ name: 'Acceptance: Search (flex)',
beforeEach() {
- // noop
+ // noop - default locale is 'en'
+ },
+ confirmProvider() {
+ const searchService = this.owner.lookup('service:search');
+ expect(searchService.provider.constructor.name, 'provider name').to.equal('SearchProviderFlexService');
}
}, {
- name: 'Acceptance: Search (beta)',
+ name: 'Acceptance: Search (basic)',
beforeEach() {
- enableLabsFlag(this.server, 'internalLinking');
+ this.server.db.settings.update({key: 'locale'}, {value: 'de'});
+ },
+ confirmProvider() {
+ const settingsService = this.owner.lookup('service:settings');
+ expect(settingsService.locale, 'settings.locale').to.equal('de');
+ const searchService = this.owner.lookup('service:search');
+ expect(searchService.provider.constructor.name, 'provider name').to.equal('SearchProviderBasicService');
}
}];
@@ -48,6 +60,11 @@ suites.forEach((suite) => {
return await authenticateSession();
});
+ it('is using correct provider', async function () {
+ await visit('/dashboard');
+ suite.confirmProvider.bind(this)();
+ });
+
it('opens search modal when clicking icon', async function () {
await visit('/dashboard');
expect(currentURL(), 'currentURL').to.equal('/dashboard');
diff --git a/ghost/admin/tests/integration/services/search-test.js b/ghost/admin/tests/integration/services/search-test.js
index ce453fdeda..cebc03a52e 100644
--- a/ghost/admin/tests/integration/services/search-test.js
+++ b/ghost/admin/tests/integration/services/search-test.js
@@ -1,18 +1,31 @@
+import {authenticateSession} from 'ember-simple-auth/test-support';
import {describe, it} from 'mocha';
-import {enableLabsFlag} from '../../helpers/labs-flag';
import {expect} from 'chai';
import {setupMirage} from 'ember-cli-mirage/test-support';
import {setupTest} from 'ember-mocha';
+// we have two search providers
+// - "flex" which uses the flexsearch engine but is limited to english only
+// - "basic" which uses exact string matches in a less performant way but is language agnostic
const suites = [{
- name: 'Integration: Service: Search',
+ name: 'Integration: Service: Search (flex)',
beforeEach() {
- // noop
+ // noop - default locale is 'en'
+ },
+ confirmProvider() {
+ const searchService = this.owner.lookup('service:search');
+ expect(searchService.provider.constructor.name, 'provider name').to.equal('SearchProviderFlexService');
}
}, {
- name: 'Integration: Service: Search (beta)',
+ name: 'Integration: Service: Search (basic)',
beforeEach() {
- enableLabsFlag(this.server, 'internalLinking');
+ this.server.db.settings.update({key: 'locale'}, {value: 'de'});
+ },
+ confirmProvider() {
+ const settingsService = this.owner.lookup('service:settings');
+ expect(settingsService.locale, 'settings.locale').to.equal('de');
+ const searchService = this.owner.lookup('service:search');
+ expect(searchService.provider.constructor.name, 'provider name').to.equal('SearchProviderBasicService');
}
}];
@@ -25,9 +38,15 @@ suites.forEach((suite) => {
// eslint-disable-next-line no-unused-vars
let firstUser, firstPost, secondPost, firstPage, firstTag;
- beforeEach(function () {
+ beforeEach(async function () {
+ this.server.loadFixtures();
+ await authenticateSession();
+
suite.beforeEach.bind(this)();
+ const settings = this.owner.lookup('service:settings');
+ await settings.fetch();
+
search = this.owner.lookup('service:search');
// populate store with data we'll be searching
@@ -37,6 +56,10 @@ suites.forEach((suite) => {
firstTag = this.server.create('tag', {name: 'First tag', slug: 'first-tag'});
});
+ it('is using correct provider', async function () {
+ suite.confirmProvider.bind(this)();
+ });
+
it('returns urls for search results', async function () {
const results = await search.searchTask.perform('first');
diff --git a/ghost/core/core/shared/labs.js b/ghost/core/core/shared/labs.js
index e8b68426b1..e9a1a7ad68 100644
--- a/ghost/core/core/shared/labs.js
+++ b/ghost/core/core/shared/labs.js
@@ -19,8 +19,7 @@ const GA_FEATURES = [
'themeErrorsNotification',
'outboundLinkTagging',
'announcementBar',
- 'newEmailAddresses',
- 'internalLinking'
+ 'newEmailAddresses'
];
// NOTE: this allowlist is meant to be used to filter out any unexpected
diff --git a/ghost/core/package.json b/ghost/core/package.json
index 7e0286876a..705adc5349 100644
--- a/ghost/core/package.json
+++ b/ghost/core/package.json
@@ -110,11 +110,11 @@
"@tryghost/kg-card-factory": "5.0.4",
"@tryghost/kg-converters": "1.0.5",
"@tryghost/kg-default-atoms": "5.0.3",
- "@tryghost/kg-default-cards": "10.0.6",
- "@tryghost/kg-default-nodes": "1.1.9",
- "@tryghost/kg-html-to-lexical": "1.1.10",
- "@tryghost/kg-lexical-html-renderer": "1.1.12",
- "@tryghost/kg-mobiledoc-html-renderer": "7.0.4",
+ "@tryghost/kg-default-cards": "10.0.7",
+ "@tryghost/kg-default-nodes": "1.1.10",
+ "@tryghost/kg-html-to-lexical": "1.1.11",
+ "@tryghost/kg-lexical-html-renderer": "1.1.13",
+ "@tryghost/kg-mobiledoc-html-renderer": "7.0.5",
"@tryghost/limit-service": "1.2.14",
"@tryghost/link-redirects": "0.0.0",
"@tryghost/link-replacer": "0.0.0",
diff --git a/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap b/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap
index 75c28d354b..8adfdddb9f 100644
--- a/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap
+++ b/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap
@@ -1155,7 +1155,7 @@ exports[`Settings API Edit Can edit a setting 2: [headers] 1`] = `
Object {
"access-control-allow-origin": "http://127.0.0.1:2369",
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
- "content-length": "4454",
+ "content-length": "4429",
"content-type": "application/json; charset=utf-8",
"content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/,
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
diff --git a/ghost/email-service/package.json b/ghost/email-service/package.json
index b8e2d30751..1bc7db379e 100644
--- a/ghost/email-service/package.json
+++ b/ghost/email-service/package.json
@@ -29,7 +29,7 @@
"@tryghost/email-events": "0.0.0",
"@tryghost/errors": "1.3.5",
"@tryghost/html-to-plaintext": "0.0.0",
- "@tryghost/kg-default-cards": "10.0.6",
+ "@tryghost/kg-default-cards": "10.0.7",
"@tryghost/logging": "2.4.18",
"@tryghost/tpl": "0.1.32",
"@tryghost/validator": "0.2.14",
diff --git a/ghost/importer-revue/package.json b/ghost/importer-revue/package.json
index c2e5e14a2a..1172ff9dd6 100644
--- a/ghost/importer-revue/package.json
+++ b/ghost/importer-revue/package.json
@@ -22,7 +22,7 @@
},
"dependencies": {
"@tryghost/debug": "0.1.32",
- "@tryghost/kg-default-cards": "10.0.6",
+ "@tryghost/kg-default-cards": "10.0.7",
"@tryghost/string": "0.2.12",
"lodash": "4.17.21",
"papaparse": "5.3.2",
diff --git a/yarn.lock b/yarn.lock
index f8f14ebad1..83f5d8c190 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7817,6 +7817,11 @@
resolved "https://registry.yarnpkg.com/@tryghost/kg-clean-basic-html/-/kg-clean-basic-html-4.1.1.tgz#132a019abc6b6b6a0948c7e2d3e3ce37d18983b7"
integrity sha512-R654qIHRf//FP/1hHLkehTYxZz/Zp5NXomfEuQSezw4uDmOwGn1ME4yZD5TDi5+8ism71tfMeGVVI5XmLOeDLg==
+"@tryghost/kg-clean-basic-html@4.1.2":
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-clean-basic-html/-/kg-clean-basic-html-4.1.2.tgz#05cab6a2ed2de43b4f784e0641bfc301402379e8"
+ integrity sha512-TCCRU1TVvSrOYXceQDaMbPwHJuBMPfYPSLm/FsRkhDsIZK14Svxswcr4oPW+zgXUsHUPKYQtnH/igln2b5wXgA==
+
"@tryghost/kg-converters@1.0.5":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@tryghost/kg-converters/-/kg-converters-1.0.5.tgz#8deb6591b91d0c5e89c529bc39b1f9d0870bec37"
@@ -7829,51 +7834,51 @@
resolved "https://registry.yarnpkg.com/@tryghost/kg-default-atoms/-/kg-default-atoms-5.0.3.tgz#7d0e5af2191f2e0c61ae11d1666905bf924f67ac"
integrity sha512-uPE69rKxaiiMEa1vFsEbfX+LCBG2H5D/nqTkuIPAslEGIHYjQUruaXpBfnwtyVHn+dMLuWcO+wDJl5qET8gKEQ==
-"@tryghost/kg-default-cards@10.0.6":
- version "10.0.6"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-default-cards/-/kg-default-cards-10.0.6.tgz#17f10a711814196719c8fa2c6506a7d2ea9f3d7f"
- integrity sha512-wOjaqFj8G9hFr6bI85CUAO55aD9B2NoLIVaeqZgzzU6Ix09ZhP4M4abrwQup7hp89PSrGz7noqmac9NTb/Lvxg==
+"@tryghost/kg-default-cards@10.0.7":
+ version "10.0.7"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-default-cards/-/kg-default-cards-10.0.7.tgz#73f541155e646988ec3719e8acbbd051958b4d47"
+ integrity sha512-J5eEsBZm4H0GBWvqqlwKGYuYdQsIoC3lK3dyGfrw6/dOF0RNFYoaN6k90Td2bnMbbW6OxX5cabaOosHdj5uvqg==
dependencies:
- "@tryghost/kg-markdown-html-renderer" "7.0.5"
+ "@tryghost/kg-markdown-html-renderer" "7.0.6"
"@tryghost/string" "0.2.12"
"@tryghost/url-utils" "4.4.8"
handlebars "^4.7.6"
juice "^10.0.0"
lodash "^4.17.21"
- luxon "^3.0.0"
+ luxon "^3.5.0"
-"@tryghost/kg-default-nodes@1.1.9":
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-default-nodes/-/kg-default-nodes-1.1.9.tgz#2f8e0851735ad9daf8ba103fe3d42d9119a366eb"
- integrity sha512-xTIkOfusnTHub/pU/Pdw8S5rQ8GLf5ONfS1y8x5v2cqXln1e08lV8wa5gv44WSxuyDzKjVHKKceGkT3rbdVBXg==
+"@tryghost/kg-default-nodes@1.1.10":
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-default-nodes/-/kg-default-nodes-1.1.10.tgz#8cf29a94868b978c31d09b476dbfc70b21460e3f"
+ integrity sha512-8Yro0F1Y0nN4jkDaK7/0YnKRsZKMwCk6YHuhNoNpICaKwH9EO2Isqen2/0FLaAGo8c0uvlPaYv5AfGjWJ0/ukg==
dependencies:
"@lexical/clipboard" "0.13.1"
"@lexical/rich-text" "0.13.1"
"@lexical/selection" "0.13.1"
"@lexical/utils" "0.13.1"
- "@tryghost/kg-clean-basic-html" "4.1.1"
- "@tryghost/kg-markdown-html-renderer" "7.0.5"
+ "@tryghost/kg-clean-basic-html" "4.1.2"
+ "@tryghost/kg-markdown-html-renderer" "7.0.6"
html-minifier "^4.0.0"
- jsdom "^24.0.0"
+ jsdom "^24.1.0"
lexical "0.13.1"
lodash "^4.17.21"
- luxon "^3.3.0"
+ luxon "^3.5.0"
-"@tryghost/kg-default-transforms@1.1.10":
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-default-transforms/-/kg-default-transforms-1.1.10.tgz#7f4f648e2a8eec8d4af43028111e766feb3975ea"
- integrity sha512-T9OZau2npHwtxKw77hXqRWNEErxdM/WKldWtmLKGJiKT7Czx8v9eEpsNmGgJYnXenkyzehJmU1okJlAUqMbcsA==
+"@tryghost/kg-default-transforms@1.1.11":
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-default-transforms/-/kg-default-transforms-1.1.11.tgz#021b18cacabe83bdbe61761027bd87870c110ab5"
+ integrity sha512-rxxlDTa9Omzr57WscCr+kK/UBGukfGzeoTc6jlR+/eOg6p0hGSk5b64EFPgcwEwNQKDv/IkZ1DZg0UdrX7BIqw==
dependencies:
"@lexical/list" "0.13.1"
"@lexical/rich-text" "0.13.1"
"@lexical/utils" "0.13.1"
- "@tryghost/kg-default-nodes" "1.1.9"
+ "@tryghost/kg-default-nodes" "1.1.10"
lexical "0.13.1"
-"@tryghost/kg-html-to-lexical@1.1.10":
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-html-to-lexical/-/kg-html-to-lexical-1.1.10.tgz#89dcd98e3933485bb0f33ab725dac4080f5a01fe"
- integrity sha512-ja0DRLEzQhhOzK4n7HQqUttr0dbDsMaueyXb6+bxovHyog3HFo3A5NYz0DX9UU3qdUhAKBLwrgY5SwrtJ/ysVw==
+"@tryghost/kg-html-to-lexical@1.1.11":
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-html-to-lexical/-/kg-html-to-lexical-1.1.11.tgz#d2569450c891f590be3b8856fb58616435da67cc"
+ integrity sha512-aVvsuX7cmmMgWqSdS0L9+wHcYESStqVdWUEaJVNOt0xuxkN23NOMmTLB0HVSDZv6WJ7HxsgY768bPDLWIesp9g==
dependencies:
"@lexical/clipboard" "0.13.1"
"@lexical/headless" "0.13.1"
@@ -7881,15 +7886,15 @@
"@lexical/link" "0.13.1"
"@lexical/list" "0.13.1"
"@lexical/rich-text" "0.13.1"
- "@tryghost/kg-default-nodes" "1.1.9"
- "@tryghost/kg-default-transforms" "1.1.10"
- jsdom "^24.0.0"
+ "@tryghost/kg-default-nodes" "1.1.10"
+ "@tryghost/kg-default-transforms" "1.1.11"
+ jsdom "^24.1.0"
lexical "0.13.1"
-"@tryghost/kg-lexical-html-renderer@1.1.12":
- version "1.1.12"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-lexical-html-renderer/-/kg-lexical-html-renderer-1.1.12.tgz#3234331f18b0dfe65e52e8b5821ef2bbc4a7909a"
- integrity sha512-AEV+A1ZxSSVjTse7YonMz8AF9pqppEpfAHnwKH6BarSTJAVL8Gbvv/zcISO03UVrUqfqCZnnmmXS2h8iOBrbSA==
+"@tryghost/kg-lexical-html-renderer@1.1.13":
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-lexical-html-renderer/-/kg-lexical-html-renderer-1.1.13.tgz#c1c495aa462f17bf55fff8d4546231c49f77261e"
+ integrity sha512-EzOiWEUR8x6ub9tCHPtoROQFuXvL6rX7LMW9TdqZAMSv+xk9/yD6kgOmlp0aJ4XbuxM2iCrdq6HDHpd86ZYBwg==
dependencies:
"@lexical/clipboard" "0.13.1"
"@lexical/code" "0.13.1"
@@ -7897,17 +7902,17 @@
"@lexical/link" "0.13.1"
"@lexical/list" "0.13.1"
"@lexical/rich-text" "0.13.1"
- "@tryghost/kg-default-nodes" "1.1.9"
- "@tryghost/kg-default-transforms" "1.1.10"
- jsdom "^24.0.0"
+ "@tryghost/kg-default-nodes" "1.1.10"
+ "@tryghost/kg-default-transforms" "1.1.11"
+ jsdom "^24.1.0"
lexical "0.13.1"
-"@tryghost/kg-markdown-html-renderer@7.0.5":
- version "7.0.5"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-markdown-html-renderer/-/kg-markdown-html-renderer-7.0.5.tgz#96fb7440291ab9188b1e32c7cc71f6aa5fdec48e"
- integrity sha512-Y1f2tKenyfrYIOfOVTI+9/hIVAed2MN/96B5pRBXpn/Bv2/+Sq8RCAFqlLmNwX4o7XeNp51BHZK96Mu+sU/Ltg==
+"@tryghost/kg-markdown-html-renderer@7.0.6":
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-markdown-html-renderer/-/kg-markdown-html-renderer-7.0.6.tgz#6d0cdcd74bc3c87da72fa7c9fb58f44ffee61eb4"
+ integrity sha512-EkVgUleBCQ8/FAlQ/mxxu4Erhq+CQK+ujqBRLVUsMxGvYiUop1u9q3M0VN8KoAo8t4plueHu7nkaoggLZOgiJw==
dependencies:
- "@tryghost/kg-utils" "1.0.26"
+ "@tryghost/kg-utils" "1.0.27"
markdown-it "^14.0.0"
markdown-it-footnote "^4.0.0"
markdown-it-image-lazy-loading "^2.0.0"
@@ -7915,14 +7920,14 @@
markdown-it-mark "^4.0.0"
markdown-it-sub "^2.0.0"
markdown-it-sup "^2.0.0"
- semver "^7.3.5"
+ semver "^7.6.2"
-"@tryghost/kg-mobiledoc-html-renderer@7.0.4":
- version "7.0.4"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-mobiledoc-html-renderer/-/kg-mobiledoc-html-renderer-7.0.4.tgz#d5a433d9ebed76a1e74ff5792cab2d7f4b844e55"
- integrity sha512-C0ncnXc5vsLPQmsEw4xfUmdJnJTL9WsoACpI6970R4/jvAWE3h99TVpSFWVnHwrc/asWxaXZlpcKKH4PJs3VzA==
+"@tryghost/kg-mobiledoc-html-renderer@7.0.5":
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-mobiledoc-html-renderer/-/kg-mobiledoc-html-renderer-7.0.5.tgz#5e1801f4280df357020f8ab2f42cfd79abb54d6a"
+ integrity sha512-PNURuXzP2lO/0b2ugdxGlyqS1+ZScdlZIvnP0lREV9H+66hu8J16xvb3YxUZvVsm14ImbLF92R3cURHOvrXwIw==
dependencies:
- "@tryghost/kg-utils" "1.0.26"
+ "@tryghost/kg-utils" "1.0.27"
mobiledoc-dom-renderer "^0.7.0"
simple-dom "^1.4.0"
@@ -7933,22 +7938,22 @@
dependencies:
"@tryghost/kg-clean-basic-html" "4.1.1"
-"@tryghost/kg-unsplash-selector@0.2.1":
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-unsplash-selector/-/kg-unsplash-selector-0.2.1.tgz#c9e1658ed8d9469a26ca78c1aec1848fd7d6007c"
- integrity sha512-LzgKE7UJ24bvID0c94teXSCrfbAX2/jo8sKaxEKR9P4E4P8COlCme/aygdOUCTblCBgE4KxyO9a+bD3uYW2Qyg==
+"@tryghost/kg-unsplash-selector@0.2.2":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-unsplash-selector/-/kg-unsplash-selector-0.2.2.tgz#fcd4445f39c1ac879662b45eb863e2bb8ba95625"
+ integrity sha512-t0NkercfjQnKFVDs0I4VM8Aksabv4ZB/qYFyN3mLefA4Pt5LK99XZrwuYKmL6LOoWNZLMbKPUvBxuuo1NTW5GA==
-"@tryghost/kg-utils@1.0.26":
- version "1.0.26"
- resolved "https://registry.yarnpkg.com/@tryghost/kg-utils/-/kg-utils-1.0.26.tgz#48e18b05d8bcf2c0d3c94f3d500e9b267d6723e6"
- integrity sha512-DXx/qJwMYB6mjyhBk1mOg2hA5sXGNVcP2R0FyhkmHKtdNEwP0WIpV7UZt7DIYDT4c4uWFddya+u6yVpqU9Nhxg==
+"@tryghost/kg-utils@1.0.27":
+ version "1.0.27"
+ resolved "https://registry.yarnpkg.com/@tryghost/kg-utils/-/kg-utils-1.0.27.tgz#77442c9cce7ee2d0e6fbfa669ef733f52dec7d82"
+ integrity sha512-pZ9qcuOKijTJx1qTU/Pju3ZJOXTQeGBl1qKmCBMfwoacVepN0qPzn/GierOqgvPzEw5xHexJPrQVn0hE0w9bdA==
dependencies:
- semver "^7.3.5"
+ semver "^7.6.2"
-"@tryghost/koenig-lexical@1.3.13":
- version "1.3.13"
- resolved "https://registry.yarnpkg.com/@tryghost/koenig-lexical/-/koenig-lexical-1.3.13.tgz#7ffa158d1f28f4f75d0fce763c0a884f98a23f13"
- integrity sha512-tjLouQMCPPAXdvBYWVtHp4SeDylT3tF5nh0cy3JPOmG0eJRYGdGwxiEabk6jmzOEjjhkD0kwT+6m3G+vv70dcw==
+"@tryghost/koenig-lexical@1.3.14":
+ version "1.3.14"
+ resolved "https://registry.yarnpkg.com/@tryghost/koenig-lexical/-/koenig-lexical-1.3.14.tgz#bb8cc0cf336821b21500ba24d12e4e555cad340c"
+ integrity sha512-V5udyPS3WVjX4adOeuW5jXUpYtW+vYKHILS0JMtiyf8oiokRpN8W2m8y0n7w7GfptEgzcSLs9X+Sx0ujTaNURA==
"@tryghost/limit-service@1.2.14":
version "1.2.14"
@@ -21410,7 +21415,7 @@ jscodeshift@^0.15.1:
temp "^0.8.4"
write-file-atomic "^2.3.0"
-jsdom@24.1.1, jsdom@^24.0.0, jsdom@~24.1.0:
+jsdom@24.1.1, jsdom@^24.0.0, jsdom@^24.1.0, jsdom@~24.1.0:
version "24.1.1"
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.1.1.tgz#f41df8f4f3b2fbfa7e1bdc5df62c9804fd14a9d0"
integrity sha512-5O1wWV99Jhq4DV7rCLIoZ/UIhyQeDR7wHVyZAHAshbrvZsLs+Xzz7gtwnlJTJDjleiTKh54F4dXrX70vJQTyJQ==
@@ -22752,7 +22757,7 @@ ltgt@^2.1.2:
resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5"
integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==
-luxon@3.5.0, luxon@^3.0.0, luxon@^3.3.0:
+luxon@3.5.0, luxon@^3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.5.0.tgz#6b6f65c5cd1d61d1fd19dbf07ee87a50bf4b8e20"
integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==
@@ -28444,7 +28449,7 @@ semver@7.5.3:
dependencies:
lru-cache "^6.0.0"
-semver@7.6.3, semver@^7.0.0, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4:
+semver@7.6.3, semver@^7.0.0, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.2:
version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==