V15: Reduce the size of the package json schema (#18643)

* chore: combine similar commands

* fix: add specific ignore on tinymce

* fix: override the RawEditorOptions types from tinymce

this ensures that we do not have 70k lines of schema in the generated schema

* fix: import only from the extension-registry

this will automatically find all registered UmbExtensionManifest regardless of which package is imported
This commit is contained in:
Jacob Overgaard
2025-03-11 16:50:26 +01:00
committed by GitHub
parent b2f69691d6
commit c0b6317da8
5 changed files with 9 additions and 122 deletions

View File

@@ -173,8 +173,8 @@
"generate:icons": "node ./devops/icons/index.js",
"generate:overrides": "node ./devops/tsc/index.js",
"generate:jsonschema:imports": "node ./devops/json-schema-generator/index.js",
"generate:jsonschema:dist": "typescript-json-schema --required --include \"./src/json-schema/umbraco-package-schema.ts\" --out dist-cms/umbraco-package-schema.json tsconfig.json UmbracoPackage",
"generate:jsonschema": "typescript-json-schema --required --include \"./src/json-schema/umbraco-package-schema.ts\"",
"generate:jsonschema:dist": "npm run generate:jsonschema -- --out dist-cms/umbraco-package-schema.json tsconfig.json UmbracoPackage",
"generate:jsonschema": "typescript-json-schema --skipLibCheck --ignoreErrors --excludePrivate --required --include \"./src/json-schema/umbraco-package-schema.ts\"",
"generate:check-const-test": "node ./devops/generate-check-const-test/index.js",
"lint:errors": "npm run lint -- --quiet",
"lint:fix": "npm run lint -- --fix",

View File

@@ -25,6 +25,9 @@ export function renderEditor(userConfig?: RawEditorOptions) {
// Declare a global variable to hold the TinyMCE instance
declare global {
interface Window {
/**
* @TJS-ignore
*/
tinymce: TinyMCE;
}
}

View File

@@ -1,117 +0,0 @@
import '@umbraco-cms/backoffice/app';
import '@umbraco-cms/backoffice/class-api';
import '@umbraco-cms/backoffice/context-api';
import '@umbraco-cms/backoffice/controller-api';
import '@umbraco-cms/backoffice/element-api';
import '@umbraco-cms/backoffice/embedded-media';
import '@umbraco-cms/backoffice/extension-api';
import '@umbraco-cms/backoffice/formatting-api';
import '@umbraco-cms/backoffice/localization-api';
import '@umbraco-cms/backoffice/observable-api';
import '@umbraco-cms/backoffice/action';
import '@umbraco-cms/backoffice/audit-log';
import '@umbraco-cms/backoffice/auth';
import '@umbraco-cms/backoffice/block-custom-view';
import '@umbraco-cms/backoffice/block-grid';
import '@umbraco-cms/backoffice/block-list';
import '@umbraco-cms/backoffice/block-rte';
import '@umbraco-cms/backoffice/block-type';
import '@umbraco-cms/backoffice/block';
import '@umbraco-cms/backoffice/code-editor';
import '@umbraco-cms/backoffice/collection';
import '@umbraco-cms/backoffice/components';
import '@umbraco-cms/backoffice/content-type';
import '@umbraco-cms/backoffice/content';
import '@umbraco-cms/backoffice/culture';
import '@umbraco-cms/backoffice/current-user';
import '@umbraco-cms/backoffice/dashboard';
import '@umbraco-cms/backoffice/data-type';
import '@umbraco-cms/backoffice/debug';
import '@umbraco-cms/backoffice/dictionary';
import '@umbraco-cms/backoffice/document-blueprint';
import '@umbraco-cms/backoffice/document-type';
import '@umbraco-cms/backoffice/document';
import '@umbraco-cms/backoffice/entity-action';
import '@umbraco-cms/backoffice/entity-bulk-action';
import '@umbraco-cms/backoffice/entity-create-option-action';
import '@umbraco-cms/backoffice/entity';
import '@umbraco-cms/backoffice/event';
import '@umbraco-cms/backoffice/extension-registry';
import '@umbraco-cms/backoffice/health-check';
import '@umbraco-cms/backoffice/help';
import '@umbraco-cms/backoffice/icon';
import '@umbraco-cms/backoffice/id';
import '@umbraco-cms/backoffice/imaging';
import '@umbraco-cms/backoffice/language';
import '@umbraco-cms/backoffice/lit-element';
import '@umbraco-cms/backoffice/localization';
import '@umbraco-cms/backoffice/log-viewer';
import '@umbraco-cms/backoffice/markdown-editor';
import '@umbraco-cms/backoffice/media-type';
import '@umbraco-cms/backoffice/media';
import '@umbraco-cms/backoffice/member-group';
import '@umbraco-cms/backoffice/member-type';
import '@umbraco-cms/backoffice/member';
import '@umbraco-cms/backoffice/menu';
import '@umbraco-cms/backoffice/modal';
import '@umbraco-cms/backoffice/multi-url-picker';
import '@umbraco-cms/backoffice/notification';
import '@umbraco-cms/backoffice/object-type';
import '@umbraco-cms/backoffice/package';
import '@umbraco-cms/backoffice/partial-view';
import '@umbraco-cms/backoffice/picker-input';
import '@umbraco-cms/backoffice/picker';
import '@umbraco-cms/backoffice/property-action';
import '@umbraco-cms/backoffice/property-editor';
import '@umbraco-cms/backoffice/property-type';
import '@umbraco-cms/backoffice/property';
import '@umbraco-cms/backoffice/recycle-bin';
import '@umbraco-cms/backoffice/relation-type';
import '@umbraco-cms/backoffice/relations';
import '@umbraco-cms/backoffice/repository';
import '@umbraco-cms/backoffice/resources';
import '@umbraco-cms/backoffice/router';
import '@umbraco-cms/backoffice/rte';
import '@umbraco-cms/backoffice/script';
import '@umbraco-cms/backoffice/search';
import '@umbraco-cms/backoffice/section';
import '@umbraco-cms/backoffice/server-file-system';
import '@umbraco-cms/backoffice/settings';
import '@umbraco-cms/backoffice/sorter';
import '@umbraco-cms/backoffice/static-file';
import '@umbraco-cms/backoffice/store';
import '@umbraco-cms/backoffice/style';
import '@umbraco-cms/backoffice/stylesheet';
import '@umbraco-cms/backoffice/sysinfo';
import '@umbraco-cms/backoffice/tags';
import '@umbraco-cms/backoffice/template';
import '@umbraco-cms/backoffice/temporary-file';
import '@umbraco-cms/backoffice/themes';
import '@umbraco-cms/backoffice/tiny-mce';
import '@umbraco-cms/backoffice/tiptap';
import '@umbraco-cms/backoffice/translation';
import '@umbraco-cms/backoffice/tree';
import '@umbraco-cms/backoffice/ufm';
import '@umbraco-cms/backoffice/user-change-password';
import '@umbraco-cms/backoffice/user-group';
import '@umbraco-cms/backoffice/user-permission';
import '@umbraco-cms/backoffice/user';
import '@umbraco-cms/backoffice/utils';
import '@umbraco-cms/backoffice/validation';
import '@umbraco-cms/backoffice/variant';
import '@umbraco-cms/backoffice/webhook';
import '@umbraco-cms/backoffice/workspace';
import '@umbraco-cms/backoffice/external/backend-api';
import '@umbraco-cms/backoffice/external/base64-js';
import '@umbraco-cms/backoffice/external/diff';
import '@umbraco-cms/backoffice/external/dompurify';
import '@umbraco-cms/backoffice/external/lit';
import '@umbraco-cms/backoffice/external/marked';
import '@umbraco-cms/backoffice/external/monaco-editor';
import '@umbraco-cms/backoffice/external/openid';
import '@umbraco-cms/backoffice/external/router-slot';
import '@umbraco-cms/backoffice/external/rxjs';
import '@umbraco-cms/backoffice/external/tinymce';
import '@umbraco-cms/backoffice/external/tiptap';
import '@umbraco-cms/backoffice/external/uui';
import '@umbraco-cms/backoffice/external/uuid';

View File

@@ -1,4 +1,4 @@
import './all-packages.js';
import '@umbraco-cms/backoffice/extension-registry';
/**
* Umbraco package manifest JSON

View File

@@ -28,9 +28,10 @@ export interface MetaTinyMcePlugin {
}>;
/**
* Sets the default configuration for the TinyMCE editor. This configuration will be used when the editor is initialized.
* @see [TinyMCE Configuration](https://www.tiny.cloud/docs/configure/) for more information.
* @title Sets the default configuration for the TinyMCE editor.
* @description This configuration will be used when the editor is initialized. See the [TinyMCE Configuration](https://www.tiny.cloud/docs/configure/) for more information.
* @optional
* @TJS-type object
* @examples [
* {
* "plugins": "wordcount",