catalog:
  '@codemirror/autocomplete': 6.20.3
  '@codemirror/commands': 6.10.4
  '@codemirror/lang-css': 6.3.1
  '@codemirror/lang-html': 6.4.11
  '@codemirror/lang-javascript': 6.2.5
  '@codemirror/lang-json': 6.0.2
  '@codemirror/lang-markdown': 6.5.1
  '@codemirror/lang-yaml': 6.1.3
  '@codemirror/language': 6.12.4
  '@codemirror/search': 6.7.1
  '@codemirror/state': 6.7.1
  '@codemirror/theme-one-dark': 6.1.3
  '@codemirror/view': 6.43.6
  '@ebay/nice-modal-react': 1.2.13
  '@eslint/compat': 2.1.0
  '@eslint/js': 9.39.4
  '@faker-js/faker': 10.5.0
  '@playwright/test': 1.61.1
  '@radix-ui/react-avatar': 1.2.1
  '@radix-ui/react-checkbox': 1.3.6
  '@radix-ui/react-context-menu': 2.3.2
  '@radix-ui/react-form': 0.1.11
  '@radix-ui/react-popover': 1.1.18
  '@radix-ui/react-radio-group': 1.4.2
  '@radix-ui/react-separator': 1.1.11
  '@radix-ui/react-switch': 1.3.2
  '@radix-ui/react-tabs': 1.1.16
  '@radix-ui/react-tooltip': 1.2.11
  '@sentry/react': 7.120.4
  '@storybook/addon-docs': 10.4.6
  '@storybook/addon-links': 10.4.6
  '@storybook/react-vite': 10.4.6
  '@tailwindcss/postcss': 4.2.2
  '@tailwindcss/vite': 4.2.2
  '@tanstack/react-query': 5.101.2
  '@tanstack/react-virtual': 3.14.6
  '@testing-library/jest-dom': 6.9.1
  '@testing-library/react': 14.3.1
  '@tryghost/api-framework': 3.3.5
  '@tryghost/brute-knex': 3.2.1
  '@tryghost/color-utils': 0.2.20
  '@tryghost/custom-fonts': 1.0.11
  '@tryghost/debug': 2.3.5
  '@tryghost/domain-events': 3.3.5
  '@tryghost/errors': 3.3.5
  '@tryghost/helpers': 1.1.106
  '@tryghost/limit-service': 1.5.6
  '@tryghost/logging': 5.3.0
  '@tryghost/mongo-knex': 0.10.1
  '@tryghost/nql': 0.13.1
  '@tryghost/nql-lang': 0.6.6
  '@tryghost/string': 0.3.5
  '@tryghost/timezone-data': 1.0.0
  '@tryghost/tpl': 2.3.5
  '@types/express': 4.17.25
  '@types/html-minifier': ^4.0.6
  '@types/jest': 29.5.14
  '@types/jsdom': 28.0.3
  '@types/nconf': 0.10.7
  '@types/node': 22.20.0
  '@types/react': 18.3.31
  '@types/react-dom': 18.3.7
  '@types/sanitize-html': 2.16.1
  '@types/semver': 7.7.1
  '@types/sinon': 22.0.0
  '@types/validator': 13.15.10
  '@typescript-eslint/eslint-plugin': 8.49.0
  '@typescript-eslint/parser': 8.49.0
  '@uiw/codemirror-extensions-basic-setup': 4.25.11
  '@uiw/react-codemirror': 4.25.11
  '@vitejs/plugin-react': 6.0.3
  '@vitest/browser-playwright': 4.1.9
  '@vitest/coverage-v8': 4.1.9
  ajv: 8.20.0
  ajv-formats: 3.0.1
  better-sqlite3: 12.11.1
  bson-objectid: 2.0.4
  c8: 11.0.0
  chai: 4.5.0
  chalk: 4.1.2
  clsx: 2.1.1
  concurrently: 10.0.3
  country-flag-icons: 1.6.20
  cross-fetch: 4.1.0
  dependency-cruiser: ^18.0.0
  dequal: 2.0.3
  dompurify: 3.4.11
  dotenv: 17.4.2
  entities: 4.5.0
  eslint: 9.39.4
  eslint-plugin-ghost: 3.5.0
  eslint-plugin-react: 7.37.5
  eslint-plugin-react-hooks: 5.2.0
  eslint-plugin-react-refresh: 0.5.3
  eslint-plugin-tailwindcss: 4.0.4
  fs-extra: 11.3.6
  glob: 13.0.6
  globals: 17.7.0
  js-yaml: 4.3.0
  jsdom: 29.1.1
  jsonc-parser: 3.3.1
  knex-migrator: 5.4.1
  lodash: 4.18.1
  lucide-react: 1.23.0
  mingo: 2.5.3
  moment: 2.30.1
  moment-timezone: 0.5.45
  msw: 2.14.6
  node-html-markdown: 2.0.0
  postcss: 8.5.16
  preact: ^10.29.2
  react: 18.3.1
  react-dom: 18.3.1
  react-router: 7.18.1
  semver: 7.8.5
  sinon: 22.0.0
  sonner: 2.0.7
  storybook: 10.4.6
  supertest: 7.2.2
  tailwindcss: 4.2.2
  temporal-polyfill: 0.3.2
  tldts: ^7.4.4
  tsx: 4.23.0
  tw-animate-css: 1.4.0
  type-fest: 5.7.0
  typescript: npm:@typescript/typescript6@6.0.2
  '@typescript/native': npm:typescript@7.0.2
  typescript-eslint: 8.62.1
  validator: 13.12.0
  vite: 8.1.3
  vite-plugin-svgr: 4.5.0
  vitest: 4.1.9
  vitest-browser-react: 2.2.0
  zod: 4.4.3
  form-data: 4.0.6
  '@dnd-kit/core': 6.3.1
  '@dnd-kit/sortable': 7.0.2
  '@dnd-kit/utilities': 3.2.2
  shell-quote: 1.10.0
catalogs:
  react17:
    react: 17.0.2
    react-dom: 17.0.2
    '@types/react': 17.0.93
    '@types/react-dom': 17.0.26
    '@testing-library/react': 12.1.5
  tailwind3:
    tailwindcss: 3.4.19
    eslint-plugin-tailwindcss: 3.18.3
allowBuilds:
  '@sentry/cli': false
  '@swc/core@1.15.43': true
  better-sqlite3@12.11.1: true
  core-js@2.6.12: true
  cpu-features: false
  dtrace-provider@0.8.8: true
  esbuild@0.25.12 || 0.28.1: true
  fsevents@1.2.13 || 2.3.2 || 2.3.3: true
  msw@2.14.6: true
  nx@23.0.1: true
  protobufjs@7.6.4: true
  re2@1.25.0: true
  sharp@0.35.3: true
  sqlite3@5.1.7: true
  ssh2: false
strictDepBuilds: true
overrides:
  knex-migrator>knex: 2.4.2
  '@tryghost/errors': 'catalog:'
  '@tryghost/logging': 'catalog:'
  jackspeak: 4.2.3
  moment: 'catalog:'
  moment-timezone: 'catalog:'
  nwsapi: 2.2.24
  broccoli-persistent-filter: ^2.3.1
  juice: 9.1.0
  ember-basic-dropdown: 6.0.2
  ember-in-viewport: 4.1.0
  eslint-plugin-ghost>@typescript-eslint/eslint-plugin: 8.49.0
  eslint-plugin-ghost>@typescript-eslint/utils: 8.49.0
  ember-svg-jar>cheerio: 1.2.0
  juice>cheerio: 0.22.0
  '@babel/runtime@<7.26.10': ^7.26.10
  '@tootallnate/once@<3.0.1': ^3.0.1
  ansi-html@<0.0.8: ^0.0.9
  axios@<1.15.2: ^1.15.2
  braces@<3.0.3: ^3.0.3
  clean-css@<4.1.11: ^4.1.11
  codemirror@<5.58.2: ^5.58.2
  debug@>=4.0.0 <4.3.1: ^4.3.1
  debug@<2.6.9: ^2.6.9
  diff@<3.5.1: ^3.5.1
  diff@>=6.0.0 <8.0.3: ^8.0.3
  fast-xml-parser@<5.7.0: ^5.7.0
  follow-redirects@<1.16.0: ^1.16.0
  form-data@<2.5.4: ^2.5.4
  growl@<1.10.0: ^1.10.0
  handlebars@>=4.0.0 <=4.7.8: ^4.7.9
  ip-address@<=10.1.0: ^10.2.0
  js-yaml@>=4.0.0 <4.1.1: ^4.1.1
  json5@<1.0.2: ^1.0.2
  lodash@<4.18.0: ^4.18.0
  lodash-es@<4.18.0: ^4.18.0
  merge@<2.1.1: ^2.1.1
  micromatch@<4.0.8: ^4.0.8
  minimatch@<3.1.4: ^3.1.4
  minimatch@>=9.0.0 <9.0.7: ^9.0.7
  minimist@<0.2.4: ^0.2.4
  nth-check@<2.0.1: ^2.0.1
  path-to-regexp@<0.1.13: ^0.1.13
  protobufjs@<7.5.5: ^7.5.5
  qs@<6.14.1: ^6.14.2
  supports-color: 10.2.2
  tar@<7.5.11: ^7.5.11
  tmp@<=0.2.3: ^0.2.4
  tough-cookie@<4.1.3: ^4.1.3
  trim@<0.0.3: ^0.0.3
  undici@<6.24.0: ^6.24.0
  underscore@>=1.3.2 <1.12.1: ^1.12.1
  '@xmldom/xmldom@<0.8.13': ^0.9.0
  perf-primitives: ^0.0.6
  '@tryghost/adapter-base-cache': file:components/tryghost-adapter-base-cache-0.2.0.tgz
  '@tryghost/adapter-base-redirects': file:components/tryghost-adapter-base-redirects-0.0.0.tgz
  '@tryghost/adapter-base-route-settings': file:components/tryghost-adapter-base-route-settings-0.0.0.tgz
  '@tryghost/adapter-base-sso': file:components/tryghost-adapter-base-sso-0.1.1.tgz
  '@tryghost/custom-field-types': file:components/tryghost-custom-field-types-0.0.0.tgz
  '@tryghost/kg-card-factory': file:components/tryghost-kg-card-factory-5.2.3.tgz
  '@tryghost/admin-api-schema': file:components/tryghost-admin-api-schema-0.0.0.tgz
  '@tryghost/kg-utils': file:components/tryghost-kg-utils-1.1.3.tgz
  '@tryghost/adapter-base-scheduling': file:components/tryghost-adapter-base-scheduling-0.2.1.tgz
  '@tryghost/kg-clean-basic-html': file:components/tryghost-kg-clean-basic-html-4.3.3.tgz
  '@tryghost/nql-string': file:components/tryghost-nql-string-0.0.0.tgz
  '@tryghost/parse-email-address': file:components/tryghost-parse-email-address-0.0.0.tgz
  ghost-storage-base: file:components/ghost-storage-base-3.0.0.tgz
  '@tryghost/i18n': file:components/tryghost-i18n-0.0.0.tgz
  '@tryghost/kg-converters': file:components/tryghost-kg-converters-1.2.4.tgz
  '@tryghost/kg-markdown-html-renderer': file:components/tryghost-kg-markdown-html-renderer-7.2.3.tgz
  '@tryghost/kg-default-cards': file:components/tryghost-kg-default-cards-10.3.4.tgz
  '@tryghost/kg-default-nodes': file:components/tryghost-kg-default-nodes-2.1.5.tgz
  '@tryghost/kg-default-transforms': file:components/tryghost-kg-default-transforms-1.3.3.tgz
  '@tryghost/kg-html-to-lexical': file:components/tryghost-kg-html-to-lexical-1.3.3.tgz
  '@tryghost/kg-lexical-html-renderer': file:components/tryghost-kg-lexical-html-renderer-1.4.3.tgz
packageExtensions:
  '@doist/react-interpolate@2.2.1':
    dependencies:
      '@babel/runtime': ^7.26.10
minimumReleaseAge: 0
